Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added Router Protocol Adapters
MockCaller with AccessControl added by deBridge was used. This contract allows auth wallets to call remoteCall and is needed only for test env.
Added deploy script
Deployment dev env
Contracts deployed on Polygon Mumbai and Ethereum Goerli chains and configured to send message two way. Mumbai=>Goerli, Goerli=>Mumbai
Addresses
Chains
Deployed smart contracts are configured only with Router Protocol adapters now, but any other bridges can be easily added to the same deployment.
Test
We tested the cross-chain messaging by updating the quorum threshold on the destination chain. Initially we set the power of router's receiver adapter to 100 and quorum threshold to 70 on the Ethereum Goerli chain. Then we tried to update the quorum threshold to 80 by sending a cross-chain message from Polygon Mumbai chain to the Ethereum Goerli chain.
Caller makes a call to
remoteCall()function of theMultiBridgeSenderwith calldata callingupdateQuorumThreshold()function of theMultiBridgeReceiver, in order to initiate update of quorum threshold on Ethereum Goerli chain from Polygon Mumbai Chain:Transfered message:
{ "bridgeName": "router", "callData": "0x6e8b48190000000000000000000000000000000000000000000000000000000000000050", "dstChainId": 5, "nonce": 0, "srcChainId": 80001, "target": "0x7A1Fca8F42cf135Fae9bDaDFeD1a233cCDC3Aeba" }Initiate update of the Quorum from Polygon Mumbai Chain
Execute message and update Quorum on the Ethereum Goerli Chain