github.com/Finschia/finschia-sdk@v0.48.1/client/account_retriever.go (about) 1 package client 2 3 import ( 4 cryptotypes "github.com/Finschia/finschia-sdk/crypto/types" 5 sdk "github.com/Finschia/finschia-sdk/types" 6 ) 7 8 // Account defines a read-only version of the auth module's AccountI. 9 type Account interface { 10 GetAddress() sdk.AccAddress 11 GetPubKey() cryptotypes.PubKey // can return nil. 12 GetAccountNumber() uint64 13 GetSequence() uint64 14 } 15 16 // AccountRetriever defines the interfaces required by transactions to 17 // ensure an account exists and to be able to query for account fields necessary 18 // for signing. 19 type AccountRetriever interface { 20 GetAccount(clientCtx Context, addr sdk.AccAddress) (Account, error) 21 GetAccountWithHeight(clientCtx Context, addr sdk.AccAddress) (Account, int64, error) 22 EnsureExists(clientCtx Context, addr sdk.AccAddress) error 23 GetAccountNumberSequence(clientCtx Context, addr sdk.AccAddress) (accNum uint64, accSeq uint64, err error) 24 }