diff --git a/x/wasm/alias.go b/x/wasm/alias.go index 3470ffed94..63c02edce2 100644 --- a/x/wasm/alias.go +++ b/x/wasm/alias.go @@ -24,7 +24,6 @@ const ( CustomEventType = types.CustomEventType AttributeKeyContractAddr = types.AttributeKeyContractAddr GasMultiplier = keeper.GasMultiplier - MaxGas = keeper.MaxGas QueryListContractByCode = keeper.QueryListContractByCode QueryGetContract = keeper.QueryGetContract QueryGetContractState = keeper.QueryGetContractState diff --git a/x/wasm/internal/keeper/keeper.go b/x/wasm/internal/keeper/keeper.go index 88393785c6..401708c41b 100644 --- a/x/wasm/internal/keeper/keeper.go +++ b/x/wasm/internal/keeper/keeper.go @@ -28,9 +28,6 @@ import ( // Rough timing have 88k gas at 90us, which is equal to 1k sdk gas... (one read) const GasMultiplier = 100 -// MaxGas for a contract is 900 million (enforced in rust) -const MaxGas = 900_000_000 - // InstanceCost is how much SDK gas we charge each time we load a WASM instance. // Creating a new instance is costly, and this helps put a recursion limit to contracts calling contracts. const InstanceCost uint64 = 40_000 @@ -528,11 +525,7 @@ func (k Keeper) dispatchMessages(ctx sdk.Context, contractAddr sdk.AccAddress, m func gasForContract(ctx sdk.Context) uint64 { meter := ctx.GasMeter() - remaining := (meter.Limit() - meter.GasConsumed()) * GasMultiplier - if remaining > MaxGas { - return MaxGas - } - return remaining + return (meter.Limit() - meter.GasConsumed()) * GasMultiplier } func consumeGas(ctx sdk.Context, gas uint64) { diff --git a/x/wasm/internal/keeper/keeper_test.go b/x/wasm/internal/keeper/keeper_test.go index 2422becc24..11942b35cd 100644 --- a/x/wasm/internal/keeper/keeper_test.go +++ b/x/wasm/internal/keeper/keeper_test.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/binary" "encoding/json" + "fmt" "io/ioutil" "os" "testing" @@ -299,6 +300,8 @@ func TestInstantiate(t *testing.T) { require.NoError(t, err) gasBefore := ctx.GasMeter().GasConsumed() + fmt.Printf("limit: %d\n", ctx.GasMeter().Limit()) + fmt.Printf("before: %d\n", gasBefore) // create with no balance is also legal addr, err := keeper.Instantiate(ctx, contractID, creator, nil, initMsgBz, "demo contract 1", nil) @@ -306,6 +309,8 @@ func TestInstantiate(t *testing.T) { require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) gasAfter := ctx.GasMeter().GasConsumed() + fmt.Printf("limit: %d\n", ctx.GasMeter().Limit()) + fmt.Printf("after: %d\n", gasAfter) require.Equal(t, uint64(0x11542), gasAfter-gasBefore) // ensure it is stored properly