diff --git a/packages/protocol/contracts/stability/ExchangeBRL.sol b/packages/protocol/contracts/stability/ExchangeBRL.sol new file mode 100644 index 00000000000..31cc4cc739e --- /dev/null +++ b/packages/protocol/contracts/stability/ExchangeBRL.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.5.13; + +import "./Exchange.sol"; + +contract ExchangeBRL is Exchange { + /** + * @notice Sets initialized == true on implementation contracts + * @param test Set to true to skip implementation initialization + */ + constructor(bool test) public Exchange(test) {} + + /** +* @notice Returns the storage, major, minor, and patch version of the contract. +* @dev This function is overloaded to maintain a distinct version from Exchange.sol. +* @return The storage, major, minor, and patch version of the contract. +*/ + function getVersionNumber() external pure returns (uint256, uint256, uint256, uint256) { + return (1, 1, 0, 0); + } +} diff --git a/packages/protocol/contracts/stability/StableTokenBRL.sol b/packages/protocol/contracts/stability/StableTokenBRL.sol new file mode 100644 index 00000000000..3f6adb6c0ad --- /dev/null +++ b/packages/protocol/contracts/stability/StableTokenBRL.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.5.13; + +import "./StableToken.sol"; + +contract StableTokenBRL is StableToken { + /** + * @notice Sets initialized == true on implementation contracts. + * @param test Set to true to skip implementation initialization. + */ + constructor(bool test) public StableToken(test) {} + + /** + * @notice Returns the storage, major, minor, and patch version of the contract. + * @dev This function is overloaded to maintain a distinct version from StableToken.sol. + * @return The storage, major, minor, and patch version of the contract. + */ + function getVersionNumber() external pure returns (uint256, uint256, uint256, uint256) { + return (1, 1, 0, 0); + } +} diff --git a/packages/protocol/contracts/stability/proxies/ExchangeBRLProxy.sol b/packages/protocol/contracts/stability/proxies/ExchangeBRLProxy.sol new file mode 100644 index 00000000000..2ca17219b50 --- /dev/null +++ b/packages/protocol/contracts/stability/proxies/ExchangeBRLProxy.sol @@ -0,0 +1,6 @@ +pragma solidity ^0.5.13; + +import "../../common/Proxy.sol"; + +/* solhint-disable no-empty-blocks */ +contract ExchangeBRLProxy is Proxy {} diff --git a/packages/protocol/contracts/stability/proxies/StableTokenBRLProxy.sol b/packages/protocol/contracts/stability/proxies/StableTokenBRLProxy.sol new file mode 100644 index 00000000000..11648bc686a --- /dev/null +++ b/packages/protocol/contracts/stability/proxies/StableTokenBRLProxy.sol @@ -0,0 +1,6 @@ +pragma solidity ^0.5.13; + +import "../../common/Proxy.sol"; + +/* solhint-disable no-empty-blocks */ +contract StableTokenBRLProxy is Proxy {} diff --git a/packages/protocol/migrationsConfig.js b/packages/protocol/migrationsConfig.js index f47a244be9c..7ef3dc4aebb 100644 --- a/packages/protocol/migrationsConfig.js +++ b/packages/protocol/migrationsConfig.js @@ -130,6 +130,10 @@ const DefaultConfig = { min: '40000000000000000000000', // 40,000 max: '40000000000000000000000000', // 40,000,000 }, + StableTokenBRL: { + min: '40000000000000000000000', // 40,000 + max: '40000000000000000000000000', // 40,000,000 + }, }, }, lockedGold: { @@ -192,6 +196,20 @@ const DefaultConfig = { oracles: [network.from], frozen: false, }, + stableTokenBRL: { + decimals: 18, + goldPrice: 2, + tokenName: 'Celo Real', + tokenSymbol: 'cBRL', + inflationRate: 1, + inflationPeriod: 1.5 * YEAR, + initialBalances: { + addresses: [network.from], + values: ['5000000000000000000000000'], + }, + oracles: [network.from], + frozen: false, + }, transferWhitelist: { addresses: [], registryIds: [], diff --git a/packages/protocol/releaseData/initializationData/release6.json b/packages/protocol/releaseData/initializationData/release6.json index 9e26dfeeb6e..a2d21ce7e94 100644 --- a/packages/protocol/releaseData/initializationData/release6.json +++ b/packages/protocol/releaseData/initializationData/release6.json @@ -1 +1,4 @@ -{} \ No newline at end of file +{ + "StableTokenBRL": ["Celo Real", "cBRL", 18, "0x000000000000000000000000000000000000ce10", "1000000000000000000000000", "47304000", ["0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972", "0x989e1a3B344A43911e02cCC609D469fbc15AB1F1"], ["2000000000000000000000000", "6000000000000000000000000"], "ExchangeBRL"], + "ExchangeBRL": ["0x000000000000000000000000000000000000ce10", "0x0000000000000000000000000000000000000000", "5000000000000000000000", "1300000000000000000000", "300", "5"] +}