Open slnowak opened 5 days ago
We're using https://rosetta-devnet.minaprotocol.network/search/transactions to get transaction details, however it looks like Rosetta API doesn't properly parse zkApp transactions containing Layer2 token balance changes.
https://rosetta-devnet.minaprotocol.network/search/transactions
For example: https://minascan.io/devnet/tx/5JuHSir8Nz8e2229pB8KCJuaeWJDSuRj2APG2CXLSDMHbFtCyktQ?type=zk-tx According to minascan, this transaction includes the following changes:
However, rosetta API responds with the following:
{ "transactions": [ { "block_identifier": { "index": 322205, "hash": "3NLBjWdUTu43MqdFzmgu8jt3teTRhnyT4eZ36F7THDhCqwLmxXXa" }, "transaction": { "transaction_identifier": { "hash": "5JuHSir8Nz8e2229pB8KCJuaeWJDSuRj2APG2CXLSDMHbFtCyktQ" }, "operations": [ { "operation_identifier": { "index": 0 }, "type": "zkapp_fee_payer_dec", "status": "Success", "account": { "address": "B62qrSZhDgpv9Gxz5dHtFpMauoXPyi6Ti52UCtTMvVApx5ZUeZ5V5Q2", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-100000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 1 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qrSZhDgpv9Gxz5dHtFpMauoXPyi6Ti52UCtTMvVApx5ZUeZ5V5Q2", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-1000000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 2 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qpgMPTf7NrafqHZm6fzQ76qaZ3gbz9XSLNFWN3VhDkQmV516SXSx", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 3 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qjwDWxjf4LtJ4YWJQDdTNPqZ69ZyeCzbpAFKN7EoZzYig5ZRz8JE", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "0", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 4 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qmRs2Nypefz8kSK5hQwYrvJUjjJumpfR3qKn1ZmcKE9kbFHBJfMv", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 5 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qrSZhDgpv9Gxz5dHtFpMauoXPyi6Ti52UCtTMvVApx5ZUeZ5V5Q2", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-1000000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 6 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qpgMPTf7NrafqHZm6fzQ76qaZ3gbz9XSLNFWN3VhDkQmV516SXSx", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 7 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qjwDWxjf4LtJ4YWJQDdTNPqZ69ZyeCzbpAFKN7EoZzYig5ZRz8JE", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "0", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 8 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qmRs2Nypefz8kSK5hQwYrvJUjjJumpfR3qKn1ZmcKE9kbFHBJfMv", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 9 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qrSZhDgpv9Gxz5dHtFpMauoXPyi6Ti52UCtTMvVApx5ZUeZ5V5Q2", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-1000000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 10 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qpgMPTf7NrafqHZm6fzQ76qaZ3gbz9XSLNFWN3VhDkQmV516SXSx", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 11 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qjwDWxjf4LtJ4YWJQDdTNPqZ69ZyeCzbpAFKN7EoZzYig5ZRz8JE", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "0", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 12 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qmRs2Nypefz8kSK5hQwYrvJUjjJumpfR3qKn1ZmcKE9kbFHBJfMv", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 13 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qrSZhDgpv9Gxz5dHtFpMauoXPyi6Ti52UCtTMvVApx5ZUeZ5V5Q2", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-1000000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 14 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qpgMPTf7NrafqHZm6fzQ76qaZ3gbz9XSLNFWN3VhDkQmV516SXSx", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "-150000000", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 15 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qjwDWxjf4LtJ4YWJQDdTNPqZ69ZyeCzbpAFKN7EoZzYig5ZRz8JE", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "0", "currency": { "symbol": "MINA", "decimals": 9 } } }, { "operation_identifier": { "index": 16 }, "type": "zkapp_balance_update", "status": "Success", "account": { "address": "B62qmRs2Nypefz8kSK5hQwYrvJUjjJumpfR3qKn1ZmcKE9kbFHBJfMv", "metadata": { "token_id": "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf" } }, "amount": { "value": "150000000", "currency": { "symbol": "MINA", "decimals": 9 } } } ], "related_transactions": [] } } ], "total_count": 1 }
Notice how it never mentions PUNK5 in operations - it always responds with "currency": { "symbol": "MINA", "decimals": 9 }
"currency": { "symbol": "MINA", "decimals": 9 }
curl --location 'https://rosetta-devnet.minaprotocol.network/search/transactions' \ --header 'Content-Type: application/json' \ --data '{ "network_identifier": { "blockchain": "mina", "network" : "testnet" }, "transaction_identifier": {"hash": "5JuHSir8Nz8e2229pB8KCJuaeWJDSuRj2APG2CXLSDMHbFtCyktQ"} }'
Some operations should mention PUNK5, with appropriate decimals (or any other token being transferred) as a currency.
API always responds with
"currency": {"symbol": "MINA", "decimals": 9}
even though there was a l2 token balance change.
Also, it seems like the same change is included multiple times.
latest?
Always
Medium
n/a
No response
Preliminary Checks
Description
We're using
https://rosetta-devnet.minaprotocol.network/search/transactions
to get transaction details, however it looks like Rosetta API doesn't properly parse zkApp transactions containing Layer2 token balance changes.For example: https://minascan.io/devnet/tx/5JuHSir8Nz8e2229pB8KCJuaeWJDSuRj2APG2CXLSDMHbFtCyktQ?type=zk-tx According to minascan, this transaction includes the following changes:
However, rosetta API responds with the following:
Notice how it never mentions PUNK5 in operations - it always responds with
"currency": { "symbol": "MINA", "decimals": 9 }
Steps to Reproduce
Expected Result
Some operations should mention PUNK5, with appropriate decimals (or any other token being transferred) as a currency.
Actual Result
API always responds with
even though there was a l2 token balance change.
Also, it seems like the same change is included multiple times.
Daemon version
latest?
How frequently do you see this issue?
Always
What is the impact of this issue on your ability to run a node?
Medium
Status
Additional information
No response