Forum

Important changes in a user interaction with the xDai bridge

Hi everyone,

We are announcing a major upgrade to xDai bridge operations which will significantly impact the way users interact with the bridge. Changes will be applied starting from the 8th of October.

The main goal of these changes is to provide additional decentralization and control for bridge users – users no longer need to rely on bridge oracles to relay confirmations on the xDai chain side to the Ethereum Mainnet. Instead, users will take responsibility for relaying the confirmations to the Mainnet themselves. This operation is safe since the contract on the Ethereum side will check the relayed message and signatures and it is not possible for a user to provide malicious data. It also provides users with more control, transparency, and the ability to expedite transactions by paying their own gas fees.

We are updating the Bridge UI to allow users to execute the bridge transaction with collected signatures. Other applications (e.g. BurnerWallet) that provide similar functionality will be impacted and will need to make changes related to these updates.

The logic for applications that would like to relay signatures to the Ethereum Mainnet to finalize withdrawals on behalf of the user should be the following:

  1. Wait while a user transaction initiating the xDai withdrawals is verified and included in a block.
  2. Wait until the bridge oracles collect the signatures in the bridge contract on the xDai side.
  3. Gather the message and the signatures from the bridge contract on the xDai chain.
  4. Send the gathered data to the bridge contract on the Ethereum Mainnet.

Please note that the xDai bridge oracles will still provide the ability to relay collected confirmations automatically for the senders/recipients from the allowance list. If such behavior is important for your application please contact to us by writing a message in this thread.

We hope that suggested changes will allow the xDai bridge to be more transparent and provide better service since users will get more control on the withdrawal operations.

2 Likes

Below is a preliminary view on the changes in the xDai bridge UI that will help users manage their withdrawals:

  1. User specifies the amount to withdraw:

  2. After pressing the Transfer button, the transaction must be confirmed in the wallet extension.

  3. As soon as the user’s transaction is mined, the UI will report that the bridge oracles are waiting for chain finality and verify the withdrawal request after that:
    image

  4. When enough confirmations are collected in the bridge contract the user will be prompted to switch to the Ethereum Mainnet in the wallet extension:

  5. The Claim button will appearing after that, allowing the user to send the transaction to the Ethereum Mainnet. The transaction contains the verified message and the oracles signatures.

  6. The user sets a preferable gas price to prioritize the transaction for Ethereum miners and confirm the transaction.

  7. As soon as the transaction is included in an Ethereum block the following message appears:

The Bridge UI will also allow users to relay a withdrawal message to the Ethereum Mainnet by specifying the transaction hash with the withdrawal request. So, if the user closes the browser window or sends XDAI from another app, this functionality helps to finalize the request and unlock the funds from the bridge contract on the Ethereum side.

5 Likes

The described changes are in place starting from 8:00 pm UTC of Oct, 8.

1 Like