Basic gas impl, quick testcase
This commit is contained in:
parent
efc7843fb9
commit
f0e4d24ea3
|
@ -20,7 +20,7 @@ func TestPowHandler(t *testing.T) {
|
||||||
auth.RegisterBaseAccount(cdc)
|
auth.RegisterBaseAccount(cdc)
|
||||||
|
|
||||||
am := auth.NewAccountMapper(cdc, capKey, &auth.BaseAccount{})
|
am := auth.NewAccountMapper(cdc, capKey, &auth.BaseAccount{})
|
||||||
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 0)
|
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 1000)
|
||||||
config := NewConfig("pow", int64(1))
|
config := NewConfig("pow", int64(1))
|
||||||
ck := bank.NewKeeper(am)
|
ck := bank.NewKeeper(am)
|
||||||
keeper := NewKeeper(capKey, config, ck, DefaultCodespace)
|
keeper := NewKeeper(capKey, config, ck, DefaultCodespace)
|
||||||
|
|
|
@ -119,6 +119,9 @@ func getCoins(ctx sdk.Context, am sdk.AccountMapper, addr sdk.Address) (sdk.Coin
|
||||||
}
|
}
|
||||||
|
|
||||||
func setCoins(ctx sdk.Context, am sdk.AccountMapper, addr sdk.Address, amt sdk.Coins) sdk.Error {
|
func setCoins(ctx sdk.Context, am sdk.AccountMapper, addr sdk.Address, amt sdk.Coins) sdk.Error {
|
||||||
|
if ctx.GasMeter().ConsumeGasOrFail(100) {
|
||||||
|
return sdk.ErrOutOfGas("out of gas in setCoins")
|
||||||
|
}
|
||||||
acc := am.GetAccount(ctx, addr)
|
acc := am.GetAccount(ctx, addr)
|
||||||
if acc == nil {
|
if acc == nil {
|
||||||
acc = am.NewAccountWithAddress(ctx, addr)
|
acc = am.NewAccountWithAddress(ctx, addr)
|
||||||
|
|
|
@ -135,6 +135,31 @@ func TestKeeper(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestKeeperGas(t *testing.T) {
|
||||||
|
ms, authKey := setupMultiStore()
|
||||||
|
|
||||||
|
cdc := wire.NewCodec()
|
||||||
|
auth.RegisterBaseAccount(cdc)
|
||||||
|
|
||||||
|
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 10)
|
||||||
|
accountMapper := auth.NewAccountMapper(cdc, authKey, &auth.BaseAccount{})
|
||||||
|
coinKeeper := NewKeeper(accountMapper)
|
||||||
|
|
||||||
|
addr := sdk.Address([]byte("addr1"))
|
||||||
|
acc := accountMapper.NewAccountWithAddress(ctx, addr)
|
||||||
|
|
||||||
|
// Test GetCoins/SetCoins
|
||||||
|
accountMapper.SetAccount(ctx, acc)
|
||||||
|
coins, err := coinKeeper.GetCoins(ctx, addr)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.True(t, coins.IsEqual(sdk.Coins{}))
|
||||||
|
|
||||||
|
coinKeeper.SetCoins(ctx, addr, sdk.Coins{{"foocoin", 10}})
|
||||||
|
coins, err = coinKeeper.GetCoins(ctx, addr)
|
||||||
|
assert.NotNil(t, err)
|
||||||
|
assert.True(t, coins.IsEqual(sdk.Coins{}))
|
||||||
|
}
|
||||||
|
|
||||||
func TestSendKeeper(t *testing.T) {
|
func TestSendKeeper(t *testing.T) {
|
||||||
ms, authKey := setupMultiStore()
|
ms, authKey := setupMultiStore()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue