You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.
System info: [Include Ethermint commit, operating system name, and other relevant details]
Steps to reproduce:
Deploy a contract (make sure this contract will emit events), then get specific block hash and contract address
Enter the contract address, topic names and block hash, then create a filter parameter
Based on this filter parameter, try to call eth_getFilterChanges api to get logs.
But the result log is null.
The test code is as follows:
funcTestEth_GetFilterChanges_Addresses(t*testing.T) {
// Deploy contract which will emit event in constructor function_, receipt:=deployTestContract(t, hexAddr1, testContractKind)
blockHash:=receipt["blockHash"].(string)
contractAddrHex:=receipt["contractAddress"].(string)
// Create filterparam:=make([]map[string]interface{}, 1)
param[0] =make(map[string]interface{})
param[0]["blockHash"] =blockHashparam[0]["addresses"] = []string{contractAddrHex}
param[0]["topics"] = []string{helloTopic, worldTopic}
rpcRes:=Call(t, "eth_newFilter", param)
varIDstringrequire.NoError(t, json.Unmarshal(rpcRes.Result, &ID))
t.Logf("create filter focusing on contract %s in the block with block hash %s successfully with ID %s\n", contractAddrHex, blockHash, ID)
// Based on this filter id, query the changed ethlogschangesRes:=Call(t, "eth_getFilterChanges", []string{ID})
varlogs []ethtypes.Logrequire.NoError(t, json.Unmarshal(changesRes.Result, &logs))
require.Equal(t, 1, len(logs))
}
The error output:
=== RUN TestEth_GetFilterChanges_BlockHash
utils_test.go:143: 0x2CF4ea7dF75b513509d95946B43062E26bD88035 has deployed a contract 0x82d796c59dcf67192f5ca11182ccfdb827a8eb2d with tx hash 0xf8df01e47a4964920c89a1bc9872fff75108803bb368f0967d52ad81e7f539f0 successfully
rpc_test.go:1109: create filter focusing on contract 0x82d796c59dcf67192f5ca11182ccfdb827a8eb2d in the block with block hash 0xb5239e45133f8cc0c58e73b2675291e7290af492882c5c12a0c69ad39960ca95 successfully with ID 0x2b5917acbbe7d014feacd4978069fb2e
rpc_test.go:1116:
Error Trace: rpc_test.go:1116
Error: Not equal:
expected: 1
actual : 0
Test: TestEth_GetFilterChanges_BlockHash
--- FAIL: TestEth_GetFilterChanges_BlockHash (6.06s)
Expected behavior: [What you expected to happen]
It should return a specific log
Actual behavior: [What actually happened]
Developers cannot use filter api to query events with specified conditions
Additional info: [Include gist of relevant config, logs, etc.]
The text was updated successfully, but these errors were encountered:
System info: [Include Ethermint commit, operating system name, and other relevant details]
Steps to reproduce:
block hash
andcontract address
contract address
,topic names
andblock hash
, then create afilter
parameterfilter
parameter, try to calleth_getFilterChanges
api to getlogs
.The test code is as follows:
The error output:
Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Additional info: [Include gist of relevant config, logs, etc.]
The text was updated successfully, but these errors were encountered: