From 7e13f15cdb79daa65566f50c064b8ad3abec7bf4 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Fri, 22 Jan 2021 20:30:42 +0000 Subject: [PATCH 01/10] Initial commit - add all u8d logic --- .github/CODEOWNERS | 1 - README.md | 44 +- "d\303\270llar.pdf" | Bin 312994 -> 0 bytes icon/u8d.png | Bin 0 -> 135163 bytes protocol/abi/Deployer1.json | 1 - protocol/abi/Deployer2.json | 1 - protocol/abi/Deployer3.json | 1 - protocol/abi/Dollar.json | 1 - protocol/abi/Implementation.json | 1 - protocol/abi/Pool.json | 1 - protocol/abi/Root.json | 1 - protocol/contracts/Constants.sol | 144 ++--- protocol/contracts/dao/Bonding.sol | 124 ++++- protocol/contracts/dao/Comptroller.sol | 11 +- protocol/contracts/dao/Curve.sol | 2 +- protocol/contracts/dao/Getters.sol | 84 +-- protocol/contracts/dao/Govern.sol | 4 +- protocol/contracts/dao/Implementation.sol | 24 +- protocol/contracts/dao/Market.sol | 89 +-- protocol/contracts/dao/Permission.sol | 17 +- protocol/contracts/dao/Regulator.sol | 21 +- protocol/contracts/dao/Root.sol | 2 +- protocol/contracts/dao/Setters.sol | 24 +- protocol/contracts/dao/State.sol | 35 +- protocol/contracts/dao/Upgradeable.sol | 2 +- protocol/contracts/deployment/Deployer.sol | 88 +++ protocol/contracts/external/Decimal.sol | 2 +- .../contracts/external/UniswapV2Library.sol | 10 + protocol/contracts/mock/MockBonding.sol | 2 +- protocol/contracts/mock/MockComptroller.sol | 6 +- protocol/contracts/mock/MockCurve.sol | 2 +- protocol/contracts/mock/MockGovern.sol | 2 +- protocol/contracts/mock/MockImplA.sol | 2 +- protocol/contracts/mock/MockImplB.sol | 2 +- protocol/contracts/mock/MockMarket.sol | 12 +- protocol/contracts/mock/MockOracle.sol | 2 +- protocol/contracts/mock/MockPool.sol | 5 +- protocol/contracts/mock/MockPoolState.sol | 8 +- protocol/contracts/mock/MockRegulator.sol | 2 +- protocol/contracts/mock/MockSettableDAO.sol | 2 +- .../contracts/mock/MockSettableOracle.sol | 2 +- protocol/contracts/mock/MockState.sol | 20 +- protocol/contracts/mock/MockToken.sol | 2 +- protocol/contracts/mock/MockUSDC.sol | 2 +- .../mock/MockUniswapV2PairLiquidity.sol | 2 +- .../contracts/mock/MockUniswapV2PairTrade.sol | 2 +- protocol/contracts/mock/MockUpgradeable.sol | 2 +- protocol/contracts/mock/TestnetUSDC.sol | 2 +- protocol/contracts/oracle/IDAO.sol | 3 +- protocol/contracts/oracle/IOracle.sol | 2 +- protocol/contracts/oracle/IPool.sol | 21 + protocol/contracts/oracle/IUSDC.sol | 2 +- protocol/contracts/oracle/Liquidity.sol | 32 +- protocol/contracts/oracle/Oracle.sol | 2 +- protocol/contracts/oracle/Pool.sol | 245 ++++++-- protocol/contracts/oracle/PoolGetters.sol | 108 +++- protocol/contracts/oracle/PoolSetters.sol | 9 +- protocol/contracts/oracle/PoolState.sol | 21 +- protocol/contracts/oracle/PoolUpgradable.sol | 68 +++ protocol/contracts/streaming/Stream.sol | 28 + .../contracts/streaming/StreamingGetters.sol | 86 +++ .../contracts/streaming/StreamingSetters.sol | 49 ++ protocol/contracts/token/Dollar.sol | 4 +- protocol/contracts/token/IDollar.sol | 2 +- protocol/contracts/token/Permittable.sol | 2 +- protocol/migrations/2_deploy.js | 40 +- protocol/package-lock.json | 524 ++++++++++++------ protocol/package.json | 6 +- protocol/test/dao/Bonding.test.js | 2 +- protocol/test/dao/Comptroller.test.js | 40 +- protocol/test/dao/Govern.test.js | 8 +- protocol/test/dao/Market.test.js | 414 ++------------ protocol/test/dao/Regulator.test.js | 177 ++---- protocol/test/dao/State.test.js | 94 +--- protocol/test/oracle/Oracle.test.js | 4 +- protocol/test/oracle/Pool.test.js | 6 +- protocol/test/oracle/PoolState.test.js | 2 +- protocol/test/token/Dollar.test.js | 2 +- protocol/truffle.js | 38 +- 79 files changed, 1625 insertions(+), 1232 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 "d\303\270llar.pdf" create mode 100644 icon/u8d.png delete mode 100644 protocol/abi/Deployer1.json delete mode 100644 protocol/abi/Deployer2.json delete mode 100644 protocol/abi/Deployer3.json delete mode 100644 protocol/abi/Dollar.json delete mode 100644 protocol/abi/Implementation.json delete mode 100644 protocol/abi/Pool.json delete mode 100644 protocol/abi/Root.json create mode 100644 protocol/contracts/deployment/Deployer.sol create mode 100644 protocol/contracts/oracle/IPool.sol create mode 100644 protocol/contracts/oracle/PoolUpgradable.sol create mode 100644 protocol/contracts/streaming/Stream.sol create mode 100644 protocol/contracts/streaming/StreamingGetters.sol create mode 100644 protocol/contracts/streaming/StreamingSetters.sol diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 94529b88..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @emptysetsquad diff --git a/README.md b/README.md index 661af2a3..0eec1b4a 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,39 @@ -# døllar -fully decentralized self-stabilizing dollar. +# Universal Dollar ## stablecoin -- shorthand name: `døllar` -- full name: `Empty Set Dollar` -- symbol: `ESD` +- full name: `Universal Dollar` +- symbol: `U8D` - decimals: `18` -- character: `∅ [U+2205], ∅100` -- icons: +- icon: -![mfGW7wXg_400x400](https://raw.githubusercontent.com/emptysetsquad/dollar-dashboard/master/public/logo/esd_logo_circle.png) -![mfGW7wXg_400x400](https://raw.githubusercontent.com/emptysetsquad/dollar-dashboard/master/public/logo/esd_logo_square.png) - -## dashboard - -simple [dashboard](https://github.com/emptysetsquad/dollar-dashboard) for interacting with the døllar protocol. - -## whitepaper - -is available [here](https://github.com/emptysetsquad/dollar/blob/master/d%C3%B8llar.pdf). +![U8D Logo](./icon/u8d.png) ## contracts ### mainnet -- `0x443D2f2755DB5942601fa062Cc248aAA153313D3` **DAO** -- `0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723` **Døllar** -- `0xea9f8bb8B5e8BA3D38628f0E18Ee82300eddBa0E` **Oracle** -- `0x88ff79eB2Bc5850F27315415da8685282C7610F9` **UniswapV2 USDC:ESD Pair** -- `0x4082d11e506e3250009a991061acd2176077c88f` **LP Incentivation Pool** +- `0x2137fFbbB279218E1a61d4483DeD9C9a017e9257` **DAO (U8DS)** +- `0x888888877A18532b78d259577d00057054C50Dd8` **U8D** +- `0x8cb7c5422672F5432363C628358A5e7eA6938DC2` **Oracle** +- `0x78c54b20CC4C2db6E7A9758aE16579D866BA6FFD` **UniswapV2 USDC:U8D Pair** +- `0x111eB123d0CEeEa59A3736ae1767F9E756bE8160` **LP Incentivation Pool** ## audit -is available [here](https://github.com/emptysetsquad/dollar/blob/master/audit/REP-Dollar-06-11-20.pdf). +is available [here](audit/REP-Dollar-06-11-20.pdf). + +## u8d links + +- [Website](https://u8d.finance) +- [Github](https://github.com/8quad) +- [Twitter](https://twitter.com/u_8_d) +- [Telegram](https://t.me/UniversalDollar) +- [Discord](https://discord.gg/3uTPBqkyvc) ## disclaimer this project is an experiment - the protocol is audited, and we've put a significant amount of work into testing as well as generally de-risking the design of its core mechanism, however participants should take great caution as bugs resulting in loss of funds are always a possibility. ``` -Copyright 2020 Empty Set Squad +Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use the included code except in compliance with the License. diff --git "a/d\303\270llar.pdf" "b/d\303\270llar.pdf" deleted file mode 100644 index ff0367b569b8f9c6247395911c063b25c6f6dba3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312994 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 z 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 Gwy!~TOH)(Fq!;0DGXm`I!g6nxJ^ac;s=Vy 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 KR8&q3>VE;g&TY8> diff --git a/icon/u8d.png b/icon/u8d.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6f2d1069bb0b03738c1a56a147c093cd0e4b7f GIT binary patch literal 135163 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

9AZN8S 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[%Gma=ZvbEemwuu|B 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≥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 N002ovPDHLkV1nYFU9$iH literal 0 HcmV?d00001 diff --git a/protocol/abi/Deployer1.json b/protocol/abi/Deployer1.json deleted file mode 100644 index 761addf9..00000000 --- a/protocol/abi/Deployer1.json +++ /dev/null @@ -1 +0,0 @@ -[{"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "implementation", "type": "address"}], "name": "Upgraded", "type": "event"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowanceCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "approveFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "balanceOfCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "bootstrappingAt", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "couponsExpiration", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "decimals", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "dollar", "outputs": [{"internalType": "contract IDollar", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epoch", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochPeriod", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochStart", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochTime", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "expiringCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "i", "type": "uint256"}], "name": "expiringCouponsAtIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "implementation", "outputs": [{"internalType": "address", "name": "impl", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isNominated", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "oracle", "outputs": [{"internalType": "contract IOracle", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "outstandingCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "periodFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "pool", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "address", "name": "candidate", "type": "address"}], "name": "recordedVote", "outputs": [{"internalType": "enum Candidate.Vote", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "rejectFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "startFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "statusOf", "outputs": [{"internalType": "enum Account.Status", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "totalBondedAt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalDebt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalNet", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalRedeemable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferFrom", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "votesFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "implementation", "type": "address"}], "name": "implement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Deployer2.json b/protocol/abi/Deployer2.json deleted file mode 100644 index 761addf9..00000000 --- a/protocol/abi/Deployer2.json +++ /dev/null @@ -1 +0,0 @@ -[{"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "implementation", "type": "address"}], "name": "Upgraded", "type": "event"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowanceCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "approveFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "balanceOfCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "bootstrappingAt", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "couponsExpiration", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "decimals", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "dollar", "outputs": [{"internalType": "contract IDollar", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epoch", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochPeriod", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochStart", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochTime", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "expiringCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "i", "type": "uint256"}], "name": "expiringCouponsAtIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "implementation", "outputs": [{"internalType": "address", "name": "impl", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isNominated", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "oracle", "outputs": [{"internalType": "contract IOracle", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "outstandingCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "periodFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "pool", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "address", "name": "candidate", "type": "address"}], "name": "recordedVote", "outputs": [{"internalType": "enum Candidate.Vote", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "rejectFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "startFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "statusOf", "outputs": [{"internalType": "enum Account.Status", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "totalBondedAt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalDebt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalNet", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalRedeemable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferFrom", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "votesFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "implementation", "type": "address"}], "name": "implement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Deployer3.json b/protocol/abi/Deployer3.json deleted file mode 100644 index 761addf9..00000000 --- a/protocol/abi/Deployer3.json +++ /dev/null @@ -1 +0,0 @@ -[{"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "implementation", "type": "address"}], "name": "Upgraded", "type": "event"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowanceCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "approveFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "balanceOfCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "bootstrappingAt", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "couponsExpiration", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "decimals", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "dollar", "outputs": [{"internalType": "contract IDollar", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epoch", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochPeriod", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochStart", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochTime", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "expiringCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "i", "type": "uint256"}], "name": "expiringCouponsAtIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "implementation", "outputs": [{"internalType": "address", "name": "impl", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isNominated", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "oracle", "outputs": [{"internalType": "contract IOracle", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "outstandingCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "periodFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "pool", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "address", "name": "candidate", "type": "address"}], "name": "recordedVote", "outputs": [{"internalType": "enum Candidate.Vote", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "rejectFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "startFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "statusOf", "outputs": [{"internalType": "enum Account.Status", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "totalBondedAt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalDebt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalNet", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalRedeemable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferFrom", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "votesFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "implementation", "type": "address"}], "name": "implement", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Dollar.json b/protocol/abi/Dollar.json deleted file mode 100644 index 4095a270..00000000 --- a/protocol/abi/Dollar.json +++ /dev/null @@ -1 +0,0 @@ -[{"inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "spender", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Approval", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}], "name": "MinterAdded", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}], "name": "MinterRemoved", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "from", "type": "address"}, {"indexed": true, "internalType": "address", "name": "to", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Transfer", "type": "event"}, {"constant": true, "inputs": [], "name": "EIP712_DOMAIN_SEPARATOR", "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "EIP712_PERMIT_TYPEHASH", "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "addMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "burnFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [], "name": "decimals", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "subtractedValue", "type": "uint256"}], "name": "decreaseAllowance", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "addedValue", "type": "uint256"}], "name": "increaseAllowance", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "isMinter", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "value", "type": "uint256"}, {"internalType": "uint256", "name": "deadline", "type": "uint256"}, {"internalType": "uint8", "name": "v", "type": "uint8"}, {"internalType": "bytes32", "name": "r", "type": "bytes32"}, {"internalType": "bytes32", "name": "s", "type": "bytes32"}], "name": "permit", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [], "name": "renounceMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "mint", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferFrom", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Implementation.json b/protocol/abi/Implementation.json deleted file mode 100644 index 891b2acf..00000000 --- a/protocol/abi/Implementation.json +++ /dev/null @@ -1 +0,0 @@ -[{"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "block", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256"}], "name": "Advance", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "start", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "valueUnderlying", "type": "uint256"}], "name": "Bond", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": true, "internalType": "address", "name": "candidate", "type": "address"}], "name": "Commit", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "spender", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "CouponApproval", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "couponsExpired", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "lessRedeemable", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "lessDebt", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newBonded", "type": "uint256"}], "name": "CouponExpiration", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "dollarAmount", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "couponAmount", "type": "uint256"}], "name": "CouponPurchase", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "couponAmount", "type": "uint256"}], "name": "CouponRedemption", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "from", "type": "address"}, {"indexed": true, "internalType": "address", "name": "to", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "CouponTransfer", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Deposit", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "Incentivization", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "candidate", "type": "address"}, {"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "start", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "period", "type": "uint256"}], "name": "Proposal", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "price", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newDebt", "type": "uint256"}], "name": "SupplyDecrease", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "price", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newRedeemable", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "lessDebt", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newBonded", "type": "uint256"}], "name": "SupplyIncrease", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "SupplyNeutral", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "start", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "valueUnderlying", "type": "uint256"}], "name": "Unbond", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "implementation", "type": "address"}], "name": "Upgraded", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": true, "internalType": "address", "name": "candidate", "type": "address"}, {"indexed": false, "internalType": "enum Candidate.Vote", "name": "vote", "type": "uint8"}, {"indexed": false, "internalType": "uint256", "name": "bonded", "type": "uint256"}], "name": "Vote", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Withdraw", "type": "event"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "spender", "type": "address"}], "name": "allowanceCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "spender", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "approveCoupons", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "approveFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "balanceOfCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "bond", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "bootstrappingAt", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "commit", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "couponPremium", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "couponsExpiration", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "decimals", "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "deposit", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [], "name": "dollar", "outputs": [{"internalType": "contract IDollar", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epoch", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochPeriod", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochStart", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "epochTime", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "expiringCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "i", "type": "uint256"}], "name": "expiringCouponsAtIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "implementation", "outputs": [{"internalType": "address", "name": "impl", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "isNominated", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "oracle", "outputs": [{"internalType": "contract IOracle", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "outstandingCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "periodFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "pool", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "dollarAmount", "type": "uint256"}], "name": "purchaseCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}, {"internalType": "address", "name": "candidate", "type": "address"}], "name": "recordedVote", "outputs": [{"internalType": "enum Candidate.Vote", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "couponAmount", "type": "uint256"}], "name": "redeemCoupons", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "rejectFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "startFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "statusOf", "outputs": [{"internalType": "enum Account.Status", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "uint256", "name": "epoch", "type": "uint256"}], "name": "totalBondedAt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalCoupons", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalDebt", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalNet", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalRedeemable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "epoch", "type": "uint256"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferCoupons", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "sender", "type": "address"}, {"internalType": "address", "name": "recipient", "type": "address"}, {"internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "transferFrom", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "unbond", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "unbondUnderlying", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}, {"internalType": "enum Candidate.Vote", "name": "vote", "type": "uint8"}], "name": "vote", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "candidate", "type": "address"}], "name": "votesFor", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "withdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [], "name": "advance", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Pool.json b/protocol/abi/Pool.json deleted file mode 100644 index 14b1f3b7..00000000 --- a/protocol/abi/Pool.json +++ /dev/null @@ -1 +0,0 @@ -[{"inputs": [{"internalType": "address", "name": "dollar", "type": "address"}, {"internalType": "address", "name": "univ2", "type": "address"}], "payable": false, "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "start", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Bond", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Claim", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Deposit", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "lessUsdc", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newUniv2", "type": "uint256"}], "name": "Provide", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "start", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}, {"indexed": false, "internalType": "uint256", "name": "newClaimable", "type": "uint256"}], "name": "Unbond", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "account", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "value", "type": "uint256"}], "name": "Withdraw", "type": "event"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfClaimable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfPhantom", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfRewarded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "balanceOfStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "dao", "outputs": [{"internalType": "contract IDAO", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "dollar", "outputs": [{"internalType": "contract IDollar", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [{"internalType": "address", "name": "account", "type": "address"}], "name": "statusOf", "outputs": [{"internalType": "enum PoolAccount.Status", "name": "", "type": "uint8"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalBonded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalClaimable", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalPhantom", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalRewarded", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "totalStaged", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": true, "inputs": [], "name": "univ2", "outputs": [{"internalType": "contract IERC20", "name": "", "type": "address"}], "payable": false, "stateMutability": "view", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "deposit", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "withdraw", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "claim", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "bond", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "unbond", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"constant": false, "inputs": [{"internalType": "uint256", "name": "value", "type": "uint256"}], "name": "provide", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function"}] \ No newline at end of file diff --git a/protocol/abi/Root.json b/protocol/abi/Root.json deleted file mode 100644 index ffc59ec9..00000000 --- a/protocol/abi/Root.json +++ /dev/null @@ -1 +0,0 @@ -[{"inputs": [{"internalType": "address", "name": "implementation", "type": "address"}], "payable": false, "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "implementation", "type": "address"}], "name": "Upgraded", "type": "event"}, {"payable": true, "stateMutability": "payable", "type": "fallback"}] \ No newline at end of file diff --git a/protocol/contracts/Constants.sol b/protocol/contracts/Constants.sol index 26ef83a4..503960fc 100644 --- a/protocol/contracts/Constants.sol +++ b/protocol/contracts/Constants.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -24,16 +24,15 @@ library Constants { uint256 private constant CHAIN_ID = 1; // Mainnet /* Bootstrapping */ - uint256 private constant BOOTSTRAPPING_PERIOD = 90; - uint256 private constant BOOTSTRAPPING_PRICE = 11e17; // 1.10 USDC - uint256 private constant BOOTSTRAPPING_SPEEDUP_FACTOR = 3; // 30 days @ 8 hours + uint256 private constant BOOTSTRAPPING_PERIOD = 240; // 10 days with 1h per epoch + uint256 private constant BOOTSTRAPPING_PRICE = 148e16; // 1.48 USDC /* Oracle */ address private constant USDC = address(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); uint256 private constant ORACLE_RESERVE_MINIMUM = 1e10; // 10,000 USDC /* Bonding */ - uint256 private constant INITIAL_STAKE_MULTIPLE = 1e6; // 100 ESD -> 100M ESDS + uint256 private constant INITIAL_STAKE_MULTIPLE = 1e6; // 100 U8D -> 100M U8DS /* Epoch */ struct EpochStrategy { @@ -42,45 +41,48 @@ library Constants { uint256 period; } - uint256 private constant PREVIOUS_EPOCH_OFFSET = 91; - uint256 private constant PREVIOUS_EPOCH_START = 1600905600; - uint256 private constant PREVIOUS_EPOCH_PERIOD = 86400; - - uint256 private constant CURRENT_EPOCH_OFFSET = 106; - uint256 private constant CURRENT_EPOCH_START = 1602201600; - uint256 private constant CURRENT_EPOCH_PERIOD = 28800; + uint256 private constant EPOCH_OFFSET = 0; + uint256 private constant EPOCH_START = 1611360000; // 01/23/2021 @ 12:00am (UTC) + uint256 private constant EPOCH_PERIOD = 1 hours; /* Governance */ - uint256 private constant GOVERNANCE_PERIOD = 9; // 9 epochs - uint256 private constant GOVERNANCE_EXPIRATION = 2; // 2 + 1 epochs + uint256 private constant GOVERNANCE_PERIOD = 48; // 48 epochs + uint256 private constant GOVERNANCE_EXPIRATION = 16; // 16 + 1 epochs uint256 private constant GOVERNANCE_QUORUM = 20e16; // 20% - uint256 private constant GOVERNANCE_PROPOSAL_THRESHOLD = 5e15; // 0.5% - uint256 private constant GOVERNANCE_SUPER_MAJORITY = 40e16; // 40% - uint256 private constant GOVERNANCE_EMERGENCY_DELAY = 6; // 6 epochs + uint256 private constant GOVERNANCE_PROPOSAL_THRESHOLD = 1e16; // 1% + uint256 private constant GOVERNANCE_SUPER_MAJORITY = 66e16; // 66% + uint256 private constant GOVERNANCE_EMERGENCY_DELAY = 12; // 12 epochs /* DAO */ - uint256 private constant ADVANCE_INCENTIVE = 1e21; // 1000 ESD - uint256 private constant DAO_EXIT_LOCKUP_EPOCHS = 15; // 15 epochs fluid + uint256 private constant ADVANCE_INCENTIVE = 50e18; // 50 U8D + uint256 private constant DAO_EXIT_STREAM_PERIOD = 72 hours; // 3 days of DAO streaming + + uint256 private constant DAO_EXIT_MAX_BOOST = uint256(-1); // infinity - without max boost + uint256 private constant DAO_EXIT_BOOST_COEFFICIENT = 200e16; // 200% (x2) – DAO boosting coefficient for fast streaming + uint256 private constant DAO_EXIT_BOOST_PENALTY = 25e16; // 25% – penalty for DAO stream boosting /* Pool */ - uint256 private constant POOL_EXIT_LOCKUP_EPOCHS = 5; // 5 epochs fluid + uint256 private constant POOL_LP_EXIT_STREAM_PERIOD = 36 hours; // 1.5 days of Pool LP streaming + uint256 private constant POOL_REWARD_EXIT_STREAM_PERIOD = 36 hours; // 1.5 days of Pool Reward streaming + + uint256 private constant POOL_EXIT_MAX_BOOST = uint256(-1); // infinity - without max boost + uint256 private constant POOL_EXIT_BOOST_COEFFICIENT = 200e16; // 200% (x2) – Pool boosting coefficient for fast streaming + uint256 private constant POOL_EXIT_BOOST_PENALTY = 25e16; // 25% – penalty for Pool stream boosting /* Market */ - uint256 private constant COUPON_EXPIRATION = 90; + uint256 private constant COUPON_EXPIRATION = 720; uint256 private constant DEBT_RATIO_CAP = 20e16; // 20% - uint256 private constant COUPON_PRORATED_START = 420; // epoch 420 /* Regulator */ uint256 private constant SUPPLY_CHANGE_LIMIT = 3e16; // 3% + uint256 private constant SUPPLY_CHANGE_DIVISOR = 24e18; // 24 uint256 private constant COUPON_SUPPLY_CHANGE_LIMIT = 6e16; // 6% - uint256 private constant ORACLE_POOL_RATIO = 20; // 20% - uint256 private constant TREASURY_RATIO = 250; // 2.5% + uint256 private constant NEGATIVE_SUPPLY_CHANGE_DIVISOR = 12e18; // 12 + uint256 private constant ORACLE_POOL_RATIO = 30; // 30% + uint256 private constant TREASURY_RATIO = 0; // 0% - /* Deployed */ - address private constant DAO_ADDRESS = address(0x443D2f2755DB5942601fa062Cc248aAA153313D3); - address private constant DOLLAR_ADDRESS = address(0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723); - address private constant PAIR_ADDRESS = address(0x88ff79eB2Bc5850F27315415da8685282C7610F9); - address private constant TREASURY_ADDRESS = address(0x460661bd4A5364A3ABCc9cfc4a8cE7038d05Ea22); + /* Not used */ + address private constant TREASURY_ADDRESS = address(0); // no treasury address /** * Getters @@ -94,19 +96,11 @@ library Constants { return ORACLE_RESERVE_MINIMUM; } - function getPreviousEpochStrategy() internal pure returns (EpochStrategy memory) { - return EpochStrategy({ - offset: PREVIOUS_EPOCH_OFFSET, - start: PREVIOUS_EPOCH_START, - period: PREVIOUS_EPOCH_PERIOD - }); - } - - function getCurrentEpochStrategy() internal pure returns (EpochStrategy memory) { + function getEpochStrategy() internal pure returns (EpochStrategy memory) { return EpochStrategy({ - offset: CURRENT_EPOCH_OFFSET, - start: CURRENT_EPOCH_START, - period: CURRENT_EPOCH_PERIOD + offset: EPOCH_OFFSET, + start: EPOCH_START, + period: EPOCH_PERIOD }); } @@ -122,10 +116,6 @@ library Constants { return Decimal.D256({value: BOOTSTRAPPING_PRICE}); } - function getBootstrappingSpeedupFactor() internal pure returns (uint256) { - return BOOTSTRAPPING_SPEEDUP_FACTOR; - } - function getGovernancePeriod() internal pure returns (uint256) { return GOVERNANCE_PERIOD; } @@ -154,12 +144,44 @@ library Constants { return ADVANCE_INCENTIVE; } - function getDAOExitLockupEpochs() internal pure returns (uint256) { - return DAO_EXIT_LOCKUP_EPOCHS; + /* DAO */ + + function getDAOExitStreamPeriod() internal pure returns (uint256) { + return DAO_EXIT_STREAM_PERIOD; + } + + function getDAOExitMaxBoost() internal pure returns (uint256) { + return DAO_EXIT_MAX_BOOST; + } + + function getDAOExitBoostCoefficient() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: DAO_EXIT_BOOST_COEFFICIENT}); } - function getPoolExitLockupEpochs() internal pure returns (uint256) { - return POOL_EXIT_LOCKUP_EPOCHS; + function getDAOExitBoostPenalty() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: DAO_EXIT_BOOST_PENALTY}); + } + + /* Pool */ + + function getPoolLpExitStreamPeriod() internal pure returns (uint256) { + return POOL_LP_EXIT_STREAM_PERIOD; + } + + function getPoolRewardExitStreamPeriod() internal pure returns (uint256) { + return POOL_REWARD_EXIT_STREAM_PERIOD; + } + + function getPoolExitMaxBoost() internal pure returns (uint256) { + return POOL_EXIT_MAX_BOOST; + } + + function getPoolExitBoostCoefficient() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: POOL_EXIT_BOOST_COEFFICIENT}); + } + + function getPoolExitBoostPenalty() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: POOL_EXIT_BOOST_PENALTY}); } function getCouponExpiration() internal pure returns (uint256) { @@ -170,18 +192,22 @@ library Constants { return Decimal.D256({value: DEBT_RATIO_CAP}); } - function getCouponProratedStart() internal pure returns (uint256) { - return COUPON_PRORATED_START; - } - function getSupplyChangeLimit() internal pure returns (Decimal.D256 memory) { return Decimal.D256({value: SUPPLY_CHANGE_LIMIT}); } + function getSupplyChangeDivisor() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: SUPPLY_CHANGE_DIVISOR}); + } + function getCouponSupplyChangeLimit() internal pure returns (Decimal.D256 memory) { return Decimal.D256({value: COUPON_SUPPLY_CHANGE_LIMIT}); } + function getNegativeSupplyChangeDivisor() internal pure returns (Decimal.D256 memory) { + return Decimal.D256({value: NEGATIVE_SUPPLY_CHANGE_DIVISOR}); + } + function getOraclePoolRatio() internal pure returns (uint256) { return ORACLE_POOL_RATIO; } @@ -194,18 +220,6 @@ library Constants { return CHAIN_ID; } - function getDaoAddress() internal pure returns (address) { - return DAO_ADDRESS; - } - - function getDollarAddress() internal pure returns (address) { - return DOLLAR_ADDRESS; - } - - function getPairAddress() internal pure returns (address) { - return PAIR_ADDRESS; - } - function getTreasuryAddress() internal pure returns (address) { return TREASURY_ADDRESS; } diff --git a/protocol/contracts/dao/Bonding.sol b/protocol/contracts/dao/Bonding.sol index e154741c..45bafa0b 100644 --- a/protocol/contracts/dao/Bonding.sol +++ b/protocol/contracts/dao/Bonding.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,9 +29,15 @@ contract Bonding is Setters, Permission { bytes32 private constant FILE = "Bonding"; event Deposit(address indexed account, uint256 value); - event Withdraw(address indexed account, uint256 value); - event Bond(address indexed account, uint256 start, uint256 value, uint256 valueUnderlying); - event Unbond(address indexed account, uint256 start, uint256 value, uint256 valueUnderlying); + event Release(address indexed account, uint256 value); + event Bond(address indexed account, uint256 value, uint256 valueUnderlying); + event Unbond(address indexed account, uint256 value, uint256 valueUnderlying); + + // Streaming + event StreamStart(address indexed account, uint256 value, uint256 streamedUntil); + event StreamCancel(address indexed account, uint256 valueToStaged); + event StreamBoost(address indexed account, uint256 penalty); + event UnstreamToStaged(address indexed account, uint256 value); function step() internal { Require.that( @@ -44,22 +50,106 @@ contract Bonding is Setters, Permission { incrementEpoch(); } - function deposit(uint256 value) external onlyFrozenOrLocked(msg.sender) { + function deposit(uint256 value) public { dollar().transferFrom(msg.sender, address(this), value); incrementBalanceOfStaged(msg.sender, value); emit Deposit(msg.sender, value); } - function withdraw(uint256 value) external onlyFrozenOrLocked(msg.sender) { - dollar().transfer(msg.sender, value); + // ** NEW LOGIC ** + + function depositAndBond(uint256 value) external { + deposit(value); + bond(value); + } + + function startStream(uint256 value) external { + require(value > 0, "Bonding: must stream non-zero amount"); + + cancelStream(); decrementBalanceOfStaged(msg.sender, value, "Bonding: insufficient staged balance"); + setStream(stream(msg.sender), value, Constants.getDAOExitStreamPeriod()); + + emit StreamStart(msg.sender, value, streamedUntil(msg.sender)); + } + + function cancelStream() public { + // already canceled or not exist + if (streamReserved(msg.sender) == 0) { + return; + } + + release(); + uint256 amountToStaged = unreleasedAmount(msg.sender); + incrementBalanceOfStaged(msg.sender, amountToStaged); + resetStream(stream(msg.sender)); + + emit StreamCancel(msg.sender, amountToStaged); + } + + // Virtual – overridable for the distribution of penalty + function boostStream() public returns (uint256) { + require(streamBoosted(msg.sender) < Constants.getDAOExitMaxBoost(), "Bonding: max boost reached"); + + release(); + + uint256 unreleased = unreleasedAmount(msg.sender); + uint256 penalty = Decimal.from(unreleased) + .mul(Constants.getDAOExitBoostPenalty()) + .asUint256(); + uint256 timeleft = Decimal.from(streamedUntil(msg.sender).sub(blockTimestamp())) + .div(Constants.getDAOExitBoostCoefficient()) + .asUint256(); - emit Withdraw(msg.sender, value); + setStream( + stream(msg.sender), + unreleased.sub(penalty), + timeleft + ); + incrementBoostCounter(stream(msg.sender)); + + dollar().burn(penalty); + + emit StreamBoost(msg.sender, penalty); + + return penalty; + } + + function release() public { + uint256 unreleased = releasableAmount(msg.sender); + + if (unreleased == 0) { + return; + } + + incrementReleased(stream(msg.sender), unreleased); + dollar().transfer(msg.sender, unreleased); + + emit Release(msg.sender, unreleased); } - function bond(uint256 value) external onlyFrozenOrFluid(msg.sender) { - unfreeze(msg.sender); + // ** END NEW LOGIC ** + + function bond(uint256 value) public onlyUnlocked(msg.sender) { + // partially unstream and bond + uint256 staged = balanceOfStaged(msg.sender); + if (value > staged) { + release(); + + uint256 amountToUnstream = value.sub(staged); + uint256 newReserved = unreleasedAmount(msg.sender).sub(amountToUnstream, "Bonding: insufficient balance"); + if (newReserved > 0) { + setStream( + stream(msg.sender), + newReserved, + streamTimeleft(msg.sender) + ); + incrementBalanceOfStaged(msg.sender, amountToUnstream); + + emit UnstreamToStaged(msg.sender, amountToUnstream); + } + } uint256 balance = totalBonded() == 0 ? value.mul(Constants.getInitialStakeMultiple()) : @@ -68,28 +158,24 @@ contract Bonding is Setters, Permission { incrementTotalBonded(value); decrementBalanceOfStaged(msg.sender, value, "Bonding: insufficient staged balance"); - emit Bond(msg.sender, epoch().add(1), balance, value); + emit Bond(msg.sender, balance, value); } - function unbond(uint256 value) external onlyFrozenOrFluid(msg.sender) { - unfreeze(msg.sender); - + function unbond(uint256 value) external onlyUnlocked(msg.sender) { uint256 staged = value.mul(balanceOfBonded(msg.sender)).div(balanceOf(msg.sender)); incrementBalanceOfStaged(msg.sender, staged); decrementTotalBonded(staged, "Bonding: insufficient total bonded"); decrementBalanceOf(msg.sender, value, "Bonding: insufficient balance"); - emit Unbond(msg.sender, epoch().add(1), value, staged); + emit Unbond(msg.sender, value, staged); } - function unbondUnderlying(uint256 value) external onlyFrozenOrFluid(msg.sender) { - unfreeze(msg.sender); - + function unbondUnderlying(uint256 value) external onlyUnlocked(msg.sender) { uint256 balance = value.mul(totalSupply()).div(totalBonded()); incrementBalanceOfStaged(msg.sender, value); decrementTotalBonded(value, "Bonding: insufficient total bonded"); decrementBalanceOf(msg.sender, balance, "Bonding: insufficient balance"); - emit Unbond(msg.sender, epoch().add(1), balance, value); + emit Unbond(msg.sender, balance, value); } } diff --git a/protocol/contracts/dao/Comptroller.sol b/protocol/contracts/dao/Comptroller.sol index 27899ccb..f6a05df6 100644 --- a/protocol/contracts/dao/Comptroller.sol +++ b/protocol/contracts/dao/Comptroller.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -43,12 +43,9 @@ contract Comptroller is Setters { balanceCheck(); } - function redeemToAccount(address account, uint256 amount, uint256 couponAmount) internal { - dollar().mint(account, amount); - if (couponAmount != 0) { - dollar().transfer(account, couponAmount); - decrementTotalRedeemable(couponAmount, "Comptroller: not enough redeemable balance"); - } + function redeemToAccount(address account, uint256 amount) internal { + dollar().transfer(account, amount); + decrementTotalRedeemable(amount, "Comptroller: not enough redeemable balance"); balanceCheck(); } diff --git a/protocol/contracts/dao/Curve.sol b/protocol/contracts/dao/Curve.sol index b853e137..39e2acf8 100644 --- a/protocol/contracts/dao/Curve.sol +++ b/protocol/contracts/dao/Curve.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/dao/Getters.sol b/protocol/contracts/dao/Getters.sol index ff1f29fe..b7c2eef6 100644 --- a/protocol/contracts/dao/Getters.sol +++ b/protocol/contracts/dao/Getters.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,8 +20,9 @@ pragma experimental ABIEncoderV2; import "@openzeppelin/contracts/math/SafeMath.sol"; import "./State.sol"; import "../Constants.sol"; +import "../streaming/StreamingGetters.sol"; -contract Getters is State { +contract Getters is State, StreamingGetters { using SafeMath for uint256; using Decimal for Decimal.D256; @@ -32,11 +33,11 @@ contract Getters is State { */ function name() public view returns (string memory) { - return "Empty Set Dollar Stake"; + return "Universal Dollar Stake"; } function symbol() public view returns (string memory) { - return "ESDS"; + return "U8DS"; } function decimals() public view returns (uint8) { @@ -87,10 +88,6 @@ contract Getters is State { return _state.balance.redeemable; } - function totalCouponUnderlying() public view returns (uint256) { - return _state16.couponUnderlying; - } - function totalCoupons() public view returns (uint256) { return _state.balance.coupons; } @@ -99,14 +96,6 @@ contract Getters is State { return dollar().totalSupply().sub(totalDebt()); } - function eraStatus() public view returns (Era.Status) { - return _state18.era.status; - } - - function eraStart() public view returns (uint256) { - return _state18.era.start; - } - /** * Account */ @@ -130,28 +119,57 @@ contract Getters is State { return _state.accounts[account].coupons[epoch]; } - function balanceOfCouponUnderlying(address account, uint256 epoch) public view returns (uint256) { - return _state16.couponUnderlyingByAccount[account][epoch]; + function statusOf(address account) public view returns (Account.Status) { + return _state.accounts[account].lockedUntil > epoch() ? Account.Status.Locked : Account.Status.Unlocked; } - function statusOf(address account) public view returns (Account.Status) { - if (_state.accounts[account].lockedUntil > epoch()) { - return Account.Status.Locked; - } + function allowanceCoupons(address owner, address spender) public view returns (uint256) { + return _state.accounts[owner].couponAllowances[spender]; + } + + /** + * Streaming + */ - return epoch() >= _state.accounts[account].fluidUntil ? Account.Status.Frozen : Account.Status.Fluid; + // internal getter + function stream(address account) internal view returns (Stream storage) { + return _state.accounts[account].stream; } - function fluidUntil(address account) public view returns (uint256) { - return _state.accounts[account].fluidUntil; + function streamedFrom(address account) public view returns (uint256) { + return streamedFrom(stream(account)); } - function lockedUntil(address account) public view returns (uint256) { - return _state.accounts[account].lockedUntil; + function streamedUntil(address account) public view returns (uint256) { + return streamedUntil(stream(account)); } - function allowanceCoupons(address owner, address spender) public view returns (uint256) { - return _state.accounts[owner].couponAllowances[spender]; + function streamDuration(address account) public view returns (uint256) { + return streamDuration(stream(account)); + } + + function streamTimeleft(address account) public view returns (uint256) { + return streamTimeleft(stream(account)); + } + + function streamReserved(address account) public view returns (uint256) { + return streamReserved(stream(account)); + } + + function streamReleased(address account) public view returns (uint256) { + return streamReleased(stream(account)); + } + + function streamBoosted(address account) public view returns (uint256) { + return streamBoosted(stream(account)); + } + + function releasableAmount(address account) public view returns (uint256) { + return releasableAmount(stream(account)); + } + + function unreleasedAmount(address account) public view returns (uint256) { + return unreleasedAmount(stream(account)); } /** @@ -163,12 +181,8 @@ contract Getters is State { } function epochTime() public view returns (uint256) { - Constants.EpochStrategy memory current = Constants.getCurrentEpochStrategy(); - Constants.EpochStrategy memory previous = Constants.getPreviousEpochStrategy(); - - return blockTimestamp() < current.start ? - epochTimeWithStrategy(previous) : - epochTimeWithStrategy(current); + Constants.EpochStrategy memory current = Constants.getEpochStrategy(); + return epochTimeWithStrategy(current); } function epochTimeWithStrategy(Constants.EpochStrategy memory strategy) private view returns (uint256) { diff --git a/protocol/contracts/dao/Govern.sol b/protocol/contracts/dao/Govern.sol index 67656a7f..2252658d 100644 --- a/protocol/contracts/dao/Govern.sol +++ b/protocol/contracts/dao/Govern.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -35,7 +35,7 @@ contract Govern is Setters, Permission, Upgradeable { event Vote(address indexed account, address indexed candidate, Candidate.Vote vote, uint256 bonded); event Commit(address indexed account, address indexed candidate); - function vote(address candidate, Candidate.Vote vote) external onlyFrozenOrLocked(msg.sender) { + function vote(address candidate, Candidate.Vote vote) external { Require.that( balanceOf(msg.sender) > 0, FILE, diff --git a/protocol/contracts/dao/Implementation.sol b/protocol/contracts/dao/Implementation.sol index e812a9ba..990dce24 100644 --- a/protocol/contracts/dao/Implementation.sol +++ b/protocol/contracts/dao/Implementation.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -31,10 +31,8 @@ contract Implementation is State, Bonding, Market, Regulator, Govern { event Incentivization(address indexed account, uint256 amount); function initialize() initializer public { - // Reward committer - incentivize(msg.sender, Constants.getAdvanceIncentive()); - // Dev rewards - + // initial liquidity for uniswap pool: + mintToAccount(0x77FBF866BdFE6a73E1F2D8DF9F09D480a027331A, 10000e18); } function advance() external { @@ -47,6 +45,22 @@ contract Implementation is State, Bonding, Market, Regulator, Govern { emit Advance(epoch(), block.number, block.timestamp); } + // Override for the distribution of penalty + function boostStream() public returns (uint256) { + uint256 penalty = Bonding.boostStream(); + + // distribute penalty if more than one dollar + distribute(penalty); + + return penalty; + } + + // Distribution of penalty from Pool contract + function distributePenalty(uint256 penalty) external onlyPool { + // distribute penalty if more than one dollar + distribute(penalty); + } + function incentivize(address account, uint256 amount) private { mintToAccount(account, amount); emit Incentivization(account, amount); diff --git a/protocol/contracts/dao/Market.sol b/protocol/contracts/dao/Market.sol index e4330aff..15b79a4a 100644 --- a/protocol/contracts/dao/Market.sol +++ b/protocol/contracts/dao/Market.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ contract Market is Comptroller, Curve { event CouponExpiration(uint256 indexed epoch, uint256 couponsExpired, uint256 lessRedeemable, uint256 lessDebt, uint256 newBonded); event CouponPurchase(address indexed account, uint256 indexed epoch, uint256 dollarAmount, uint256 couponAmount); - event CouponRedemption(address indexed account, uint256 indexed epoch, uint256 amount, uint256 couponAmount); + event CouponRedemption(address indexed account, uint256 indexed epoch, uint256 couponAmount); event CouponTransfer(address indexed from, address indexed to, uint256 indexed epoch, uint256 value); event CouponApproval(address indexed owner, address indexed spender, uint256 value); @@ -52,7 +52,6 @@ contract Market is Comptroller, Curve { uint256 totalRedeemable = totalRedeemable(); uint256 totalCoupons = totalCoupons(); - if (totalRedeemable > totalCoupons) { lessRedeemable = totalRedeemable.sub(totalCoupons); burnRedeemable(lessRedeemable); @@ -66,84 +65,35 @@ contract Market is Comptroller, Curve { return calculateCouponPremium(dollar().totalSupply(), totalDebt(), amount); } - function migrateCoupons(uint256 couponEpoch) external { - uint256 balanceOfCoupons = balanceOfCoupons(msg.sender, couponEpoch); - require(balanceOfCoupons > 0, "Market: No coupons"); - require(balanceOfCouponUnderlying(msg.sender, couponEpoch) == 0, "Market: Already migrated"); - - uint256 couponUnderlying = balanceOfCoupons.div(2); - - incrementBalanceOfCouponUnderlying(msg.sender, couponEpoch, couponUnderlying); - decrementBalanceOfCoupons(msg.sender, couponEpoch, couponUnderlying, "Market: Insufficient coupon balance"); - - emit CouponRedemption(msg.sender, couponEpoch, 0, couponUnderlying); - emit CouponPurchase(msg.sender, couponEpoch, couponUnderlying, 0); - } - - function purchaseCoupons(uint256 amount) external returns (uint256) { + function purchaseCoupons(uint256 dollarAmount) external returns (uint256) { Require.that( - amount > 0, + dollarAmount > 0, FILE, "Must purchase non-zero amount" ); Require.that( - totalDebt() >= amount, + totalDebt() >= dollarAmount, FILE, "Not enough debt" ); uint256 epoch = epoch(); - uint256 couponAmount = couponPremium(amount); + uint256 couponAmount = dollarAmount.add(couponPremium(dollarAmount)); + burnFromAccount(msg.sender, dollarAmount); incrementBalanceOfCoupons(msg.sender, epoch, couponAmount); - incrementBalanceOfCouponUnderlying(msg.sender, epoch, amount); - - burnFromAccount(msg.sender, amount); - emit CouponPurchase(msg.sender, epoch, amount, couponAmount); + emit CouponPurchase(msg.sender, epoch, dollarAmount, couponAmount); return couponAmount; } - // @notice: logic overview - // 1) Coupons just purchased will fail at 2 epoch check. - // 2) Valid coupons without sufficient redeemable will fail at redeemToAccount. - // 3) Expired coupons will result in zero couponAmount, passing decrementBalanceOfCoupons - // and redeemToAccount to return underlying only. - // 4) Expired coupons with future redeemable will still result in zero couponAmount, - // allowing only underlying to be redeemed. - function redeemCoupons(uint256 couponEpoch, uint256 amount) external { + function redeemCoupons(uint256 couponEpoch, uint256 couponAmount) external { require(epoch().sub(couponEpoch) >= 2, "Market: Too early to redeem"); - require(amount != 0, "Market: Amount too low"); - - uint256 couponAmount = balanceOfCoupons(msg.sender, couponEpoch) - .mul(amount).div(balanceOfCouponUnderlying(msg.sender, couponEpoch), "Market: No underlying"); - uint256 redeemableAmount = computeRedeemable(couponEpoch, couponAmount); - - decrementBalanceOfCouponUnderlying(msg.sender, couponEpoch, amount, "Market: Insufficient coupon underlying balance"); - if (couponAmount != 0) decrementBalanceOfCoupons(msg.sender, couponEpoch, couponAmount, "Market: Insufficient coupon balance"); - redeemToAccount(msg.sender, amount, redeemableAmount); - - emit CouponRedemption(msg.sender, couponEpoch, amount, couponAmount); - } - - function computeRedeemable(uint256 couponEpoch, uint256 couponAmount) private view returns (uint256) { - if (couponEpoch < couponProratedStart()) { - return couponAmount; - } - - uint256 lastContractionEpoch = computeLastContractionEpoch(); - uint256 lockedTime = lastContractionEpoch > couponEpoch ? lastContractionEpoch.sub(couponEpoch) : 0; - lockedTime = lockedTime > Constants.getCouponExpiration() ? Constants.getCouponExpiration() : lockedTime; - return couponAmount.mul(lockedTime).div(Constants.getCouponExpiration()); - } + decrementBalanceOfCoupons(msg.sender, couponEpoch, couponAmount, "Market: Insufficient coupon balance"); + redeemToAccount(msg.sender, couponAmount); - function computeLastContractionEpoch() private view returns (uint256) { - if (eraStatus() == Era.Status.EXPANSION) { - uint256 eraStart = eraStart(); - return eraStart == 0 ? 0 : eraStart.sub(1); - } - return epoch().sub(1); + emit CouponRedemption(msg.sender, couponEpoch, couponAmount); } function approveCoupons(address spender, uint256 amount) external { @@ -158,14 +108,8 @@ contract Market is Comptroller, Curve { require(sender != address(0), "Market: Coupon transfer from the zero address"); require(recipient != address(0), "Market: Coupon transfer to the zero address"); - uint256 couponAmount = balanceOfCoupons(sender, epoch) - .mul(amount).div(balanceOfCouponUnderlying(sender, epoch), "Market: No underlying"); - - decrementBalanceOfCouponUnderlying(sender, epoch, amount, "Market: Insufficient coupon underlying balance"); - incrementBalanceOfCouponUnderlying(recipient, epoch, amount); - - decrementBalanceOfCoupons(sender, epoch, couponAmount, "Market: Insufficient coupon balance"); - incrementBalanceOfCoupons(recipient, epoch, couponAmount); + decrementBalanceOfCoupons(sender, epoch, amount, "Market: Insufficient coupon balance"); + incrementBalanceOfCoupons(recipient, epoch, amount); if (msg.sender != sender && allowanceCoupons(sender, msg.sender) != uint256(-1)) { decrementAllowanceCoupons(sender, msg.sender, amount, "Market: Insufficient coupon approval"); @@ -173,9 +117,4 @@ contract Market is Comptroller, Curve { emit CouponTransfer(sender, recipient, epoch, amount); } - - // overridable for testing - function couponProratedStart() internal view returns (uint256) { - return Constants.getCouponProratedStart(); - } } diff --git a/protocol/contracts/dao/Permission.sol b/protocol/contracts/dao/Permission.sol index c1dd6fd5..18ba2bdc 100644 --- a/protocol/contracts/dao/Permission.sol +++ b/protocol/contracts/dao/Permission.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -24,23 +24,22 @@ contract Permission is Setters { bytes32 private constant FILE = "Permission"; - // Can modify account state - modifier onlyFrozenOrFluid(address account) { + modifier onlyPool() { Require.that( - statusOf(account) != Account.Status.Locked, + msg.sender == address(pool()), FILE, - "Not frozen or fluid" + "Not pool" ); _; } - // Can participate in balance-dependant activities - modifier onlyFrozenOrLocked(address account) { + // Can modify account state + modifier onlyUnlocked(address account) { Require.that( - statusOf(account) != Account.Status.Fluid, + statusOf(account) != Account.Status.Locked, FILE, - "Not frozen or locked" + "Not unlocked" ); _; diff --git a/protocol/contracts/dao/Regulator.sol b/protocol/contracts/dao/Regulator.sol index 97671cf8..8926a4ce 100644 --- a/protocol/contracts/dao/Regulator.sol +++ b/protocol/contracts/dao/Regulator.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -30,17 +30,17 @@ contract Regulator is Comptroller { event SupplyDecrease(uint256 indexed epoch, uint256 price, uint256 newDebt); event SupplyNeutral(uint256 indexed epoch); + event PenaltyDistribute(uint256 indexed epoch, uint256 price, uint256 newRedeemable, uint256 lessDebt, uint256 newBonded); + function step() internal { Decimal.D256 memory price = oracleCapture(); if (price.greaterThan(Decimal.one())) { - if (eraStatus() == Era.Status.CONTRACTION) updateEra(Era.Status.EXPANSION); growSupply(price); return; } if (price.lessThan(Decimal.one())) { - if (eraStatus() == Era.Status.EXPANSION) updateEra(Era.Status.CONTRACTION); shrinkSupply(price); return; } @@ -48,8 +48,17 @@ contract Regulator is Comptroller { emit SupplyNeutral(epoch()); } + function distribute(uint256 amount) internal { + Decimal.D256 memory price = oracleCapture(); + if (price.greaterThan(Decimal.one())) { + uint256 lessDebt = resetDebt(Decimal.zero()); + (uint256 newRedeemable, uint256 newBonded) = increaseSupply(amount); + emit PenaltyDistribute(epoch(), price.value, newRedeemable, lessDebt, newBonded); + } + } + function shrinkSupply(Decimal.D256 memory price) private { - Decimal.D256 memory delta = limit(Decimal.one().sub(price), price); + Decimal.D256 memory delta = limit(Decimal.one().sub(price).div(Constants.getNegativeSupplyChangeDivisor()), price); uint256 newDebt = delta.mul(totalNet()).asUint256(); uint256 cappedNewDebt = increaseDebt(newDebt); @@ -60,14 +69,13 @@ contract Regulator is Comptroller { function growSupply(Decimal.D256 memory price) private { uint256 lessDebt = resetDebt(Decimal.zero()); - Decimal.D256 memory delta = limit(price.sub(Decimal.one()), price); + Decimal.D256 memory delta = limit(price.sub(Decimal.one()).div(Constants.getSupplyChangeDivisor()), price); uint256 newSupply = delta.mul(totalNet()).asUint256(); (uint256 newRedeemable, uint256 newBonded) = increaseSupply(newSupply); emit SupplyIncrease(epoch(), price.value, newRedeemable, lessDebt, newBonded); } function limit(Decimal.D256 memory delta, Decimal.D256 memory price) private view returns (Decimal.D256 memory) { - Decimal.D256 memory supplyChangeLimit = Constants.getSupplyChangeLimit(); uint256 totalRedeemable = totalRedeemable(); @@ -77,7 +85,6 @@ contract Regulator is Comptroller { } return delta.greaterThan(supplyChangeLimit) ? supplyChangeLimit : delta; - } function oracleCapture() private returns (Decimal.D256 memory) { diff --git a/protocol/contracts/dao/Root.sol b/protocol/contracts/dao/Root.sol index 69edc2cc..ee725a4d 100644 --- a/protocol/contracts/dao/Root.sol +++ b/protocol/contracts/dao/Root.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/dao/Setters.sol b/protocol/contracts/dao/Setters.sol index 176c8cda..0bc1abf0 100644 --- a/protocol/contracts/dao/Setters.sol +++ b/protocol/contracts/dao/Setters.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,8 +20,9 @@ pragma experimental ABIEncoderV2; import "@openzeppelin/contracts/math/SafeMath.sol"; import "./State.sol"; import "./Getters.sol"; +import "../streaming/StreamingSetters.sol"; -contract Setters is State, Getters { +contract Setters is State, Getters, StreamingSetters { using SafeMath for uint256; event Transfer(address indexed from, address indexed to, uint256 value); @@ -70,11 +71,6 @@ contract Setters is State, Getters { _state.balance.redeemable = _state.balance.redeemable.sub(amount, reason); } - function updateEra(Era.Status status) internal { - _state18.era.status = status; - _state18.era.start = epoch(); - } - /** * Account */ @@ -109,26 +105,12 @@ contract Setters is State, Getters { _state.balance.coupons = _state.balance.coupons.add(amount); } - function incrementBalanceOfCouponUnderlying(address account, uint256 epoch, uint256 amount) internal { - _state16.couponUnderlyingByAccount[account][epoch] = _state16.couponUnderlyingByAccount[account][epoch].add(amount); - _state16.couponUnderlying = _state16.couponUnderlying.add(amount); - } - function decrementBalanceOfCoupons(address account, uint256 epoch, uint256 amount, string memory reason) internal { _state.accounts[account].coupons[epoch] = _state.accounts[account].coupons[epoch].sub(amount, reason); _state.epochs[epoch].coupons.outstanding = _state.epochs[epoch].coupons.outstanding.sub(amount, reason); _state.balance.coupons = _state.balance.coupons.sub(amount, reason); } - function decrementBalanceOfCouponUnderlying(address account, uint256 epoch, uint256 amount, string memory reason) internal { - _state16.couponUnderlyingByAccount[account][epoch] = _state16.couponUnderlyingByAccount[account][epoch].sub(amount, reason); - _state16.couponUnderlying = _state16.couponUnderlying.sub(amount, reason); - } - - function unfreeze(address account) internal { - _state.accounts[account].fluidUntil = epoch().add(Constants.getDAOExitLockupEpochs()); - } - function updateAllowanceCoupons(address owner, address spender, uint256 amount) internal { _state.accounts[owner].couponAllowances[spender] = amount; } diff --git a/protocol/contracts/dao/State.sol b/protocol/contracts/dao/State.sol index 1a91d34f..6a5c1b94 100644 --- a/protocol/contracts/dao/State.sol +++ b/protocol/contracts/dao/State.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21,11 +21,11 @@ import '@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol'; import "../token/IDollar.sol"; import "../oracle/IOracle.sol"; import "../external/Decimal.sol"; +import "../streaming/Stream.sol"; contract Account { enum Status { - Frozen, - Fluid, + Unlocked, Locked } @@ -34,8 +34,8 @@ contract Account { uint256 balance; mapping(uint256 => uint256) coupons; mapping(address => uint256) couponAllowances; - uint256 fluidUntil; uint256 lockedUntil; + Stream.Stream stream; } } @@ -75,18 +75,6 @@ contract Candidate { } } -contract Era { - enum Status { - EXPANSION, - CONTRACTION - } - - struct State { - Status status; - uint256 start; - } -} - contract Storage { struct Provider { IDollar dollar; @@ -112,23 +100,8 @@ contract Storage { mapping(uint256 => Epoch.State) epochs; mapping(address => Candidate.State) candidates; } - - struct State16 { - mapping(address => mapping(uint256 => uint256)) couponUnderlyingByAccount; - uint256 couponUnderlying; - } - - struct State18 { - Era.State era; - } } contract State { Storage.State _state; - - // EIP-16 - Storage.State16 _state16; - - // EIP-18 - Storage.State18 _state18; } diff --git a/protocol/contracts/dao/Upgradeable.sol b/protocol/contracts/dao/Upgradeable.sol index 5b981ae9..144ba3cf 100644 --- a/protocol/contracts/dao/Upgradeable.sol +++ b/protocol/contracts/dao/Upgradeable.sol @@ -1,6 +1,6 @@ /* Copyright 2018-2019 zOS Global Limited - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/deployment/Deployer.sol b/protocol/contracts/deployment/Deployer.sol new file mode 100644 index 00000000..5b512524 --- /dev/null +++ b/protocol/contracts/deployment/Deployer.sol @@ -0,0 +1,88 @@ +/* + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +import "../external/Decimal.sol"; +import "../token/Dollar.sol"; +import "../oracle/Oracle.sol"; +import "../oracle/Pool.sol"; +import "../dao/Upgradeable.sol"; +import "../dao/Permission.sol"; +import "../dao/Root.sol"; + + +contract DollarFactory { + function getCreationBytecode() private pure returns (bytes memory) { + bytes memory bytecode = type(Dollar).creationCode; + return abi.encodePacked(bytecode); + } + + function deployDollar(bytes32 salt) internal returns (address) { + bytes memory bytecode = getCreationBytecode(); + address addr; + assembly { + addr := create2(0, add(bytecode, 0x20), mload(bytecode), salt) + + if iszero(extcodesize(addr)) { + revert(0, 0) + } + } + + return addr; + } +} + +contract Deployer1 is State, Permission, Upgradeable, DollarFactory { + function initialize() initializer public { + bytes32 salt = 0x0000000000000000000000000000000000000000000000000000000000b9c7be; + _state.provider.dollar = Dollar(deployDollar(salt)); + } + + function implement(address implementation) external { + upgradeTo(implementation); + } +} + +contract Deployer2 is State, Permission, Upgradeable { + function initialize() initializer public { + _state.provider.oracle = new Oracle(address(dollar())); + oracle().setup(); + } + + function implement(address implementation) external { + upgradeTo(implementation); + } +} + +contract Deployer3 is State, Permission, Upgradeable { + event PoolDeployed(address proxy, address implementation); + + function initialize() initializer public { + address poolImplementation = address(new Pool()); + address pool = address(new Root(poolImplementation)); + Pool(pool).initialize(address(this), address(dollar()), address(oracle().pair())); + + _state.provider.pool = pool; + + emit PoolDeployed(pool, poolImplementation); + } + + function implement(address implementation) external { + upgradeTo(implementation); + } +} \ No newline at end of file diff --git a/protocol/contracts/external/Decimal.sol b/protocol/contracts/external/Decimal.sol index 5046beb5..60fde57a 100644 --- a/protocol/contracts/external/Decimal.sol +++ b/protocol/contracts/external/Decimal.sol @@ -1,6 +1,6 @@ /* Copyright 2019 dYdX Trading Inc. - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/external/UniswapV2Library.sol b/protocol/contracts/external/UniswapV2Library.sol index 1c8a7626..d8e51dc8 100644 --- a/protocol/contracts/external/UniswapV2Library.sol +++ b/protocol/contracts/external/UniswapV2Library.sol @@ -37,4 +37,14 @@ library UniswapV2Library { require(reserveA > 0 && reserveB > 0, 'UniswapV2Library: INSUFFICIENT_LIQUIDITY'); amountB = amountA.mul(reserveB) / reserveA; } + + // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset + function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut) { + require(amountIn > 0, 'UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT'); + require(reserveIn > 0 && reserveOut > 0, 'UniswapV2Library: INSUFFICIENT_LIQUIDITY'); + uint amountInWithFee = amountIn.mul(997); + uint numerator = amountInWithFee.mul(reserveOut); + uint denominator = reserveIn.mul(1000).add(amountInWithFee); + amountOut = numerator / denominator; + } } \ No newline at end of file diff --git a/protocol/contracts/mock/MockBonding.sol b/protocol/contracts/mock/MockBonding.sol index 4ed82d0a..4508e7f2 100644 --- a/protocol/contracts/mock/MockBonding.sol +++ b/protocol/contracts/mock/MockBonding.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockComptroller.sol b/protocol/contracts/mock/MockComptroller.sol index 336050c1..5174d6f7 100644 --- a/protocol/contracts/mock/MockComptroller.sol +++ b/protocol/contracts/mock/MockComptroller.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ contract MockComptroller is Comptroller, MockState { super.burnFromAccount(account, amount); } - function redeemToAccountE(address account, uint256 amount, uint256 couponAmount) external { - super.redeemToAccount(account, amount, couponAmount); + function redeemToAccountE(address account, uint256 amount) external { + super.redeemToAccount(account, amount); } function burnRedeemableE(uint256 amount) external { diff --git a/protocol/contracts/mock/MockCurve.sol b/protocol/contracts/mock/MockCurve.sol index af757bb3..e387177a 100644 --- a/protocol/contracts/mock/MockCurve.sol +++ b/protocol/contracts/mock/MockCurve.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockGovern.sol b/protocol/contracts/mock/MockGovern.sol index d48c70fd..d795f56d 100644 --- a/protocol/contracts/mock/MockGovern.sol +++ b/protocol/contracts/mock/MockGovern.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockImplA.sol b/protocol/contracts/mock/MockImplA.sol index f0b6a7ca..fdc1c824 100644 --- a/protocol/contracts/mock/MockImplA.sol +++ b/protocol/contracts/mock/MockImplA.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockImplB.sol b/protocol/contracts/mock/MockImplB.sol index bdd3cc7c..3731e50c 100644 --- a/protocol/contracts/mock/MockImplB.sol +++ b/protocol/contracts/mock/MockImplB.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockMarket.sol b/protocol/contracts/mock/MockMarket.sol index 3d450506..0790ad8c 100644 --- a/protocol/contracts/mock/MockMarket.sol +++ b/protocol/contracts/mock/MockMarket.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,19 +22,9 @@ import "./MockState.sol"; import "./MockComptroller.sol"; contract MockMarket is MockState, MockComptroller, Market { - uint256 private _couponProratedStart; - constructor(address pool) MockComptroller(pool) public { } function stepE() external { Market.step(); } - - function set(uint256 newCouponProratedStart) external { - _couponProratedStart = newCouponProratedStart; - } - - function couponProratedStart() internal view returns (uint256) { - return _couponProratedStart; - } } diff --git a/protocol/contracts/mock/MockOracle.sol b/protocol/contracts/mock/MockOracle.sol index f8f47fdd..829ef4e8 100644 --- a/protocol/contracts/mock/MockOracle.sol +++ b/protocol/contracts/mock/MockOracle.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockPool.sol b/protocol/contracts/mock/MockPool.sol index 56f76501..6760c733 100644 --- a/protocol/contracts/mock/MockPool.sol +++ b/protocol/contracts/mock/MockPool.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -25,7 +25,8 @@ contract MockPool is Pool { address private _dollar; address private _univ2; - constructor(address usdc) Pool() public { + constructor(address dollar, address usdc, address univ2) public { + initialize(msg.sender, dollar, univ2); _usdc = usdc; } diff --git a/protocol/contracts/mock/MockPoolState.sol b/protocol/contracts/mock/MockPoolState.sol index 7077a68d..56baf92c 100644 --- a/protocol/contracts/mock/MockPoolState.sol +++ b/protocol/contracts/mock/MockPoolState.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -72,7 +72,7 @@ contract MockPoolState is PoolSetters { super.decrementBalanceOfPhantom(account, amount, reason); } - function unfreezeE(address account) external { - super.unfreeze(account); - } + // function unfreezeE(address account) external { + // super.unfreeze(account); + // } } diff --git a/protocol/contracts/mock/MockRegulator.sol b/protocol/contracts/mock/MockRegulator.sol index d8787664..5ec0fce1 100644 --- a/protocol/contracts/mock/MockRegulator.sol +++ b/protocol/contracts/mock/MockRegulator.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockSettableDAO.sol b/protocol/contracts/mock/MockSettableDAO.sol index c31473ce..3ecf6af7 100644 --- a/protocol/contracts/mock/MockSettableDAO.sol +++ b/protocol/contracts/mock/MockSettableDAO.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockSettableOracle.sol b/protocol/contracts/mock/MockSettableOracle.sol index 916372d0..b31d40b4 100644 --- a/protocol/contracts/mock/MockSettableOracle.sol +++ b/protocol/contracts/mock/MockSettableOracle.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockState.sol b/protocol/contracts/mock/MockState.sol index e7a8d9f7..3682ee2f 100644 --- a/protocol/contracts/mock/MockState.sol +++ b/protocol/contracts/mock/MockState.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -54,10 +54,6 @@ contract MockState is Setters { super.decrementTotalRedeemable(amount, reason); } - function updateEraE(Era.Status status) external { - super.updateEra(status); - } - /** * Account */ @@ -82,21 +78,13 @@ contract MockState is Setters { super.incrementBalanceOfCoupons(account, epoch, amount); } - function incrementBalanceOfCouponUnderlyingE(address account, uint256 epoch, uint256 amount) external { - super.incrementBalanceOfCouponUnderlying(account, epoch, amount); - } - function decrementBalanceOfCouponsE(address account, uint256 epoch, uint256 amount, string calldata reason) external { super.decrementBalanceOfCoupons(account, epoch, amount, reason); } - function decrementBalanceOfCouponUnderlyingE(address account, uint256 epoch, uint256 amount, string calldata reason) external { - super.decrementBalanceOfCouponUnderlying(account, epoch, amount, reason); - } - - function unfreezeE(address account) external { - super.unfreeze(account); - } + // function unfreezeE(address account) external { + // super.unfreeze(account); + // } function updateAllowanceCouponsE(address owner, address spender, uint256 amount) external { super.updateAllowanceCoupons(owner, spender, amount); diff --git a/protocol/contracts/mock/MockToken.sol b/protocol/contracts/mock/MockToken.sol index a2926dda..66ea8f6a 100644 --- a/protocol/contracts/mock/MockToken.sol +++ b/protocol/contracts/mock/MockToken.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockUSDC.sol b/protocol/contracts/mock/MockUSDC.sol index b97571f4..2a4dd32a 100644 --- a/protocol/contracts/mock/MockUSDC.sol +++ b/protocol/contracts/mock/MockUSDC.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockUniswapV2PairLiquidity.sol b/protocol/contracts/mock/MockUniswapV2PairLiquidity.sol index 61ceaf81..7ac23923 100644 --- a/protocol/contracts/mock/MockUniswapV2PairLiquidity.sol +++ b/protocol/contracts/mock/MockUniswapV2PairLiquidity.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockUniswapV2PairTrade.sol b/protocol/contracts/mock/MockUniswapV2PairTrade.sol index 226b28f7..dece6530 100644 --- a/protocol/contracts/mock/MockUniswapV2PairTrade.sol +++ b/protocol/contracts/mock/MockUniswapV2PairTrade.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/MockUpgradeable.sol b/protocol/contracts/mock/MockUpgradeable.sol index 2881d542..58902f4a 100644 --- a/protocol/contracts/mock/MockUpgradeable.sol +++ b/protocol/contracts/mock/MockUpgradeable.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/mock/TestnetUSDC.sol b/protocol/contracts/mock/TestnetUSDC.sol index 82f949ae..09e0833f 100644 --- a/protocol/contracts/mock/TestnetUSDC.sol +++ b/protocol/contracts/mock/TestnetUSDC.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/oracle/IDAO.sol b/protocol/contracts/oracle/IDAO.sol index b2f51133..345bace5 100644 --- a/protocol/contracts/oracle/IDAO.sol +++ b/protocol/contracts/oracle/IDAO.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -17,5 +17,6 @@ pragma solidity ^0.5.17; contract IDAO { + function distributePenalty(uint256 penalty) external; function epoch() external view returns (uint256); } \ No newline at end of file diff --git a/protocol/contracts/oracle/IOracle.sol b/protocol/contracts/oracle/IOracle.sol index 0703457b..a20df795 100644 --- a/protocol/contracts/oracle/IOracle.sol +++ b/protocol/contracts/oracle/IOracle.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/oracle/IPool.sol b/protocol/contracts/oracle/IPool.sol new file mode 100644 index 00000000..a1451912 --- /dev/null +++ b/protocol/contracts/oracle/IPool.sol @@ -0,0 +1,21 @@ +/* + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; + +contract IPool { + function upgrade(address newPoolImplementation) external; +} \ No newline at end of file diff --git a/protocol/contracts/oracle/IUSDC.sol b/protocol/contracts/oracle/IUSDC.sol index 9ab31e71..da08cf11 100644 --- a/protocol/contracts/oracle/IUSDC.sol +++ b/protocol/contracts/oracle/IUSDC.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/oracle/Liquidity.sol b/protocol/contracts/oracle/Liquidity.sol index ee6400f4..f9b57ea5 100644 --- a/protocol/contracts/oracle/Liquidity.sol +++ b/protocol/contracts/oracle/Liquidity.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -40,6 +40,36 @@ contract Liquidity is PoolGetters { return (usdcAmount, IUniswapV2Pair(pair).mint(address(this))); } + function convertLpToDollar(uint256 liquidity) internal returns (uint256) { + (uint256 dollarAmount, uint256 usdcAmount) = removeLiquidity(liquidity); + return dollarAmount.add(swap(usdcAmount, usdc(), address(dollar()))); + } + + function removeLiquidity(uint256 liquidity) internal returns (uint256 dollarAmount, uint256 usdcAmount) { + address pair = address(univ2()); + + univ2().transfer(pair, liquidity); // send liquidity to pair + (uint256 amount0, uint256 amount1) = IUniswapV2Pair(pair).burn(address(this)); + + (address dollar, address usdc) = (address(dollar()), usdc()); + (address token0,) = UniswapV2Library.sortTokens(dollar, usdc); + (dollarAmount, usdcAmount) = dollar == token0 ? (amount0, amount1) : (amount1, amount0); + } + + function swap(uint256 amountIn, address tokenIn, address tokenOut) internal returns (uint256 amountOut) { + (uint256 reserveIn, uint256 reserveOut) = getReserves(tokenIn, tokenOut); + amountOut = UniswapV2Library.getAmountOut(amountIn, reserveIn, reserveOut); + + (address token0,) = UniswapV2Library.sortTokens(tokenIn, tokenOut); + (uint amount0Out, uint amount1Out) = tokenIn == token0 ? (uint(0), amountOut) : (amountOut, uint(0)); + + address pair = UniswapV2Library.pairFor(UNISWAP_FACTORY, tokenIn, tokenOut); + IERC20(tokenIn).transfer(pair, amountIn); + IUniswapV2Pair(pair).swap( + amount0Out, amount1Out, address(this), new bytes(0) + ); + } + // overridable for testing function getReserves(address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB) { (address token0,) = UniswapV2Library.sortTokens(tokenA, tokenB); diff --git a/protocol/contracts/oracle/Oracle.sol b/protocol/contracts/oracle/Oracle.sol index 1dd624ed..b3936bbf 100644 --- a/protocol/contracts/oracle/Oracle.sol +++ b/protocol/contracts/oracle/Oracle.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/oracle/Pool.sol b/protocol/contracts/oracle/Pool.sol index 01a5a242..f8a889ba 100644 --- a/protocol/contracts/oracle/Pool.sol +++ b/protocol/contracts/oracle/Pool.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23,22 +23,41 @@ import "../external/Require.sol"; import "../Constants.sol"; import "./PoolSetters.sol"; import "./Liquidity.sol"; +import "./PoolUpgradable.sol"; -contract Pool is PoolSetters, Liquidity { +contract Pool is PoolSetters, Liquidity, PoolUpgradable { using SafeMath for uint256; - constructor() public { } + function initialize(address dao, address dollar, address univ2) public { + require(!_state.isInitialized, "Pool: already initialized"); + _state.isInitialized = true; + + _state.provider.dao = IDAO(dao); + _state.provider.dollar = IDollar(dollar); + _state.provider.univ2 = IERC20(univ2); + } bytes32 private constant FILE = "Pool"; event Deposit(address indexed account, uint256 value); - event Withdraw(address indexed account, uint256 value); - event Claim(address indexed account, uint256 value); - event Bond(address indexed account, uint256 start, uint256 value); - event Unbond(address indexed account, uint256 start, uint256 value, uint256 newClaimable); + event ReleaseLp(address indexed account, uint256 value); + event ReleaseReward(address indexed account, uint256 value); + event Bond(address indexed account, uint256 value); + event Unbond(address indexed account, uint256 value, uint256 newClaimable); event Provide(address indexed account, uint256 value, uint256 lessUsdc, uint256 newUniv2); - function deposit(uint256 value) external onlyFrozen(msg.sender) notPaused { + // Streaming LP + event StreamStartLp(address indexed account, uint256 value, uint256 streamedUntil); + event StreamCancelLp(address indexed account, uint256 valueToStaged); + event StreamBoostLp(address indexed account, uint256 penalty); + event UnstreamToStagedLp(address indexed account, uint256 value); + + // Streaming Reward + event StreamStartReward(address indexed account, uint256 value, uint256 streamedUntil); + event StreamCancelReward(address indexed account, uint256 valueToStaged); + event StreamBoostReward(address indexed account, uint256 penalty); + + function deposit(uint256 value) public notPaused { univ2().transferFrom(msg.sender, address(this), value); incrementBalanceOfStaged(msg.sender, value); @@ -47,26 +66,198 @@ contract Pool is PoolSetters, Liquidity { emit Deposit(msg.sender, value); } - function withdraw(uint256 value) external onlyFrozen(msg.sender) { - univ2().transfer(msg.sender, value); + // ** NEW LOGIC ** + + function depositAndBond(uint256 value) external { + deposit(value); + bond(value); + } + + function release() external { + releaseLp(); + releaseReward(); + } + + /** + * Streaming LP + */ + + function startLpStream(uint256 value) external { + require(value > 0, "Pool: must stream non-zero amount"); + + cancelLpStream(); decrementBalanceOfStaged(msg.sender, value, "Pool: insufficient staged balance"); + setStream(streamLp(msg.sender), value, Constants.getPoolLpExitStreamPeriod()); + + balanceCheck(); + + emit StreamStartLp(msg.sender, value, streamedLpUntil(msg.sender)); + } + + function cancelLpStream() public { + // already canceled or not exist + if (streamLpReserved(msg.sender) == 0) { + return; + } + + releaseLp(); + uint256 amountToStaged = unreleasedLpAmount(msg.sender); + incrementBalanceOfStaged(msg.sender, amountToStaged); + resetStream(streamLp(msg.sender)); + + balanceCheck(); + + emit StreamCancelLp(msg.sender, amountToStaged); + } + + function boostLpStream() external returns (uint256) { + require(streamLpBoosted(msg.sender) < Constants.getPoolExitMaxBoost(), "Pool: max boost reached"); + + releaseLp(); + + uint256 unreleasedLp = unreleasedLpAmount(msg.sender); + uint256 penaltyLp = Decimal.from(unreleasedLp) + .mul(Constants.getPoolExitBoostPenalty()) + .asUint256(); + uint256 timeleft = Decimal.from(streamedLpUntil(msg.sender).sub(blockTimestamp())) + .div(Constants.getPoolExitBoostCoefficient()) + .asUint256(); + + setStream( + streamLp(msg.sender), + unreleasedLp.sub(penaltyLp), + timeleft + ); + incrementBoostCounter(streamLp(msg.sender)); + + uint256 penalty = convertLpToDollar(penaltyLp); // remove liquidity and swap to dollar + dollar().burn(penalty); + + // distribute penalty if more than one dollar + dao().distributePenalty(penalty); balanceCheck(); - emit Withdraw(msg.sender, value); + emit StreamBoostLp(msg.sender, penaltyLp); + + return penaltyLp; } - function claim(uint256 value) external onlyFrozen(msg.sender) { - dollar().transfer(msg.sender, value); + function releaseLp() public { + uint256 unreleasedLp = releasableLpAmount(msg.sender); + + if (unreleasedLp == 0) { + return; + } + + incrementReleased(streamLp(msg.sender), unreleasedLp); + univ2().transfer(msg.sender, unreleasedLp); + + balanceCheck(); + + emit ReleaseLp(msg.sender, unreleasedLp); + } + + /** + * Streaming Reward + */ + + function startRewardStream(uint256 value) external { + require(value > 0, "Pool: must stream non-zero amount"); + + cancelRewardStream(); decrementBalanceOfClaimable(msg.sender, value, "Pool: insufficient claimable balance"); + setStream(streamReward(msg.sender), value, Constants.getPoolRewardExitStreamPeriod()); balanceCheck(); - emit Claim(msg.sender, value); + emit StreamStartReward(msg.sender, value, streamedRewardUntil(msg.sender)); } - function bond(uint256 value) external notPaused { - unfreeze(msg.sender); + function cancelRewardStream() public { + // already canceled or not exist + if (streamRewardReserved(msg.sender) == 0) { + return; + } + + releaseReward(); + uint256 amountToStaged = unreleasedRewardAmount(msg.sender); + incrementBalanceOfClaimable(msg.sender, amountToStaged); + resetStream(streamReward(msg.sender)); + + balanceCheck(); + + emit StreamCancelReward(msg.sender, amountToStaged); + } + + function boostRewardStream() external returns (uint256) { + require(streamRewardBoosted(msg.sender) < Constants.getPoolExitMaxBoost(), "Pool: max boost reached"); + + releaseReward(); + + uint256 unreleased = unreleasedRewardAmount(msg.sender); + uint256 penalty = Decimal.from(unreleased) + .mul(Constants.getPoolExitBoostPenalty()) + .asUint256(); + uint256 timeleft = Decimal.from(streamedRewardUntil(msg.sender).sub(blockTimestamp())) + .div(Constants.getPoolExitBoostCoefficient()) + .asUint256(); + + setStream( + streamReward(msg.sender), + unreleased.sub(penalty), + timeleft + ); + incrementBoostCounter(streamReward(msg.sender)); + + dollar().burn(penalty); + + // distribute penalty if more than one dollar + dao().distributePenalty(penalty); + + balanceCheck(); + + emit StreamBoostReward(msg.sender, penalty); + + return penalty; + } + + function releaseReward() public { + uint256 unreleasedReward = releasableRewardAmount(msg.sender); + + if (unreleasedReward == 0) { + return; + } + + incrementReleased(streamReward(msg.sender), unreleasedReward); + dollar().transfer(msg.sender, unreleasedReward); + + balanceCheck(); + + emit ReleaseReward(msg.sender, unreleasedReward); + } + + // ** END NEW LOGIC ** + + function bond(uint256 value) public notPaused { + // partially unstream LP and bond + uint256 staged = balanceOfStaged(msg.sender); + if (value > staged) { + releaseLp(); + + uint256 amountToUnstream = value.sub(staged); + uint256 newLpReserved = unreleasedLpAmount(msg.sender).sub(amountToUnstream, "Pool: insufficient balance"); + if (newLpReserved >= 0) { + setStream( + streamLp(msg.sender), + newLpReserved, + streamLpTimeleft(msg.sender) + ); + incrementBalanceOfStaged(msg.sender, amountToUnstream); + + emit UnstreamToStagedLp(msg.sender, amountToUnstream); + } + } uint256 totalRewardedWithPhantom = totalRewarded().add(totalPhantom()); uint256 newPhantom = totalBonded() == 0 ? @@ -79,12 +270,10 @@ contract Pool is PoolSetters, Liquidity { balanceCheck(); - emit Bond(msg.sender, epoch().add(1), value); + emit Bond(msg.sender, value); } function unbond(uint256 value) external { - unfreeze(msg.sender); - uint256 balanceOfBonded = balanceOfBonded(msg.sender); Require.that( balanceOfBonded > 0, @@ -102,10 +291,10 @@ contract Pool is PoolSetters, Liquidity { balanceCheck(); - emit Unbond(msg.sender, epoch().add(1), value, newClaimable); + emit Unbond(msg.sender, value, newClaimable); } - function provide(uint256 value) external onlyFrozen(msg.sender) notPaused { + function provide(uint256 value) external notPaused { Require.that( totalBonded() > 0, FILE, @@ -146,6 +335,10 @@ contract Pool is PoolSetters, Liquidity { pause(); } + function upgrade(address newPoolImplementation) external onlyDao { + upgradeTo(newPoolImplementation); + } + function balanceCheck() private { Require.that( univ2().balanceOf(address(this)) >= totalStaged().add(totalBonded()), @@ -154,16 +347,6 @@ contract Pool is PoolSetters, Liquidity { ); } - modifier onlyFrozen(address account) { - Require.that( - statusOf(account) == PoolAccount.Status.Frozen, - FILE, - "Not frozen" - ); - - _; - } - modifier onlyDao() { Require.that( msg.sender == address(dao()), diff --git a/protocol/contracts/oracle/PoolGetters.sol b/protocol/contracts/oracle/PoolGetters.sol index 7fe73d86..f564b790 100644 --- a/protocol/contracts/oracle/PoolGetters.sol +++ b/protocol/contracts/oracle/PoolGetters.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,9 +20,11 @@ pragma experimental ABIEncoderV2; import "@openzeppelin/contracts/math/SafeMath.sol"; import "./PoolState.sol"; import "../Constants.sol"; +import "../streaming/StreamingGetters.sol"; -contract PoolGetters is PoolState { +contract PoolGetters is PoolState, StreamingGetters { using SafeMath for uint256; + using Decimal for Decimal.D256; /** * Global @@ -33,15 +35,15 @@ contract PoolGetters is PoolState { } function dao() public view returns (IDAO) { - return IDAO(Constants.getDaoAddress()); + return _state.provider.dao; } function dollar() public view returns (IDollar) { - return IDollar(Constants.getDollarAddress()); + return _state.provider.dollar; } function univ2() public view returns (IERC20) { - return IERC20(Constants.getPairAddress()); + return _state.provider.univ2; } function totalBonded() public view returns (uint256) { @@ -106,10 +108,94 @@ contract PoolGetters is PoolState { return 0; } - function statusOf(address account) public view returns (PoolAccount.Status) { - return epoch() >= _state.accounts[account].fluidUntil ? - PoolAccount.Status.Frozen : - PoolAccount.Status.Fluid; + /** + * Streaming LP + */ + + // internal getter + function streamLp(address account) internal view returns (Stream storage) { + return _state.accounts[account].lpStream; + } + + function streamedLpFrom(address account) public view returns (uint256) { + return streamedFrom(streamLp(account)); + } + + function streamedLpUntil(address account) public view returns (uint256) { + return streamedUntil(streamLp(account)); + } + + function streamLpDuration(address account) public view returns (uint256) { + return streamDuration(streamLp(account)); + } + + function streamLpTimeleft(address account) public view returns (uint256) { + return streamTimeleft(streamLp(account)); + } + + function streamLpReserved(address account) public view returns (uint256) { + return streamReserved(streamLp(account)); + } + + function streamLpReleased(address account) public view returns (uint256) { + return streamReleased(streamLp(account)); + } + + function streamLpBoosted(address account) public view returns (uint256) { + return streamBoosted(streamLp(account)); + } + + function releasableLpAmount(address account) public view returns (uint256) { + return releasableAmount(streamLp(account)); + } + + function unreleasedLpAmount(address account) public view returns (uint256) { + return unreleasedAmount(streamLp(account)); + } + + /** + * Streaming Reward + */ + + // internal getter + function streamReward(address account) internal view returns (Stream storage) { + return _state.accounts[account].rewardStream; + } + + function streamedRewardFrom(address account) public view returns (uint256) { + return streamedFrom(streamReward(account)); + } + + function streamedRewardUntil(address account) public view returns (uint256) { + return streamedUntil(streamReward(account)); + } + + function streamRewardDuration(address account) public view returns (uint256) { + return streamDuration(streamReward(account)); + } + + function streamRewardTimeleft(address account) public view returns (uint256) { + return streamTimeleft(streamReward(account)); + } + + function streamRewardReserved(address account) public view returns (uint256) { + return streamReserved(streamReward(account)); + } + + function streamRewardReleased(address account) public view returns (uint256) { + return streamReleased(streamReward(account)); + } + + function streamRewardBoosted(address account) public view returns (uint256) { + return streamBoosted(streamReward(account)); + } + + function releasableRewardAmount(address account) public view returns (uint256) { + return releasableAmount(streamReward(account)); + } + + function unreleasedRewardAmount(address account) public view returns (uint256) { + return unreleasedAmount(streamReward(account)); } /** @@ -119,4 +205,8 @@ contract PoolGetters is PoolState { function epoch() internal view returns (uint256) { return dao().epoch(); } + + function blockTimestamp() internal view returns (uint256) { + return block.timestamp; + } } diff --git a/protocol/contracts/oracle/PoolSetters.sol b/protocol/contracts/oracle/PoolSetters.sol index 5a66d732..18b54ad8 100644 --- a/protocol/contracts/oracle/PoolSetters.sol +++ b/protocol/contracts/oracle/PoolSetters.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,8 +20,9 @@ pragma experimental ABIEncoderV2; import "@openzeppelin/contracts/math/SafeMath.sol"; import "./PoolState.sol"; import "./PoolGetters.sol"; +import "../streaming/StreamingSetters.sol"; -contract PoolSetters is PoolState, PoolGetters { +contract PoolSetters is PoolState, PoolGetters, StreamingSetters { using SafeMath for uint256; /** @@ -75,8 +76,4 @@ contract PoolSetters is PoolState, PoolGetters { _state.accounts[account].phantom = _state.accounts[account].phantom.sub(amount, reason); _state.balance.phantom = _state.balance.phantom.sub(amount, reason); } - - function unfreeze(address account) internal { - _state.accounts[account].fluidUntil = epoch().add(Constants.getPoolExitLockupEpochs()); - } } diff --git a/protocol/contracts/oracle/PoolState.sol b/protocol/contracts/oracle/PoolState.sol index 3ecf2a03..9f4b6a2b 100644 --- a/protocol/contracts/oracle/PoolState.sol +++ b/protocol/contracts/oracle/PoolState.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21,24 +21,26 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "../token/IDollar.sol"; import "./IDAO.sol"; import "./IUSDC.sol"; +import "../streaming/Stream.sol"; contract PoolAccount { - enum Status { - Frozen, - Fluid, - Locked - } - struct State { uint256 staged; uint256 claimable; uint256 bonded; uint256 phantom; - uint256 fluidUntil; + Stream.Stream lpStream; + Stream.Stream rewardStream; } } contract PoolStorage { + struct Provider { + IDAO dao; + IDollar dollar; + IERC20 univ2; + } + struct Balance { uint256 staged; uint256 claimable; @@ -48,7 +50,10 @@ contract PoolStorage { struct State { Balance balance; + Provider provider; + bool paused; + bool isInitialized; mapping(address => PoolAccount.State) accounts; } diff --git a/protocol/contracts/oracle/PoolUpgradable.sol b/protocol/contracts/oracle/PoolUpgradable.sol new file mode 100644 index 00000000..605cc99d --- /dev/null +++ b/protocol/contracts/oracle/PoolUpgradable.sol @@ -0,0 +1,68 @@ +/* + Copyright 2018-2019 zOS Global Limited + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +import "@openzeppelin/upgrades/contracts/utils/Address.sol"; +import "./PoolState.sol"; + +/** + * Based off of, and designed to interface with, openzeppelin/upgrades package + */ +contract PoolUpgradable is PoolState { + /** + * @dev Storage slot with the address of the current implementation. + * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is + * validated in the constructor. + */ + bytes32 private constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + + /** + * @dev Emitted when the implementation is upgraded. + * @param implementation Address of the new implementation. + */ + event Upgraded(address indexed implementation); + + function initialize() public { + require(!_state.isInitialized, "already initialized"); + } + + /** + * @dev Upgrades the proxy to a new implementation. + * @param newImplementation Address of the new implementation. + */ + function upgradeTo(address newImplementation) internal { + setImplementation(newImplementation); + + emit Upgraded(newImplementation); + } + + /** + * @dev Sets the implementation address of the proxy. + * @param newImplementation Address of the new implementation. + */ + function setImplementation(address newImplementation) private { + require(OpenZeppelinUpgradesAddress.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address"); + + bytes32 slot = IMPLEMENTATION_SLOT; + + assembly { + sstore(slot, newImplementation) + } + } +} diff --git a/protocol/contracts/streaming/Stream.sol b/protocol/contracts/streaming/Stream.sol new file mode 100644 index 00000000..319e8707 --- /dev/null +++ b/protocol/contracts/streaming/Stream.sol @@ -0,0 +1,28 @@ +/* + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +contract Stream { + struct Stream { + uint256 reserved; + uint256 released; + uint64 timestampFrom; + uint64 timestampTo; + uint64 boostCounter; + } +} \ No newline at end of file diff --git a/protocol/contracts/streaming/StreamingGetters.sol b/protocol/contracts/streaming/StreamingGetters.sol new file mode 100644 index 00000000..89477827 --- /dev/null +++ b/protocol/contracts/streaming/StreamingGetters.sol @@ -0,0 +1,86 @@ +/* + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +import "@openzeppelin/contracts/math/SafeMath.sol"; +import "./Stream.sol"; + +contract StreamingGetters is Stream { + using SafeMath for uint256; + + function streamedFrom(Stream memory currentStream) internal pure returns (uint256) { + return currentStream.timestampFrom; + } + + function streamedUntil(Stream memory currentStream) internal pure returns (uint256) { + return currentStream.timestampTo; + } + + function streamDuration(Stream memory currentStream) internal pure returns (uint256) { + return streamedUntil(currentStream).sub(streamedFrom(currentStream)); + } + + function streamTimeleft(Stream memory currentStream) internal view returns (uint256) { + uint256 curTime = blockTimestamp(); + uint256 untilTime = streamedUntil(currentStream); + + if (curTime >= untilTime) { + return 0; + } + + return untilTime.sub(curTime); + } + + function streamReserved(Stream memory currentStream) internal pure returns (uint256) { + return currentStream.reserved; + } + + function streamReleased(Stream memory currentStream) internal pure returns (uint256) { + return currentStream.released; + } + + function streamBoosted(Stream memory currentStream) internal pure returns (uint256) { + return currentStream.boostCounter; + } + + function releasableAmount(Stream memory currentStream) internal view returns (uint256) { + uint256 curTime = blockTimestamp(); + uint256 untilTime = streamedUntil(currentStream); + + uint256 releasedAmount; + if (untilTime == 0) { + return 0; + } else if (curTime >= untilTime) { + releasedAmount = streamReserved(currentStream); + } else { + releasedAmount = streamReserved(currentStream) + .mul(curTime.sub(streamedFrom(currentStream))) + .div(streamDuration(currentStream)); + } + + return releasedAmount.sub(streamReleased(currentStream)); + } + + function unreleasedAmount(Stream memory currentStream) internal pure returns (uint256) { + return streamReserved(currentStream).sub(streamReleased(currentStream)); + } + + function blockTimestamp() internal view returns (uint256) { + return block.timestamp; + } +} \ No newline at end of file diff --git a/protocol/contracts/streaming/StreamingSetters.sol b/protocol/contracts/streaming/StreamingSetters.sol new file mode 100644 index 00000000..56c63bcb --- /dev/null +++ b/protocol/contracts/streaming/StreamingSetters.sol @@ -0,0 +1,49 @@ +/* + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +pragma solidity ^0.5.17; +pragma experimental ABIEncoderV2; + +import "@openzeppelin/contracts/math/SafeMath.sol"; +import "./Stream.sol"; +import "./StreamingGetters.sol"; + +contract StreamingSetters is Stream, StreamingGetters { + using SafeMath for uint256; + + function setStream(Stream storage currentStream, uint256 amount, uint256 streamPeriod) internal { + currentStream.reserved = amount; + currentStream.released = 0; + currentStream.timestampFrom = uint64(blockTimestamp()); + currentStream.timestampTo = uint64(blockTimestamp().add(streamPeriod)); // safe + } + + function resetStream(Stream storage currentStream) internal { + currentStream.reserved = 0; + currentStream.released = 0; + currentStream.timestampFrom = 0; + currentStream.timestampTo = 0; + currentStream.boostCounter = 0; + } + + function incrementBoostCounter(Stream storage currentStream) internal { + currentStream.boostCounter++; // safe + } + + function incrementReleased(Stream storage currentStream, uint256 amount) internal { + currentStream.released = currentStream.released.add(amount); + } +} \ No newline at end of file diff --git a/protocol/contracts/token/Dollar.sol b/protocol/contracts/token/Dollar.sol index 22b16dba..895e233e 100644 --- a/protocol/contracts/token/Dollar.sol +++ b/protocol/contracts/token/Dollar.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ import "./IDollar.sol"; contract Dollar is IDollar, MinterRole, ERC20Detailed, Permittable, ERC20Burnable { constructor() - ERC20Detailed("Empty Set Dollar", "ESD", 18) + ERC20Detailed("Universal Dollar", "U8D", 18) Permittable() public { } diff --git a/protocol/contracts/token/IDollar.sol b/protocol/contracts/token/IDollar.sol index 3ac501ec..2935ca19 100644 --- a/protocol/contracts/token/IDollar.sol +++ b/protocol/contracts/token/IDollar.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/contracts/token/Permittable.sol b/protocol/contracts/token/Permittable.sol index 78985a20..e996114d 100644 --- a/protocol/contracts/token/Permittable.sol +++ b/protocol/contracts/token/Permittable.sol @@ -1,5 +1,5 @@ /* - Copyright 2020 Empty Set Squad + Copyright 2021 Universal Dollar Devs, based on the works of the Empty Set Squad Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/protocol/migrations/2_deploy.js b/protocol/migrations/2_deploy.js index 8c58d6a3..3af7a5ec 100644 --- a/protocol/migrations/2_deploy.js +++ b/protocol/migrations/2_deploy.js @@ -1,21 +1,47 @@ +const Deployer1 = artifacts.require("Deployer1"); +const Deployer2 = artifacts.require("Deployer2"); +const Deployer3 = artifacts.require("Deployer3"); const Implementation = artifacts.require("Implementation"); +const Root = artifacts.require("Root"); +const TestnetUSDC = artifacts.require("TestnetUSDC"); -async function deployImplementation(deployer) { - await deployer.deploy(Implementation); +async function deployTestnetUSDC(deployer) { + await deployer.deploy(TestnetUSDC); +} + +async function deployTestnet(deployer) { + const d1 = await deployer.deploy(Deployer1); + const root = await deployer.deploy(Root, d1.address); + const rootAsD1 = await Deployer1.at(root.address); + + const d2 = await deployer.deploy(Deployer2); + await rootAsD1.implement(d2.address); + const rootAsD2 = await Deployer2.at(root.address); + + const d3 = await deployer.deploy(Deployer3); + await rootAsD2.implement(d3.address); + const rootAsD3 = await Deployer3.at(root.address); + + const implementation = await deployer.deploy(Implementation); + await rootAsD3.implement(implementation.address); } module.exports = function(deployer) { deployer.then(async() => { console.log(deployer.network); switch (deployer.network) { + case 'mainnet': + await deployTestnet(deployer); + break; case 'development': + // await deployTestnetUSDC(deployer); + await deployTestnet(deployer); + break; + case 'kovan': case 'rinkeby': case 'ropsten': - await deployImplementation(deployer); - break; - case 'mainnet': - case 'mainnet-fork': - await deployImplementation(deployer); + // await deployTestnetUSDC(deployer); + await deployTestnet(deployer); break; default: throw("Unsupported network"); diff --git a/protocol/package-lock.json b/protocol/package-lock.json index 434ae3e3..2fb6f48a 100644 --- a/protocol/package-lock.json +++ b/protocol/package-lock.json @@ -1,5 +1,5 @@ { - "name": "@emptysetsquad/dollar", + "name": "@8quad/u8d-protocol", "version": "0.0.0", "lockfileVersion": 1, "requires": true, @@ -13,6 +13,21 @@ "@babel/highlight": "^7.8.3" } }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, "@babel/helper-validator-identifier": { "version": "7.9.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", @@ -67,6 +82,25 @@ } } }, + "@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "@babel/runtime": { "version": "7.9.6", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", @@ -84,6 +118,37 @@ } } }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, "@openzeppelin/contract-loader": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.1.tgz", @@ -722,6 +787,24 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.1.tgz", + "integrity": "sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/underscore": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.10.0.tgz", @@ -800,12 +883,6 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "antlr4ts": { - "version": "0.5.0-alpha.3", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.3.tgz", - "integrity": "sha512-La89tKkGcHFIVuruv4Bm1esc3zLmES2NOTEwwNS1pudz+zx/0FNqQeUu9p48i9/QHKPVqjN87LB+q3buTg7oDQ==", - "dev": true - }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -892,6 +969,12 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "await-semaphore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", + "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -1656,6 +1739,12 @@ "safe-buffer": "^5.1.1" } }, + "blakejs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=", + "dev": true + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -1832,6 +1921,12 @@ "safe-buffer": "^5.1.2" } }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "dev": true + }, "buffer": { "version": "5.4.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", @@ -2051,20 +2146,6 @@ "integrity": "sha1-fad6+Yu96c5LWzWM1Va13e0tMUk=", "dev": true }, - "cli-color": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", - "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", - "dev": true, - "requires": { - "ansi-regex": "^2.1.1", - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "memoizee": "^0.4.14", - "timers-ext": "^0.1.5" - } - }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -2786,18 +2867,6 @@ "ext": "^1.1.2" } }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -2825,69 +2894,132 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "eth-block-tracker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", - "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "eth-json-rpc-errors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", + "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", "dev": true, "requires": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" + "fast-safe-stringify": "^2.0.6" + } + }, + "eth-json-rpc-filters": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.1.tgz", + "integrity": "sha512-tPfohezq8mSmwa47xvq6PGzBDLZ0njWJMB1J+OPuv+n+1WkWDlf3l3tqJXpq96RxhrzK2q7wiweRS5aGIzpq4Q==", + "dev": true, + "requires": { + "await-semaphore": "^0.1.3", + "eth-json-rpc-middleware": "^6.0.0", + "eth-query": "^2.1.2", + "json-rpc-engine": "^5.3.0", + "lodash.flatmap": "^4.5.0", + "safe-event-emitter": "^1.0.1" }, "dependencies": { - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", + "eth-json-rpc-middleware": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz", + "integrity": "sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==", "dev": true, "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-query": "^2.1.2", + "eth-rpc-errors": "^3.0.0", + "eth-sig-util": "^1.4.2", + "ethereumjs-util": "^5.1.2", + "json-rpc-engine": "^5.3.0", + "json-stable-stringify": "^1.0.1", + "node-fetch": "^2.6.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "eth-sig-util": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", + "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", + "dev": true, + "requires": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" + } + }, + "ethereumjs-abi": { + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1ce6a1d64235fabe2aaf827fd606def55693508f", + "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "dev": true, + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } } }, "ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", "ethjs-util": "^0.1.3", - "keccak": "^1.0.2", "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" + "safe-buffer": "^5.1.1" } }, - "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "json-rpc-engine": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", + "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", "dev": true, "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" + "eth-rpc-errors": "^3.0.0", + "safe-event-emitter": "^1.0.1" } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, "eth-json-rpc-infura": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", @@ -2983,6 +3115,15 @@ "xtend": "^4.0.1" } }, + "eth-rpc-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz", + "integrity": "sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.6" + } + }, "eth-sig-util": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-2.5.3.tgz", @@ -3110,6 +3251,74 @@ "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=", "dev": true }, + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dev": true, + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + }, + "dependencies": { + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "keccak": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", + "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "dev": true, + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "secp256k1": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", + "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", + "dev": true, + "requires": { + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + } + } + }, "ethereum-ens": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/ethereum-ens/-/ethereum-ens-0.7.8.tgz", @@ -3443,16 +3652,6 @@ "strip-hex-prefix": "1.0.0" } }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "eventemitter3": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", @@ -3574,6 +3773,12 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -18715,12 +18920,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", @@ -19090,6 +19289,12 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, + "lodash.flatmap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", + "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=", + "dev": true + }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", @@ -19156,15 +19361,6 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "dev": true, - "requires": { - "es5-ext": "~0.10.2" - } - }, "ltgt": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", @@ -19232,22 +19428,6 @@ } } }, - "memoizee": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", - "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.45", - "es6-weak-map": "^2.0.2", - "event-emitter": "^0.3.5", - "is-promise": "^2.1", - "lru-queue": "0.1", - "next-tick": "1", - "timers-ext": "^0.1.5" - } - }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -19552,6 +19732,12 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "dev": true + }, "node-environment-flags": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", @@ -19576,6 +19762,12 @@ "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", "dev": true }, + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "dev": true + }, "nofilter": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.3.tgz", @@ -20541,35 +20733,6 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, - "sol-merger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sol-merger/-/sol-merger-3.1.0.tgz", - "integrity": "sha512-4/JELeFlB8bcyqttRZ7pE/EGpevft9Q7IPjMaKLKMrj1exmdyt+1qSfuSXxueFXRZQxSd21u6DjEedDkOtQ5yQ==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.3", - "cli-color": "^1.4.0", - "commander": "^4.0.1", - "debug": "^4.1.1", - "fs-extra": "^8.0.1", - "glob": "^7.1.2", - "strip-json-comments": "^3.0.1" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - } - } - }, "solidity-parser-antlr": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", @@ -20942,16 +21105,6 @@ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "dev": true, - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", @@ -21062,16 +21215,15 @@ } }, "truffle-plugin-verify": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/truffle-plugin-verify/-/truffle-plugin-verify-0.4.0.tgz", - "integrity": "sha512-wI6J8vB6DZYyqTouMCayGWwTqy5VZwLaZ/vGjRjtt1MdXDzfyeGw5UHJujjFQYU1hCDYt/0LmAVmBkWg9MBWmA==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/truffle-plugin-verify/-/truffle-plugin-verify-0.5.4.tgz", + "integrity": "sha512-cFqhypLZ3C/71jh9muVWm37pKd+I1AHr/hu+h7Y3GEKaMFu5YoQ97mj/0AnrY4MO8pgoaghSqkCPiIj/xXCaoA==", "dev": true, "requires": { "axios": "0.19.2", "cli-logger": "0.5.40", "delay": "4.3.0", - "querystring": "0.2.0", - "sol-merger": "3.1.0" + "querystring": "0.2.0" }, "dependencies": { "axios": { @@ -21849,8 +22001,10 @@ "backoff": "^2.5.0", "clone": "^2.0.0", "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", + "eth-block-tracker": "^4.2.0", + "eth-json-rpc-filters": "^4.0.2", "eth-json-rpc-infura": "^3.1.0", + "eth-json-rpc-middleware": "^4.1.1", "eth-sig-util": "^1.4.2", "ethereumjs-block": "^1.2.2", "ethereumjs-tx": "^1.2.0", @@ -21867,6 +22021,42 @@ "xtend": "^4.0.1" }, "dependencies": { + "eth-block-tracker": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", + "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "dev": true, + "requires": { + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/runtime": "^7.5.5", + "eth-query": "^2.1.0", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "eth-json-rpc-middleware": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.1.tgz", + "integrity": "sha512-yoSuRgEYYGFdVeZg3poWOwAlRI+MoBIltmOB86MtpoZjvLbou9EB/qWMOWSmH2ryCWLW97VYY6NWsmWm3OAA7A==", + "dev": true, + "requires": { + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-json-rpc-errors": "^1.0.1", + "eth-query": "^2.1.2", + "eth-sig-util": "^1.4.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.7", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.6.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^5.1.3", + "json-stable-stringify": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, "eth-sig-util": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", @@ -21940,6 +22130,16 @@ "secp256k1": "^3.0.1" } }, + "json-rpc-engine": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz", + "integrity": "sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==", + "dev": true, + "requires": { + "eth-rpc-errors": "^3.0.0", + "safe-event-emitter": "^1.0.1" + } + }, "keccak": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", @@ -21952,6 +22152,12 @@ "safe-buffer": "^5.1.0" } }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, "ws": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", diff --git a/protocol/package.json b/protocol/package.json index 6572317a..8301771f 100644 --- a/protocol/package.json +++ b/protocol/package.json @@ -1,5 +1,5 @@ { - "name": "@emptysetsquad/dollar", + "name": "@8quad/u8d-protocol", "version": "0.0.0", "private": true, "description": "", @@ -27,7 +27,7 @@ "eth-sig-util": "^2.5.3", "husky": "^4.2.5", "mocha": "^7.0.0", - "truffle-privatekey-provider": "^1.3.0", - "truffle-plugin-verify": "^0.4.0" + "truffle-plugin-verify": "^0.5.4", + "truffle-privatekey-provider": "^1.3.0" } } diff --git a/protocol/test/dao/Bonding.test.js b/protocol/test/dao/Bonding.test.js index b85d58df..988f8a88 100644 --- a/protocol/test/dao/Bonding.test.js +++ b/protocol/test/dao/Bonding.test.js @@ -7,7 +7,7 @@ const { expect } = require('chai'); const MockBonding = contract.fromArtifact('MockBonding'); const Dollar = contract.fromArtifact('Dollar'); -const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 ESD -> 100M ESDS +const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 U8D -> 100M U8DS const FROZEN = new BN(0); const FLUID = new BN(1); diff --git a/protocol/test/dao/Comptroller.test.js b/protocol/test/dao/Comptroller.test.js index d1905d43..081ec94f 100644 --- a/protocol/test/dao/Comptroller.test.js +++ b/protocol/test/dao/Comptroller.test.js @@ -165,7 +165,7 @@ describe('Comptroller', function () { describe('on single call', function () { beforeEach(async function () { - await this.comptroller.redeemToAccountE(userAddress, new BN(0), new BN(100)); + await this.comptroller.redeemToAccountE(userAddress, new BN(100)); }); it('doesnt mint new Dollar tokens', async function () { @@ -181,8 +181,8 @@ describe('Comptroller', function () { describe('multiple calls', function () { beforeEach(async function () { - await this.comptroller.redeemToAccountE(userAddress, new BN(0), new BN(100)); - await this.comptroller.redeemToAccountE(userAddress, new BN(0), new BN(200)); + await this.comptroller.redeemToAccountE(userAddress, new BN(100)); + await this.comptroller.redeemToAccountE(userAddress, new BN(200)); }); it('doesnt mint new Dollar tokens', async function () { @@ -206,39 +206,7 @@ describe('Comptroller', function () { }); it('reverts', async function () { - await expectRevert(this.comptroller.redeemToAccountE(userAddress, new BN(0), new BN(400)), "not enough redeemable"); - }); - }); - - describe('with base amount', function () { - beforeEach(async function () { - await this.comptroller.redeemToAccountE(userAddress, new BN(1000), new BN(100)); - }); - - it('doesnt mint new Dollar tokens', async function () { - expect(await this.dollar.totalSupply()).to.be.bignumber.equal(new BN(1300)); - expect(await this.dollar.balanceOf(this.comptroller.address)).to.be.bignumber.equal(new BN(200)); - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(1100)); - }); - - it('updates total redeemable', async function () { - expect(await this.comptroller.totalRedeemable()).to.be.bignumber.equal(new BN(200)); - }); - }); - - describe('only base amount', function () { - beforeEach(async function () { - await this.comptroller.redeemToAccountE(userAddress, new BN(1000), new BN(0)); - }); - - it('doesnt mint new Dollar tokens', async function () { - expect(await this.dollar.totalSupply()).to.be.bignumber.equal(new BN(1300)); - expect(await this.dollar.balanceOf(this.comptroller.address)).to.be.bignumber.equal(new BN(300)); - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(1000)); - }); - - it('updates total redeemable', async function () { - expect(await this.comptroller.totalRedeemable()).to.be.bignumber.equal(new BN(300)); + await expectRevert(this.comptroller.redeemToAccountE(userAddress, new BN(400)), "not enough redeemable"); }); }); }); diff --git a/protocol/test/dao/Govern.test.js b/protocol/test/dao/Govern.test.js index e5ae9f88..9ed2ac6b 100644 --- a/protocol/test/dao/Govern.test.js +++ b/protocol/test/dao/Govern.test.js @@ -16,7 +16,7 @@ const UNDECIDED = new BN(0); const APPROVE = new BN(1); const REJECT = new BN(2); -const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 ESD -> 100M ESDS +const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 U8D -> 100M U8DS describe('Govern', function () { const [ ownerAddress, userAddress, userAddress2, userAddress3 ] = accounts; @@ -405,9 +405,9 @@ describe('Govern', function () { describe('ended with not enough approve votes', function () { beforeEach(async function () { - await this.govern.vote(this.implB.address, REJECT, {from: userAddress}); - await this.govern.vote(this.implB.address, REJECT, {from: userAddress3}); - await this.govern.vote(this.implB.address, APPROVE, {from: userAddress2}); + await this.govern.vote(this.implB.address, APPROVE, {from: userAddress}); + await this.govern.vote(this.implB.address, APPROVE, {from: userAddress3}); + await this.govern.vote(this.implB.address, REJECT, {from: userAddress2}); const epoch = await this.govern.epoch(); await this.govern.setEpochTime(epoch + EMERGENCY_COMMIT_PERIOD); diff --git a/protocol/test/dao/Market.test.js b/protocol/test/dao/Market.test.js index e2be16e2..2d23b59f 100644 --- a/protocol/test/dao/Market.test.js +++ b/protocol/test/dao/Market.test.js @@ -35,10 +35,6 @@ function premiumMean(start, end) { return 1.0 / ((1.0 - start) * (1.0 - end)) - 1.0 } -function prorated(coupons, epochs) { - return Math.floor(coupons * epochs / 90); -} - describe('Market', function () { const [ ownerAddress, userAddress, poolAddress ] = accounts; @@ -88,20 +84,17 @@ describe('Market', function () { it('updates user balances', async function () { expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(100000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); }); it('shows correct preimum', async function () { expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(100000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); }); it('updates dao balances', async function () { expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(100000)); + expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); @@ -113,7 +106,7 @@ describe('Market', function () { expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); expect(event.args.dollarAmount).to.be.bignumber.equal(new BN(100000)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); + expect(event.args.couponAmount).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); }); }); @@ -127,14 +120,12 @@ describe('Market', function () { it('updates user balances', async function () { expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 50000) + premium(950000, 50000, 50000))); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(100000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 50000) + premium(950000, 50000, 50000))); }); it('updates dao balances', async function () { expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(premium(1000000, 100000, 50000) + premium(950000, 50000, 50000))); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(100000)); + expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 50000) + premium(950000, 50000, 50000))); expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); @@ -146,124 +137,30 @@ describe('Market', function () { expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); expect(event.args.dollarAmount).to.be.bignumber.equal(new BN(50000)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(premium(950000, 50000, 50000))); - }); - }); - }); - - describe('migrateCoupons', function () { - beforeEach(async function () { - await this.market.incrementBalanceOfCouponsE(userAddress, 1, 100000); - }); - - describe('before call', function () { - it('updates user balances', async function () { - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(100000)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - }); - - it('updates dao balances', async function () { - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(100000)); - expect(await this.market.outstandingCoupons(1)).to.be.bignumber.equal(new BN(100000)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(0)); - }); - }); - - describe('no coupons', function () { - it('reverts', async function () { - await expectRevert(this.market.migrateCoupons(0, {from: userAddress}), "Market: No coupons"); - }); - }); - - describe('on single call', function () { - beforeEach(async function () { - this.result = await this.market.migrateCoupons(1, {from: userAddress}); - this.txHash = this.result.tx; - }); - - it('updates user balances', async function () { - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(50000)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(50000)); - }); - - it('updates dao balances', async function () { - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(50000)); - expect(await this.market.outstandingCoupons(1)).to.be.bignumber.equal(new BN(50000)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(50000)); - }); - - it('emits CouponPurchase event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponPurchase', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.dollarAmount).to.be.bignumber.equal(new BN(50000)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(0)); - }); - - it('emits CouponRedemption event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponRedemption', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(0)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(50000)); - }); - }); - - describe('call twice', function () { - beforeEach(async function () { - await this.market.migrateCoupons(1, {from: userAddress}); - }); - - it('reverts', async function () { - await expectRevert(this.market.migrateCoupons(1, {from: userAddress}), "Market: Already migrated"); - }); - }); - - describe('after expired', function () { - this.timeout(30000); - - beforeEach(async function () { - for (let i = 0; i < 90; i++) { - await this.market.incrementEpochE(); - } - await this.market.stepE(); - }); - - it('reverts', async function () { - await expectRevert(this.market.migrateCoupons(1, {from: userAddress}), "Market: No coupons"); + expect(event.args.couponAmount).to.be.bignumber.equal(new BN(50000 + premium(950000, 50000, 50000))); }); }); }); - describe('redeemCoupons - legacy', function () { + describe('redeemCoupons', function () { beforeEach(async function () { - await this.market.set(500); - await this.market.incrementTotalDebtE(100000); await this.market.purchaseCoupons(100000, {from: userAddress}); await this.market.mintToE(this.market.address, 100000); - - this.couponUnderlying = 100000; - this.couponAmount = premium(1000000, 100000, 100000); - - await this.market.incrementTotalRedeemableE(this.couponAmount); + await this.market.incrementTotalRedeemableE(100000); }); describe('before redeemable', function () { describe('same epoch', function () { it('reverts', async function () { - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}), "Market: Too early to redeem"); + await expectRevert(this.market.redeemCoupons(1, 100000, {from: userAddress}), "Market: Too early to redeem"); }); }); describe('next epoch', function () { it('reverts', async function () { await this.market.incrementEpochE(); - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}), "Market: Too early to redeem"); + await expectRevert(this.market.redeemCoupons(1, 100000, {from: userAddress}), "Market: Too early to redeem"); }); }); }); @@ -276,26 +173,24 @@ describe('Market', function () { describe('not enough coupon balance', function () { it('reverts', async function () { - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying + 1, {from: userAddress}), "Market: Insufficient coupon underlying balance"); + await expectRevert(this.market.redeemCoupons(1, 200000, {from: userAddress}), "Market: Insufficient coupon balance"); }); }); describe('on single call', function () { beforeEach(async function () { - this.result = await this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}); + this.result = await this.market.redeemCoupons(1, 100000, {from: userAddress}); this.txHash = this.result.tx; }); it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.couponUnderlying + this.couponAmount)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(0)); + expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(1000000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); }); it('updates dao balances', async function () { - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(100000 - this.couponAmount)); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(0)); + expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(0)); + expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); @@ -306,159 +201,7 @@ describe('Market', function () { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(this.couponUnderlying)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(this.couponAmount)); - }); - }); - - describe('multiple calls', function () { - beforeEach(async function () { - this.result = await this.market.redeemCoupons(1, 30000, {from: userAddress}); - this.result = await this.market.redeemCoupons(1, 50000, {from: userAddress}); - this.txHash = this.result.tx; - this.redeemedAmount = (this.couponAmount) * 8 / 10; - this.redeemedTotal = (this.couponUnderlying + this.couponAmount) * 8 / 10; - }); - - it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.redeemedTotal)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.closeTo(new BN(this.couponAmount - this.redeemedAmount), new BN(1)); - }); - - it('updates dao balances', async function () { - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.closeTo(new BN(100000 - this.redeemedAmount), new BN(1)); - expect(await this.market.totalCoupons()).to.be.bignumber.closeTo(new BN(this.couponAmount - this.redeemedAmount), new BN(1)); - expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalRedeemable()).to.be.bignumber.closeTo(new BN(this.couponAmount - this.redeemedAmount), new BN(1)); - }); - - it('emits CouponRedemption event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponRedemption', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(50000)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(this.couponAmount / 2)); - }); - }); - }); - - describe('after expired', function () { - this.timeout(30000); - - beforeEach(async function () { - await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalBondedE(100000); - - for (let i = 0; i < 90; i++) { - await this.market.incrementEpochE(); - } - await this.market.stepE(); - - this.result = await this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}); - this.txHash = this.result.tx; - }); - - it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.couponUnderlying)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - }); - - it('updates dao balances', async function () { - let extraBalance = 100000 - this.couponAmount; - let redeemableReturned = Math.floor(this.couponAmount * 0.775); - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.closeTo(new BN(100000 + extraBalance + redeemableReturned), new BN(1)); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(0)); - }); - - it('emits CouponRedemption event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponRedemption', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(this.couponUnderlying)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(0)); - }); - }); - }); - - describe('redeemCoupons - prorated', function () { - beforeEach(async function () { - await this.market.incrementTotalDebtE(100000); - await this.market.purchaseCoupons(100000, {from: userAddress}); - await this.market.mintToE(this.market.address, 100000); - - this.couponUnderlying = 100000; - this.couponAmount = premium(1000000, 100000, 100000); - - const coupons = (await this.market.balanceOfCoupons(userAddress, 1)).toString(); - const underlying = (await this.market.balanceOfCouponUnderlying(userAddress, 1)).toString(); - - await this.market.incrementTotalRedeemableE(this.couponAmount); - }); - - describe('before redeemable', function () { - describe('same epoch', function () { - it('reverts', async function () { - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}), "Market: Too early to redeem"); - }); - }); - - describe('next epoch', function () { - it('reverts', async function () { - await this.market.incrementEpochE(); - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}), "Market: Too early to redeem"); - }); - }); - }); - - describe('after redeemable', function () { - beforeEach(async function () { - await this.market.incrementEpochE(); - await this.market.incrementEpochE(); - await this.market.updateEraE(0); // expansion - }); - - describe('not enough coupon balance', function () { - it('reverts', async function () { - await expectRevert(this.market.redeemCoupons(1, this.couponUnderlying + 1, {from: userAddress}), "Market: Insufficient coupon underlying balance"); - }); - }); - - describe('on single call', function () { - beforeEach(async function () { - this.result = await this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}); - this.txHash = this.result.tx; - }); - - it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.couponUnderlying + prorated(this.couponAmount, 1))); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - }); - - it('updates dao balances', async function () { - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(100000 - prorated(this.couponAmount, 1))); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(this.couponAmount - prorated(this.couponAmount, 1))); - }); - - it('emits CouponRedemption event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponRedemption', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(this.couponUnderlying)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(this.couponAmount)); + expect(event.args.couponAmount).to.be.bignumber.equal(new BN(100000)); }); }); @@ -467,20 +210,18 @@ describe('Market', function () { this.result = await this.market.redeemCoupons(1, 30000, {from: userAddress}); this.result = await this.market.redeemCoupons(1, 50000, {from: userAddress}); this.txHash = this.result.tx; - this.redeemedAmount = (this.couponAmount) * 8 / 10; - this.redeemedTotal = (this.couponUnderlying + prorated(this.couponAmount, 1)) * 8 / 10; }); it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.redeemedTotal)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.closeTo(new BN(this.couponAmount - this.redeemedAmount), new BN(1)); + expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(980000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(20000 + premium(1000000, 100000, 100000))); }); it('updates dao balances', async function () { - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.closeTo(new BN(100000 - prorated(this.redeemedAmount, 1)), new BN(1)); - expect(await this.market.totalCoupons()).to.be.bignumber.closeTo(new BN(this.couponAmount - this.redeemedAmount), new BN(1)); + expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.equal(new BN(20000)); + expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(20000 + premium(1000000, 100000, 100000))); expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalRedeemable()).to.be.bignumber.closeTo(new BN(this.couponAmount - prorated(this.redeemedAmount, 1)), new BN(1)); + expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(20000)); }); it('emits CouponRedemption event', async function () { @@ -489,8 +230,7 @@ describe('Market', function () { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(50000)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(this.couponAmount / 2)); + expect(event.args.couponAmount).to.be.bignumber.equal(new BN(50000)); }); }); }); @@ -499,42 +239,14 @@ describe('Market', function () { this.timeout(30000); beforeEach(async function () { - await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalBondedE(100000); - for (let i = 0; i < 90; i++) { await this.market.incrementEpochE(); } await this.market.stepE(); - - this.result = await this.market.redeemCoupons(1, this.couponUnderlying, {from: userAddress}); - this.txHash = this.result.tx; }); - it('updates user balances', async function () { - expect(await this.dollar.balanceOf(userAddress)).to.be.bignumber.equal(new BN(900000 + this.couponUnderlying)); - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(0)); - }); - - it('updates dao balances', async function () { - let extraBalance = 100000 - this.couponAmount; - let redeemableReturned = Math.floor(this.couponAmount * 0.775); - expect(await this.dollar.balanceOf(this.market.address)).to.be.bignumber.closeTo(new BN(100000 + extraBalance + redeemableReturned), new BN(1)); - expect(await this.market.totalCoupons()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalCouponUnderlying()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.market.totalRedeemable()).to.be.bignumber.equal(new BN(0)); - }); - - it('emits CouponRedemption event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponRedemption', { - account: userAddress, - }); - - expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.amount).to.be.bignumber.equal(new BN(this.couponUnderlying)); - expect(event.args.couponAmount).to.be.bignumber.equal(new BN(0)); + it('reverts', async function () { + await expectRevert(this.market.redeemCoupons(1, 100000, {from: userAddress}), "Market: Insufficient coupon balance"); }); }); }); @@ -608,15 +320,13 @@ describe('Market', function () { describe('on call from self', function () { beforeEach(async function () { - this.result = await this.market.transferCoupons(userAddress, ownerAddress, 1, 50000, {from: userAddress}); + this.result = await this.market.transferCoupons(userAddress, ownerAddress, 1, 100000, {from: userAddress}); this.txHash = this.result.tx; }); it('updates balances', async function () { - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.closeTo(new BN(premium(1000000, 100000, 100000)).divn(2), new BN(1)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(50000)); - expect(await this.market.balanceOfCoupons(ownerAddress, 1)).to.be.bignumber.closeTo(new BN(premium(1000000, 100000, 100000)).divn(2), new BN(1)); - expect(await this.market.balanceOfCouponUnderlying(ownerAddress, 1)).to.be.bignumber.equal(new BN(50000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); + expect(await this.market.balanceOfCoupons(ownerAddress, 1)).to.be.bignumber.equal(new BN(100000)); }); it('emits CouponTransfer event', async function () { @@ -626,13 +336,13 @@ describe('Market', function () { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.value).to.be.bignumber.equal(new BN(50000)); + expect(event.args.value).to.be.bignumber.equal(new BN(100000)); }); }); describe('on call from self too much', function () { it('reverts', async function () { - await expectRevert(this.market.transferCoupons(userAddress, ownerAddress, 1, 200000, {from: ownerAddress}), "Market: Insufficient coupon underlying balance"); + await expectRevert(this.market.transferCoupons(userAddress, ownerAddress, 1, 200000, {from: ownerAddress}), "Market: Insufficient coupon balance"); }); }); @@ -644,16 +354,14 @@ describe('Market', function () { describe('on approved call from other', function () { beforeEach(async function () { - await this.market.approveCoupons(ownerAddress, 50000, {from: userAddress}); - this.result = await this.market.transferCoupons(userAddress, ownerAddress, 1, 50000, {from: ownerAddress}); + await this.market.approveCoupons(ownerAddress, 100000, {from: userAddress}); + this.result = await this.market.transferCoupons(userAddress, ownerAddress, 1, 100000, {from: ownerAddress}); this.txHash = this.result.tx; }); it('updates balances', async function () { - expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.closeTo(new BN(premium(1000000, 100000, 100000)).divn(2), new BN(1)); - expect(await this.market.balanceOfCouponUnderlying(userAddress, 1)).to.be.bignumber.equal(new BN(50000)); - expect(await this.market.balanceOfCoupons(ownerAddress, 1)).to.be.bignumber.closeTo(new BN(premium(1000000, 100000, 100000)).divn(2), new BN(1)); - expect(await this.market.balanceOfCouponUnderlying(ownerAddress, 1)).to.be.bignumber.equal(new BN(50000)); + expect(await this.market.balanceOfCoupons(userAddress, 1)).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); + expect(await this.market.balanceOfCoupons(ownerAddress, 1)).to.be.bignumber.equal(new BN(100000)); }); it('updates approval', async function () { @@ -667,7 +375,7 @@ describe('Market', function () { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(1)); - expect(event.args.value).to.be.bignumber.equal(new BN(50000)); + expect(event.args.value).to.be.bignumber.equal(new BN(100000)); }); }); @@ -718,8 +426,7 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); - expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(0)); + expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); expect(event.args.newBonded).to.be.bignumber.equal(new BN(0)); }); @@ -733,7 +440,7 @@ describe('Market', function () { await this.market.purchaseCoupons(100000, {from: userAddress}); await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalRedeemableE(premium(1000000, 100000, 100000)); + await this.market.incrementTotalRedeemableE(100000); await this.market.incrementEpochE(); this.result = await this.market.stepE(); @@ -749,10 +456,10 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); - expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000))); + expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(100000 + premium(1000000, 100000, 100000))); + expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(100000)); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); - expect(event.args.newBonded).to.be.bignumber.equal(new BN(premium(1000000, 100000, 100000)).muln(225).divn(1000)); + expect(event.args.newBonded).to.be.bignumber.equal(new BN(22500)); }); }); @@ -770,7 +477,7 @@ describe('Market', function () { await this.market.purchaseCoupons(100000, {from: userAddress}); await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalRedeemableE(premium(1100000, 100000, 100000)); + await this.market.incrementTotalRedeemableE(100000); await this.market.incrementEpochE(); this.result = await this.market.stepE(); @@ -786,10 +493,10 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.closeTo(new BN(premium(1100000, 100000, 100000)), new BN(1)); - expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(premium(1100000, 100000, 100000))); + expect(event.args.couponsExpired).to.be.bignumber.closeTo(new BN(100000 + premium(1100000, 100000, 100000)), new BN(1)); + expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(100000)); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); - expect(event.args.newBonded).to.be.bignumber.equal(new BN(new BN(premium(1100000, 100000, 100000)))); + expect(event.args.newBonded).to.be.bignumber.equal(new BN(100000)); }); }); @@ -803,11 +510,8 @@ describe('Market', function () { await this.market.incrementEpochE(); await this.market.purchaseCoupons(50000, {from: userAddress}); - this.couponAmount = premium(1100000, 100000, 50000) + premium(1050000, 50000, 50000); - await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalRedeemableE(this.couponAmount); - + await this.market.incrementTotalRedeemableE(100000); this.result = await this.market.stepE(); @@ -822,9 +526,9 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(premium(1100000, 100000, 50000))); + expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(50000 + premium(1100000, 100000, 50000))); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); - expect(event.args.newBonded).to.be.bignumber.closeTo(new BN(this.couponAmount - premium(1050000, 50000, 50000)), new BN(1)); + expect(event.args.newBonded).to.be.bignumber.closeTo(new BN(100000 - 50000 - premium(1050000, 50000, 50000)), new BN(1)); }); }); @@ -838,10 +542,8 @@ describe('Market', function () { await this.market.incrementEpochE(); await this.market.purchaseCoupons(50000, {from: userAddress}); - this.couponAmount = premium(1100000, 150000, 50000) + premium(1050000, 100000, 50000); - await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalRedeemableE(this.couponAmount); + await this.market.incrementTotalRedeemableE(100000); this.result = await this.market.stepE(); @@ -856,10 +558,10 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(premium(1100000, 150000, 50000))); - expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(this.couponAmount - premium(1050000, 100000, 50000))); + expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(50000 + premium(1100000, 150000, 50000))); + expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(100000 - 50000 - premium(1050000, 100000, 50000))); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); - expect(event.args.newBonded).to.be.bignumber.equal(new BN(this.couponAmount - premium(1050000, 100000, 50000))); + expect(event.args.newBonded).to.be.bignumber.equal(new BN(100000 - 50000 - premium(1050000, 100000, 50000))); }); }); @@ -873,12 +575,10 @@ describe('Market', function () { await this.market.incrementEpochE(); await this.market.purchaseCoupons(50000, {from: userAddress}); - this.couponAmount = premium(1100000, 120000, 50000) + premium(1050000, 70000, 50000); - await this.market.mintToE(this.market.address, 100000); - await this.market.incrementTotalRedeemableE(this.couponAmount); + await this.market.incrementTotalRedeemableE(100000); - this.result = await this.market.stepE() + this.result = await this.market.stepE(); for (let i = 0; i < 89; i++) { await this.market.incrementEpochE(); @@ -891,10 +591,10 @@ describe('Market', function () { const event = await expectEvent.inTransaction(this.txHash, MockMarket, 'CouponExpiration', { }); expect(event.args.epoch).to.be.bignumber.equal(new BN(2)); - expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(premium(1100000, 120000, 50000))); - expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(this.couponAmount - premium(1050000, 70000, 50000))); + expect(event.args.couponsExpired).to.be.bignumber.equal(new BN(50000 + premium(1100000, 120000, 50000))); + expect(event.args.lessRedeemable).to.be.bignumber.equal(new BN(100000 - 50000 - premium(1050000, 70000, 50000))); expect(event.args.lessDebt).to.be.bignumber.equal(new BN(0)); - expect(event.args.newBonded).to.be.bignumber.equal(new BN(this.couponAmount - premium(1050000, 70000, 50000))); + expect(event.args.newBonded).to.be.bignumber.equal(new BN(100000 - 50000 - premium(1050000, 70000, 50000))); }); }); }); diff --git a/protocol/test/dao/Regulator.test.js b/protocol/test/dao/Regulator.test.js index 750b347e..670cf683 100644 --- a/protocol/test/dao/Regulator.test.js +++ b/protocol/test/dao/Regulator.test.js @@ -42,10 +42,6 @@ describe('Regulator', function () { }); describe('up regulation', function () { - beforeEach(async function () { - await this.regulator.updateEraE(1); - }); - describe('above limit', function () { beforeEach(async function () { await this.regulator.incrementEpochE(); // 1 @@ -79,11 +75,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyIncrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); @@ -130,11 +121,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyIncrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); @@ -189,11 +175,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(this.expectedRewardCoupons)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyIncrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); @@ -205,67 +186,63 @@ describe('Regulator', function () { }); }); }); + }); - describe('(1 + 2) - refresh redeemable then mint to bonded', function () { - beforeEach(async function () { - await this.regulator.incrementEpochE(); // 1 - - await this.regulator.incrementTotalBondedE(1000000); - await this.regulator.mintToE(this.regulator.address, 1000000); + describe('(1 + 2) - refresh redeemable then mint to bonded', function () { + beforeEach(async function () { + await this.regulator.incrementEpochE(); // 1 - await this.regulator.increaseDebtE(new BN(2000)); - await this.regulator.incrementBalanceOfCouponsE(userAddress, 1, new BN(2000)); + await this.regulator.incrementTotalBondedE(1000000); + await this.regulator.mintToE(this.regulator.address, 1000000); - await this.regulator.incrementEpochE(); // 2 + await this.regulator.increaseDebtE(new BN(2000)); + await this.regulator.incrementBalanceOfCouponsE(userAddress, 1, new BN(2000)); - }); + await this.regulator.incrementEpochE(); // 2 - describe('on step', function () { - beforeEach(async function () { - await this.oracle.set(101, 100, true); - this.bondedReward = 5750; - this.newRedeemable = 2000; - this.poolReward = 2000; - this.treasuryReward = 250; + }); - this.result = await this.regulator.stepE(); - this.txHash = this.result.tx; - }); + describe('on step', function () { + beforeEach(async function () { + await this.oracle.set(101, 100, true); + this.bondedReward = 5750; + this.newRedeemable = 2000; + this.poolReward = 2000; + this.treasuryReward = 250; - it('mints new Dollar tokens', async function () { - expect(await this.dollar.totalSupply()).to.be.bignumber.equal(new BN(1010000)); - expect(await this.dollar.balanceOf(this.regulator.address)).to.be.bignumber.equal(new BN(1000000 + this.newRedeemable + this.bondedReward)); - expect(await this.dollar.balanceOf(poolAddress)).to.be.bignumber.equal(new BN(this.poolReward)); - expect(await this.dollar.balanceOf(TREASURY_ADDRESS)).to.be.bignumber.equal(new BN(this.treasuryReward)); - }); + this.result = await this.regulator.stepE(); + this.txHash = this.result.tx; + }); - it('updates totals', async function () { - expect(await this.regulator.totalStaged()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.totalBonded()).to.be.bignumber.equal(new BN(1000000 + this.bondedReward)); - expect(await this.regulator.totalDebt()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.totalSupply()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.totalCoupons()).to.be.bignumber.equal(new BN(2000)); - expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(2000)); - }); + it('mints new Dollar tokens', async function () { + expect(await this.dollar.totalSupply()).to.be.bignumber.equal(new BN(1010000)); + expect(await this.dollar.balanceOf(this.regulator.address)).to.be.bignumber.equal(new BN(1000000 + this.newRedeemable + this.bondedReward)); + expect(await this.dollar.balanceOf(poolAddress)).to.be.bignumber.equal(new BN(this.poolReward)); + expect(await this.dollar.balanceOf(TREASURY_ADDRESS)).to.be.bignumber.equal(new BN(this.treasuryReward)); + }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); + it('updates totals', async function () { + expect(await this.regulator.totalStaged()).to.be.bignumber.equal(new BN(0)); + expect(await this.regulator.totalBonded()).to.be.bignumber.equal(new BN(1000000 + this.bondedReward)); + expect(await this.regulator.totalDebt()).to.be.bignumber.equal(new BN(0)); + expect(await this.regulator.totalSupply()).to.be.bignumber.equal(new BN(0)); + expect(await this.regulator.totalCoupons()).to.be.bignumber.equal(new BN(2000)); + expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(2000)); + }); - it('emits SupplyIncrease event', async function () { - const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); + it('emits SupplyIncrease event', async function () { + const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); - expect(event.args.epoch).to.be.bignumber.equal(new BN(7)); - expect(event.args.price).to.be.bignumber.equal(new BN(101).mul(new BN(10).pow(new BN(16)))); - expect(event.args.newRedeemable).to.be.bignumber.equal(new BN(2000)); - expect(event.args.lessDebt).to.be.bignumber.equal(new BN(2000)); - expect(event.args.newBonded).to.be.bignumber.equal(new BN(8000)); - }); + expect(event.args.epoch).to.be.bignumber.equal(new BN(7)); + expect(event.args.price).to.be.bignumber.equal(new BN(101).mul(new BN(10).pow(new BN(16)))); + expect(event.args.newRedeemable).to.be.bignumber.equal(new BN(2000)); + expect(event.args.lessDebt).to.be.bignumber.equal(new BN(2000)); + expect(event.args.newBonded).to.be.bignumber.equal(new BN(8000)); }); }); + }); - describe('(3) - above limit but below coupon limit', function () { + describe('(3) - above limit but below coupon limit', function () { beforeEach(async function () { await this.regulator.incrementEpochE(); // 1 @@ -307,11 +284,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(this.expectedRewardCoupons)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyIncrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyIncrease', {}); @@ -322,13 +294,9 @@ describe('Regulator', function () { expect(event.args.newBonded).to.be.bignumber.equal(new BN(this.expectedRewardLP + this.expectedRewardDAO + this.expectedRewardTreasury)); }); }); - }); }); - describe('down regulation', function () { - beforeEach(async function () { - await this.regulator.updateEraE(0); - }); + describe('down regulation', function () { describe('under limit', function () { beforeEach(async function () { await this.regulator.incrementEpochE(); // 1 @@ -364,11 +332,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(8)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -414,11 +377,6 @@ describe('Regulator', function () { expect(await this.regulator.totalRedeemable()).to.be.bignumber.equal(new BN(0)); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -467,11 +425,6 @@ describe('Regulator', function () { }); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -520,11 +473,6 @@ describe('Regulator', function () { }); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -573,11 +521,6 @@ describe('Regulator', function () { }); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -626,11 +569,6 @@ describe('Regulator', function () { }); }); - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - it('emits SupplyDecrease event', async function () { const event = await expectEvent.inTransaction(this.txHash, MockRegulator, 'SupplyDecrease', {}); @@ -650,6 +588,7 @@ describe('Regulator', function () { await this.regulator.mintToE(this.regulator.address, 1000000); await this.regulator.incrementEpochE(); // 2 + }); describe('on step', function () { @@ -679,32 +618,6 @@ describe('Regulator', function () { expect(event.args.epoch).to.be.bignumber.equal(new BN(7)); }); - - describe('from contraction', function () { - beforeEach(async function () { - await this.regulator.updateEraE(1); - await this.regulator.incrementEpochE(); // 3 - await this.regulator.stepE(); - }); - - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - }); - - describe('from expansion', function () { - beforeEach(async function () { - await this.regulator.updateEraE(0); - await this.regulator.incrementEpochE(); // 3 - await this.regulator.stepE(); - }); - - it('updates era', async function () { - expect(await this.regulator.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.regulator.eraStart()).to.be.bignumber.equal(new BN(7)); - }); - }); }); }); diff --git a/protocol/test/dao/State.test.js b/protocol/test/dao/State.test.js index b5bf5e8b..33f4d850 100644 --- a/protocol/test/dao/State.test.js +++ b/protocol/test/dao/State.test.js @@ -23,13 +23,13 @@ describe('State', function () { describe('erc20 details', function () { describe('name', function () { it('increments total bonded', async function () { - expect(await this.setters.name()).to.be.equal("Empty Set Dollar Stake"); + expect(await this.setters.name()).to.be.equal("Universal Dollar Stake"); }); }); describe('symbol', function () { it('increments total bonded', async function () { - expect(await this.setters.symbol()).to.be.equal("ESDS"); + expect(await this.setters.symbol()).to.be.equal("U8DS"); }); }); @@ -211,43 +211,6 @@ describe('State', function () { }); }); - describe('updateEra', function () { - beforeEach('call', async function () { - await this.setters.incrementEpochE(); - }); - - describe('before called', function () { - it('is 0', async function () { - expect(await this.setters.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.setters.eraStart()).to.be.bignumber.equal(new BN(0)); - }); - }); - - describe('when called change', function () { - beforeEach('call', async function () { - await this.setters.updateEraE(1); - }); - - it('is update', async function () { - expect(await this.setters.eraStatus()).to.be.bignumber.equal(new BN(1)); - expect(await this.setters.eraStart()).to.be.bignumber.equal(new BN(1)); - }); - }); - - describe('when called twi', function () { - beforeEach('call', async function () { - await this.setters.updateEraE(1); - await this.setters.incrementEpochE(); - await this.setters.updateEraE(0); - }); - - it('is update', async function () { - expect(await this.setters.eraStatus()).to.be.bignumber.equal(new BN(0)); - expect(await this.setters.eraStart()).to.be.bignumber.equal(new BN(2)); - }); - }); - }); - /** * Account */ @@ -369,25 +332,6 @@ describe('State', function () { }); }); - describe('incrementBalanceOfCouponUnderlying', function () { - const epoch = 1; - - describe('when called', function () { - beforeEach('call', async function () { - await this.setters.incrementBalanceOfCouponUnderlyingE(userAddress, epoch, 100); - await this.setters.incrementBalanceOfCouponUnderlyingE(userAddress, epoch, 100); - }); - - it('increments balance of coupons for user during epoch', async function () { - expect(await this.setters.balanceOfCouponUnderlying(userAddress, epoch)).to.be.bignumber.equal(new BN(200)); - }); - - it('increments total outstanding coupons', async function () { - expect(await this.setters.totalCouponUnderlying()).to.be.bignumber.equal(new BN(200)); - }); - }); - }); - describe('decrementBalanceOfCoupons', function () { const epoch = 1; @@ -418,39 +362,7 @@ describe('State', function () { it('reverts', async function () { await expectRevert( - this.setters.decrementBalanceOfCouponsE(userAddress, 200, epoch, "decrementBalanceOfCouponsE"), - "decrementBalanceOfCoupons"); - }); - }); - }); - - describe('decrementBalanceOfCouponUnderlying', function () { - const epoch = 1; - - describe('when called', function () { - beforeEach('call', async function () { - await this.setters.incrementBalanceOfCouponUnderlyingE(userAddress, epoch, 500); - await this.setters.decrementBalanceOfCouponUnderlyingE(userAddress, epoch, 100, "decrementBalanceOfCouponsE - 1"); - await this.setters.decrementBalanceOfCouponUnderlyingE(userAddress, epoch, 100, "decrementBalanceOfCouponsE - 2"); - }); - - it('decrements balance of coupons for user during epoch', async function () { - expect(await this.setters.balanceOfCouponUnderlying(userAddress, epoch)).to.be.bignumber.equal(new BN(300)); - }); - - it('decrements total outstanding coupons', async function () { - expect(await this.setters.totalCouponUnderlying()).to.be.bignumber.equal(new BN(300)); - }); - }); - - describe('when called erroneously', function () { - beforeEach('call', async function () { - await this.setters.incrementBalanceOfCouponUnderlyingE(userAddress, epoch, 100); - }); - - it('reverts', async function () { - await expectRevert( - this.setters.decrementBalanceOfCouponUnderlyingE(userAddress, 200, epoch, "decrementBalanceOfCouponsE"), + this.setters.decrementBalanceOfCouponsE(200, epoch, "decrementBalanceOfCouponsE"), "decrementBalanceOfCouponsE"); }); }); diff --git a/protocol/test/oracle/Oracle.test.js b/protocol/test/oracle/Oracle.test.js index 4ccfb0b2..dd6b6de6 100644 --- a/protocol/test/oracle/Oracle.test.js +++ b/protocol/test/oracle/Oracle.test.js @@ -27,9 +27,9 @@ async function priceForToBN(oracle) { return (await oracle.latestPrice()).value; } -async function simulateTrade(amm, esd, usdc) { +async function simulateTrade(amm, dollar, usdc) { return await amm.simulateTrade( - new BN(esd).mul(new BN(10).pow(new BN(18))), + new BN(dollar).mul(new BN(10).pow(new BN(18))), new BN(usdc).mul(new BN(10).pow(new BN(6)))); } diff --git a/protocol/test/oracle/Pool.test.js b/protocol/test/oracle/Pool.test.js index f6dc4d76..b4d211e0 100644 --- a/protocol/test/oracle/Pool.test.js +++ b/protocol/test/oracle/Pool.test.js @@ -8,7 +8,7 @@ const MockToken = contract.fromArtifact('MockToken'); const MockUniswapV2PairLiquidity = contract.fromArtifact('MockUniswapV2PairLiquidity'); const MockSettableDAO = contract.fromArtifact('MockSettableDAO'); -const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 ESD -> 100M ESDS +const INITIAL_STAKE_MULTIPLE = new BN(10).pow(new BN(6)); // 100 U8D -> 100M U8DS const FROZEN = new BN(0); const FLUID = new BN(1); @@ -23,7 +23,7 @@ describe('Pool', function () { beforeEach(async function () { this.dao = await MockSettableDAO.new({from: ownerAddress, gas: 8000000}); await this.dao.set(1); - this.dollar = await MockToken.new("Empty Set Dollar", "ESD", 18, {from: ownerAddress, gas: 8000000}); + this.dollar = await MockToken.new("Universal Dollar", "U8D", 18, {from: ownerAddress, gas: 8000000}); this.usdc = await MockToken.new("USD//C", "USDC", 18, {from: ownerAddress, gas: 8000000}); this.univ2 = await MockUniswapV2PairLiquidity.new({from: ownerAddress, gas: 8000000}); this.pool = await MockPool.new(this.usdc.address, {from: ownerAddress, gas: 8000000}); @@ -894,7 +894,7 @@ describe('Pool', function () { await incrementEpoch(this.dao); await this.dollar.mint(this.pool.address, 1000); - // 1000 ESD + 3000 USDC + // 1000 U8D + 3000 USDC await this.univ2.set(1000, 3000, 10); this.result = await this.pool.provide(1000, {from: userAddress}); diff --git a/protocol/test/oracle/PoolState.test.js b/protocol/test/oracle/PoolState.test.js index 4b536ff8..26daa67c 100644 --- a/protocol/test/oracle/PoolState.test.js +++ b/protocol/test/oracle/PoolState.test.js @@ -12,7 +12,7 @@ describe('PollState', function () { beforeEach(async function () { this.dao = await MockSettableDAO.new({from: ownerAddress}); - this.dollar = await MockToken.new("Empty Set Dollar", "ESD", 18, {from: ownerAddress}); + this.dollar = await MockToken.new("Universal Dollar", "U8D", 18, {from: ownerAddress}); this.setters = await MockPoolState.new({from: ownerAddress}); await this.setters.set(this.dao.address, this.dollar.address); }); diff --git a/protocol/test/token/Dollar.test.js b/protocol/test/token/Dollar.test.js index 158ae146..61288122 100644 --- a/protocol/test/token/Dollar.test.js +++ b/protocol/test/token/Dollar.test.js @@ -24,7 +24,7 @@ const permit = [ async function signPermit(dollar, privateKey, message) { const domainData = { - name: "Empty Set Dollar", + name: "Universal Dollar", version: "1", chainId: "1", verifyingContract: dollar, diff --git a/protocol/truffle.js b/protocol/truffle.js index 1235a24a..f197631e 100644 --- a/protocol/truffle.js +++ b/protocol/truffle.js @@ -18,9 +18,16 @@ * */ const PrivateKeyProvider = require('truffle-privatekey-provider'); -const privateKey = process.env.ESD_PRIVATE_KEY; -const infuraId = process.env.ESD_INFURA_ID; -const etherscanKey = process.env.ESD_ETHERSCAN_KEY; +const dotenv = require('dotenv'); +const path = require('path'); + +dotenv.config({ + path: path.resolve(__dirname, '.env'), +}); + +const privateKey = process.env.PRIVATE_KEY; +const infuraId = process.env.INFURA_ID; +const etherscanKey = process.env.ETHERSCAN_KEY; module.exports = { /** @@ -42,7 +49,7 @@ module.exports = { // development: { host: "127.0.0.1", // Localhost (default: none) - port: 7545, // Standard Ethereum port (default: none) + port: 8545, // Standard Ethereum port (default: none) network_id: "*", // Any network (default: none) gas: 8000000, }, @@ -52,8 +59,9 @@ module.exports = { provider: () => new PrivateKeyProvider(privateKey, 'https://mainnet.infura.io/v3/' + infuraId), network_id: 1, // Mainnet's id gas: 5500000, // Gas sent with each transaction (default: ~6700000) - gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) - timeoutBlocks: 1440, // # of blocks before a deployment times out (minimum/default: 50) + gasPrice: 100e9, // 100 gwei (in wei) (default: 100 gwei) + timeoutBlocks: 1440, // # of blocks before a deployment times out (minimum/default: 50) + skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) }, // Useful for deploying to a public network. @@ -61,7 +69,8 @@ module.exports = { ropsten: { provider: () => new PrivateKeyProvider(privateKey, 'https://ropsten.infura.io/v3/' + infuraId), network_id: 3, // Ropsten's id - gas: 5500000, // Ropsten has a lower block limit than mainnet + gas: 7500000, // Ropsten has a lower block limit than mainnet + gasPrice: 1e9, // 1 gwei (in wei) confirmations: 2, // # of confs to wait between deployments. (default: 0) timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) @@ -70,12 +79,23 @@ module.exports = { rinkeby: { provider: () => new PrivateKeyProvider(privateKey, 'https://rinkeby.infura.io/v3/' + infuraId), network_id: 4, // rinkeby's id - gas: 5500000, // rinkeby has a lower block limit than mainnet + gas: 7500000, // rinkeby has a lower block limit than mainnet + gasPrice: 1e9, // 1 gwei (in wei) confirmations: 2, // # of confs to wait between deployments. (default: 0) timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) }, + kovan: { + provider: () => new PrivateKeyProvider(privateKey, 'https://kovan.infura.io/v3/' + infuraId), + network_id: 42, // kovan's id + gas: 5500000, // kovan's gas limit + gasPrice: 1e9, // 1 gwei (in wei) + confirmations: 0, // # of confs to wait between deployments. (default: 0) + timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) + skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) + }, + // Useful for private networks // private: { // provider: () => new HDWalletProvider(mnemonic, `https://network.io`), @@ -86,7 +106,7 @@ module.exports = { // Set default mocha options here, use special reporters etc. mocha: { - // timeout: 100000 + timeout: 100000 }, // Configure your compilers From 4b77d37136cf408ffff507bdaaccb5c2cbdd9860 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Fri, 22 Jan 2021 21:02:47 +0000 Subject: [PATCH 02/10] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0eec1b4a..e5dc5be7 100644 --- a/README.md +++ b/README.md @@ -19,12 +19,14 @@ ## audit -is available [here](audit/REP-Dollar-06-11-20.pdf). +audit of ESD is available [here](audit/REP-Dollar-06-11-20.pdf). +
our audit will be available till the end of January 2021 ## u8d links - [Website](https://u8d.finance) - [Github](https://github.com/8quad) +- [Medium](https://8quad.medium.com/) - [Twitter](https://twitter.com/u_8_d) - [Telegram](https://t.me/UniversalDollar) - [Discord](https://discord.gg/3uTPBqkyvc) @@ -49,4 +51,4 @@ limitations under the License. ```
-made with 💔️ by the {ess}. \ No newline at end of file +made with passion by the 8quad. From 5abf0f3d535743847bc7105433193b5687b53e6f Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Sat, 23 Jan 2021 05:28:41 +0300 Subject: [PATCH 03/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5dc5be7..6570491b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ - `0x888888877A18532b78d259577d00057054C50Dd8` **U8D** - `0x8cb7c5422672F5432363C628358A5e7eA6938DC2` **Oracle** - `0x78c54b20CC4C2db6E7A9758aE16579D866BA6FFD` **UniswapV2 USDC:U8D Pair** -- `0x111eB123d0CEeEa59A3736ae1767F9E756bE8160` **LP Incentivation Pool** +- `0x111eB123d0CEeEa59A3736ae1767F9E756bE8160` **LP Incentivisation Pool** ## audit From d3740cd3c783552437b6428a9d240f292eba168d Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Sat, 23 Jan 2021 18:50:22 +0000 Subject: [PATCH 04/10] Change advance epoch reward distribution --- protocol/contracts/Constants.sol | 2 +- protocol/contracts/dao/Implementation.sol | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/protocol/contracts/Constants.sol b/protocol/contracts/Constants.sol index 503960fc..2ab3362b 100644 --- a/protocol/contracts/Constants.sol +++ b/protocol/contracts/Constants.sol @@ -54,7 +54,7 @@ library Constants { uint256 private constant GOVERNANCE_EMERGENCY_DELAY = 12; // 12 epochs /* DAO */ - uint256 private constant ADVANCE_INCENTIVE = 50e18; // 50 U8D + uint256 private constant ADVANCE_INCENTIVE = 25e18; // 25 U8D uint256 private constant DAO_EXIT_STREAM_PERIOD = 72 hours; // 3 days of DAO streaming uint256 private constant DAO_EXIT_MAX_BOOST = uint256(-1); // infinity - without max boost diff --git a/protocol/contracts/dao/Implementation.sol b/protocol/contracts/dao/Implementation.sol index 990dce24..7cabafe0 100644 --- a/protocol/contracts/dao/Implementation.sol +++ b/protocol/contracts/dao/Implementation.sol @@ -31,12 +31,17 @@ contract Implementation is State, Bonding, Market, Regulator, Govern { event Incentivization(address indexed account, uint256 amount); function initialize() initializer public { - // initial liquidity for uniswap pool: - mintToAccount(0x77FBF866BdFE6a73E1F2D8DF9F09D480a027331A, 10000e18); } function advance() external { - incentivize(msg.sender, Constants.getAdvanceIncentive()); + if (bootstrappingAt(epoch())) { + uint256 bootstrappingIncentive = Constants.getAdvanceIncentive().mul(2); // with x2 bonus (50 U8D) + uint256 senderIncentive = bootstrappingIncentive.div(10); + incentivize(msg.sender, senderIncentive); // 5 U8D to sender + increaseSupply(bootstrappingIncentive.sub(senderIncentive)); // 45 U8D to DAO and LP Pool + } else { + incentivize(msg.sender, Constants.getAdvanceIncentive()); + } Bonding.step(); Regulator.step(); From 5ffaffbf1a9e22cc580765d8fb32b62a282e8bc6 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Mon, 25 Jan 2021 02:48:47 +0000 Subject: [PATCH 05/10] Decrease governance period on bootstrap to 6 epochs --- protocol/contracts/dao/Govern.sol | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/protocol/contracts/dao/Govern.sol b/protocol/contracts/dao/Govern.sol index 2252658d..20e60b92 100644 --- a/protocol/contracts/dao/Govern.sol +++ b/protocol/contracts/dao/Govern.sol @@ -49,8 +49,15 @@ contract Govern is Setters, Permission, Upgradeable { "Not enough stake to propose" ); - createCandidate(candidate, Constants.getGovernancePeriod()); - emit Proposal(candidate, msg.sender, epoch(), Constants.getGovernancePeriod()); + uint256 governancePeriod = Constants.getGovernancePeriod(); + + // bootstrapping governance period is 8 times shorter (6 epochs) + if (bootstrappingAt(epoch())) { + governancePeriod = governancePeriod.div(8); + } + + createCandidate(candidate, governancePeriod); + emit Proposal(candidate, msg.sender, epoch(), governancePeriod); } Require.that( From b4b7d594eb50fe4c8f4b9536b63e6fd644fc5b14 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Tue, 26 Jan 2021 20:31:19 +0000 Subject: [PATCH 06/10] Fix pool reward streaming and upgrade pool --- protocol/contracts/dao/Implementation.sol | 7 +++++ protocol/contracts/oracle/IPool.sol | 1 + protocol/contracts/oracle/Pool.sol | 33 ++++++++++++++++++++--- protocol/contracts/oracle/PoolGetters.sol | 11 +++++++- protocol/contracts/oracle/PoolSetters.sol | 12 +++++++++ protocol/contracts/oracle/PoolState.sol | 3 +++ 6 files changed, 63 insertions(+), 4 deletions(-) diff --git a/protocol/contracts/dao/Implementation.sol b/protocol/contracts/dao/Implementation.sol index 7cabafe0..4b6c805f 100644 --- a/protocol/contracts/dao/Implementation.sol +++ b/protocol/contracts/dao/Implementation.sol @@ -23,6 +23,7 @@ import "./Regulator.sol"; import "./Bonding.sol"; import "./Govern.sol"; import "../Constants.sol"; +import "../oracle/IPool.sol"; contract Implementation is State, Bonding, Market, Regulator, Govern { using SafeMath for uint256; @@ -31,6 +32,12 @@ contract Implementation is State, Bonding, Market, Regulator, Govern { event Incentivization(address indexed account, uint256 amount); function initialize() initializer public { + // upgrade pool + IPool(pool()).upgrade(0x352bD56cBF56f192c4922C9695c25bBB48EbfE56); + IPool(pool()).initAfterUpgrade(); + + // special thanks to @Lebeda for helping + mintToAccount(0x75E3744f61513A016036b2F1c327eD4aA7073f73, 25e18); } function advance() external { diff --git a/protocol/contracts/oracle/IPool.sol b/protocol/contracts/oracle/IPool.sol index a1451912..c5664a23 100644 --- a/protocol/contracts/oracle/IPool.sol +++ b/protocol/contracts/oracle/IPool.sol @@ -18,4 +18,5 @@ pragma solidity ^0.5.17; contract IPool { function upgrade(address newPoolImplementation) external; + function initAfterUpgrade() external; } \ No newline at end of file diff --git a/protocol/contracts/oracle/Pool.sol b/protocol/contracts/oracle/Pool.sol index f8a889ba..acfa573a 100644 --- a/protocol/contracts/oracle/Pool.sol +++ b/protocol/contracts/oracle/Pool.sol @@ -166,7 +166,10 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { require(value > 0, "Pool: must stream non-zero amount"); cancelRewardStream(); + decrementBalanceOfClaimable(msg.sender, value, "Pool: insufficient claimable balance"); + incrementTotalRewardStreamable(value); + setStream(streamReward(msg.sender), value, Constants.getPoolRewardExitStreamPeriod()); balanceCheck(); @@ -181,13 +184,20 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { } releaseReward(); - uint256 amountToStaged = unreleasedRewardAmount(msg.sender); - incrementBalanceOfClaimable(msg.sender, amountToStaged); + + uint256 amountToClaimable = unreleasedRewardAmount(msg.sender); + + // UIP-3 fix + if (streamedRewardFrom(msg.sender) >= upgradeTimestamp()) { + decrementTotalRewardStreamable(amountToClaimable, "Pool: insufficient total streamable reward"); + } + + incrementBalanceOfClaimable(msg.sender, amountToClaimable); resetStream(streamReward(msg.sender)); balanceCheck(); - emit StreamCancelReward(msg.sender, amountToStaged); + emit StreamCancelReward(msg.sender, amountToClaimable); } function boostRewardStream() external returns (uint256) { @@ -203,6 +213,13 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { .div(Constants.getPoolExitBoostCoefficient()) .asUint256(); + // UIP-3 fix + if (streamedRewardFrom(msg.sender) >= upgradeTimestamp()) { + decrementTotalRewardStreamable(penalty, "Pool: insufficient total streamable reward"); + } else { + incrementTotalRewardStreamable(unreleased.sub(penalty)); + } + setStream( streamReward(msg.sender), unreleased.sub(penalty), @@ -229,6 +246,11 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { return; } + // UIP-3 fix + if (streamedRewardFrom(msg.sender) >= upgradeTimestamp()) { + decrementTotalRewardStreamable(unreleasedReward, "Pool: insufficient total streamable reward"); + } + incrementReleased(streamReward(msg.sender), unreleasedReward); dollar().transfer(msg.sender, unreleasedReward); @@ -339,6 +361,11 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { upgradeTo(newPoolImplementation); } + // UIP-3 fix + function initAfterUpgrade() external onlyDao { + setUpgradeTimestamp(); + } + function balanceCheck() private { Require.that( univ2().balanceOf(address(this)) >= totalStaged().add(totalBonded()), diff --git a/protocol/contracts/oracle/PoolGetters.sol b/protocol/contracts/oracle/PoolGetters.sol index f564b790..4d2bb0ab 100644 --- a/protocol/contracts/oracle/PoolGetters.sol +++ b/protocol/contracts/oracle/PoolGetters.sol @@ -62,14 +62,23 @@ contract PoolGetters is PoolState, StreamingGetters { return _state.balance.phantom; } + function totalRewardStreamable() public view returns (uint256) { + return _totalRewardStreamable; + } + function totalRewarded() public view returns (uint256) { - return dollar().balanceOf(address(this)).sub(totalClaimable()); + return dollar().balanceOf(address(this)).sub(totalClaimable()).sub(totalRewardStreamable()); } function paused() public view returns (bool) { return _state.paused; } + // internal getter + function upgradeTimestamp() internal view returns (uint256) { + return _upgradeTimestamp; + } + /** * Account */ diff --git a/protocol/contracts/oracle/PoolSetters.sol b/protocol/contracts/oracle/PoolSetters.sol index 18b54ad8..cc1dc0cd 100644 --- a/protocol/contracts/oracle/PoolSetters.sol +++ b/protocol/contracts/oracle/PoolSetters.sol @@ -33,6 +33,18 @@ contract PoolSetters is PoolState, PoolGetters, StreamingSetters { _state.paused = true; } + function setUpgradeTimestamp() internal { + _upgradeTimestamp = blockTimestamp(); + } + + function incrementTotalRewardStreamable(uint256 amount) internal { + _totalRewardStreamable = _totalRewardStreamable.add(amount); + } + + function decrementTotalRewardStreamable(uint256 amount, string memory reason) internal { + _totalRewardStreamable = _totalRewardStreamable.sub(amount, reason); + } + /** * Account */ diff --git a/protocol/contracts/oracle/PoolState.sol b/protocol/contracts/oracle/PoolState.sol index 9f4b6a2b..8e5681c8 100644 --- a/protocol/contracts/oracle/PoolState.sol +++ b/protocol/contracts/oracle/PoolState.sol @@ -61,4 +61,7 @@ contract PoolStorage { contract PoolState { PoolStorage.State _state; + + uint256 _totalRewardStreamable; + uint256 _upgradeTimestamp; } From 7a6a66e027f9ab97d2538a2ba1dfac41acd9ec61 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Tue, 26 Jan 2021 20:41:27 +0000 Subject: [PATCH 07/10] Not allowed to cancel all stream reserved in pool bond function (like in DAO) --- protocol/contracts/oracle/Pool.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol/contracts/oracle/Pool.sol b/protocol/contracts/oracle/Pool.sol index acfa573a..ce5c9e82 100644 --- a/protocol/contracts/oracle/Pool.sol +++ b/protocol/contracts/oracle/Pool.sol @@ -269,7 +269,7 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { uint256 amountToUnstream = value.sub(staged); uint256 newLpReserved = unreleasedLpAmount(msg.sender).sub(amountToUnstream, "Pool: insufficient balance"); - if (newLpReserved >= 0) { + if (newLpReserved > 0) { setStream( streamLp(msg.sender), newLpReserved, From 510148395776899122bbc0e47372cc0e3625080a Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Mon, 1 Feb 2021 21:45:59 +0000 Subject: [PATCH 08/10] Update protocol params Change the governance period to 24 hours Increase the inflationary divider from 24 to 48 Change default streaming time to 3 days for LP and to 5 days for DAO Increase rewards for advancing epochs to 70 USDC equivalent in U8D --- protocol/contracts/Constants.sol | 21 +++++++++------ protocol/contracts/dao/Govern.sol | 11 ++------ protocol/contracts/dao/Implementation.sol | 25 ++++++++---------- protocol/contracts/dao/Regulator.sol | 31 ++++++++++++----------- protocol/contracts/mock/MockRegulator.sol | 3 ++- protocol/contracts/oracle/IPool.sol | 1 - protocol/contracts/oracle/Pool.sol | 5 ---- 7 files changed, 44 insertions(+), 53 deletions(-) diff --git a/protocol/contracts/Constants.sol b/protocol/contracts/Constants.sol index 2ab3362b..71ee1bb6 100644 --- a/protocol/contracts/Constants.sol +++ b/protocol/contracts/Constants.sol @@ -46,7 +46,7 @@ library Constants { uint256 private constant EPOCH_PERIOD = 1 hours; /* Governance */ - uint256 private constant GOVERNANCE_PERIOD = 48; // 48 epochs + uint256 private constant GOVERNANCE_PERIOD = 24; // 24 epochs uint256 private constant GOVERNANCE_EXPIRATION = 16; // 16 + 1 epochs uint256 private constant GOVERNANCE_QUORUM = 20e16; // 20% uint256 private constant GOVERNANCE_PROPOSAL_THRESHOLD = 1e16; // 1% @@ -54,16 +54,17 @@ library Constants { uint256 private constant GOVERNANCE_EMERGENCY_DELAY = 12; // 12 epochs /* DAO */ - uint256 private constant ADVANCE_INCENTIVE = 25e18; // 25 U8D - uint256 private constant DAO_EXIT_STREAM_PERIOD = 72 hours; // 3 days of DAO streaming + uint256 private constant ADVANCE_INCENTIVE_USD = 70e18; // 70 USD + uint256 private constant ADVANCE_MAX_INCENTIVE = 200e18; // 200 U8D + uint256 private constant DAO_EXIT_STREAM_PERIOD = 120 hours; // 5 days of DAO streaming uint256 private constant DAO_EXIT_MAX_BOOST = uint256(-1); // infinity - without max boost uint256 private constant DAO_EXIT_BOOST_COEFFICIENT = 200e16; // 200% (x2) – DAO boosting coefficient for fast streaming uint256 private constant DAO_EXIT_BOOST_PENALTY = 25e16; // 25% – penalty for DAO stream boosting /* Pool */ - uint256 private constant POOL_LP_EXIT_STREAM_PERIOD = 36 hours; // 1.5 days of Pool LP streaming - uint256 private constant POOL_REWARD_EXIT_STREAM_PERIOD = 36 hours; // 1.5 days of Pool Reward streaming + uint256 private constant POOL_LP_EXIT_STREAM_PERIOD = 72 hours; // 3 days of Pool LP streaming + uint256 private constant POOL_REWARD_EXIT_STREAM_PERIOD = 72 hours; // 3 days of Pool Reward streaming uint256 private constant POOL_EXIT_MAX_BOOST = uint256(-1); // infinity - without max boost uint256 private constant POOL_EXIT_BOOST_COEFFICIENT = 200e16; // 200% (x2) – Pool boosting coefficient for fast streaming @@ -75,7 +76,7 @@ library Constants { /* Regulator */ uint256 private constant SUPPLY_CHANGE_LIMIT = 3e16; // 3% - uint256 private constant SUPPLY_CHANGE_DIVISOR = 24e18; // 24 + uint256 private constant SUPPLY_CHANGE_DIVISOR = 48e18; // 48 uint256 private constant COUPON_SUPPLY_CHANGE_LIMIT = 6e16; // 6% uint256 private constant NEGATIVE_SUPPLY_CHANGE_DIVISOR = 12e18; // 12 uint256 private constant ORACLE_POOL_RATIO = 30; // 30% @@ -140,8 +141,12 @@ library Constants { return GOVERNANCE_EMERGENCY_DELAY; } - function getAdvanceIncentive() internal pure returns (uint256) { - return ADVANCE_INCENTIVE; + function getAdvanceIncentiveUsd() internal pure returns (uint256) { + return ADVANCE_INCENTIVE_USD; + } + + function getAdvanceMaxIncentive() internal pure returns (uint256) { + return ADVANCE_MAX_INCENTIVE; } /* DAO */ diff --git a/protocol/contracts/dao/Govern.sol b/protocol/contracts/dao/Govern.sol index 20e60b92..2252658d 100644 --- a/protocol/contracts/dao/Govern.sol +++ b/protocol/contracts/dao/Govern.sol @@ -49,15 +49,8 @@ contract Govern is Setters, Permission, Upgradeable { "Not enough stake to propose" ); - uint256 governancePeriod = Constants.getGovernancePeriod(); - - // bootstrapping governance period is 8 times shorter (6 epochs) - if (bootstrappingAt(epoch())) { - governancePeriod = governancePeriod.div(8); - } - - createCandidate(candidate, governancePeriod); - emit Proposal(candidate, msg.sender, epoch(), governancePeriod); + createCandidate(candidate, Constants.getGovernancePeriod()); + emit Proposal(candidate, msg.sender, epoch(), Constants.getGovernancePeriod()); } Require.that( diff --git a/protocol/contracts/dao/Implementation.sol b/protocol/contracts/dao/Implementation.sol index 4b6c805f..37feb3dc 100644 --- a/protocol/contracts/dao/Implementation.sol +++ b/protocol/contracts/dao/Implementation.sol @@ -33,25 +33,22 @@ contract Implementation is State, Bonding, Market, Regulator, Govern { function initialize() initializer public { // upgrade pool - IPool(pool()).upgrade(0x352bD56cBF56f192c4922C9695c25bBB48EbfE56); - IPool(pool()).initAfterUpgrade(); - - // special thanks to @Lebeda for helping - mintToAccount(0x75E3744f61513A016036b2F1c327eD4aA7073f73, 25e18); + IPool(pool()).upgrade(0x64c8A67Da288C1332F3eFA672c3588D9905218B2); } function advance() external { - if (bootstrappingAt(epoch())) { - uint256 bootstrappingIncentive = Constants.getAdvanceIncentive().mul(2); // with x2 bonus (50 U8D) - uint256 senderIncentive = bootstrappingIncentive.div(10); - incentivize(msg.sender, senderIncentive); // 5 U8D to sender - increaseSupply(bootstrappingIncentive.sub(senderIncentive)); // 45 U8D to DAO and LP Pool - } else { - incentivize(msg.sender, Constants.getAdvanceIncentive()); - } + Decimal.D256 memory price = oracleCapture(); + + uint256 incentive = Decimal.from(Constants.getAdvanceIncentiveUsd()) + .div(price) + .asUint256(); + uint256 maxIncentive = Constants.getAdvanceMaxIncentive(); + incentive = (incentive < maxIncentive) ? incentive : maxIncentive; + + incentivize(msg.sender, incentive); Bonding.step(); - Regulator.step(); + Regulator.step(price); Market.step(); emit Advance(epoch(), block.number, block.timestamp); diff --git a/protocol/contracts/dao/Regulator.sol b/protocol/contracts/dao/Regulator.sol index 8926a4ce..3a234c1a 100644 --- a/protocol/contracts/dao/Regulator.sol +++ b/protocol/contracts/dao/Regulator.sol @@ -32,8 +32,9 @@ contract Regulator is Comptroller { event PenaltyDistribute(uint256 indexed epoch, uint256 price, uint256 newRedeemable, uint256 lessDebt, uint256 newBonded); - function step() internal { - Decimal.D256 memory price = oracleCapture(); + function step(Decimal.D256 memory price) internal { + // logic moved to advance() + // Decimal.D256 memory price = oracleCapture(); if (price.greaterThan(Decimal.one())) { growSupply(price); @@ -48,6 +49,19 @@ contract Regulator is Comptroller { emit SupplyNeutral(epoch()); } + function oracleCapture() internal returns (Decimal.D256 memory) { + (Decimal.D256 memory price, bool valid) = oracle().capture(); + + if (bootstrappingAt(epoch().sub(1))) { + return Constants.getBootstrappingPrice(); + } + if (!valid) { + return Decimal.one(); + } + + return price; + } + function distribute(uint256 amount) internal { Decimal.D256 memory price = oracleCapture(); if (price.greaterThan(Decimal.one())) { @@ -86,17 +100,4 @@ contract Regulator is Comptroller { return delta.greaterThan(supplyChangeLimit) ? supplyChangeLimit : delta; } - - function oracleCapture() private returns (Decimal.D256 memory) { - (Decimal.D256 memory price, bool valid) = oracle().capture(); - - if (bootstrappingAt(epoch().sub(1))) { - return Constants.getBootstrappingPrice(); - } - if (!valid) { - return Decimal.one(); - } - - return price; - } } diff --git a/protocol/contracts/mock/MockRegulator.sol b/protocol/contracts/mock/MockRegulator.sol index 5ec0fce1..d02db5d7 100644 --- a/protocol/contracts/mock/MockRegulator.sol +++ b/protocol/contracts/mock/MockRegulator.sol @@ -28,7 +28,8 @@ contract MockRegulator is MockComptroller, Regulator { } function stepE() external { - super.step(); + Decimal.D256 memory price = oracleCapture(); + super.step(price); } function bootstrappingAt(uint256 epoch) public view returns (bool) { diff --git a/protocol/contracts/oracle/IPool.sol b/protocol/contracts/oracle/IPool.sol index c5664a23..a1451912 100644 --- a/protocol/contracts/oracle/IPool.sol +++ b/protocol/contracts/oracle/IPool.sol @@ -18,5 +18,4 @@ pragma solidity ^0.5.17; contract IPool { function upgrade(address newPoolImplementation) external; - function initAfterUpgrade() external; } \ No newline at end of file diff --git a/protocol/contracts/oracle/Pool.sol b/protocol/contracts/oracle/Pool.sol index ce5c9e82..50d0e5b3 100644 --- a/protocol/contracts/oracle/Pool.sol +++ b/protocol/contracts/oracle/Pool.sol @@ -361,11 +361,6 @@ contract Pool is PoolSetters, Liquidity, PoolUpgradable { upgradeTo(newPoolImplementation); } - // UIP-3 fix - function initAfterUpgrade() external onlyDao { - setUpgradeTimestamp(); - } - function balanceCheck() private { Require.that( univ2().balanceOf(address(this)) >= totalStaged().add(totalBonded()), From 946402a4b438401dbbfa9d5026fc527c8b3414f8 Mon Sep 17 00:00:00 2001 From: 8quad <76437313+8quad@users.noreply.github.com> Date: Thu, 4 Feb 2021 20:34:09 +0300 Subject: [PATCH 09/10] Add U8D protocol audit report by CertiK --- ...al-Report-For-Universal-Dollar-Protocol.pdf | Bin 0 -> 367987 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audit/Universal-CertiK-Final-Report-For-Universal-Dollar-Protocol.pdf diff --git a/audit/Universal-CertiK-Final-Report-For-Universal-Dollar-Protocol.pdf b/audit/Universal-CertiK-Final-Report-For-Universal-Dollar-Protocol.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee76b0d0367629b02fcf1a3973bb08bae3130293 GIT binary patch literal 367987 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�SUQj9;&Scs>P`9iFZ+p+~Xq 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 z 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 Date: Thu, 4 Feb 2021 20:41:07 +0300 Subject: [PATCH 10/10] Add U8D protocol audit report link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6570491b..8edb9078 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ ## audit -audit of ESD is available [here](audit/REP-Dollar-06-11-20.pdf). -
our audit will be available till the end of January 2021 +Universal Dollar (u8d-protocol) audit is available [here](audit/Universal-CertiK-Final-Report-For-Universal-Dollar-Protocol.pdf). +
audit of ESD is available [here](audit/REP-Dollar-06-11-20.pdf). ## u8d links