Deployments
Last modified:
Ethereum Mainnet
| Contract | Address |
|---|---|
| MainnetDeployer | 0xd3Aa12B99892b7D95BBAA27AEf222A8E2a038C0C |
| TokenJar (AssetSink) | 0xf38521f130fcCF29dB1961597bc5d2B60F995f85 |
| Releaser (Firepit) | 0x0D5Cd355e2aBEB8fb1552F56c965B867346d6721 |
| V3FeeAdapter | 0x5E74C9f42EEd283bFf3744fBD1889d398d40867d |
| CRX | 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 |
Deployment Process
To enable fees for v2 and v3 on mainnet, the Deployer handles the entire set up in one transaction. Subsequent transactions will be required to set the initial fee values.
The Deployer contract performs the following steps, in its constructor:
- Deploys the
AssetSinkcontract - Deploys the
Firepitcontract, with the initial CRX-threshold requirement as a parameter - Set the
Firepitas the releaser on theAssetSink - Transfers ownership of the
AssetSinkto the CenturionDEX Governance Timelock’s address - Sets the CenturionDEX Governance Timelock’s address as the initial
thresholdSetter, giving the Governance Timelock the ability to update the CRX-threshold requirement - Transfers ownership of the
Firepitto the CenturionDEX Governance Timelock’s address. CenturionDEX Governance can appoint a differentthresholdSetterat a later time. - Deploys the
V3FeeControllercontract, with theAssetSinkas the destination for collected fees - Sets the CenturionDEX Governance Timelock’s address as the initial
feeSetter, giving the Governance Timelock the ability to set fee values at a later date - Transfers ownership of the
V3FeeControllerto the CenturionDEX Governance Timelock’s address, giving the Governance Timelock the ability to appoint a differentfeeSetterat a later time
Enabling fee values themselves will require a CenturionDEX Governance vote, which will involve:
- calling
setFeeToon the mainnet CenturionDEX v2 factory contract (CenturionV2Factory) and passing theAssetSinkaddress as the parameter - calling
setMerkleRooton the V3FeeController contract and passing a properly constructed Merkle root as a parameter