Skip to content

Commit

Permalink
Make memory limit configurable
Browse files Browse the repository at this point in the history
  • Loading branch information
webmaster128 committed Jan 6, 2021
1 parent dc752f7 commit bbeb7a9
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 49 deletions.
6 changes: 3 additions & 3 deletions api/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func TestCanonicalAddressFailure(t *testing.T) {

// make sure the call doesn't error, but we get a JSON-encoded error result from InitResult
igasMeter := GasMeter(gasMeter)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var resp types.InitResult
err = json.Unmarshal(res, &resp)
Expand Down Expand Up @@ -67,15 +67,15 @@ func TestHumanAddressFailure(t *testing.T) {
// instantiate it normally
msg := []byte(`{"verifier": "short", "beneficiary": "bob"}`)
igasMeter := GasMeter(gasMeter)
_, _, err = Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
_, _, err = Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)

// call query which will call canonicalize address
badApi := NewMockFailureAPI()
gasMeter3 := NewMockGasMeter(TESTING_GAS_LIMIT)
query := []byte(`{"verifier":{}}`)
igasMeter3 := GasMeter(gasMeter3)
res, _, err := Query(cache, id, env, query, &igasMeter3, store, badApi, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err := Query(cache, id, env, query, &igasMeter3, store, badApi, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var resp types.QueryResponse
err = json.Unmarshal(res, &resp)
Expand Down
4 changes: 4 additions & 0 deletions api/bindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ Buffer handle(cache_t *cache,
GoApi api,
GoQuerier querier,
uint64_t gas_limit,
uint32_t memory_limit,
bool print_debug,
uint64_t *gas_used,
Buffer *err);
Expand All @@ -155,6 +156,7 @@ Buffer instantiate(cache_t *cache,
GoApi api,
GoQuerier querier,
uint64_t gas_limit,
uint32_t memory_limit,
bool print_debug,
uint64_t *gas_used,
Buffer *err);
Expand All @@ -168,6 +170,7 @@ Buffer migrate(cache_t *cache,
GoApi api,
GoQuerier querier,
uint64_t gas_limit,
uint32_t memory_limit,
bool print_debug,
uint64_t *gas_used,
Buffer *err);
Expand All @@ -180,6 +183,7 @@ Buffer query(cache_t *cache,
GoApi api,
GoQuerier querier,
uint64_t gas_limit,
uint32_t memory_limit,
bool print_debug,
uint64_t *gas_used,
Buffer *err);
Expand Down
10 changes: 5 additions & 5 deletions api/iterator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ func setupQueueContractWithData(t *testing.T, cache Cache, values ...int) queueD
msg := []byte(`{}`)

igasMeter1 := GasMeter(gasMeter1)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)

for _, value := range values {
// push 17
var gasMeter2 GasMeter = NewMockGasMeter(TESTING_GAS_LIMIT)
push := []byte(fmt.Sprintf(`{"enqueue":{"value":%d}}`, value))
res, _, err = Handle(cache, id, env, info, push, &gasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err = Handle(cache, id, env, info, push, &gasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)
}
Expand Down Expand Up @@ -74,7 +74,7 @@ func TestQueueIterator(t *testing.T) {
store := setup.Store(gasMeter)
query := []byte(`{"sum":{}}`)
env := MockEnvBin(t)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres types.QueryResponse
err = json.Unmarshal(data, &qres)
Expand All @@ -84,7 +84,7 @@ func TestQueueIterator(t *testing.T) {

// query reduce (multiple iterators at once)
query = []byte(`{"reducer":{}}`)
data, _, err = Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err = Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var reduced types.QueryResponse
err = json.Unmarshal(data, &reduced)
Expand Down Expand Up @@ -112,7 +112,7 @@ func TestQueueIteratorRaces(t *testing.T) {

// query reduce (multiple iterators at once)
query := []byte(`{"reducer":{}}`)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var reduced types.QueryResponse
err = json.Unmarshal(data, &reduced)
Expand Down
12 changes: 8 additions & 4 deletions api/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ func Instantiate(
api *GoAPI,
querier *Querier,
gasLimit uint64,
memoryLimit uint32,
printDebug bool,
) ([]byte, uint64, error) {
id := sendSlice(code_id)
Expand All @@ -104,7 +105,7 @@ func Instantiate(
var gasUsed cu64
errmsg := C.Buffer{}

res, err := C.instantiate(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cbool(printDebug), &gasUsed, &errmsg)
res, err := C.instantiate(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cu32(memoryLimit), cbool(printDebug), &gasUsed, &errmsg)
if err != nil && err.(syscall.Errno) != C.ErrnoValue_Success {
// Depending on the nature of the error, `gasUsed` will either have a meaningful value, or just 0.
return nil, uint64(gasUsed), errorWithMessage(err, errmsg)
Expand All @@ -123,6 +124,7 @@ func Handle(
api *GoAPI,
querier *Querier,
gasLimit uint64,
memoryLimit uint32,
printDebug bool,
) ([]byte, uint64, error) {
id := sendSlice(code_id)
Expand All @@ -145,7 +147,7 @@ func Handle(
var gasUsed cu64
errmsg := C.Buffer{}

res, err := C.handle(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cbool(printDebug), &gasUsed, &errmsg)
res, err := C.handle(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cu32(memoryLimit), cbool(printDebug), &gasUsed, &errmsg)
if err != nil && err.(syscall.Errno) != C.ErrnoValue_Success {
// Depending on the nature of the error, `gasUsed` will either have a meaningful value, or just 0.
return nil, uint64(gasUsed), errorWithMessage(err, errmsg)
Expand All @@ -164,6 +166,7 @@ func Migrate(
api *GoAPI,
querier *Querier,
gasLimit uint64,
memoryLimit uint32,
printDebug bool,
) ([]byte, uint64, error) {
id := sendSlice(code_id)
Expand All @@ -186,7 +189,7 @@ func Migrate(
var gasUsed cu64
errmsg := C.Buffer{}

res, err := C.migrate(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cbool(printDebug), &gasUsed, &errmsg)
res, err := C.migrate(cache.ptr, id, e, i, m, db, a, q, cu64(gasLimit), cu32(memoryLimit), cbool(printDebug), &gasUsed, &errmsg)
if err != nil && err.(syscall.Errno) != C.ErrnoValue_Success {
// Depending on the nature of the error, `gasUsed` will either have a meaningful value, or just 0.
return nil, uint64(gasUsed), errorWithMessage(err, errmsg)
Expand All @@ -204,6 +207,7 @@ func Query(
api *GoAPI,
querier *Querier,
gasLimit uint64,
memoryLimit uint32,
printDebug bool,
) ([]byte, uint64, error) {
id := sendSlice(code_id)
Expand All @@ -224,7 +228,7 @@ func Query(
var gasUsed cu64
errmsg := C.Buffer{}

res, err := C.query(cache.ptr, id, e, m, db, a, q, cu64(gasLimit), cbool(printDebug), &gasUsed, &errmsg)
res, err := C.query(cache.ptr, id, e, m, db, a, q, cu64(gasLimit), cu32(memoryLimit), cbool(printDebug), &gasUsed, &errmsg)
if err != nil && err.(syscall.Errno) != C.ErrnoValue_Success {
// Depending on the nature of the error, `gasUsed` will either have a meaningful value, or just 0.
return nil, uint64(gasUsed), errorWithMessage(err, errmsg)
Expand Down
45 changes: 23 additions & 22 deletions api/lib_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ import (
const TESTING_FEATURES = "staking"
const TESTING_PRINT_DEBUG = false
const TESTING_GAS_LIMIT = 100_000_000
const TESTING_CACHE_SIZE = 100 // MiB
const TESTING_MEMORY_LIMIT = 32 // MiB
const TESTING_CACHE_SIZE = 100 // MiB

func TestInitAndReleaseCache(t *testing.T) {
dataDir := "/foo"
Expand Down Expand Up @@ -89,7 +90,7 @@ func TestInstantiate(t *testing.T) {
info := MockInfoBin(t, "creator")
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)

res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)
assert.Equal(t, uint64(0x13860), cost)
Expand Down Expand Up @@ -119,7 +120,7 @@ func TestHandle(t *testing.T) {
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)

start := time.Now()
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
diff := time.Now().Sub(start)
require.NoError(t, err)
requireOkResponse(t, res, 0)
Expand All @@ -133,7 +134,7 @@ func TestHandle(t *testing.T) {
env = MockEnvBin(t)
info = MockInfoBin(t, "fred")
start = time.Now()
res, cost, err = Handle(cache, id, env, info, []byte(`{"release":{}}`), &igasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err = Handle(cache, id, env, info, []byte(`{"release":{}}`), &igasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
diff = time.Now().Sub(start)
require.NoError(t, err)
assert.Equal(t, uint64(0x1d663), cost)
Expand Down Expand Up @@ -175,7 +176,7 @@ func TestHandleCpuLoop(t *testing.T) {
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)

start := time.Now()
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
diff := time.Now().Sub(start)
require.NoError(t, err)
requireOkResponse(t, res, 0)
Expand All @@ -189,7 +190,7 @@ func TestHandleCpuLoop(t *testing.T) {
store.SetGasMeter(gasMeter2)
info = MockInfoBin(t, "fred")
start = time.Now()
res, cost, err = Handle(cache, id, env, info, []byte(`{"cpu_loop":{}}`), &igasMeter2, store, api, &querier, maxGas, TESTING_PRINT_DEBUG)
res, cost, err = Handle(cache, id, env, info, []byte(`{"cpu_loop":{}}`), &igasMeter2, store, api, &querier, maxGas, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
diff = time.Now().Sub(start)
require.Error(t, err)
assert.Equal(t, cost, maxGas)
Expand All @@ -214,7 +215,7 @@ func TestHandleStorageLoop(t *testing.T) {

msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)

res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, maxGas, TESTING_PRINT_DEBUG)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, maxGas, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)

Expand All @@ -224,7 +225,7 @@ func TestHandleStorageLoop(t *testing.T) {
store.SetGasMeter(gasMeter2)
info = MockInfoBin(t, "fred")
start := time.Now()
res, cost, err = Handle(cache, id, env, info, []byte(`{"storage_loop":{}}`), &igasMeter2, store, api, &querier, maxGas, TESTING_PRINT_DEBUG)
res, cost, err = Handle(cache, id, env, info, []byte(`{"storage_loop":{}}`), &igasMeter2, store, api, &querier, maxGas, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
diff := time.Now().Sub(start)
require.Error(t, err)
t.Logf("StorageLoop Time (%d gas): %s\n", cost, diff)
Expand Down Expand Up @@ -253,7 +254,7 @@ func TestHandleUserErrorsInApiCalls(t *testing.T) {

defaultApi := NewMockAPI()
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, defaultApi, &querier, maxGas, TESTING_PRINT_DEBUG)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, defaultApi, &querier, maxGas, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)

Expand All @@ -262,7 +263,7 @@ func TestHandleUserErrorsInApiCalls(t *testing.T) {
store.SetGasMeter(gasMeter2)
info = MockInfoBin(t, "fred")
failingApi := NewMockFailureAPI()
res, _, err = Handle(cache, id, env, info, []byte(`{"user_errors_in_api_calls":{}}`), &igasMeter2, store, failingApi, &querier, maxGas, TESTING_PRINT_DEBUG)
res, _, err = Handle(cache, id, env, info, []byte(`{"user_errors_in_api_calls":{}}`), &igasMeter2, store, failingApi, &querier, maxGas, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)
}
Expand All @@ -283,13 +284,13 @@ func TestMigrate(t *testing.T) {
info := MockInfoBin(t, "creator")
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)

res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err := Instantiate(cache, id, env, info, msg, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)

// verifier is fred
query := []byte(`{"verifier":{}}`)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres types.QueryResponse
err = json.Unmarshal(data, &qres)
Expand All @@ -300,11 +301,11 @@ func TestMigrate(t *testing.T) {
// migrate to a new verifier - alice
// we use the same code blob as we are testing hackatom self-migration
info = MockInfoBin(t, "fred")
res, _, err = Migrate(cache, id, env, info, []byte(`{"verifier":"alice"}`), &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, _, err = Migrate(cache, id, env, info, []byte(`{"verifier":"alice"}`), &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)

// should update verifier to alice
data, _, err = Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err = Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres2 types.QueryResponse
err = json.Unmarshal(data, &qres2)
Expand All @@ -327,7 +328,7 @@ func TestMultipleInstances(t *testing.T) {
env := MockEnvBin(t)
info := MockInfoBin(t, "regen")
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store1, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store1, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)
// we now count wasm gas charges and db writes
Expand All @@ -339,7 +340,7 @@ func TestMultipleInstances(t *testing.T) {
store2 := NewLookup(gasMeter2)
info = MockInfoBin(t, "chrous")
msg = []byte(`{"verifier": "mary", "beneficiary": "sue"}`)
res, cost, err = Instantiate(cache, id, env, info, msg, &igasMeter2, store2, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err = Instantiate(cache, id, env, info, msg, &igasMeter2, store2, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
requireOkResponse(t, res, 0)
assert.Equal(t, uint64(0x137e1), cost)
Expand Down Expand Up @@ -401,7 +402,7 @@ func exec(t *testing.T, cache Cache, id []byte, signer types.HumanAddress, store
igasMeter := GasMeter(gasMeter)
env := MockEnvBin(t)
info := MockInfoBin(t, signer)
res, cost, err := Handle(cache, id, env, info, []byte(`{"release":{}}`), &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
res, cost, err := Handle(cache, id, env, info, []byte(`{"release":{}}`), &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
assert.Equal(t, gasExpected, cost)

Expand All @@ -425,15 +426,15 @@ func TestQuery(t *testing.T) {
env := MockEnvBin(t)
info := MockInfoBin(t, "creator")
msg := []byte(`{"verifier": "fred", "beneficiary": "bob"}`)
_, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
_, _, err := Instantiate(cache, id, env, info, msg, &igasMeter1, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)

// invalid query
gasMeter2 := NewMockGasMeter(TESTING_GAS_LIMIT)
igasMeter2 := GasMeter(gasMeter2)
store.SetGasMeter(gasMeter2)
query := []byte(`{"Raw":{"val":"config"}}`)
data, _, err := Query(cache, id, env, query, &igasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter2, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var badResp types.QueryResponse
err = json.Unmarshal(data, &badResp)
Expand All @@ -445,7 +446,7 @@ func TestQuery(t *testing.T) {
igasMeter3 := GasMeter(gasMeter3)
store.SetGasMeter(gasMeter3)
query = []byte(`{"verifier":{}}`)
data, _, err = Query(cache, id, env, query, &igasMeter3, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err = Query(cache, id, env, query, &igasMeter3, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres types.QueryResponse
err = json.Unmarshal(data, &qres)
Expand All @@ -471,7 +472,7 @@ func TestHackatomQuerier(t *testing.T) {
query := []byte(`{"other_balance":{"address":"foobar"}}`)
// TODO The query happens before the contract is initialized. How is this legal?
env := MockEnvBin(t)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres types.QueryResponse
err = json.Unmarshal(data, &qres)
Expand Down Expand Up @@ -522,7 +523,7 @@ func TestCustomReflectQuerier(t *testing.T) {
query, err := json.Marshal(queryMsg)
require.NoError(t, err)
env := MockEnvBin(t)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_PRINT_DEBUG)
data, _, err := Query(cache, id, env, query, &igasMeter, store, api, &querier, TESTING_GAS_LIMIT, TESTING_MEMORY_LIMIT, TESTING_PRINT_DEBUG)
require.NoError(t, err)
var qres types.QueryResponse
err = json.Unmarshal(data, &qres)
Expand Down
Loading

0 comments on commit bbeb7a9

Please sign in to comment.