226 Commits

Author SHA1 Message Date
Greg Hysen
8881118a15 Added event when ownership of contract changes 2019-08-21 13:04:17 -07:00
Greg Hysen
3f2be5b2da Documenting fees + rewards now use weighted stake in denominator of cobb douglas 2019-08-21 13:04:17 -07:00
Greg Hysen
9f1904ad3d Renamed MixinExchange to MixinExchangeManager and added documentation 2019-08-21 13:04:17 -07:00
Greg Hysen
09843c3cf1 Got staking contract building again 2019-08-21 13:04:17 -07:00
Greg Hysen
303279a766 Renamed MixinEpoch -> MixinScheduler 2019-08-21 13:04:17 -07:00
Greg Hysen
c97c6d1fc2 LibSafeMath96Bit -> LibSafeMath96 2019-08-21 13:04:16 -07:00
Greg Hysen
b53bf051ac LibSafeMath64Bit -> LibSafeMath64 2019-08-21 13:04:16 -07:00
Greg Hysen
d5189e6143 linted contracts 2019-08-21 13:04:16 -07:00
Greg Hysen
b756e723ea Updated dependency ordering using a linearizer script, which is now here: https://github.com/hysz/SmartContractLinearizer 2019-08-21 13:04:16 -07:00
Greg Hysen
74d9891e06 actors for maker / pool operator + comprehensive test cases 2019-08-21 13:04:16 -07:00
Greg Hysen
38cad56bf9 Staker Actor 2019-08-21 13:04:15 -07:00
Greg Hysen
8f291c19c3 Use LibSafeMath in ZrxVault instead of util SafeMath 2019-08-21 13:04:15 -07:00
Greg Hysen
9566188d6b Renamed IVault to IZrxVault 2019-08-21 13:04:15 -07:00
Greg Hysen
cae8c2013d Split deployment constants into its own mixin for readability 2019-08-21 13:04:15 -07:00
Greg Hysen
9bc5efe958 Use safemath for epochs 2019-08-21 13:04:15 -07:00
Greg Hysen
b36003896f Renamed LibMath to LibFeeMath 2019-08-21 13:04:15 -07:00
Greg Hysen
4d2ba9f1e6 Replaced any contract-style libraries with real libraries. 2019-08-21 13:04:14 -07:00
Greg Hysen
56184c6f4f Removed Wrapper contracts. Too much sugar. Felt it was less readable. 2019-08-21 13:04:14 -07:00
Greg Hysen
e1a5ba9864 Pool Management test passing with signatures 2019-08-21 13:04:14 -07:00
Greg Hysen
bc0140ef3a Signature validation for adding makers to a staking pool 2019-08-21 13:04:14 -07:00
Greg Hysen
36b76550e0 Working towards maker signature validation 2019-08-21 13:04:14 -07:00
Greg Hysen
1f2e94b585 Adding signatures for maker acceptance into pool 2019-08-21 13:04:14 -07:00
Greg Hysen
e2a2f932f1 Created sepaerate mixins for interacting with the different vaults 2019-08-21 13:04:14 -07:00
Greg Hysen
6ca2f7e3ac Cleaned up staking contract with wrappers 2019-08-21 13:04:14 -07:00
Greg Hysen
f3309d3651 done tests 2019-08-21 13:04:14 -07:00
Greg Hysen
0ba8690120 Added functions for reward balances to staking API 2019-08-21 13:04:13 -07:00
Greg Hysen
cafa3c827c Updated naming on reward vault 2019-08-21 13:04:13 -07:00
Greg Hysen
bbacce2986 Removed operator from reward vault 2019-08-21 13:04:13 -07:00
Greg Hysen
ead2d26025 Test for delegator payouts when we use Shadow ETH 2019-08-21 13:04:13 -07:00
Greg Hysen
7d89449f2d Got delegation buy-in/payout test working 2019-08-21 13:04:13 -07:00
Greg Hysen
b3d1b6c499 Store separate operator / pool balances in the reward vault. This reduces complexity in the staking contract. 2019-08-21 13:04:13 -07:00
Greg Hysen
7d85e61cc5 Basic payouts to delegators when the pool is empty and they receive 100% of the reward. 2019-08-21 13:04:13 -07:00
Greg Hysen
362a8c8fc5 account for delegated stake when computing payouts. Tests pass 2019-08-21 13:04:13 -07:00
Greg Hysen
b2a7e0536e epoch finalization executes at about 25k gas / active maker 2019-08-21 13:04:13 -07:00
Greg Hysen
8e41cc7651 Finalization with payouts compiles. 2019-08-21 13:04:12 -07:00
Greg Hysen
55238b9669 All tests are passing again. Minor fixes after messing around with different code 2019-08-21 13:04:12 -07:00
Greg Hysen
316ef69074 Adding some tests to the reward vault 2019-08-21 13:04:12 -07:00
Greg Hysen
8c839b5c22 Reward Vault Implementation with wrapper functions. Working on tests. 2019-08-21 13:04:12 -07:00
Greg Hysen
c57d17dc58 Exchange tracking 2019-08-21 13:04:12 -07:00
Greg Hysen
938f4d2d9d Protocol Fees implemented; some partially implemented code for other features in this commit,. 2019-08-21 13:04:12 -07:00
Greg Hysen
307c38bd16 payFee function 2019-08-21 13:04:12 -07:00
Greg Hysen
202dcfb4c5 Fixed a bug in the nth root that affects speed of computation. Also started playing with retaining decimal places of root computation 2019-08-21 13:04:12 -07:00
Greg Hysen
07acdc26ff starting a test for delegation 2019-08-21 13:04:12 -07:00
Greg Hysen
de307bf25a Moved constants and storage mixins to immutable directory 2019-08-21 13:04:12 -07:00
Greg Hysen
cbf41e6ade Minor bug fixes in staking + tests making progress 2019-08-21 13:04:11 -07:00
Greg Hysen
b1d98a4183 Updated tests for epochs. More robust and helpful for staking tests. 2019-08-21 13:04:11 -07:00
Greg Hysen
30db88d27b test case for epoch management 2019-08-21 13:04:11 -07:00
Greg Hysen
bb0ada3f59 adding epoch management 2019-08-21 13:04:11 -07:00
Greg Hysen
804256075e added new staking/delegating/timelock functions to staking wrapper 2019-08-21 13:04:11 -07:00
Greg Hysen
79f28f121b checkpoint - implementing delegating + timelocks 2019-08-21 13:04:11 -07:00