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