Modules§
Structs§
- Authority
Public KeyBytes - Defines the compressed version of the public key that we pass around in IOTA.
- Authority
Quorum Sign Info - Represents at least a quorum (could be more) of authority signatures. STRONG_THRESHOLD indicates whether to use the quorum threshold for quorum check. When STRONG_THRESHOLD is true, the quorum is valid when the total stake is at least the quorum threshold (2f+1) of the committee; when STRONG_THRESHOLD is false, the quorum is valid when the total stake is at least the validity threshold (f+1) of the committee.
- Authority
Sign Info - Concise
Authority Public KeyBytes - A wrapper around AuthorityPublicKeyBytes but owns it.
- Concise
Authority Public KeyBytes Ref - A wrapper around AuthorityPublicKeyBytes that provides a concise Debug impl.
- Ed25519
Iota Signature - Empty
Sign Info - Iota
Authority Strong Quorum Sign Info - Randomness
Round - Round number of generated randomness.
- Secp256k1
Iota Signature - Secp256r1
Iota Signature - Verification
Obligation - ZkLogin
Authenticator AsBytes - ZkLogin
Public Identifier - A wrapper struct to retrofit in [enum PublicKey] for zkLogin. Useful to construct [struct MultiSigPublicKey].
Enums§
- Compressed
Signature - Unlike [enum Signature], [enum CompressedSignature] does not contain public key.
- Iota
KeyPair - Public
Key - Signature
- Signature
Scheme
Constants§
Traits§
- Aggregate
Authenticator - Trait impl’d by aggregated signatures in asymmetric cryptography.
- Authenticator
- Trait impl’d by signatures in asymmetric cryptography.
- Authority
Sign Info Trait - AuthoritySignInfoTrait is a trait used specifically for a few structs in messages.rs to template on whether the struct is signed by an authority. We want to limit how those structs can be instantiated on, hence the sealed trait. TODO: We could also add the aggregated signature as another impl of the trait. This will make CertifiedTransaction also an instance of the same struct.
- Encode
Decode Base64 - Cryptographic material with an immediate conversion to/from Base64 strings.
- Iota
Authority Signature - Iota
Public Key - Iota
Signature - Iota
Signature Inner - Keypair
Traits - Trait impl’d by a public / private key pair in asymmetric cryptography.
- Signable
- Something that we know how to hash and sign.
- Signable
Bytes - Signer
- Trait impl’d by a key/keypair that can create signatures.
- Signing
Key - Trait impl’d by private (secret) keys in asymmetric cryptography.
- ToFrom
Bytes - Trait impl’d by concrete types that represent digital cryptographic material (keys).
- Verifying
Key - Trait impl’d by public keys in asymmetric cryptography.
Functions§
- default_
hash - deterministic_
random_ account_ key - generate_
proof_ of_ possession - Creates a proof of that the authority account address is owned by the
holder of authority key, and also ensures that the authority
public key exists. A proof of possession is an authority
signature committed over the intent message
intent || message || epoch
(See more at [struct IntentMessage] and [struct Intent]) where the message is constructed asauthority_pubkey_bytes || authority_account_address
. - get_
account_ key_ pair - get_
authority_ key_ pair - get_
key_ pair - get_
key_ pair_ from_ bytes - get_
key_ pair_ from_ rng - Generate a keypair from the specified RNG (useful for testing with seedable rngs).
- random_
committee_ key_ pairs_ of_ size - Generate a random committee key pairs with a given committee size
- verify_
proof_ of_ possession - Verify proof of possession against the expected intent message, consisting of the authority pubkey and the authority account address.
Type Aliases§
- Account
KeyPair - Account
Private Key - Account
Public Key - Aggregate
Authority Signature - Aggregate
Authority Signature AsBytes - Authority
KeyPair - Authority
Private Key - Authority
Public Key - Authority
Signature - Authority
Strong Quorum Sign Info - Default
Hash - Network
KeyPair - Network
Private Key - Network
Public Key - Randomness
Partial Signature - Randomness
Private Key - Randomness
Signature
Attribute Macros§
- enum_
dispatch - Annotating a trait or enum definition with an
#[enum_dispatch]
attribute will register it with the enum_dispatch library, allowing it to be used to generate impl blocks elsewhere.