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  }