Commit Graph

14085 Commits

Author SHA1 Message Date
Greg Hysen
293c428186 Tests for new staking mechanics 2019-09-05 12:27:43 -07:00
Greg Hysen
d1b004ffc1 Some readability plus updated changelogs 2019-09-05 12:26:04 -07:00
Greg Hysen
da83f75a13 Readability Improvements 2019-09-05 11:54:16 -07:00
Greg Hysen
b5be162fa2 Removed frivolous imports to improve readability 2019-09-05 11:50:22 -07:00
Greg Hysen
7e5e2241cb Rich Reverts in new staking mechanics 2019-09-05 11:50:22 -07:00
Greg Hysen
c0cb78bb3f Improving readability of staking 2019-09-05 11:46:50 -07:00
Greg Hysen
eb6ad7d29d New staking mechanics: delay on entry opposed to exit 2019-09-05 11:45:11 -07:00
Lawrence Forman
88e56356c4 Merge pull request #2109 from 0xProject/feature/3.0/staking/math-voodoo
Staking math upgrades
2019-09-05 13:05:25 -04:00
Lawrence Forman
356660ad4f @0x/contracts-staking: Remove redundant "FixedMath" prefix from FixedMath revert errors. 2019-09-04 20:18:55 -04:00
Lawrence Forman
7c3567f5e7 @0x/utils: Remove redundant FixedMath prefix from FixedMath RevertError types. 2019-09-04 20:18:55 -04:00
Lawrence Forman
e9eb3badd9 @0x/contracts-staking: Keep fees not associated with a pool. 2019-09-04 20:18:55 -04:00
Lawrence Forman
9bbbaadcf8 @0x/conracts-staking: Fix idiotic linter error. 2019-09-04 20:18:55 -04:00
Lawrence Forman
19f44fac1e @0x/contracts-staking: Reformulate cobb-douglas to be more efficient.
`@0x/contracts-staking`: Remove some unecessary asserts.
`@0x/contracts-staking`: Fix some broken test assertions.
`@0x/contracts-staking`: Generate better random values in tests.
`@0x/contracts-staking`: Rename `PPM_ONE` constant to `PPM_DENOMINATOR`.
`@0x/contracts-staking`: Minor solidity code improvements.
`@0x/contracts-staking`: Use more constants from `@0x/contracts-test-utils` in tests.
2019-09-04 20:18:55 -04:00
Lawrence Forman
0be2c250ef Commit yarn.lock 2019-09-04 20:18:55 -04:00
Lawrence Forman
b07fc95c81 @0x/utils: Add docstring for raw constructor parameter in RevertError.
`@0x/utils`: Use `...is.instanceof()` pattern in `RevertError` tests.
2019-09-04 20:18:55 -04:00
Lawrence Forman
20ba23fe5f @0x/contracts-test-utils: Allow negative values in toHex().
`@0x/contracts-test-utils`: Add `PPM_DENOMINATOR` and `PPM_100_PERCENT` constants.
2019-09-04 20:18:55 -04:00
Lawrence Forman
b78705120e @0x/contracts-utils: Fix failing tests due to RevertError behavior changes. 2019-09-04 20:18:55 -04:00
Lawrence Forman
f601329a47 @0x/utils: Rename length field to len in AuthorizableRevertErrors.IndexOutOfBoundsError. 2019-09-04 20:18:55 -04:00
Lawrence Forman
2b3e7e7ab7 @0x/dev-utils: Remove no longer applicable test case in chai_test.ts. 2019-09-04 20:18:55 -04:00
Lawrence Forman
8d5e28f099 @0x/contracts-staking: Change the way operator stake is computed.
`@0x/contracts-staking`: Denominate pool operator shares in parts-per-million.
`@0x/contracts-staking`: Update tests for new stake computation and higher precision math.
`@0x/contracts-staking`: Add `setCobbDouglasAlpha()` function.
2019-09-04 20:18:55 -04:00
Lawrence Forman
cb1dc92594 @0x/order-utils: Rename OperatorShareMustBeBetween0And100Error RevertError type to InvalidPoolOperatorShareError. 2019-09-04 20:18:55 -04:00
Lawrence Forman
495bf08498 @0x/utils: Update CHANGELOG. 2019-09-04 20:18:55 -04:00
Lawrence Forman
a1a5bdce78 @0x/order-utils: Prettier. 2019-09-04 20:18:55 -04:00
Lawrence Forman
f724212fd7 @0x/utils: Prettier. 2019-09-04 20:18:55 -04:00
Lawrence Forman
5ccbe167a1 @0x/contracts-test-utils: Increase the number of ganache accounts to 20. 2019-09-04 20:18:55 -04:00
Lawrence Forman
2e357ffeab @0x/dev-utils: Add total_accounts option to Web3Config. 2019-09-04 20:18:55 -04:00
Lawrence Forman
af10f52acf @0x/contracts-staking: Rebase with 3.0 2019-09-04 20:18:55 -04:00
Lawrence Forman
ed8a6bb97b @0x/contracts-staking: Emit CobbDouglasAlphaChanged event when calling setCobbDouglasAlpha(). 2019-09-04 20:18:55 -04:00
Lawrence Forman
c774b98002 @0x/contracts-staking: Remove unused tslint directives. 2019-09-04 20:18:55 -04:00
Lawrence Forman
9a63bea763 @0x/contracts-staking: Update LibFixedMath ln() and exp() input domains and improve precision.
`@0x/contracts-staking`: Add `_invert()` and `_mulDiv()` to `LibFixedMath`.
`@0x/contracts-staking`: Update `MixinExchangeFees._cobbDouglas()` to work with `LibFixedMath`.
`@0x/contracts-staking`: Add unit and fuzz tests for `_cobbDouglas()` and remaining `LibFixedMath` functions.
2019-09-04 20:18:55 -04:00
Lawrence Forman
0c6a6743ab @0x/contracts-staking: Write LibFixedMath unit tests. 2019-09-04 20:18:55 -04:00
Lawrence Forman
1c37334b18 @0x/contracts-staking: Add a bunch of LibFixedMath unit tests. 2019-09-04 20:18:55 -04:00
Lawrence Forman
7f40665a0e @0x/utils: Fix order of BinOpErrorCodes enum in FixedMathRevertErrors. 2019-09-04 20:18:55 -04:00
Lawrence Forman
b10036444d @0x/order-utils: Add TransactionInvalidContextError to the RevertError registry. 2019-09-04 20:18:55 -04:00
Lawrence Forman
0542c70d22 @0x/utils: Make decoding of unknown selectors to RawRevertError optional. 2019-09-04 20:16:44 -04:00
Lawrence Forman
f71484c9f0 @0x/order-utils: Add TransactionGasPriceError to error registry. 2019-09-04 20:16:44 -04:00
Lawrence Forman
2cf74a7a96 @0x/utils: Make RevertError.decode() return a RawRevertError if the selector is unknown. 2019-09-04 20:15:16 -04:00
Lawrence Forman
018bcf273f @0x/utils: Fix FixedMathRevertError.FixedMathBinOpError type.
`@0x/utils`: Have Ganache `Error` -> `RevertError` coercion fail if it can't look up the selector.
2019-09-04 20:15:15 -04:00
Lawrence Forman
1a3da4b363 @0x/utils: Fix registering FixedMathSignedValueError twice. 2019-09-04 20:15:15 -04:00
Lawrence Forman
0999805b3a @0x/contracts-test-utils: Add toHex(), hexInvert(), hexLeftPad(), and hexRightPad() hex utils. 2019-09-04 20:15:15 -04:00
Lawrence Forman
7b5e3dab17 @0x/contracts-staking: Add rich reverts.
`@0x/utils`: Add `LibFixedMath` `RevertError` types.
`@0x/order-utils`: Add `InvalidCobbDouglasAlphaerror` `RevertError` type.
2019-09-04 20:15:15 -04:00
Lawrence Forman
a09cd03ce6 @0x/contracts-staking: Remove LibFeeMath and just put _cobbDouglas() in MixinExchangeFees.
`@0x/contracts-staking`: Update `LibFixedMath` to existing naming conventions.
`@0x/contracts-staking`: Add `cobbDouglasAlphaNumerator` and `cobbDouglasAlphaDenominator` to `Mixinstorage`.
`@0x/contracts-staking`: Add external `setCobbDouglasAlpha()` function to `MixinExchnageFees`
`@0x/contracts-staking`: Update `_cobbDouglas()` to use the new `LibFixedMath` voodoo.
`@0x/contracts-staking`: In reward calculations, use only delegated stake by pool owner as opposed to both delegated and active stake to compute stake totals.
2019-09-04 20:15:15 -04:00
Lawrence Forman
c1fc454d19 @0x/contracts-staking: Add uintMul() function to LibFixedMath. 2019-09-04 20:15:15 -04:00
Lawrence Forman
93c8284a96 @0x/contracts-staking: Add LibFeeMath library. 2019-09-04 20:15:15 -04:00
Amir Bandeali
e5dcf9063d Merge pull request #2127 from 0xProject/feat/3.0/catch-pay-protocol-fee-err
Wrap `payProtocolFee` with rich revert + reduce codesize
2019-09-04 13:51:19 -07:00
Amir Bandeali
cf35a8032d Update contracts/exchange/contracts/src/MixinProtocolFees.sol
Update comment

Co-Authored-By: James Towle <jalextowle@gmail.com>
2019-09-04 11:34:17 -07:00
Amir Bandeali
88736aa82b Merge pull request #2121 from 0xProject/feat/3.0/codesize
Reduce Exchange codesize
2019-09-03 21:08:50 -07:00
Amir Bandeali
90ac5ec577 Fix tests 2019-09-03 20:11:48 -07:00
Amir Bandeali
d1eb414749 Use new rich reverts where applicable 2019-09-03 20:11:47 -07:00
Amir Bandeali
f792d403e5 Add new rich revert errors 2019-09-03 20:11:47 -07:00