31 lines
986 B
Go
31 lines
986 B
Go
|
package wasm_handlers
|
||
|
|
||
|
import (
|
||
|
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||
|
)
|
||
|
|
||
|
type AccountKeeperHandler struct {
|
||
|
AccountKeeper authkeeper.AccountKeeper
|
||
|
}
|
||
|
|
||
|
var _ wasmtypes.AccountKeeper = &AccountKeeperHandler{}
|
||
|
|
||
|
func (b *AccountKeeperHandler) NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI {
|
||
|
// New accounts are needed for new contracts
|
||
|
return b.AccountKeeper.NewAccountWithAddress(ctx, addr)
|
||
|
}
|
||
|
|
||
|
// Retrieve an account from the store.
|
||
|
func (b *AccountKeeperHandler) GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI {
|
||
|
return b.AccountKeeper.GetAccount(ctx, addr)
|
||
|
}
|
||
|
|
||
|
// Set an account in the store.
|
||
|
func (b *AccountKeeperHandler) SetAccount(ctx sdk.Context, acc authtypes.AccountI) {
|
||
|
// New accounts are needed for new contracts
|
||
|
b.AccountKeeper.SetAccount(ctx, acc)
|
||
|
}
|