-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Complex bug with Eth prover and Eth client #140
Comments
MaksymZavershynskyi
pushed a commit
that referenced
this issue
Jul 6, 2020
MaksymZavershynskyi
added a commit
that referenced
this issue
Jul 6, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Update: The cause is found and a simple fix should be submitted by EOD July 6, 2020.
Currently,
transfer-eth-erc20-to-near
command waits until Eth2NearClient catches up with the necessary block before proceeding with minting. However, it does not wait for the block to be confirmed, instead it simply waits for it to appear on the canonical chain: https://github.com/near/rainbow-bridge/blob/master/environment/commands/transfer-eth-erc20-to-near.js#L146This bug went uncaught by the tests because of another bug described in here: #114 Specifically:
Fortunately, it is an easy fix, however a naive fix breaks the tests. This happens because of another bug in https://github.com/zmitton/eth-object that we are using (and probably shouldn't). When tests are run with Ganache the difficulty is set to
0
, howevereth-object
incorrectly serializes Ethereum header with RLP, because0
is a special case, see: https://ethereum.stackexchange.com/questions/67055/block-header-hash-verification Incorrect serialization results in incorrect header passed with the proof to the minting function, which causes it to crash.The text was updated successfully, but these errors were encountered: