Submit confirmations manually

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

The Arbitrary Message Bridge between the Binance Smart Chain and the xDai chain requires a request-and-claim scheme to transfer data from the xDai chain. This scheme requires at least two transactions to pass the message from the xDai chain: one transaction to initiate the message transfer and a second to forward collected oracles' confirmations about the message transfer request to the contracts on BSC.

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 BSC side.

This approach is the equivalent of the set of actions performing 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 a Web3 provider, it can be done by importing the contract's ABI to your application.

  1. Find a transaction in the BlockScout application 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.

  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 (0x05185872898b6f94AA600177EF41B9334B1FA48B) on the Binance Smart Chain and press the "Write" button to send the transaction.

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. Although the FAQ is for the OmniBridge between Ethereum Mainnet and the xDai chain the reason why MetaMask provides higher gas usage estimate is the same.

Edit on GitHub