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  }