Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account interface { // Address returns the address of the account based on the coin type Address() string // Bip32Derive derives a new account from a BIP32 path Bip32Derive(name string, coinType crypto.CoinType) (Account, error) // CoinType returns the coin type of the account CoinType() crypto.CoinType // Config returns the account configuration Config() *AccountConfig // DID returns the DID of the account DID() string // Info returns the account information Info() map[string]string // Marshal returns the local config protobuf bytes Marshal() ([]byte, error) // Name returns the name of the account Name() string // NewOriginToken creates a new UCAN token NewOriginToken(audienceDID string, att ucan.Attenuations, fct []ucan.Fact, notBefore, expires time.Time) (string, error) // NewAttenuatedToken creates a new UCAN token from the parent token NewAttenuatedToken(parent *ucan.Token, audienceDID string, att ucan.Attenuations, fct []ucan.Fact, notBefore, expires time.Time) (string, error) // PubKey returns secp256k1 public key PubKey() *crypto.PubKey // Signs a message Sign(bz []byte) ([]byte, error) // Type returns the type of the account Type() string // Unmarshal deserializes the local config protobuf bytes Unmarshal(bz []byte) error // Verifies a signature Verify(bz []byte, sig []byte) (bool, error) }
`Account` is an interface that defines the methods that a wallet account must implement. @property AccountConfig - The account configuration @property Bip32Derive - This is a method that derives a new account from a BIP32 path. @property GetAssertionMethod - returns the verification method for the account. @property {bool} IsPrimary - returns true if the account is the primary account @property ListConfigs - This is a list of all the configurations that are needed to sign a transaction. @property Sign - This is the function that signs a transaction. @property Verify - Verifies a signature
type AccountConfig ¶
type AccountConfig = v1.AccountConfig
AccountConfig is a type alias for v1.AccountConfig in x/identity/types/vault/v1.
type BTCAccount ¶
type BTCAccount interface { Account rosetta.Client // SignTx hashes the transaction for SHA256 (Bitcoin Hashing Function) and signs it with the MPC Protocol SignTx(bz []byte) ([]byte, error) // VerifySignature verifies a signature for a hash using the public key VerifySignature(msg []byte, sig []byte) bool }
BTCAccount is an account that can be used to sign Bitcoin transactions. It also implements the rosetta.Client interface.
type CosmosAccount ¶
type CosmosAccount interface { Account rosetta.Client // GetSignerData returns the signer data for the account GetSignerData() authsigning.SignerData // SignTx signs a transaction for SHA256 (Cosmos Hashing Function) and signs it with the MPC Protocol SendTx(note string, msgs ...sdk.Msg) (*txtypes.BroadcastTxResponse, error) // VerifySignature verifies a signature for a hash using the public key VerifySignature(msg []byte, sig []byte) bool }
CosmosAccount is an account that can be used to sign Cosmos transactions. It is a wrapper around the Account interface that also implements the rosetta.Client.
type ETHAccount ¶
type ETHAccount interface { Account rosetta.Client // SignTx hashes the transaction for keccak256 (ETH Hashing Function) and signs it with the MPC Protocol SignTx(bz []byte) ([]byte, error) // VerifySignature verifies a signature for a hash using the public key VerifySignature(msg []byte, sig []byte) bool }
ETHAccount is an account that can be used to sign Ethereum transactions. It also implements the rosetta.Client interface.
type Store ¶
type Store interface { // GetShare returns a *cmp.Config for the given name GetAccount(name string) (Account, error) // PutShare stores the given *cmp.Config under the given name PutAccount(acc Account, name string) error // JWKClaims returns the JWKClaims for the store to be signed by the identity JWKClaims(aacc Account) (string, error) // VerifyJWKClaims verifies the JWKClaims for the store VerifyJWKClaims(claims string, acc Account) error }
Store is the interface that defines the methods that a wallet store must implement.