-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Tendermint version (use tendermint version or git rev-parse --verify HEAD if installed from source): 0.34.21
ABCI app (name for built-in, URL for self-written if it's publicly available): Rebus
Environment:
- OS (e.g. from /etc/os-release): Ubuntu
- Install tools:
- Others:
What happened:
I am building a tool to subscribe to transactions and messages I need. Internally I use Query /libs/pubsub/query/query.go to filter out messages I do not need. One of my goals is to use values comparison (for example, as in this filter: delegate.amount > 10000000, to filter out MsgDelegate messages with amount less than 10m native tokens). It works okay with small values, but on chains with a different denom exponent (namely, Rebus, with exponent 18, and probably Evmos (haven't tested it with it, but it should result in a similar error)), when trying to subscribe to that filter, it would result in the following error:
7:52PM ERR Error querying for events err="failed to match against query message.action = '/cosmos.staking.v1beta1.MsgDelegate' AND delegate.amount > 10000000000000000000: got strconv.ParseInt: parsing \"10000000000000000000\": value out of range while trying to parse 10000000000000000000 as int64 (should never happen if the grammar is correct)" module=pubsub server=node
And if you do the same in app (try to create a filter from the following string and use query.Matches() on it, it would result in the error in this app.
What you expected to happen:
Conversion is done without any errors.
Have you tried the latest version: no
How to reproduce it (as minimally and precisely as possible):
- Start a Rebus node (or any other node that has denom exponent 18 or bigger)
- Subscribe via Tendermint Websockets to the updates on the following filter:
message.action = '/cosmos.staking.v1beta1.MsgDelegate' AND delegate.amount > 10000000000000000000 - Check logs and see errors if such transactions would occur, get a message like the one above per each.
Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file):
See above
Config (you can paste only the changes you've made):
node command runtime flags:
Please provide the output from the http://<ip>:<port>/dump_consensus_state RPC endpoint for consensus bugs
Anything else we need to know: