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
The problem is with serialisation of Reciept data, which is encoded as a tuple of four values, where the first value can be one on ('0x01, '0x00', stateRootAfterApplyingTransaction). It is unclear in which cases it is encoded using the stateRootAfterApplyingTransaction, but in those cases it is not possible to build the proof, since this value is not exposed in an RPC.
Receipt encoding which is used as the value in the MPT of Receipts. Notice that first element of the tuple is status encoding.
It is unclear when this situation may happen, or if this can happen in mainnet too. The yellow paper is not very clear in this regard. See section 4.3.1, equation 21.
One potential solution in case this affects us in mainnet (or ropsten) is running a ethereum node, and modify RPC to expose receipt serialised ourselves. Receipts are exposed in geth here.
The text was updated successfully, but these errors were encountered:
We saw a Locked tx in Ropsten for which the receipt proof can't be built directly using information exposed in the RPC: https://ropsten.etherscan.io/tx/0xb1008805a1547b792942d33953decb0d55d5f4fc316d1a54193aa358e7af833c (This tx was first reported in aurora-is-near/rainbow-bridge-client#22)
The problem is with serialisation of Reciept data, which is encoded as a tuple of four values, where the first value can be one on ('0x01, '0x00',
stateRootAfterApplyingTransaction
). It is unclear in which cases it is encoded using thestateRootAfterApplyingTransaction
, but in those cases it is not possible to build the proof, since this value is not exposed in an RPC.Relevant code in Go-Ethereum implementation:
It is unclear when this situation may happen, or if this can happen in mainnet too. The yellow paper is not very clear in this regard. See section 4.3.1, equation 21.
One potential solution in case this affects us in mainnet (or ropsten) is running a ethereum node, and modify RPC to expose receipt serialised ourselves. Receipts are exposed in geth here.
The text was updated successfully, but these errors were encountered: