@dolomite-exchange/dolomite-margin 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/contracts/Account.json +11 -11
- package/build/contracts/Actions.json +11 -11
- package/build/contracts/Address.json +1 -1
- package/build/contracts/Admin.json +23 -23
- package/build/contracts/AdminImpl.json +35 -307
- package/build/contracts/AdvancedMath.json +7 -7
- package/build/contracts/AmmRebalancerProxy.json +577 -621
- package/build/contracts/AmmRebalancerProxyV1.json +78 -32
- package/build/contracts/Babylonian.json +1 -1
- package/build/contracts/Bits.json +9 -9
- package/build/contracts/Cache.json +13 -13
- package/build/contracts/ChainlinkPriceOracleV1.json +16 -16
- package/build/contracts/Context.json +1 -1
- package/build/contracts/CustomTestToken.json +9 -9
- package/build/contracts/Decimal.json +9 -9
- package/build/contracts/DelayedMultiSig.json +9 -9
- package/build/contracts/DolomiteAmmERC20.json +11 -11
- package/build/contracts/DolomiteAmmFactory.json +14 -52
- package/build/contracts/DolomiteAmmLibrary.json +24 -24
- package/build/contracts/DolomiteAmmPair.json +27 -27
- package/build/contracts/DolomiteAmmRouterProxy.json +30 -363
- package/build/contracts/DolomiteMargin.json +21 -67
- package/build/contracts/DoubleExponentInterestSetter.json +15 -21
- package/build/contracts/EnumerableSet.json +7 -7
- package/build/contracts/ErroringOmiseToken.json +9 -9
- package/build/contracts/ErroringToken.json +10 -10
- package/build/contracts/Events.json +17 -17
- package/build/contracts/ExcessivelySafeCall.json +35 -35
- package/build/contracts/Exchange.json +15 -15
- package/build/contracts/Expiry.json +36 -36
- package/build/contracts/Getters.json +33 -33
- package/build/contracts/IAutoTrader.json +9 -9
- package/build/contracts/ICallee.json +7 -7
- package/build/contracts/IChainlinkAggregator.json +5 -5
- package/build/contracts/IDolomiteAmmERC20.json +5 -5
- package/build/contracts/IDolomiteAmmFactory.json +9 -9
- package/build/contracts/IDolomiteAmmPair.json +9 -9
- package/build/contracts/IDolomiteMargin.json +23 -23
- package/build/contracts/IERC20.json +1 -1
- package/build/contracts/IERC20Detailed.json +5 -5
- package/build/contracts/IExchangeWrapper.json +5 -5
- package/build/contracts/IExpiry.json +9 -9
- package/build/contracts/IInterestSetter.json +7 -7
- package/build/contracts/ILiquidationCallback.json +7 -7
- package/build/contracts/IMakerOracle.json +5 -5
- package/build/contracts/IOasisDex.json +5 -5
- package/build/contracts/IPriceOracle.json +7 -7
- package/build/contracts/IRecyclable.json +9 -9
- package/build/contracts/ITransferProxy.json +5 -5
- package/build/contracts/IUniswapV2Callee.json +5 -5
- package/build/contracts/IUniswapV2Factory.json +5 -5
- package/build/contracts/IUniswapV2Pair.json +5 -5
- package/build/contracts/IUniswapV2Router.json +5 -5
- package/build/contracts/IWETH.json +5 -5
- package/build/contracts/Interest.json +15 -15
- package/build/contracts/LiquidateOrVaporizeImpl.json +32 -83
- package/build/contracts/LiquidatorProxyHelper.json +23 -23
- package/build/contracts/LiquidatorProxyV1.json +30 -36
- package/build/contracts/LiquidatorProxyV1WithAmm.json +49 -105
- package/build/contracts/Math.json +1 -1
- package/build/contracts/Migrations.json +8 -14
- package/build/contracts/Monetary.json +7 -7
- package/build/contracts/MultiCall.json +8 -14
- package/build/contracts/MultiSig.json +7 -7
- package/build/contracts/OmiseToken.json +8 -8
- package/build/contracts/OnlyDolomiteMargin.json +11 -11
- package/build/contracts/Operation.json +15 -15
- package/build/contracts/OperationImpl.json +39 -47
- package/build/contracts/Ownable.json +1 -1
- package/build/contracts/PartiallyDelayedMultiSig.json +9 -9
- package/build/contracts/PayableProxy.json +17 -23
- package/build/contracts/Permission.json +11 -11
- package/build/contracts/PolynomialInterestSetter.json +13 -13
- package/build/contracts/RecyclableTokenProxy.json +25 -25
- package/build/contracts/ReentrancyGuard.json +1 -1
- package/build/contracts/Require.json +7 -7
- package/build/contracts/SafeERC20.json +1 -1
- package/build/contracts/SafeETH.json +7 -7
- package/build/contracts/SafeLiquidationCallback.json +17 -17
- package/build/contracts/SafeMath.json +1 -1
- package/build/contracts/SignedOperationProxy.json +21 -104
- package/build/contracts/SimpleFeeOwner.json +18 -63
- package/build/contracts/State.json +9 -9
- package/build/contracts/Storage.json +37 -37
- package/build/contracts/TestAmmRebalancerProxy.json +32 -58
- package/build/contracts/TestAutoTrader.json +22 -22
- package/build/contracts/TestBtcUsdChainlinkAggregator.json +10 -10
- package/build/contracts/TestCallee.json +19 -19
- package/build/contracts/TestChainlinkPriceOracleV1.json +10 -94
- package/build/contracts/TestCounter.json +7 -7
- package/build/contracts/TestDaiUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestDolomiteMargin.json +22 -22
- package/build/contracts/TestDoubleExponentInterestSetter.json +10 -10
- package/build/contracts/TestEthUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestExchangeWrapper.json +28 -28
- package/build/contracts/TestInterestSetter.json +13 -13
- package/build/contracts/TestLib.json +22 -22
- package/build/contracts/TestLinkUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestLiquidateCallback.json +719 -719
- package/build/contracts/TestLiquidationCallback.json +13 -13
- package/build/contracts/TestLrcEthChainlinkAggregator.json +11 -11
- package/build/contracts/TestMakerOracle.json +10 -10
- package/build/contracts/TestMaticUsdChainlinkAggregator.json +10 -10
- package/build/contracts/TestOasisDex.json +12 -12
- package/build/contracts/TestOperationImpl.json +14 -14
- package/build/contracts/TestPolynomialInterestSetter.json +10 -10
- package/build/contracts/TestPriceAggregator.json +9 -9
- package/build/contracts/TestPriceOracle.json +13 -13
- package/build/contracts/TestRecyclableToken.json +9 -9
- package/build/contracts/TestSimpleCallee.json +15 -15
- package/build/contracts/TestToken.json +9 -9
- package/build/contracts/TestTrader.json +17 -17
- package/build/contracts/TestUniswapAmmRebalancerProxy.json +16 -16
- package/build/contracts/TestUsdcUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestWETH.json +9 -9
- package/build/contracts/Time.json +9 -9
- package/build/contracts/Token.json +9 -9
- package/build/contracts/TokenA.json +10 -10
- package/build/contracts/TokenB.json +10 -10
- package/build/contracts/TokenC.json +10 -10
- package/build/contracts/TokenD.json +10 -10
- package/build/contracts/TokenE.json +10 -10
- package/build/contracts/TokenF.json +10 -10
- package/build/contracts/TransferProxy.json +22 -28
- package/build/contracts/TypedSignature.json +9 -9
- package/build/contracts/Types.json +9 -9
- package/build/contracts/UQ112x112.json +7 -7
- package/build/contracts/UniswapV2ERC20.json +7 -7
- package/build/contracts/UniswapV2Factory.json +12 -12
- package/build/contracts/UniswapV2Library.json +20 -20
- package/build/contracts/UniswapV2Pair.json +17 -17
- package/build/contracts/UniswapV2Router02.json +16 -16
- package/build/contracts/WETH9.json +1 -1
- package/contracts/external/amm/DolomiteAmmERC20.sol +135 -0
- package/contracts/external/amm/DolomiteAmmFactory.sol +122 -0
- package/contracts/external/amm/DolomiteAmmPair.sol +573 -0
- package/contracts/external/amm/SimpleFeeOwner.sol +107 -0
- package/contracts/external/helpers/LiquidatorProxyHelper.sol +252 -0
- package/contracts/external/helpers/OnlyDolomiteMargin.sol +63 -0
- package/contracts/external/interestsetters/DoubleExponentInterestSetter.sol +212 -0
- package/contracts/external/interestsetters/PolynomialInterestSetter.sol +205 -0
- package/contracts/external/interfaces/IChainlinkAggregator.sol +33 -0
- package/contracts/external/interfaces/IDolomiteAmmERC20.sol +52 -0
- package/contracts/external/interfaces/IDolomiteAmmFactory.sol +42 -0
- package/contracts/external/interfaces/IDolomiteAmmPair.sol +116 -0
- package/contracts/external/interfaces/IExpiry.sol +70 -0
- package/contracts/external/interfaces/IMakerOracle.sol +52 -0
- package/contracts/external/interfaces/IOasisDex.sol +326 -0
- package/contracts/external/interfaces/ITransferProxy.sol +53 -0
- package/contracts/external/interfaces/IUniswapV2Router.sol +134 -0
- package/contracts/external/lib/AdvancedMath.sol +23 -0
- package/contracts/external/lib/DolomiteAmmLibrary.sol +323 -0
- package/contracts/external/lib/TypedSignature.sol +120 -0
- package/contracts/external/lib/UQ112x112.sol +22 -0
- package/contracts/external/multisig/DelayedMultiSig.sol +206 -0
- package/contracts/external/multisig/MultiSig.sol +571 -0
- package/contracts/external/multisig/PartiallyDelayedMultiSig.sol +174 -0
- package/contracts/external/oracles/ChainlinkPriceOracleV1.sol +197 -0
- package/contracts/external/oracles/TestChainlinkPriceOracleV1.sol +98 -0
- package/contracts/external/proxies/AmmRebalancerProxyV1.sol +465 -0
- package/contracts/external/proxies/DolomiteAmmRouterProxy.sol +877 -0
- package/contracts/external/proxies/LiquidatorProxyV1.sol +507 -0
- package/contracts/external/proxies/LiquidatorProxyV1WithAmm.sol +574 -0
- package/contracts/external/proxies/PayableProxy.sol +146 -0
- package/contracts/external/proxies/RecyclableTokenProxy.sol +463 -0
- package/contracts/external/proxies/SignedOperationProxy.sol +553 -0
- package/contracts/external/proxies/TransferProxy.sol +207 -0
- package/contracts/external/traders/Expiry.sol +532 -0
- package/contracts/external/uniswap-v2/UniswapV2ERC20.sol +118 -0
- package/contracts/external/uniswap-v2/UniswapV2Factory.sol +67 -0
- package/contracts/external/uniswap-v2/UniswapV2Pair.sol +283 -0
- package/contracts/external/uniswap-v2/UniswapV2Router02.sol +566 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Callee.sol +13 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Factory.sol +18 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Pair.sol +67 -0
- package/contracts/external/uniswap-v2/interfaces/IWETH.sol +7 -0
- package/contracts/external/uniswap-v2/libraries/SafeETH.sol +29 -0
- package/contracts/external/uniswap-v2/libraries/UniswapV2Library.sol +117 -0
- package/contracts/external/utils/MultiCall.sol +95 -0
- package/contracts/protocol/impl/artifacts/OperationImpl.json +80 -0
- package/contracts/protocol/impl/artifacts/OperationImpl_metadata.json +193 -0
- package/dist/build/published_contracts/AdminImpl.json +2 -2
- package/dist/build/published_contracts/AmmRebalancerProxyV1.json +5 -0
- package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +1 -1
- package/dist/build/published_contracts/DolomiteAmmFactory.json +1 -1
- package/dist/build/published_contracts/DolomiteAmmRouterProxy.json +1 -1
- package/dist/build/published_contracts/DoubleExponentInterestSetter.json +2 -2
- package/dist/build/published_contracts/Expiry.json +1 -1
- package/dist/build/published_contracts/LiquidatorProxyV1.json +1 -1
- package/dist/build/published_contracts/LiquidatorProxyV1WithAmm.json +1 -1
- package/dist/build/published_contracts/MultiCall.json +1 -1
- package/dist/build/published_contracts/PayableProxy.json +2 -2
- package/dist/build/published_contracts/SignedOperationProxy.json +2 -2
- package/dist/build/published_contracts/SimpleFeeOwner.json +1 -1
- package/dist/build/published_contracts/TestUniswapAmmRebalancerProxy.json +140 -0
- package/dist/build/published_contracts/TransferProxy.json +1 -1
- package/dist/src/lib/Contracts.d.ts +3 -1
- package/dist/src/lib/Contracts.js +7 -3
- package/dist/src/lib/Contracts.js.map +1 -1
- package/package.json +2 -1
|
@@ -94,15 +94,15 @@
|
|
|
94
94
|
"type": "function"
|
|
95
95
|
}
|
|
96
96
|
],
|
|
97
|
-
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"maxAPR\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"coefficients\",\"type\":\"uint128\"}],\"internalType\":\"struct PolynomialInterestSetter.PolyStorage\",\"name\":\"params\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCoefficients\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"borrowWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyWei\",\"type\":\"uint256\"}],\"name\":\"getInterestRate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Interest.Rate\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMaxAPR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Interest setter that sets interest based on a polynomial of the usage percentage of the market.\",\"methods\":{\"getCoefficients()\":{\"return\":\"The coefficients\"},\"getInterestRate(address,uint256,uint256)\":{\"return\":\"The interest rate per second (times 10 ** 18)\"},\"getMaxAPR()\":{\"return\":\"The maximum APR\"}},\"title\":\"PolynomialInterestSetter\"},\"userdoc\":{\"methods\":{\"getCoefficients()\":{\"notice\":\"Get all of the coefficients of the interest calculation, starting from the coefficient for the first-order utilization variable.\"},\"getInterestRate(address,uint256,uint256)\":{\"notice\":\"Get the interest rate given some borrowed and supplied amounts. The interest function is a polynomial function of the utilization (borrowWei / supplyWei) of the market. * - If borrowWei > supplyWei then the utilization is considered to be equal to 1. - If both are zero, then the utilization is considered to be equal to 0.\"},\"getMaxAPR()\":{\"notice\":\"Get the maximum APR that this interestSetter will return. The actual APY may be higher depending on how often the interest is compounded.\"}}}},\"settings\":{\"compilationTarget\":{\"/
|
|
98
|
-
"bytecode": "
|
|
99
|
-
"deployedBytecode": "
|
|
97
|
+
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"maxAPR\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"coefficients\",\"type\":\"uint128\"}],\"internalType\":\"struct PolynomialInterestSetter.PolyStorage\",\"name\":\"params\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCoefficients\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"borrowWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyWei\",\"type\":\"uint256\"}],\"name\":\"getInterestRate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Interest.Rate\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMaxAPR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Interest setter that sets interest based on a polynomial of the usage percentage of the market.\",\"methods\":{\"getCoefficients()\":{\"return\":\"The coefficients\"},\"getInterestRate(address,uint256,uint256)\":{\"return\":\"The interest rate per second (times 10 ** 18)\"},\"getMaxAPR()\":{\"return\":\"The maximum APR\"}},\"title\":\"PolynomialInterestSetter\"},\"userdoc\":{\"methods\":{\"getCoefficients()\":{\"notice\":\"Get all of the coefficients of the interest calculation, starting from the coefficient for the first-order utilization variable.\"},\"getInterestRate(address,uint256,uint256)\":{\"notice\":\"Get the interest rate given some borrowed and supplied amounts. The interest function is a polynomial function of the utilization (borrowWei / supplyWei) of the market. * - If borrowWei > supplyWei then the utilization is considered to be equal to 1. - If both are zero, then the utilization is considered to be equal to 0.\"},\"getMaxAPR()\":{\"notice\":\"Get the maximum APR that this interestSetter will return. The actual APY may be higher depending on how often the interest is compounded.\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/interestsetters/PolynomialInterestSetter.sol\":\"PolynomialInterestSetter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/interestsetters/PolynomialInterestSetter.sol\":{\"keccak256\":\"0xad061d70877c65f713c33f0ad22a29282a7c88da0c83de4aae2c1a29bf09dbc1\",\"urls\":[\"bzz-raw://88911cb44ac03d60975a37852287b276e43db545ee18f8365c71064bc508bb1f\",\"dweb:/ipfs/Qma45CTSQyEyuUjwqFVS74fkm2ZXsGTztPDMdhHL7DfHqn\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]}},\"version\":1}",
|
|
98
|
+
"bytecode": "0x608060405234801561001057600080fd5b5060405161070a38038061070a83398101604081905261002f91610117565b60208101516000906001600160801b03165b8015610059576101008106919091019060081c610041565b50606481146100835760405162461bcd60e51b815260040161007a90610176565b60405180910390fd5b508051600080546020909301516001600160801b03908116600160801b029281166001600160801b0319909416939093179092161790556101d8565b6000604082840312156100d157600080fd5b6100db6040610186565b905060006100e98484610106565b82525060206100fa84848301610106565b60208301525092915050565b8051610111816101c1565b92915050565b60006040828403121561012957600080fd5b600061013584846100bf565b949350505050565b600061014a601c836101ac565b7f436f656666696369656e7473206d7573742073756d20746f2031303000000000815260200192915050565b602080825281016101118161013d565b6040518181016001600160401b03811182821017156101a457600080fd5b604052919050565b90815260200190565b6001600160801b031690565b6101ca816101b5565b81146101d557600080fd5b50565b610523806101e76000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631e68607a14610046578063afd4c8d614610064578063e8177dcf14610079575b600080fd5b61004e610099565b60405161005b919061047e565b60405180910390f35b61006c6100b1565b60405161005b919061044f565b61008c610087366004610310565b61013e565b60405161005b9190610470565b6000546fffffffffffffffffffffffffffffffff1690565b604080516010808252610220820190925260609182919060208201610200803883395050600080549293509170010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1690505b801561013657610100810683838151811061011d57fe5b602090810291909101015260019091019060081c610106565b508152905090565b6101466102d0565b826101605750604080516020810190915260008152610263565b6101686102e3565b50604080518082019091526000546fffffffffffffffffffffffffffffffff8082168084527001000000000000000000000000000000009092041660208301528385106101d45760405180602001604052806301e1338083816101c757fe5b0481525092505050610263565b6020820151600090670de0b6b3a7640000906fffffffffffffffffffffffffffffffff165b60ff81168015610218578281028401935081811415610218575061023c565b87610229848b63ffffffff61026a16565b8161023057fe5b0492505060081c6101f9565b6040805160208101909152806b0a3098c68eb9427db8000000858702049052955050505050505b9392505050565b600082610279575060006102ca565b8282028284828161028657fe5b04146102c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102be90610460565b60405180910390fd5b90505b92915050565b6040518060200160405280600081525090565b604080518082019091526000808252602082015290565b80356102ca816104c0565b80356102ca816104d7565b60008060006060848603121561032557600080fd5b600061033186866102fa565b935050602061034286828701610305565b925050604061035386828701610305565b9150509250925092565b60006103698383610440565b505060200190565b600061037c82610492565b6103868185610496565b93506103918361048c565b8060005b838110156103bf5781516103a9888261035d565b97506103b48361048c565b925050600101610395565b509495945050505050565b60006103d7602183610496565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b8051602083019061043a8482610440565b50505050565b610449816104bd565b82525050565b602080825281016102638184610371565b602080825281016102ca816103ca565b602081016102ca8284610429565b602081016102ca8284610440565b60200190565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff82166102ca565b90565b6104c98161049f565b81146104d457600080fd5b50565b6104c9816104bd56fea365627a7a723158209c6ee13b6bf619ef6c70419db5415fd62ff5e2f3e5830a5db195ca96b737b3ec6c6578706572696d656e74616cf564736f6c63430005100040",
|
|
99
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80631e68607a14610046578063afd4c8d614610064578063e8177dcf14610079575b600080fd5b61004e610099565b60405161005b919061047e565b60405180910390f35b61006c6100b1565b60405161005b919061044f565b61008c610087366004610310565b61013e565b60405161005b9190610470565b6000546fffffffffffffffffffffffffffffffff1690565b604080516010808252610220820190925260609182919060208201610200803883395050600080549293509170010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1690505b801561013657610100810683838151811061011d57fe5b602090810291909101015260019091019060081c610106565b508152905090565b6101466102d0565b826101605750604080516020810190915260008152610263565b6101686102e3565b50604080518082019091526000546fffffffffffffffffffffffffffffffff8082168084527001000000000000000000000000000000009092041660208301528385106101d45760405180602001604052806301e1338083816101c757fe5b0481525092505050610263565b6020820151600090670de0b6b3a7640000906fffffffffffffffffffffffffffffffff165b60ff81168015610218578281028401935081811415610218575061023c565b87610229848b63ffffffff61026a16565b8161023057fe5b0492505060081c6101f9565b6040805160208101909152806b0a3098c68eb9427db8000000858702049052955050505050505b9392505050565b600082610279575060006102ca565b8282028284828161028657fe5b04146102c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102be90610460565b60405180910390fd5b90505b92915050565b6040518060200160405280600081525090565b604080518082019091526000808252602082015290565b80356102ca816104c0565b80356102ca816104d7565b60008060006060848603121561032557600080fd5b600061033186866102fa565b935050602061034286828701610305565b925050604061035386828701610305565b9150509250925092565b60006103698383610440565b505060200190565b600061037c82610492565b6103868185610496565b93506103918361048c565b8060005b838110156103bf5781516103a9888261035d565b97506103b48361048c565b925050600101610395565b509495945050505050565b60006103d7602183610496565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b8051602083019061043a8482610440565b50505050565b610449816104bd565b82525050565b602080825281016102638184610371565b602080825281016102ca816103ca565b602081016102ca8284610429565b602081016102ca8284610440565b60200190565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff82166102ca565b90565b6104c98161049f565b81146104d457600080fd5b50565b6104c9816104bd56fea365627a7a723158209c6ee13b6bf619ef6c70419db5415fd62ff5e2f3e5830a5db195ca96b737b3ec6c6578706572696d656e74616cf564736f6c63430005100040",
|
|
100
100
|
"sourceMap": "1088:4808:8:-;;;1670:553;8:9:-1;5:2;;;30:1;27;20:12;5:2;1670:553:8;;;;;;;;;;;;;;;;;;;;;1887:19;;;;1807:25;;-1:-1:-1;1864:42:8;1846:201;1920:17;;1846:201;;2033:3;2018:12;:18;1997:39;;;;;1418:1;1951:21;1846:201;;;;1283:3;2077:17;:28;2056:103;;;;-1:-1:-1;2056:103:8;;;;;;;;;;;;;;;;;-1:-1:-1;2198:18:8;;:9;:18;;;;;;;-1:-1:-1;2198:18:8;;;-1:-1:-1;2198:18:8;;;;;;;;;;-1:-1:-1;2198:18:8;;;;1088:4808;;55:514:-1;;184:4;172:9;167:3;163:19;159:30;156:2;;;202:1;199;192:12;156:2;220:20;235:4;220:20;;;211:29;-1:-1;292:1;324:60;380:3;360:9;324:60;;;299:86;;-1:-1;454:2;487:60;543:3;519:22;;;487:60;;;480:4;473:5;469:16;462:86;406:153;150:419;;;;;576:134;654:13;;672:33;654:13;672:33;;;639:71;;;;;717:321;;861:2;849:9;840:7;836:23;832:32;829:2;;;877:1;874;867:12;829:2;912:1;929:93;1014:7;994:9;929:93;;;919:103;823:215;-1:-1;;;;823:215;1046:328;;1206:67;1270:2;1265:3;1206:67;;;1306:30;1286:51;;1365:2;1356:12;;1192:182;-1:-1;;1192:182;1382:407;1573:2;1587:47;;;1558:18;;1648:131;1558:18;1648:131;;1796:256;1858:2;1852:9;1884:17;;;1980:22;;;-1:-1;1944:34;;1941:62;1938:2;;;2016:1;2013;2006:12;1938:2;2032;2025:22;1836:216;;-1:-1;1836:216;2060:163;2163:19;;;2212:4;2203:14;;2156:67;2231:113;-1:-1;2293:46;;2276:68;2351:117;2420:24;2438:5;2420:24;;;2413:5;2410:35;2400:2;;2459:1;2456;2449:12;2400:2;2394:74;;;1088:4808:8;;;;;;",
|
|
101
101
|
"deployedSourceMap": "1088:4808:8:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1088:4808:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4797:121;;;:::i;:::-;;;;;;;;;;;;;;;;5122:772;;;:::i;:::-;;;;;;;;2725:1860;;;;;;;;;:::i;:::-;;;;;;;;4797:121;4865:7;4895:16;;;4797:121;:::o;5122:772::-;5316:17;;;5330:2;5316:17;;;;;;;;;5196:16;;;;5316:17;;;;17:15:-1;;105:10;5316:17:8;88:34:-1;-1:-1;;5389:23:8;5467:22;;5290:43;;-1:-1:-1;5389:23:8;5467:22;;;;;;-1:-1:-1;5426:240:8;5503:17;;5426:240;;5621:3;5606:12;:18;5580:6;5587:15;5580:23;;;;;;;;;;;;;;;;;:44;5638:17;;;;;1418:1;5534:21;5426:240;;;-1:-1:-1;5823:31:8;;5830:6;-1:-1:-1;5122:772:8;:::o;2725:1860::-;2886:20;;:::i;:::-;2926:14;2922:107;;-1:-1:-1;2963:55:8;;;;;;;;;-1:-1:-1;2963:55:8;;2956:62;;2922:107;3039:20;;:::i;:::-;-1:-1:-1;3039:32:8;;;;;;;;;3062:9;3039:32;;;;;;;;;;;;;;;;;3121:22;;;3117:140;;3166:80;;;;;;;;1369:18;3205:6;:26;;;;;;3166:80;;;3159:87;;;;;;3117:140;3398:14;;;;3267;;1317:8;;3375:37;;3422:857;3513:18;;;3592:16;;3588:402;;3802:10;3788:11;:24;3778:34;;;;3916:12;3901:11;:27;3897:79;;;3952:5;;;3897:79;4183:9;4155:25;:10;4170:9;4155:25;:14;:25;:::i;:::-;:37;;;;;;;-1:-1:-1;;1418:1:8;4247:21;3422:857;;;4478:100;;;;;;;;;;4532:34;4513:15;;;:54;4478:100;;4471:107;-1:-1:-1;;;;;;2725:1860:8;;;;;;:::o;2159:459:124:-;2217:7;2458:6;2454:45;;-1:-1:-1;2487:1:124;2480:8;;2454:45;2521:5;;;2525:1;2521;:5;:1;2544:5;;;;;:10;2536:56;;;;;;;;;;;;;;;;;;;;;;2610:1;-1:-1:-1;2159:459:124;;;;;:::o;1088:4808:8:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;1088:4808:8;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:130;209:20;;234:33;209:20;234:33;;279:491;;;;417:2;405:9;396:7;392:23;388:32;385:2;;;433:1;430;423:12;385:2;468:1;485:53;530:7;510:9;485:53;;;475:63;;447:97;575:2;593:53;638:7;629:6;618:9;614:22;593:53;;;583:63;;554:98;683:2;701:53;746:7;737:6;726:9;722:22;701:53;;;691:63;;662:98;379:391;;;;;;778:173;;865:46;907:3;899:6;865:46;;;-1:-1;;940:4;931:14;;858:93;990:690;;1135:54;1183:5;1135:54;;;1202:86;1281:6;1276:3;1202:86;;;1195:93;;1309:56;1359:5;1309:56;;;1385:7;1413:1;1398:260;1423:6;1420:1;1417:13;1398:260;;;1490:6;1484:13;1511:63;1570:3;1555:13;1511:63;;;1504:70;;1591:60;1644:6;1591:60;;;1581:70;-1:-1;;1445:1;1438:9;1398:260;;;-1:-1;1671:3;;1114:566;-1:-1;;;;;1114:566;1689:370;;1849:67;1913:2;1908:3;1849:67;;;1949:34;1929:55;;2018:3;2013:2;2004:12;;1997:25;2050:2;2041:12;;1835:224;-1:-1;;1835:224;2118:319;2324:23;;2257:4;2248:14;;;2353:63;2252:3;2324:23;2353:63;;;2277:145;2230:207;;;;2444:103;2517:24;2535:5;2517:24;;;2512:3;2505:37;2499:48;;;2674:361;2842:2;2856:47;;;2827:18;;2917:108;2827:18;3011:6;2917:108;;3042:407;3233:2;3247:47;;;3218:18;;3308:131;3218:18;3308:131;;3456:305;3620:2;3605:18;;3634:117;3609:9;3724:6;3634:117;;3768:213;3886:2;3871:18;;3900:71;3875:9;3944:6;3900:71;;3988:151;4112:4;4103:14;;4060:79;4146:137;4249:12;;4220:63;4406:178;4524:19;;;4573:4;4564:14;;4517:67;4764:91;;4935:42;4924:54;;4826:24;4907:76;4990:72;5052:5;5035:27;5069:117;5138:24;5156:5;5138:24;;;5131:5;5128:35;5118:2;;5177:1;5174;5167:12;5118:2;5112:74;;5193:117;5262:24;5280:5;5262:24;",
|
|
102
102
|
"source": "/*\n\n Copyright 2019 dYdX Trading Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { SafeMath } from \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport { IInterestSetter } from \"../../protocol/interfaces/IInterestSetter.sol\";\nimport { Interest } from \"../../protocol/lib/Interest.sol\";\nimport { Math } from \"../../protocol/lib/Math.sol\";\n\n\n/**\n * @title PolynomialInterestSetter\n * @author dYdX\n *\n * Interest setter that sets interest based on a polynomial of the usage percentage of the market.\n */\ncontract PolynomialInterestSetter is\n IInterestSetter\n{\n using Math for uint256;\n using SafeMath for uint256;\n\n // ============ Constants ============\n\n uint256 constant PERCENT = 100;\n\n uint256 constant BASE = 10 ** 18;\n\n uint256 constant SECONDS_IN_A_YEAR = 60 * 60 * 24 * 365;\n\n uint256 constant BYTE = 8;\n\n // ============ Structs ============\n\n struct PolyStorage {\n uint128 maxAPR;\n uint128 coefficients;\n }\n\n // ============ Storage ============\n\n PolyStorage g_storage;\n\n // ============ Constructor ============\n\n constructor(\n PolyStorage memory params\n )\n public\n {\n // verify that all coefficients add up to 100%\n uint256 sumOfCoefficients = 0;\n for (\n uint256 coefficients = params.coefficients;\n coefficients != 0;\n coefficients >>= BYTE\n ) {\n sumOfCoefficients += coefficients % 256;\n }\n require(\n sumOfCoefficients == PERCENT,\n \"Coefficients must sum to 100\"\n );\n\n // store the params\n g_storage = params;\n }\n\n // ============ Public Functions ============\n\n /**\n * Get the interest rate given some borrowed and supplied amounts. The interest function is a\n * polynomial function of the utilization (borrowWei / supplyWei) of the market.\n *\n * - If borrowWei > supplyWei then the utilization is considered to be equal to 1.\n * - If both are zero, then the utilization is considered to be equal to 0.\n *\n * @return The interest rate per second (times 10 ** 18)\n */\n function getInterestRate(\n address /* token */,\n uint256 borrowWei,\n uint256 supplyWei\n )\n external\n view\n returns (Interest.Rate memory)\n {\n if (borrowWei == 0) {\n return Interest.Rate({\n value: 0\n });\n }\n\n PolyStorage memory s = g_storage;\n uint256 maxAPR = s.maxAPR;\n\n if (borrowWei >= supplyWei) {\n return Interest.Rate({\n value: maxAPR / SECONDS_IN_A_YEAR\n });\n }\n\n uint256 result = 0;\n uint256 polynomial = BASE;\n\n // for each non-zero coefficient...\n uint256 coefficients = s.coefficients;\n while (true) {\n // gets the lowest-order byte\n uint256 coefficient = coefficients % 256;\n\n // if non-zero, add to result\n if (coefficient != 0) {\n // no safeAdd since there are at most 16 coefficients\n // no safeMul since (coefficient < 256 && polynomial <= 10**18)\n result += coefficient * polynomial;\n\n // break if this is the last non-zero coefficient\n if (coefficient == coefficients) {\n break;\n }\n }\n\n // increase the order of the polynomial term\n // no safeDiv since supplyWei must be strictly larger than borrowWei\n polynomial = polynomial.mul(borrowWei) / supplyWei;\n\n // move to next coefficient\n coefficients >>= BYTE;\n }\n\n // normalize the result\n // no safeMul since result fits within 72 bits and maxAPR fits within 128 bits\n // no safeDiv since the divisor is a non-zero constant\n return Interest.Rate({\n value: result * maxAPR / (SECONDS_IN_A_YEAR * BASE * PERCENT)\n });\n }\n\n /**\n * Get the maximum APR that this interestSetter will return. The actual APY may be higher\n * depending on how often the interest is compounded.\n *\n * @return The maximum APR\n */\n function getMaxAPR()\n external\n view\n returns (uint256)\n {\n return g_storage.maxAPR;\n }\n\n /**\n * Get all of the coefficients of the interest calculation, starting from the coefficient for\n * the first-order utilization variable.\n *\n * @return The coefficients\n */\n function getCoefficients()\n external\n view\n returns (uint256[] memory)\n {\n // allocate new array with maximum of 16 coefficients\n uint256[] memory result = new uint256[](16);\n\n // add the coefficients to the array\n uint256 numCoefficients = 0;\n for (\n uint256 coefficients = g_storage.coefficients;\n coefficients != 0;\n coefficients >>= BYTE\n ) {\n result[numCoefficients] = coefficients % 256;\n numCoefficients++;\n }\n\n // modify result.length to match numCoefficients\n /* solium-disable-next-line security/no-inline-assembly */\n assembly {\n mstore(result, numCoefficients)\n }\n\n return result;\n }\n}\n",
|
|
103
|
-
"sourcePath": "/
|
|
103
|
+
"sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/interestsetters/PolynomialInterestSetter.sol",
|
|
104
104
|
"ast": {
|
|
105
|
-
"absolutePath": "/
|
|
105
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/interestsetters/PolynomialInterestSetter.sol",
|
|
106
106
|
"exportedSymbols": {
|
|
107
107
|
"PolynomialInterestSetter": [
|
|
108
108
|
3853
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"unitAlias": ""
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
|
-
"absolutePath": "/
|
|
151
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
|
|
152
152
|
"file": "../../protocol/interfaces/IInterestSetter.sol",
|
|
153
153
|
"id": 3605,
|
|
154
154
|
"nodeType": "ImportDirective",
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"unitAlias": ""
|
|
165
165
|
},
|
|
166
166
|
{
|
|
167
|
-
"absolutePath": "/
|
|
167
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
|
|
168
168
|
"file": "../../protocol/lib/Interest.sol",
|
|
169
169
|
"id": 3607,
|
|
170
170
|
"nodeType": "ImportDirective",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"unitAlias": ""
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
|
-
"absolutePath": "/
|
|
183
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol",
|
|
184
184
|
"file": "../../protocol/lib/Math.sol",
|
|
185
185
|
"id": 3609,
|
|
186
186
|
"nodeType": "ImportDirective",
|
|
@@ -3378,7 +3378,7 @@
|
|
|
3378
3378
|
"src": "603:5294:8"
|
|
3379
3379
|
},
|
|
3380
3380
|
"legacyAST": {
|
|
3381
|
-
"absolutePath": "/
|
|
3381
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/interestsetters/PolynomialInterestSetter.sol",
|
|
3382
3382
|
"exportedSymbols": {
|
|
3383
3383
|
"PolynomialInterestSetter": [
|
|
3384
3384
|
3853
|
|
@@ -3424,7 +3424,7 @@
|
|
|
3424
3424
|
"unitAlias": ""
|
|
3425
3425
|
},
|
|
3426
3426
|
{
|
|
3427
|
-
"absolutePath": "/
|
|
3427
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
|
|
3428
3428
|
"file": "../../protocol/interfaces/IInterestSetter.sol",
|
|
3429
3429
|
"id": 3605,
|
|
3430
3430
|
"nodeType": "ImportDirective",
|
|
@@ -3440,7 +3440,7 @@
|
|
|
3440
3440
|
"unitAlias": ""
|
|
3441
3441
|
},
|
|
3442
3442
|
{
|
|
3443
|
-
"absolutePath": "/
|
|
3443
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
|
|
3444
3444
|
"file": "../../protocol/lib/Interest.sol",
|
|
3445
3445
|
"id": 3607,
|
|
3446
3446
|
"nodeType": "ImportDirective",
|
|
@@ -3456,7 +3456,7 @@
|
|
|
3456
3456
|
"unitAlias": ""
|
|
3457
3457
|
},
|
|
3458
3458
|
{
|
|
3459
|
-
"absolutePath": "/
|
|
3459
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol",
|
|
3460
3460
|
"file": "../../protocol/lib/Math.sol",
|
|
3461
3461
|
"id": 3609,
|
|
3462
3462
|
"nodeType": "ImportDirective",
|
|
@@ -6659,7 +6659,7 @@
|
|
|
6659
6659
|
},
|
|
6660
6660
|
"networks": {},
|
|
6661
6661
|
"schemaVersion": "3.0.23",
|
|
6662
|
-
"updatedAt": "2022-02-
|
|
6662
|
+
"updatedAt": "2022-02-07T07:18:44.818Z",
|
|
6663
6663
|
"devdoc": {
|
|
6664
6664
|
"author": "dYdX * Interest setter that sets interest based on a polynomial of the usage percentage of the market.",
|
|
6665
6665
|
"methods": {
|