Submit confirmations manually

Instructions how to manually submit the oracles' confirmation to the Ethereum side

The Arbitrary Message Bridge between the Ethereum Mainnet and the xDai chain now requires a request-and-claim scheme to transfer data from the xDai chain, and some users and applications may want to use a manual process to gather the oracles confirmations and send them to the AMB contracts on the Mainnet side.

This approach is the equivalent of the set of actions performing by the OmniBridge UI after pressing the "Claim" button, or by the AMB Live Monitoring app after pressing the "Execute" button.

Below is the list of actions that can be executed in BlockScout and Etherscan, or, if you are familiar with the contract interaction through Web3 provider, it can be done by importing the contract's ABI to your application.

  1. Find the first transaction which initiated message passing through the AMB bridge and go to the logs generated during the transaction execution. The encodedData argument emitted with the UserRequestForSignature event will be used in the next steps.

In this example we use BlockScout on the xDai side.
  1. Go to the AMB helper contract and call getSignatures there with the encoded data from the UserRequestForSignature event. It will produce a blob with signatures.

  1. Pass the encoded data and the signatures to the Arbitrary Message Bridge contract (0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e) on the Ethereum Mainnet and press the "Write" button to send the transaction.

Using Etherscan to Write to the AMB contract on Ethereum

MetaMask will show a high gas estimate for this transaction. In most cases the final gas consumption will be significantly lower. Please refer to the OmniBridge UI FAQ to learn more.

Edit on GitHub