github.com/lino-network/lino@v0.6.11/x/account/keeper.go (about) 1 package account 2 3 //go:generate mockery -name AccountKeeper 4 5 import ( 6 codec "github.com/cosmos/cosmos-sdk/codec" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 "github.com/tendermint/tendermint/crypto" 9 10 "github.com/lino-network/lino/types" 11 "github.com/lino-network/lino/x/account/manager" 12 "github.com/lino-network/lino/x/account/model" 13 ) 14 15 type AccountKeeper interface { 16 InitGenesis(ctx sdk.Context, total types.Coin, pools []model.Pool) 17 // core bank APIs. 18 MoveCoin(ctx sdk.Context, sender, receiver types.AccOrAddr, coin types.Coin) sdk.Error 19 MoveFromPool( 20 ctx sdk.Context, poolName types.PoolName, dest types.AccOrAddr, amount types.Coin) sdk.Error 21 MoveToPool( 22 ctx sdk.Context, poolName types.PoolName, from types.AccOrAddr, amount types.Coin) sdk.Error 23 MoveBetweenPools(ctx sdk.Context, from, to types.PoolName, amount types.Coin) sdk.Error 24 Mint(ctx sdk.Context) sdk.Error 25 26 DoesAccountExist(ctx sdk.Context, username types.AccountKey) bool 27 GenesisAccount(ctx sdk.Context, username types.AccountKey, 28 signingKey, transactionKey crypto.PubKey) sdk.Error 29 RegisterAccount( 30 ctx sdk.Context, referrer types.AccOrAddr, registerFee types.Coin, 31 username types.AccountKey, signingKey, transactionKey crypto.PubKey) sdk.Error 32 UpdateJSONMeta(ctx sdk.Context, username types.AccountKey, JSONMeta string) sdk.Error 33 GetPool(ctx sdk.Context, poolName types.PoolName) (types.Coin, sdk.Error) 34 GetTransactionKey(ctx sdk.Context, username types.AccountKey) (crypto.PubKey, sdk.Error) 35 GetSigningKey(ctx sdk.Context, username types.AccountKey) (crypto.PubKey, sdk.Error) 36 GetSavingFromUsername(ctx sdk.Context, username types.AccountKey) (types.Coin, sdk.Error) 37 GetSequence(ctx sdk.Context, address sdk.Address) (uint64, sdk.Error) 38 GetAddress(ctx sdk.Context, username types.AccountKey) (sdk.AccAddress, sdk.Error) 39 GetFrozenMoneyList(ctx sdk.Context, addr sdk.Address) ([]model.FrozenMoney, sdk.Error) 40 GetSupply(ctx sdk.Context) model.Supply 41 IncreaseSequenceByOne(ctx sdk.Context, address sdk.Address) sdk.Error 42 AddFrozenMoney( 43 ctx sdk.Context, username types.AccountKey, amount types.Coin, start, interval, times int64) sdk.Error 44 CheckSigningPubKeyOwner( 45 ctx sdk.Context, me types.AccountKey, signKey crypto.PubKey) (types.AccountKey, sdk.Error) 46 CheckSigningPubKeyOwnerByAddress( 47 ctx sdk.Context, addr sdk.AccAddress, signkey crypto.PubKey, isPaid bool) sdk.Error 48 RecoverAccount( 49 ctx sdk.Context, username types.AccountKey, newTransactionPubKey, newSigningKey crypto.PubKey) sdk.Error 50 51 // getter 52 GetInfo(ctx sdk.Context, username types.AccountKey) (*model.AccountInfo, sdk.Error) 53 GetBank(ctx sdk.Context, username types.AccountKey) (*model.AccountBank, sdk.Error) 54 GetBankByAddress(ctx sdk.Context, addr sdk.AccAddress) (*model.AccountBank, sdk.Error) 55 GetMeta(ctx sdk.Context, username types.AccountKey) (*model.AccountMeta, sdk.Error) 56 57 // import export 58 ExportToFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error 59 ImportFromFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error 60 } 61 62 var _ AccountKeeper = manager.AccountManager{}