diff --git a/.gitbook/assets/Screenshot 2023-12-12 at 14.03.17.png b/.gitbook/assets/Screenshot 2023-12-12 at 14.03.17.png new file mode 100644 index 0000000..2c3e517 Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-12-12 at 14.03.17.png differ diff --git a/.gitbook/assets/Screenshot 2023-12-12 at 14.37.20.png b/.gitbook/assets/Screenshot 2023-12-12 at 14.37.20.png new file mode 100644 index 0000000..66b7542 Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-12-12 at 14.37.20.png differ diff --git a/developers/deployments/addresses.md b/developers/deployments/addresses.md index da3b314..2e4abfd 100644 --- a/developers/deployments/addresses.md +++ b/developers/deployments/addresses.md @@ -2,16 +2,16 @@ ### Externally Owned Accounts (EOAs) and MultiSigs -| Label | Address | Notes | -| --------------------- | ------------------------------------------ | ----------------------------------------------------- | -| Mento Deployer | 0x56fD3F2bEE130e9867942D0F463a16fBE49B8d81 | Used for contract creation on all environments | -| Mento Reserve Spender | 0x87647780180B8f55980C7D3fFeFe08a9B29e9aE1 | Used with the Partial Reserve for the MU01 deployment | +| Label | Address | Notes | +| --------------------- | ------------------------------------------ | ------------------------------------------------------------- | +| Mento Deployer | 0x56fD3F2bEE130e9867942D0F463a16fBE49B8d81 | Used for contract creation on all environments | +| Mento Reserve Spender | 0x87647780180B8f55980C7D3fFeFe08a9B29e9aE1 | Used with the Reserve to move funds between reserve adresses | ## Mento v2.0 {% tabs %} {% tab title="Celo Mainnet" %} -
ContractAddressImplementation
Broker0x777A8255cA72412f0d706dc03C9D1987306B4CaD0x1B78f6acD05e7BcB00f74863bfd8a7C264143e37
BiPoolManager0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec9010xa3D754445f8C3a8134F64467826352885558FD65
BreakerBox0x303ED1df62Fa067659B586EbEe8De0EcE824Ab39❌ Non-upgradable
PartialReserve0xea0Cf774eB755fB01FD67fe6B4F93AE4E167afe20xfD9651862Bc1965349E92073152112289393b57d

ConstantSum

PricingModule

0xDebED1F6f6ce9F6e73AA25F95acBFFE2397550Fb❌ Non-upgradable

ConstantProduct

PricingModule

0x0c07126d0CB30E66eF7553Cc7C37143B4f06DddB❌ Non-upgradable
MedianDeltaBreaker0x49349F92D2B17d491e42C8fdB02D19f072F9B5D9❌ Non-upgradable
ValueDeltaBreaker0x4DBC33B3abA78475A5AA4BC7A5B11445d387BF68❌ Non-upgradable
StableToken0x765de816845861e75a25fca122bb6898b8b1282a0x7ae2f384fE14EaD85779f9224558862D6d3E4f28
StableTokenEUR0xd8763cba276a3738e6de85b4b3bf5fded6d6ca730xF6Ce8cf541eCf560f829ef5680683a06D41a6C33
StableTokenBRL0xe8537a3d056da446677b9e9d6c5db704eaab47870x273F1aA3E574BaF38D0C0D668E06B4490c172bC7
SortedOracles0xefb84935239dacdecf7c5ba76d8de40b077b7b330x4B621443c1c749ef5252e8AEE158A52B5eCe304A
+
ContractAddressImplementation
Broker0x777A8255cA72412f0d706dc03C9D1987306B4CaD0x1B78f6acD05e7BcB00f74863bfd8a7C264143e37
BiPoolManager0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec9010xa3D754445f8C3a8134F64467826352885558FD65
BreakerBox0x303ED1df62Fa067659B586EbEe8De0EcE824Ab39❌ Non-upgradable
Reserve0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb90xfD9651862Bc1965349E92073152112289393b57d

ConstantSum

PricingModule

0xDebED1F6f6ce9F6e73AA25F95acBFFE2397550Fb❌ Non-upgradable

ConstantProduct

PricingModule

0x0c07126d0CB30E66eF7553Cc7C37143B4f06DddB❌ Non-upgradable
MedianDeltaBreaker0x49349F92D2B17d491e42C8fdB02D19f072F9B5D9❌ Non-upgradable
ValueDeltaBreaker0x4DBC33B3abA78475A5AA4BC7A5B11445d387BF68❌ Non-upgradable
StableToken0x765de816845861e75a25fca122bb6898b8b1282a0x434563B0604BE100F04B7Ae485BcafE3c9D8850E
StableTokenEUR0xd8763cba276a3738e6de85b4b3bf5fded6d6ca730x434563B0604BE100F04B7Ae485BcafE3c9D8850E
StableTokenBRL0xe8537a3d056da446677b9e9d6c5db704eaab47870x434563B0604BE100F04B7Ae485BcafE3c9D8850E
StableTokenXOF0x73F93dcc49cB8A239e2032663e9475dd5ef29A080x434563B0604BE100F04B7Ae485BcafE3c9D8850E
SortedOracles0xefb84935239dacdecf7c5ba76d8de40b077b7b330x4B621443c1c749ef5252e8AEE158A52B5eCe304A
{% endtab %} {% tab title="Alfajores" %} @@ -20,22 +20,24 @@ | Broker | [0xD3Dff18E465bCa6241A244144765b4421Ac14D09](https://explorer.celo.org/alfajores/address/0xD3Dff18E465bCa6241A244144765b4421Ac14D09) | [0xA0248A242A1eAca1A0b0513E82246Faa68d3d87C](https://explorer.celo.org/alfajores/address/0xA0248A242A1eAca1A0b0513E82246Faa68d3d87C) | | BiPoolManager | [0x9B64E8EaBD1a035b148cE970d3319c5C3Ad53EC3](https://explorer.celo.org/alfajores/address/0x9B64E8EaBD1a035b148cE970d3319c5C3Ad53EC3) | [0x203c4dD52957405F8F86C40996e9b5b3bF5a6c95](https://explorer.celo.org/alfajores/address/0x203c4dD52957405F8F86C40996e9b5b3bF5a6c95) | | BreakerBox | [0xC76BDf0AFb654888728003683cf748A8B1b4f5fD](https://explorer.celo.org/alfajores/address/0xC76BDf0AFb654888728003683cf748A8B1b4f5fD) | ❌ Non-upgradable | -| PartialReserve | [0x603B3f9A1DF5d081f549E8829B2f00bd353523Cd](https://explorer.celo.org/alfajores/address/0x603B3f9A1DF5d081f549E8829B2f00bd353523Cd) | [0x5B4B6ba128c7BA51d63eD7474A7b17492Fb28476](https://explorer.celo.org/alfajores/address/0x5B4B6ba128c7BA51d63eD7474A7b17492Fb28476) | +| Reserve | [0xa7ed835288Aa4524bB6C73DD23c0bF4315D9Fe3e](https://explorer.celo.org/alfajores/address/0xa7ed835288Aa4524bB6C73DD23c0bF4315D9Fe3e) | [0x5B4B6ba128c7BA51d63eD7474A7b17492Fb28476](https://explorer.celo.org/alfajores/address/0x5B4B6ba128c7BA51d63eD7474A7b17492Fb28476) | |

ConstantSum

PricingModule

| [0x474DBf1eDF845410bdaC6aeE97C3CC403651ba2E](https://explorer.celo.org/alfajores/address/0x474DBf1eDF845410bdaC6aeE97C3CC403651ba2E) | ❌ Non-upgradable | |

ConstantProduct

PricingModule

| [0x99EDce8143FF8AeFA1fBB6C2103B349Add2B9519](https://explorer.celo.org/alfajores/address/0x99EDce8143FF8AeFA1fBB6C2103B349Add2B9519) | ❌ Non-upgradable | | MedianDeltaBreaker | [0x6B0a2076713fDAef4F9301fe8404a228e3682DE4](https://explorer.celo.org/alfajores/address/0x6B0a2076713fDAef4F9301fe8404a228e3682DE4) | ❌ Non-upgradable | | ValueDeltaBreaker | [0xfa6fFf746a5E74055e432f3bba26138956AEfbFe](https://explorer.celo.org/alfajores/address/0xfa6fFf746a5E74055e432f3bba26138956AEfbFe) | ❌ Non-upgradable | -| StableToken | [0x874069fa1eb16d44d622f2e0ca25eea172369bc1](https://explorer.celo.org/alfajores/address/0x874069fa1eb16d44d622f2e0ca25eea172369bc1) | [0x555a4D35328462bCadFD9558295F8E0C98FEdea0](https://explorer.celo.org/alfajores/address/0x555a4D35328462bCadFD9558295F8E0C98FEdea0) | -| StableTokenEUR | [0x10c892a6ec43a53e45d0b916b4b7d383b1b78c0f](https://explorer.celo.org/alfajores/address/0x10c892a6ec43a53e45d0b916b4b7d383b1b78c0f) | [0x0B8d1BFdD9F67cdbab70D48C073d39aaf579f69C](https://explorer.celo.org/alfajores/address/0x0B8d1BFdD9F67cdbab70D48C073d39aaf579f69C) | -| StableTokenBRL | [0xe4d517785d091d3c54818832db6094bcc2744545](https://explorer.celo.org/alfajores/address/0xe4d517785d091d3c54818832db6094bcc2744545) | [0x73F93dcc49cB8A239e2032663e9475dd5ef29A08](https://explorer.celo.org/alfajores/address/0x73F93dcc49cB8A239e2032663e9475dd5ef29A08) | +| StableToken | [0x874069fa1eb16d44d622f2e0ca25eea172369bc1](https://explorer.celo.org/alfajores/address/0x874069fa1eb16d44d622f2e0ca25eea172369bc1) | [0x3Bd899048f4f6951fFeB5474205B79FDB09D6212](https://explorer.celo.org/alfajores/address/0x3Bd899048f4f6951fFeB5474205B79FDB09D6212) | +| StableTokenEUR | [0x10c892a6ec43a53e45d0b916b4b7d383b1b78c0f](https://explorer.celo.org/alfajores/address/0x10c892a6ec43a53e45d0b916b4b7d383b1b78c0f) | [0x3Bd899048f4f6951fFeB5474205B79FDB09D6212](https://explorer.celo.org/alfajores/address/0x3Bd899048f4f6951fFeB5474205B79FDB09D6212) | +| StableTokenBRL | [0xe4d517785d091d3c54818832db6094bcc2744545](https://explorer.celo.org/alfajores/address/0xe4d517785d091d3c54818832db6094bcc2744545) | [0x3Bd899048f4f6951fFeB5474205B79FDB09D6212](https://explorer.celo.org/alfajores/address/0x3Bd899048f4f6951fFeB5474205B79FDB09D6212) | +| StableTokenXOF | [0xB0FA15e002516d0301884059c0aaC0F0C72b019D](https://explorer.celo.org/alfajores/address/0xB0FA15e002516d0301884059c0aaC0F0C72b019D) | [0x3Bd899048f4f6951fFeB5474205B79FDB09D6212](https://explorer.celo.org/alfajores/address/0x3Bd899048f4f6951fFeB5474205B79FDB09D6212) | | 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 | -\*BridgedUSDC is a Mock ERC20 token that we use on testnets as a surrogate for the bridged USDC that will be used in pools Celo Mainnet. +\*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. {% endtab %} {% tab title="Baklava" %} -
ContractAddressImplementation
Broker0x6723749339e320E1EFcd9f1B0D997ecb455872080xb474472410F72c292280Ad6778978b49B8F7e68c
BiPoolManager0xFF9a3da00F42839CD6D33AD7adf50bCc97B414110xf0e764Da1E61Bd5421692e5d02bdad9f3B09f825
BreakerBox0x5Ea5A5F694F10de979BEeC7b8041E9f931F54bc7❌ Non-upgradable
PartialReserve0x5186f2871b81F057E249c4f4c9400bAbD9689c5d0x1888c9f6d77dDc5517074cb77F024871B9614002

ConstantSum

PricingModule

0x2901da88dd444a3c41AF51696548DEe3524Cf8Dc❌ Non-upgradable

ConstantProduct

PricingModule

0x7586680Dd2e4F977C33cDbd597fa2490e342CbA2❌ Non-upgradable
MedianDeltaBreaker0x286a8137EE9EE6dE8B5e5be334706fA812400994❌ Non-upgradable
ValueDeltaBreaker0xf631F58b1B51E99dF3Ad1CE18f5C42ab41e4A17a❌ Non-upgradable
StableToken0x62492a644a588fd904270bed06ad52b9abfea1ae0xEeFeFD9A550e45a4CB5bF9a00730575FA432324C
StableTokenEUR0xf9ece301247ad2ce21894941830a2470f4e774ca0x17A59968689d209bE30fF52E0C56FF98ace9ee70
StableTokenBRL0x6a0eef2bed4c30dc2cb42fe6c5f01f80f7ef16d10x90bf93550DF89E5625eB90e6ad2B588E8036cD83
SortedOracles0x88a187a876290e9843175027902b9f7f1b092c880x2e229aa95c67baa6c08073f26ABA8E4083e98489
BridgedUSDC*0x4c6B046750F9aBF6F0f3B511217438451bc6Aa02❌ 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
SortedOracles0x88a187a876290e9843175027902b9f7f1b092c880x2e229aa95c67baa6c08073f26ABA8E4083e98489
BridgedUSDC*0x4c6B046750F9aBF6F0f3B511217438451bc6Aa02❌ Non-upgradable
BridgedEUROC*0x6f90ac394b1F45290d3023e4Ba0203005cAF2A4B❌ Non-upgradable
\*BridgedUSDC is a Mock ERC20 token that we use on testnets as a surrogate for the bridged USDC that will be used in pools Celo Mainnet. {% endtab %} @@ -43,17 +45,3 @@ You can use our [verification flow ](verification.md)to check the addresses listed above. -## Mento v1.0 - -### Celo Mainnet - -| Contract | Proxy Address | Implementation Address | -| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| [Reserve](https://github.com/mento-protocol/mento-core/blob/develop/contracts/Reserve.sol) | [0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb9](https://explorer.celo.org/mainnet/address/0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb9) | [0x907F37A0e9B003dF15500C025f7ACb496A726aA0](https://explorer.celo.org/mainnet/address/0x907F37A0e9B003dF15500C025f7ACb496A726aA0) | -| [SortedOracles](https://github.com/mento-protocol/mento-core/blob/develop/contracts/SortedOracles.sol) | [0xefB84935239dAcdecF7c5bA76d8dE40b077B7b33](https://explorer.celo.org/mainnet/address/0xefB84935239dAcdecF7c5bA76d8dE40b077B7b33) | [0xaf5D514bB94023C9Af979821F59A5Eecde0986EF](https://explorer.celo.org/mainnet/address/0xaf5D514bB94023C9Af979821F59A5Eecde0986EF) | -| [Exchange](https://github.com/mento-protocol/mento-core/blob/develop/contracts/Exchange.sol) | [0x67316300f17f063085Ca8bCa4bd3f7a5a3C66275](https://explorer.celo.org/mainnet/address/0x67316300f17f063085Ca8bCa4bd3f7a5a3C66275) | [0x9A470D789BCd392ae4c8f22DB8425b5eF139906C](https://explorer.celo.org/mainnet/address/0x9A470D789BCd392ae4c8f22DB8425b5eF139906C) | -| [ExchangeBRL](https://github.com/mento-protocol/mento-core/blob/develop/contracts/ExchangeBRL.sol) | [0x8f2cf9855C919AFAC8Bd2E7acEc0205ed568a4EA](https://explorer.celo.org/mainnet/address/0x8f2cf9855C919AFAC8Bd2E7acEc0205ed568a4EA) | [0x0d4a42B2fc30AfBF6b6e8f5CE49A659E38A2D112](https://explorer.celo.org/mainnet/address/0x0d4a42B2fc30AfBF6b6e8f5CE49A659E38A2D112) | -| [ExchangeEUR](https://github.com/mento-protocol/mento-core/blob/develop/contracts/ExchangeEUR.sol) | [0xE383394B913d7302c49F794C7d3243c429d53D1d](https://explorer.celo.org/mainnet/address/0xE383394B913d7302c49F794C7d3243c429d53D1d) | [0x32C2dcB7730eD6Fc1Eac0444a668F38Fd7B5dc8D](https://explorer.celo.org/mainnet/address/0x32C2dcB7730eD6Fc1Eac0444a668F38Fd7B5dc8D) | -| [StableToken](https://github.com/mento-protocol/mento-core/blob/develop/contracts/StableToken.sol) | [0x765DE816845861e75A25fCA122bb6898B8B1282a](https://explorer.celo.org/mainnet/address/0x765DE816845861e75A25fCA122bb6898B8B1282a) | [0x18E6BFDc909063F7445E410a5495264619495bCB](https://explorer.celo.org/mainnet/address/0x18E6BFDc909063F7445E410a5495264619495bCB) | -| [StableTokenBRL](https://github.com/mento-protocol/mento-core/blob/develop/contracts/StableTokenBRL.sol) | [0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787](https://explorer.celo.org/mainnet/address/0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787) | [0x5e72978225b5777298B28B7EA543bf0C5FEDDEc8](https://explorer.celo.org/mainnet/address/0x5e72978225b5777298B28B7EA543bf0C5FEDDEc8) | -| [StableTokenEUR](https://github.com/mento-protocol/mento-core/blob/develop/contracts/StableTokenEUR.sol) | [0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73](https://explorer.celo.org/mainnet/address/0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73) | [0x09933e89986FeA776C3Be3556dBF9BA23c240bB3](https://explorer.celo.org/mainnet/address/0x09933e89986FeA776C3Be3556dBF9BA23c240bB3) | diff --git a/developers/smart-contracts/README.md b/developers/smart-contracts/README.md index 5d8d0cc..72b904f 100644 --- a/developers/smart-contracts/README.md +++ b/developers/smart-contracts/README.md @@ -8,5 +8,5 @@ The contracts can be found in the [mento-protocol/mento-core](https://github.com Here you will find everything from an overview to a detailed technical reference. -

Mento Smart Contracts

+

Mento Smart Contracts

diff --git a/protocol-concepts/asset-exchanges/bipoolmanager.md b/protocol-concepts/asset-exchanges/bipoolmanager.md index 6095508..78674d7 100644 --- a/protocol-concepts/asset-exchanges/bipoolmanager.md +++ b/protocol-concepts/asset-exchanges/bipoolmanager.md @@ -4,7 +4,7 @@ description: Exchange provider with two-asset virtual automated market maker poo # BiPoolManager -The **BiPoolManager** is an [exchange provider ](exchange-providers.md)that generalizes the [vAMM](bipoolmanager.md#vamm) implementation in Mento v1's Exchanges. It manages asset pools containing a pair of Mento assets, which can be either stable-to-collateral or stable-to-stable. A pool can be configured to use either a constant sum or a constant product pricing function via [pricing modules.](bipoolmanager.md#pricing-modules) +The **BiPoolManager** is an [exchange provider ](exchange-providers.md)that generalizes the [vAMM](bipoolmanager.md#vamm) implementation previously used in Mento v1's Exchanges. It manages asset pools containing a pair of Mento assets, which can be either stable-to-collateral or stable-to-stable. A pool can be configured to use either a constant sum or a constant product pricing function via [pricing modules.](bipoolmanager.md#pricing-modules) ### vAMM diff --git a/protocol-concepts/asset-exchanges/trading-limits.md b/protocol-concepts/asset-exchanges/trading-limits.md index 144ed43..b9ce2a4 100644 --- a/protocol-concepts/asset-exchanges/trading-limits.md +++ b/protocol-concepts/asset-exchanges/trading-limits.md @@ -2,7 +2,7 @@ The Mento stability mechanism relies on the ability to contract and expand the supply of Mento stable assets by allowing everyone to exchange stable assets with the Reserve against collateral assets and the other way around. The rate of expansion and contraction (i.e. _volume that can be traded in a unit of time_) is highly dependent on the **volatility** and the **liquidity** of the collateral in the pair. For example, when trading cUSD for Celo with the Reserve, the amount that we can trade between two vAMM bucket updates has to be significantly lower than the amount we are able to trade when trading cUSD against USDC. This is done in order to protect against oracle manipulation risk, which is greatly reduced when trading cUSD against USDC. -In Mento V1 the vAMM bucket sizes have two distinct uses: (1) they enable price finding between oracle updates and (2) they act as an effective trading limit by introducing slippage. This works quite well but it makes it hard to fine-tune the slippage function. Introducing trading limits, allows us to use the bucket sizes only for price finding. This means we can increase the bucket sizes, thus reducing the average slippage between two oracle updates, while still limiting the amount that can be traded between two bucket updates. +In Mento V1 the vAMM bucket sizes had two distinct uses: (1) they enabled price finding between oracle updates and (2) they acted as an effective trading limit by introducing slippage. This worked quite well but made it hard to fine-tune the slippage function. Introducing trading limits, allows us to use the bucket sizes only for price finding. This means we can increase the bucket sizes, thus reducing the average slippage between two oracle updates, while still limiting the amount that can be traded between two bucket updates. In a broader sense, we can also apply the trading limits to safeguard the protocol by enforcing daily or global limits. Governance can configure trading limits on a specific combination of token and exchange – for example, a limit can be set on the amount of cUSD that flows in the cUSD/CELO exchange, while another limit can be set on the amount of cUSD that flows through the cUSD/USDC exchange. Each token and exchange combination can have two **time-based limits** (**L0** and **L1**) and one **global limit** (**LG**). diff --git a/protocol-concepts/governance/verification.md b/protocol-concepts/governance/verification.md index 288ccf5..091ce99 100644 --- a/protocol-concepts/governance/verification.md +++ b/protocol-concepts/governance/verification.md @@ -12,7 +12,7 @@ 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
USDC/USD0xA1A8003936862E7a15092A91898D69fa8bCE290caddress(uint160(uint256(keccak256("USDCUSD"))))
USDC/EUR0x206B25Ea01E188Ee243131aFdE526bA6E131a016address(uint160(uint256(keccak256("USDCEUR"))))
USDC/BRL0x25F21A1f97607Edf6852339fad709728cffb9a9daddress(uint160(uint256(keccak256("USDCBRL"))))
EUROC/EUR0x26076B9702885d475ac8c3dB3Bd9F250Dc5A318Baddress(uint160(uint256(keccak256("EUROCEUR"))))
+
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"))))
### Exchange IDs @@ -28,4 +28,4 @@ exchangeId = keccak256( ); ``` -
ExchangeIDExplanation
cUSD/CELO0x3135b662c38265d0655177091f1b647b4fef511103d06c016efdf18b46930d2ckeccak256(abi.encodePacked("cUSD", "CELO", "ConstantProduct"))
cEUR/CELO0xb73ffc6b5123de3c8e460490543ab93a3be7d70824f1666343df49e219199b8ckeccak256(abi.encodePacked("cEUR", "CELO", "ConstantProduct"))
cREAL/CELO0xed0528e42b9ecae538aab34b93813e08de03f8ac4a894b277ef193e67275bbaekeccak256(abi.encodePacked("cREAL", "CELO", "ConstantProduct"))
cUSD/USDC0x0d739efbfc30f303e8d1976c213b4040850d1af40f174f4169b846f6fd3d2f20keccak256(abi.encodePacked("cUSD", "axlUSDC", "ConstantSum"))
cEUR/USDC0xf418803158d881fda22694067bf6479476cec22ecfeeca2f6a65a6259bdbb9c0keccak256(abi.encodePacked("cEUR", "axlUSDC", "ConstantSum"))
cREAL/USDC0x40c8472edd23f2976b0503db2692e8f06f0eb52db690e84697cad36a6b44e2dfkeccak256(abi.encodePacked("cREAL", "axlUSDC", "ConstantSum"))
cEUR/EUROC0xfca6d94b46122eb9a4b86cf9d3e1e856fea8a826d0fc26c5baf17c43fbaf0f48keccak256(abi.encodePacked("cEUR", "axlEUROC", "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/USDC0x0d739efbfc30f303e8d1976c213b4040850d1af40f174f4169b846f6fd3d2f20keccak256(abi.encodePacked("cUSD", "axlUSDC", "ConstantSum"))
cEUR/USDC0xf418803158d881fda22694067bf6479476cec22ecfeeca2f6a65a6259bdbb9c0keccak256(abi.encodePacked("cEUR", "axlUSDC", "ConstantSum"))
cREAL/USDC0x40c8472edd23f2976b0503db2692e8f06f0eb52db690e84697cad36a6b44e2dfkeccak256(abi.encodePacked("cREAL", "axlUSDC", "ConstantSum"))
cEUR/EUROC0xfca6d94b46122eb9a4b86cf9d3e1e856fea8a826d0fc26c5baf17c43fbaf0f48keccak256(abi.encodePacked("cEUR", "axlEUROC", "ConstantSum"))
eXOF/EUROC0xcc68743c58a31c4ec3c56bca3d579409b4e2424e5f37e54a85f917b22af74e7ckeccak256(abi.encodePacked("eXOF", "axlEUROC", "ConstantSum"))
diff --git a/protocol-concepts/oracles.md b/protocol-concepts/oracles.md index 912e645..32ff945 100644 --- a/protocol-concepts/oracles.md +++ b/protocol-concepts/oracles.md @@ -10,4 +10,6 @@ Oracles usually consist of an off-chain client and one or multiple on-chain smar Oracles on Celo for Mento are an essential part of the stability mechanism. The protocol uses the reported rates to allow the exchange of Mento collateral with stable assets at correct market prices. For this, the oracles report one exchange rate, internally also referenced as rate feed, for each exchange pair. -

How the protocol uses oracles

+ + +

How the protocol uses oracles