The collections of smart contracts that power the Ronin Bridge.
- Install packages
$ forge install
- Build contracts
$ forge build
- Run test
$ forge test
$ forge script <path/to/file.s.sol> -f --private-key <your_private_key>
This repo contains source code of contracts that will be either deployed on the mainchains, or on Ronin chain.
- On mainchains:
- Governance contract:
MainchainGovernanceAdmin
- Bridge contract:
MainchainGatewayV3
- Governance contract:
- On Ronin chain:
- Governance contract:
RoninGovernanceAdmin
- Bridge operation:
RoninGatewayV3
- Governance contract:
Except for the governance contracts and vault forwarder contracts, all other contracts are deployed following the proxy pattern for upgradeability. The TransparentUpgradeableProxyV2
, an extended version of OpenZeppelin's, is used for deploying the proxies.
To comply with the governance process, in which requires all modifications to a contract must be approved by a set of governors, the admin role of all proxies must be granted for the governance contract address.
See docs/README.md for the documentation of the contracts.
See docs/HACK.md for the structure of the repo.
For the whitepaper, please refer to Ronin Whitepaper.