diff --git a/developers/deployments/addresses.md b/developers/deployments/addresses.md index 419edaf..1eb0964 100644 --- a/developers/deployments/addresses.md +++ b/developers/deployments/addresses.md @@ -33,16 +33,20 @@ | SortedOracles | [0xfdd8bd58115ffbf04e47411c1d228ecc45e93075](https://explorer.celo.org/alfajores/address/0xfdd8bd58115ffbf04e47411c1d228ecc45e93075) | [0xB07A33093d332f0D2810b36Bdd3c9e7390624F1F](https://explorer.celo.org/alfajores/address/0xB07A33093d332f0D2810b36Bdd3c9e7390624F1F) | | BridgedUSDC\* | [0x2c4b568dfba1fbdbb4e7dad3f4186b68bce40db3](https://explorer.celo.org/alfajores/address/0x2c4b568dfba1fbdbb4e7dad3f4186b68bce40db3) | ❌ Non-upgradable | | BridgedEUROC\* | [0x6e673502c5b55F3169657C004e5797fFE5be6653](https://explorer.celo.org/alfajores/address/0x6e673502c5b55F3169657C004e5797fFE5be6653) | ❌ Non-upgradable | +MockNativeUSDT\* | [0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287](https://explorer.celo.org/alfajores/address/0xBba91F588d031469ABCCA566FE80fB1Ad8Ee3287) | ❌ Non-upgradable | \*Bridged USDC/EUROC are Mock ERC20 tokens that we use on testnets as a surrogate for the bridged USDC/EUROC that will be used in pools Celo Mainnet. + +\*MockNativeUSDT is a Mock ERC20 token that we use on testnets as a surrogate for the USDT that will be used in pools {% endtab %} {% tab title="Baklava" %} -
ContractAddressImplementation
Broker0x6723749339e320E1EFcd9f1B0D997ecb455872080xb474472410F72c292280Ad6778978b49B8F7e68c
BiPoolManager0xFF9a3da00F42839CD6D33AD7adf50bCc97B414110xf0e764Da1E61Bd5421692e5d02bdad9f3B09f825
BreakerBox0x5Ea5A5F694F10de979BEeC7b8041E9f931F54bc7❌ Non-upgradable
Reserve0x68Dd816611d3DE196FDeb87438B74A9c29fd649f0x1888c9f6d77dDc5517074cb77F024871B9614002

ConstantSum

PricingModule

0x2901da88dd444a3c41AF51696548DEe3524Cf8Dc❌ Non-upgradable

ConstantProduct

PricingModule

0x7586680Dd2e4F977C33cDbd597fa2490e342CbA2❌ Non-upgradable
MedianDeltaBreaker0x286a8137EE9EE6dE8B5e5be334706fA812400994❌ Non-upgradable
ValueDeltaBreaker0xf631F58b1B51E99dF3Ad1CE18f5C42ab41e4A17a❌ Non-upgradable
StableToken0x62492a644a588fd904270bed06ad52b9abfea1ae0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenEUR0xf9ece301247ad2ce21894941830a2470f4e774ca0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenBRL0x6a0eef2bed4c30dc2cb42fe6c5f01f80f7ef16d10xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenXOF0x64c1D812673E93Bc036AdC3D547d9950696DA5Af0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenKES0x8813Ae180017057d0Cf98C930cED1E7101B973700xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
SortedOracles0x88a187a876290e9843175027902b9f7f1b092c880x2e229aa95c67baa6c08073f26ABA8E4083e98489
BridgedUSDC*0x4c6B046750F9aBF6F0f3B511217438451bc6Aa02❌ Non-upgradable
BridgedEUROC*0x6f90ac394b1F45290d3023e4Ba0203005cAF2A4B❌ Non-upgradable
mockNativeUSDC*0xB407D37d76c417B6343310D42611FCA106B2abB8❌ Non-upgradable
+ +
ContractAddressImplementation
Broker0x6723749339e320E1EFcd9f1B0D997ecb455872080xb474472410F72c292280Ad6778978b49B8F7e68c
BiPoolManager0xFF9a3da00F42839CD6D33AD7adf50bCc97B414110xf0e764Da1E61Bd5421692e5d02bdad9f3B09f825
BreakerBox0x5Ea5A5F694F10de979BEeC7b8041E9f931F54bc7❌ Non-upgradable
Reserve0x68Dd816611d3DE196FDeb87438B74A9c29fd649f0x1888c9f6d77dDc5517074cb77F024871B9614002

ConstantSum

PricingModule

0x2901da88dd444a3c41AF51696548DEe3524Cf8Dc❌ Non-upgradable

ConstantProduct

PricingModule

0x7586680Dd2e4F977C33cDbd597fa2490e342CbA2❌ Non-upgradable
MedianDeltaBreaker0x286a8137EE9EE6dE8B5e5be334706fA812400994❌ Non-upgradable
ValueDeltaBreaker0xf631F58b1B51E99dF3Ad1CE18f5C42ab41e4A17a❌ Non-upgradable
StableToken0x62492a644a588fd904270bed06ad52b9abfea1ae0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenEUR0xf9ece301247ad2ce21894941830a2470f4e774ca0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenBRL0x6a0eef2bed4c30dc2cb42fe6c5f01f80f7ef16d10xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenXOF0x64c1D812673E93Bc036AdC3D547d9950696DA5Af0xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
StableTokenKES0x8813Ae180017057d0Cf98C930cED1E7101B973700xb8956d1fCeff0655B2B9DF1975c5c25B71de1Df3
SortedOracles0x88a187a876290e9843175027902b9f7f1b092c880x2e229aa95c67baa6c08073f26ABA8E4083e98489
BridgedUSDC*0x4c6B046750F9aBF6F0f3B511217438451bc6Aa02❌ Non-upgradable
BridgedEUROC*0x6f90ac394b1F45290d3023e4Ba0203005cAF2A4B❌ Non-upgradable
mockNativeUSDC*0xB407D37d76c417B6343310D42611FCA106B2abB8❌ Non-upgradable
mockNativeUSDT*0x27c586469038A1749B27BF5914DAff7A14227AfB❌ Non-upgradable
\*Bridged USDC/EUROC are Mock ERC20 tokens that we use on testnets as a surrogate for the bridged USDC/EUROC that will be used in pools Celo Mainnet. -\*mockNativeUSDC is a Mock ERC20 token that we use on Baklava as a surrogate for the native USDC. It's important to not that this is only used in pools on Baklava as native USDC is deployed on both Alfajores and Mainnet. +\*mockNative USDC/USDT are Mock ERC20 tokens that we use on Baklava as a surrogate for the native USDC/USDT tokens. {% endtab %} {% endtabs %} diff --git a/developers/smart-contracts/audits.md b/developers/smart-contracts/audits.md index 4c420d3..f631456 100644 --- a/developers/smart-contracts/audits.md +++ b/developers/smart-contracts/audits.md @@ -2,4 +2,13 @@ -
DateLinkAuditorVersion
08/2023https://0xmacro.com/library/audits/mento-1MacroV2.2.0
05/2023Extended previous audit with new v2.findings: https://www.verilog.solutions/audits/mento/Verilogv2.1.0
02/2023https://www.verilog.solutions/audits/mento/Verilogv2.0.0
2020-2021https://blog.openzeppelin.com/celo-contracts-audit/OpenZeppelinv1.0.0
+ + + + + + + + + +
DateLinkAuditorVersion
03/2024https://0xmacro.com/library/audits/mento-3MacroV2.3.0
03/2024https://audits.sherlock.xyz/dashboardSherlock ContestV2.3.0
01/2024https://0xmacro.com/library/audits/mento-2MacroV2.3.0
08/2023https://0xmacro.com/library/audits/mento-1MacroV2.2.0
05/2023Extended previous audit with new v2.findings: https://www.verilog.solutions/audits/mento/Verilogv2.1.0
02/2023https://www.verilog.solutions/audits/mento/Verilogv2.0.0
2020-2021https://blog.openzeppelin.com/celo-contracts-audit/OpenZeppelinv1.0.0
diff --git a/protocol-concepts/governance/verification.md b/protocol-concepts/governance/verification.md index 50ac38b..d1fd0cc 100644 --- a/protocol-concepts/governance/verification.md +++ b/protocol-concepts/governance/verification.md @@ -12,7 +12,21 @@ Rate Feed identifiers are the [report targets for oracles](../../developers/smar 2. Setting the [reference rate for exchanges. ](../../developers/smart-contracts/bipoolmanager.md#poolexchange) 3. Configuring circuit breakers in the [breaker box](../../developers/smart-contracts/breakerbox.md). -
RateFeedIDExplanation
CELO/USD0x765DE816845861e75A25fCA122bb6898B8B1282aThe cUSD contract address
CELO/EUR0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73The cEUR contract address
CELO/BRL0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787The cREAL contract address
CELO/XOF0x73F93dcc49cB8A239e2032663e9475dd5ef29A08The eXOF contract address
USDC/USD0xA1A8003936862E7a15092A91898D69fa8bCE290caddress(uint160(uint256(keccak256("USDCUSD"))))
USDC/EUR0x206B25Ea01E188Ee243131aFdE526bA6E131a016address(uint160(uint256(keccak256("USDCEUR"))))
USDC/BRL0x25F21A1f97607Edf6852339fad709728cffb9a9daddress(uint160(uint256(keccak256("USDCBRL"))))
EUROC/EUR0x26076B9702885d475ac8c3dB3Bd9F250Dc5A318Baddress(uint160(uint256(keccak256("EUROCEUR"))))
EUROC/XOF0xed35e46b095197da30ddffa5b91d386886d5ce0daddress(uint160(uint256(keccak256("EUROCXOF"))))
EUR/XOF0x40dc8528167557353fdcd98548ab2139a670dd0baddress(uint160(uint256(keccak256("EURXOF"))))
+ + + + + + + + + + + + + + +
RateFeedIDExplanation
CELO/USD0x765DE816845861e75A25fCA122bb6898B8B1282aThe cUSD contract address
CELO/EUR0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73The cEUR contract address
CELO/BRL0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787The cREAL contract address
CELO/XOF0x73F93dcc49cB8A239e2032663e9475dd5ef29A08The eXOF contract address
CELO/KES0x456a3D042C0DbD3db53D5489e98dFb038553B0d0The cKES contract address
USDC/USD0xA1A8003936862E7a15092A91898D69fa8bCE290caddress(uint160(uint256(keccak256("USDCUSD"))))
USDC/EUR0x206B25Ea01E188Ee243131aFdE526bA6E131a016address(uint160(uint256(keccak256("USDCEUR"))))
USDC/BRL0x25F21A1f97607Edf6852339fad709728cffb9a9daddress(uint160(uint256(keccak256("USDCBRL"))))
EUROC/EUR0x26076B9702885d475ac8c3dB3Bd9F250Dc5A318Baddress(uint160(uint256(keccak256("EUROCEUR"))))
EUROC/XOF0xed35e46b095197da30ddffa5b91d386886d5ce0daddress(uint160(uint256(keccak256("EUROCXOF"))))
EUR/XOF0x40dc8528167557353fdcd98548ab2139a670dd0baddress(uint160(uint256(keccak256("EURXOF"))))
KES/USD0xbAcEE37d31b9f022Ef5d232B9fD53F05a531c169address(uint160(uint256(keccak256("USDTUSD"))))
USDT/USD0xE06C10C63377cD098b589c0b90314bFb55751558address(uint160(uint256(keccak256("KESUSD"))))
### Exchange IDs @@ -28,4 +42,19 @@ exchangeId = keccak256( ); ``` -
ExchangeIDExplanation
cUSD/CELO0x3135b662c38265d0655177091f1b647b4fef511103d06c016efdf18b46930d2ckeccak256(abi.encodePacked("cUSD", "CELO", "ConstantProduct"))
cEUR/CELO0xb73ffc6b5123de3c8e460490543ab93a3be7d70824f1666343df49e219199b8ckeccak256(abi.encodePacked("cEUR", "CELO", "ConstantProduct"))
cREAL/CELO0xed0528e42b9ecae538aab34b93813e08de03f8ac4a894b277ef193e67275bbaekeccak256(abi.encodePacked("cREAL", "CELO", "ConstantProduct"))
eXOF/CELO0x269dcbdbc07fff1a4aaab9c7c03b3f629cd9bbed49aa0efebab874e4da1ffd07keccak256(abi.encodePacked("eXOF", "CELO", "ConstantProduct"))
cUSD/axlUSDC0x0d739efbfc30f303e8d1976c213b4040850d1af40f174f4169b846f6fd3d2f20keccak256(abi.encodePacked("cUSD", "axlUSDC", "ConstantSum"))
cEUR/axlUSDC0xf418803158d881fda22694067bf6479476cec22ecfeeca2f6a65a6259bdbb9c0keccak256(abi.encodePacked("cEUR", "axlUSDC", "ConstantSum"))
cREAL/axlUSDC0x40c8472edd23f2976b0503db2692e8f06f0eb52db690e84697cad36a6b44e2dfkeccak256(abi.encodePacked("cREAL", "axlUSDC", "ConstantSum"))
cEUR/EUROC0xfca6d94b46122eb9a4b86cf9d3e1e856fea8a826d0fc26c5baf17c43fbaf0f48keccak256(abi.encodePacked("cEUR", "axlEUROC", "ConstantSum"))
eXOF/EUROC0xcc68743c58a31c4ec3c56bca3d579409b4e2424e5f37e54a85f917b22af74e7ckeccak256(abi.encodePacked("eXOF", "axlEUROC", "ConstantSum"))
cUSD/nativeUSDC0xacc988382b66ee5456086643dcfd9a5ca43dd8f428f6ef22503d8b8013bcffd7keccak256(abi.encodePacked("cUSD", "USDC", "ConstantSum"))
cEUR/nativeUSDC0x99be8b8341ba00914600cda701568ab27eea9aca7a32fa48c26e07b86841020ckeccak256(abi.encodePacked("cEUR", "USDC", "ConstantSum"))
cBRL/nativeUSDC0xe8693b17c0f002f6a2fe839525557cef10dfeacef9e16c9bbdcb01c57933ce58keccak256(abi.encodePacked("cREAL", "USDC", "ConstantSum"))
+ + + + + + + + + + + + + + + +
ExchangeIDExplanation
cUSD/CELO0x3135b662c38265d0655177091f1b647b4fef511103d06c016efdf18b46930d2ckeccak256(abi.encodePacked("cUSD", "CELO", "ConstantProduct"))
cEUR/CELO0xb73ffc6b5123de3c8e460490543ab93a3be7d70824f1666343df49e219199b8ckeccak256(abi.encodePacked("cEUR", "CELO", "ConstantProduct"))
cREAL/CELO0xed0528e42b9ecae538aab34b93813e08de03f8ac4a894b277ef193e67275bbaekeccak256(abi.encodePacked("cREAL", "CELO", "ConstantProduct"))
eXOF/CELO0x269dcbdbc07fff1a4aaab9c7c03b3f629cd9bbed49aa0efebab874e4da1ffd07keccak256(abi.encodePacked("eXOF", "CELO", "ConstantProduct"))
cUSD/axlUSDC0x0d739efbfc30f303e8d1976c213b4040850d1af40f174f4169b846f6fd3d2f20keccak256(abi.encodePacked("cUSD", "axlUSDC", "ConstantSum"))
cEUR/axlUSDC0xf418803158d881fda22694067bf6479476cec22ecfeeca2f6a65a6259bdbb9c0keccak256(abi.encodePacked("cEUR", "axlUSDC", "ConstantSum"))
cREAL/axlUSDC0x40c8472edd23f2976b0503db2692e8f06f0eb52db690e84697cad36a6b44e2dfkeccak256(abi.encodePacked("cREAL", "axlUSDC", "ConstantSum"))
cEUR/EUROC0xfca6d94b46122eb9a4b86cf9d3e1e856fea8a826d0fc26c5baf17c43fbaf0f48keccak256(abi.encodePacked("cEUR", "axlEUROC", "ConstantSum"))
eXOF/EUROC0xcc68743c58a31c4ec3c56bca3d579409b4e2424e5f37e54a85f917b22af74e7ckeccak256(abi.encodePacked("eXOF", "axlEUROC", "ConstantSum"))
cUSD/nativeUSDC0xacc988382b66ee5456086643dcfd9a5ca43dd8f428f6ef22503d8b8013bcffd7keccak256(abi.encodePacked("cUSD", "USDC", "ConstantSum"))
cEUR/nativeUSDC0x99be8b8341ba00914600cda701568ab27eea9aca7a32fa48c26e07b86841020ckeccak256(abi.encodePacked("cEUR", "USDC", "ConstantSum"))
cBRL/nativeUSDC0xe8693b17c0f002f6a2fe839525557cef10dfeacef9e16c9bbdcb01c57933ce58keccak256(abi.encodePacked("cREAL", "USDC", "ConstantSum"))
cUSD/USDT0x773bcec109cee923b5e04706044fd9d6a5121b1a6a4c059c36fdbe5b845d4e9bkeccak256(abi.encodePacked("cUSD", "USD₮", "ConstantSum"))
cUSD/cKES0x89de88b8eb790de26f4649f543cb6893d93635c728ac857f0926e842fb0d298bkeccak256(abi.encodePacked("cUSD", "cKES", "ConstantSum"))