@dolomite-exchange/dolomite-margin 0.2.0 → 0.2.4

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.
Files changed (155) hide show
  1. package/build/contracts/Account.json +11 -11
  2. package/build/contracts/Actions.json +11 -11
  3. package/build/contracts/Address.json +1 -1
  4. package/build/contracts/Admin.json +23 -23
  5. package/build/contracts/AdminImpl.json +31 -322
  6. package/build/contracts/AdvancedMath.json +7 -7
  7. package/build/contracts/AmmRebalancerProxy.json +32 -77
  8. package/build/contracts/Babylonian.json +1 -1
  9. package/build/contracts/Bits.json +9 -9
  10. package/build/contracts/Cache.json +13 -13
  11. package/build/contracts/ChainlinkPriceOracleV1.json +16 -16
  12. package/build/contracts/Context.json +1 -1
  13. package/build/contracts/CustomTestToken.json +9 -9
  14. package/build/contracts/Decimal.json +9 -9
  15. package/build/contracts/DelayedMultiSig.json +9 -9
  16. package/build/contracts/DolomiteAmmERC20.json +11 -11
  17. package/build/contracts/DolomiteAmmFactory.json +14 -52
  18. package/build/contracts/DolomiteAmmLibrary.json +24 -24
  19. package/build/contracts/DolomiteAmmPair.json +27 -27
  20. package/build/contracts/DolomiteAmmRouterProxy.json +30 -363
  21. package/build/contracts/DolomiteMargin.json +22 -68
  22. package/build/contracts/DoubleExponentInterestSetter.json +15 -21
  23. package/build/contracts/EnumerableSet.json +7 -7
  24. package/build/contracts/ErroringOmiseToken.json +9 -9
  25. package/build/contracts/ErroringToken.json +10 -10
  26. package/build/contracts/Events.json +17 -17
  27. package/build/contracts/Exchange.json +15 -15
  28. package/build/contracts/Expiry.json +34 -34
  29. package/build/contracts/Getters.json +34 -34
  30. package/build/contracts/IAutoTrader.json +9 -9
  31. package/build/contracts/ICallee.json +7 -7
  32. package/build/contracts/IChainlinkAggregator.json +5 -5
  33. package/build/contracts/IDolomiteAmmERC20.json +5 -5
  34. package/build/contracts/IDolomiteAmmFactory.json +9 -9
  35. package/build/contracts/IDolomiteAmmPair.json +9 -9
  36. package/build/contracts/IDolomiteMargin.json +23 -23
  37. package/build/contracts/IERC20.json +1 -1
  38. package/build/contracts/IERC20Detailed.json +5 -5
  39. package/build/contracts/IExchangeWrapper.json +5 -5
  40. package/build/contracts/IExpiry.json +9 -9
  41. package/build/contracts/IInterestSetter.json +7 -7
  42. package/build/contracts/ILiquidationCallback.json +7 -7
  43. package/build/contracts/IMakerOracle.json +5 -5
  44. package/build/contracts/IOasisDex.json +5 -5
  45. package/build/contracts/IPriceOracle.json +7 -7
  46. package/build/contracts/IRecyclable.json +9 -9
  47. package/build/contracts/ITransferProxy.json +5 -5
  48. package/build/contracts/IUniswapV2Callee.json +5 -5
  49. package/build/contracts/IUniswapV2Factory.json +5 -5
  50. package/build/contracts/IUniswapV2Pair.json +5 -5
  51. package/build/contracts/IUniswapV2Router.json +5 -5
  52. package/build/contracts/IWETH.json +5 -5
  53. package/build/contracts/Interest.json +15 -15
  54. package/build/contracts/LiquidateOrVaporizeImpl.json +31 -82
  55. package/build/contracts/LiquidatorProxyHelper.json +23 -23
  56. package/build/contracts/LiquidatorProxyV1.json +31 -37
  57. package/build/contracts/LiquidatorProxyV1WithAmm.json +246 -363
  58. package/build/contracts/Math.json +1 -1
  59. package/build/contracts/Migrations.json +8 -14
  60. package/build/contracts/Monetary.json +7 -7
  61. package/build/contracts/MultiCall.json +8 -14
  62. package/build/contracts/MultiSig.json +7 -7
  63. package/build/contracts/OmiseToken.json +8 -8
  64. package/build/contracts/OnlyDolomiteMargin.json +11 -11
  65. package/build/contracts/Operation.json +15 -15
  66. package/build/contracts/OperationImpl.json +39 -47
  67. package/build/contracts/Ownable.json +1 -1
  68. package/build/contracts/PartiallyDelayedMultiSig.json +9 -9
  69. package/build/contracts/PayableProxy.json +16 -22
  70. package/build/contracts/Permission.json +11 -11
  71. package/build/contracts/PolynomialInterestSetter.json +13 -13
  72. package/build/contracts/RecyclableTokenProxy.json +25 -25
  73. package/build/contracts/ReentrancyGuard.json +1 -1
  74. package/build/contracts/Require.json +7 -7
  75. package/build/contracts/SafeERC20.json +1 -1
  76. package/build/contracts/SafeETH.json +7 -7
  77. package/build/contracts/SafeMath.json +1 -1
  78. package/build/contracts/SignedOperationProxy.json +21 -104
  79. package/build/contracts/SimpleFeeOwner.json +19 -64
  80. package/build/contracts/State.json +9 -9
  81. package/build/contracts/Storage.json +3222 -3222
  82. package/build/contracts/TestAmmRebalancerProxy.json +32 -58
  83. package/build/contracts/TestAutoTrader.json +22 -22
  84. package/build/contracts/TestBtcUsdChainlinkAggregator.json +11 -11
  85. package/build/contracts/TestCallee.json +18 -18
  86. package/build/contracts/TestChainlinkPriceOracleV1.json +10 -94
  87. package/build/contracts/TestCounter.json +7 -7
  88. package/build/contracts/TestDaiUsdChainlinkAggregator.json +11 -11
  89. package/build/contracts/TestDolomiteMargin.json +21 -21
  90. package/build/contracts/TestDoubleExponentInterestSetter.json +10 -10
  91. package/build/contracts/TestEthUsdChainlinkAggregator.json +11 -11
  92. package/build/contracts/TestExchangeWrapper.json +10 -10
  93. package/build/contracts/TestInterestSetter.json +13 -13
  94. package/build/contracts/TestLib.json +22 -22
  95. package/build/contracts/TestLinkUsdChainlinkAggregator.json +11 -11
  96. package/build/contracts/TestLiquidateCallback.json +15 -15
  97. package/build/contracts/TestLrcEthChainlinkAggregator.json +11 -11
  98. package/build/contracts/TestMakerOracle.json +10 -10
  99. package/build/contracts/TestMaticUsdChainlinkAggregator.json +10 -10
  100. package/build/contracts/TestOasisDex.json +12 -12
  101. package/build/contracts/TestOperationImpl.json +15 -15
  102. package/build/contracts/TestPolynomialInterestSetter.json +10 -10
  103. package/build/contracts/TestPriceAggregator.json +9 -9
  104. package/build/contracts/TestPriceOracle.json +13 -13
  105. package/build/contracts/TestRecyclableToken.json +9 -9
  106. package/build/contracts/TestSimpleCallee.json +14 -14
  107. package/build/contracts/TestToken.json +9 -9
  108. package/build/contracts/TestTrader.json +17 -17
  109. package/build/contracts/TestUniswapAmmRebalancerProxy.json +43 -16
  110. package/build/contracts/TestUsdcUsdChainlinkAggregator.json +11 -11
  111. package/build/contracts/TestWETH.json +9 -9
  112. package/build/contracts/Time.json +9 -9
  113. package/build/contracts/Token.json +9 -9
  114. package/build/contracts/TokenA.json +10 -10
  115. package/build/contracts/TokenB.json +10 -10
  116. package/build/contracts/TokenC.json +10 -10
  117. package/build/contracts/TokenD.json +10 -10
  118. package/build/contracts/TokenE.json +10 -10
  119. package/build/contracts/TokenF.json +10 -10
  120. package/build/contracts/TransferProxy.json +22 -28
  121. package/build/contracts/TypedSignature.json +9 -9
  122. package/build/contracts/Types.json +9 -9
  123. package/build/contracts/UQ112x112.json +7 -7
  124. package/build/contracts/UniswapV2ERC20.json +7 -7
  125. package/build/contracts/UniswapV2Factory.json +12 -12
  126. package/build/contracts/UniswapV2Library.json +20 -20
  127. package/build/contracts/UniswapV2Pair.json +17 -17
  128. package/build/contracts/UniswapV2Router02.json +16 -16
  129. package/build/contracts/WETH9.json +1 -1
  130. package/contracts/protocol/impl/artifacts/OperationImpl.json +80 -0
  131. package/contracts/protocol/impl/artifacts/OperationImpl_metadata.json +193 -0
  132. package/contracts/protocol/lib/Storage.sol +7 -0
  133. package/dist/build/published_contracts/AdminImpl.json +1 -1
  134. package/dist/build/published_contracts/AmmRebalancerProxy.json +1 -1
  135. package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +1 -1
  136. package/dist/build/published_contracts/DolomiteAmmFactory.json +1 -1
  137. package/dist/build/published_contracts/DolomiteAmmRouterProxy.json +1 -1
  138. package/dist/build/published_contracts/DoubleExponentInterestSetter.json +2 -2
  139. package/dist/build/published_contracts/Expiry.json +1 -1
  140. package/dist/build/published_contracts/LiquidatorProxyV1.json +2 -2
  141. package/dist/build/published_contracts/LiquidatorProxyV1WithAmm.json +2 -2
  142. package/dist/build/published_contracts/MultiCall.json +1 -1
  143. package/dist/build/published_contracts/PayableProxy.json +1 -1
  144. package/dist/build/published_contracts/SignedOperationProxy.json +2 -2
  145. package/dist/build/published_contracts/SimpleFeeOwner.json +2 -2
  146. package/dist/build/published_contracts/TransferProxy.json +1 -1
  147. package/dist/build/wrappers/TestUniswapAmmRebalancerProxy.d.ts +66 -0
  148. package/dist/src/modules/MultiCall.js +2 -1
  149. package/dist/src/modules/MultiCall.js.map +1 -1
  150. package/dist/src/modules/operate/AccountOperation.d.ts +8 -2
  151. package/dist/src/modules/operate/AccountOperation.js +8 -10
  152. package/dist/src/modules/operate/AccountOperation.js.map +1 -1
  153. package/dist/src/types.d.ts +0 -1
  154. package/dist/src/types.js.map +1 -1
  155. package/package.json +4 -3
@@ -428,15 +428,15 @@
428
428
  "type": "function"
429
429
  }
430
430
  ],
431
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IPriceOracle\",\"name\":\"priceOracle\",\"type\":\"address\"},{\"internalType\":\"contract IInterestSetter\",\"name\":\"interestSetter\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRecyclable\",\"type\":\"bool\"}],\"name\":\"ownerAddMarket\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"marketIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"salvager\",\"type\":\"address\"}],\"name\":\"ownerRemoveMarkets\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"earningsRate\",\"type\":\"tuple\"}],\"name\":\"ownerSetEarningsRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ownerSetGlobalOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"contract IInterestSetter\",\"name\":\"interestSetter\",\"type\":\"address\"}],\"name\":\"ownerSetInterestSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"}],\"name\":\"ownerSetIsClosing\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spread\",\"type\":\"tuple\"}],\"name\":\"ownerSetLiquidationSpread\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"}],\"name\":\"ownerSetMarginPremium\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"ratio\",\"type\":\"tuple\"}],\"name\":\"ownerSetMarginRatio\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"minBorrowedValue\",\"type\":\"tuple\"}],\"name\":\"ownerSetMinBorrowedValue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"contract IPriceOracle\",\"name\":\"priceOracle\",\"type\":\"address\"}],\"name\":\"ownerSetPriceOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"}],\"name\":\"ownerSetSpreadPremium\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ownerWithdrawExcessTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ownerWithdrawUnsupportedTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Public functions that allow the privileged owner address to manage DolomiteMargin\",\"methods\":{\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"Admin\"},\"userdoc\":{\"methods\":{\"ownerAddMarket(address,address,address,(uint256),(uint256),bool,bool)\":{\"notice\":\"Add a new market to DolomiteMargin. Must be for a previously-unsupported ERC20 token.\"},\"ownerRemoveMarkets(uint256[],address)\":{\"notice\":\"Removes a market from DolomiteMargin, sends any remaining tokens in this contract to `salvager` and invokes the recyclable callback\"},\"ownerSetEarningsRate((uint256))\":{\"notice\":\"Set the global earnings-rate variable that determines what percentage of the interest paid by borrowers gets passed-on to suppliers.\"},\"ownerSetGlobalOperator(address,bool)\":{\"notice\":\"Approve (or disapprove) an address that is permissioned to be an operator for all accounts in DolomiteMargin. Intended only to approve smart-contracts.\"},\"ownerSetInterestSetter(uint256,address)\":{\"notice\":\"Set the interest-setter for a market.\"},\"ownerSetIsClosing(uint256,bool)\":{\"notice\":\"Set (or unset) the status of a market to \\\"closing\\\". The borrowedValue of a market cannot increase while its status is \\\"closing\\\".\"},\"ownerSetLiquidationSpread((uint256))\":{\"notice\":\"Set the global liquidation spread. This is the spread between oracle prices that incentivizes the liquidation of risky positions.\"},\"ownerSetMarginPremium(uint256,(uint256))\":{\"notice\":\"Set a premium on the minimum margin-ratio for a market. This makes it so that any positions that include this market require a higher collateralization to avoid being liquidated.\"},\"ownerSetMarginRatio((uint256))\":{\"notice\":\"Set the global minimum margin-ratio that every position must maintain to prevent being liquidated.\"},\"ownerSetMinBorrowedValue((uint256))\":{\"notice\":\"Set the global minimum-borrow value which is the minimum value of any new borrow on DolomiteMargin.\"},\"ownerSetPriceOracle(uint256,address)\":{\"notice\":\"Set the price oracle for a market.\"},\"ownerSetSpreadPremium(uint256,(uint256))\":{\"notice\":\"Set a premium on the liquidation spread for a market. This makes it so that any liquidations that include this market have a higher spread than the global default.\"},\"ownerWithdrawExcessTokens(uint256,address)\":{\"notice\":\"Withdraw an ERC20 token for which there is an associated market. Only excess tokens can be withdrawn. The number of excess tokens is calculated by taking the current number of tokens held in DolomiteMargin, adding the number of tokens owed to DolomiteMargin by borrowers, and subtracting the number of tokens owed to suppliers by DolomiteMargin.\"},\"ownerWithdrawUnsupportedTokens(address,address)\":{\"notice\":\"Withdraw an ERC20 token for which there is no associated market.\"}}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol\":\"Admin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol\":{\"keccak256\":\"0x7232f01c56df1d72fc84c2a0562a2a70bd275c8ac08ce47d488ba3f693135660\",\"urls\":[\"bzz-raw://bd09ab69cbadea5ac422588f43d494b78d6feca2b57916db3947b7b66dbbf14f\",\"dweb:/ipfs/QmP4BzkibsPhf2ysPneuY1Gep8ZLMi2XoxcUVk2cxAGGtL\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol\":{\"keccak256\":\"0x4fe464f16c7f490dbe7f43e9672ddf1296852a4a652303a47a91bc7a3c72419b\",\"urls\":[\"bzz-raw://725237be55e03e728e268407c47704af1c93b1fddf277b5e6447d864b9f0bbfb\",\"dweb:/ipfs/QmNZfmH9XMXGdd21DMv2aNU4X152uDVUrpns64kZn1ryVn\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol\":{\"keccak256\":\"0x9f5cc11d0375c7202f7dfb5079859c65c7f5cc1e816ea5090e281a6dbc01f5ce\",\"urls\":[\"bzz-raw://44bda3d421426f186cb3cc60765dfb2cf446c61e20bb039ba2bf2ee558e6d363\",\"dweb:/ipfs/QmZUrDfwsVPsMSWz45ejAXC1juwCZ7x9vQ14JHAgC2JAHJ\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IRecyclable.sol\":{\"keccak256\":\"0x68843eafdee387608bd2e757c91e90c5044fc3724ea3ad5042117ab4af49d639\",\"urls\":[\"bzz-raw://14b71da16f79b9b5356dfb8d9243a141bb87b209e30fc99c9278c9a01e62a1a0\",\"dweb:/ipfs/QmNhdGQbhSBSJ8dTqSuntaqA3ChhkKpwLuhDfS5UGQ461A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xca1826cf783a2d48a5a45309ca92cbaee46d2caec7b5a7c154b2dfda06af8975\",\"urls\":[\"bzz-raw://e13679dfa92725d990e3b0656f4eca4b0d09616e5c2729a3bc0276923d6887e1\",\"dweb:/ipfs/QmVc8teCJ6rKutZLyvk568hCw1vYj2nC6DwyxRgswHu71k\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x6fb9d7889769d7cc161225f9ef7a90e468ba9788b253816f8d8b6894d3472c24\",\"urls\":[\"bzz-raw://cf4c00fc3c37cc5acf0c82ec6fd97bab67d72c2567fdc0ebf023d9c09b30a08e\",\"dweb:/ipfs/Qmb7TChG6DsEDX7LooJ4vmxot19f7VXX8S1zUGPeJTWbwZ\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}",
432
- "bytecode": "0x608060405260006100176001600160e01b0361007d16565b600d80546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d805460ff60a01b1916600160a01b179055610081565b3390565b611715806100906000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b2578063d36cca9011610081578063ef6957d011610066578063ef6957d014610269578063f2901ae21461027c578063f2fde38b1461028f57610136565b8063d36cca9014610243578063e8e72f751461025657610136565b80638da5cb5b146101f35780638f32d59b146102085780638f6bc6591461021d578063c0bb72b71461023057610136565b80633063bce2116101095780634be87414116100ee5780634be87414146101c5578063715018a6146101d85780638439dd92146101e057610136565b80633063bce21461019f578063387a498a146101b257610136565b8063042069d61461013b578063121fb72f146101505780632a560845146101635780632e822af31461018c575b600080fd5b61014e610149366004611266565b6102a2565b005b61014e61015e366004611236565b6103a1565b610176610171366004611080565b610450565b6040516101839190611603565b60405180910390f35b61014e61019a3660046111bc565b61056c565b61014e6101ad3660046111bc565b61065f565b61014e6101c03660046111bc565b61070c565b61014e6101d3366004611266565b6107b9565b61014e610868565b61014e6101ee3660046110ea565b6108fb565b6101fb610a00565b6040516101839190611419565b610210610a1c565b6040516101839190611427565b61017661022b3660046111f8565b610a5c565b61014e61023e3660046111bc565b610b0d565b61014e610251366004611186565b610bba565b61014e610264366004611236565b610c69565b61014e610277366004611217565b610d18565b61014e61028a3660046110ba565b610dc7565b61014e61029d36600461105a565b610e76565b6102aa610a1c565b6102cf5760405162461bcd60e51b81526004016102c690611445565b60405180910390fd5b600d54600160a01b900460ff166102f85760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8854ab3e00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638854ab3e9061035a90600090869086906004016115db565b60006040518083038186803b15801561037257600080fd5b505af4158015610386573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b17905550505050565b6103a9610a1c565b6103c55760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166103ee5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517faa92e34800000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063aa92e3489061035a90600090869086906004016115b3565b600061045a610a1c565b6104765760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff1661049f5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fdd32998a00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063dd32998a906105019060009087908790600401611465565b60206040518083038186803b15801561051957600080fd5b505af415801561052d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055191908101906111da565b9050600d805460ff60a01b1916600160a01b17905592915050565b610574610a1c565b6105905760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166105b95760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517ff9cacc4c00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063f9cacc4c9061061990600090859060040161155b565b60006040518083038186803b15801561063157600080fd5b505af4158015610645573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050565b610667610a1c565b6106835760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166106ac5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f0f44e6bc00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90630f44e6bc9061061990600090859060040161155b565b610714610a1c565b6107305760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166107595760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f311401d000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063311401d09061061990600090859060040161155b565b6107c1610a1c565b6107dd5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166108065760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f7335079b00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90637335079b9061035a90600090869086906004016115db565b610870610a1c565b61088c5760405162461bcd60e51b81526004016102c690611445565b600d5460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610903610a1c565b61091f5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166109485760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f4f32fb2700000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90634f32fb27906109b4906000908b908b908b908b908b908b908b906004016114b5565b60006040518083038186803b1580156109cc57600080fd5b505af41580156109e0573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050505050505050565b600d5473ffffffffffffffffffffffffffffffffffffffff1690565b600d5460009073ffffffffffffffffffffffffffffffffffffffff16610a40610ea6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610a66610a1c565b610a825760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610aab5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fb25328e000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063b25328e090610501906000908790879060040161157d565b610b15610a1c565b610b315760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610b5a5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f54dd351600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906354dd35169061061990600090859060040161155b565b610bc2610a1c565b610bde5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610c075760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fd963729100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063d96372919061035a906000908690869060040161152c565b610c71610a1c565b610c8d5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610cb65760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8c5dabd100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638c5dabd19061035a90600090869086906004016115b3565b610d20610a1c565b610d3c5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610d655760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f10c87b0600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906310c87b069061035a9060009086908690600401611598565b610dcf610a1c565b610deb5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610e145760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fe80f802400000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063e80f80249061035a906000908690869060040161148d565b610e7e610a1c565b610e9a5760405162461bcd60e51b81526004016102c690611445565b610ea381610eaa565b50565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116610edd5760405162461bcd60e51b81526004016102c690611435565b600d5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8035610f76816116a3565b92915050565b600082601f830112610f8d57600080fd5b8135610fa0610f9b82611638565b611611565b91508181835260208401935060208101905083856020840282011115610fc557600080fd5b60005b83811015610ff15781610fdb8882611044565b8452506020928301929190910190600101610fc8565b5050505092915050565b8035610f76816116b7565b8035610f76816116c0565b60006020828403121561102357600080fd5b61102d6020611611565b9050600061103b8484611044565b82525092915050565b8035610f76816116c9565b8051610f76816116c9565b60006020828403121561106c57600080fd5b60006110788484610f6b565b949350505050565b6000806040838503121561109357600080fd5b600061109f8585610f6b565b92505060206110b085828601610f6b565b9150509250929050565b600080604083850312156110cd57600080fd5b60006110d98585610f6b565b92505060206110b085828601610ffb565b600080600080600080600060e0888a03121561110557600080fd5b60006111118a8a610f6b565b97505060206111228a828b01611006565b96505060406111338a828b01611006565b95505060606111448a828b01611011565b94505060806111558a828b01611011565b93505060a06111668a828b01610ffb565b92505060c06111778a828b01610ffb565b91505092959891949750929550565b6000806040838503121561119957600080fd5b823567ffffffffffffffff8111156111b057600080fd5b61109f85828601610f7c565b6000602082840312156111ce57600080fd5b60006110788484611011565b6000602082840312156111ec57600080fd5b6000611078848461104f565b6000806040838503121561120b57600080fd5b600061109f8585611044565b6000806040838503121561122a57600080fd5b60006110d98585611044565b6000806040838503121561124957600080fd5b60006112558585611044565b92505060206110b085828601611006565b6000806040838503121561127957600080fd5b60006112858585611044565b92505060206110b085828601611011565b60006112a28383611410565b505060200190565b6112b38161166c565b82525050565b60006112c48261165f565b6112ce8185611663565b93506112d983611659565b8060005b838110156113075781516112f18882611296565b97506112fc83611659565b9250506001016112dd565b509495945050505050565b6112b381611677565b6112b38161167c565b6000611331602683611663565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b6000611390602083611663565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006113c9601f83611663565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b805160208301906114068482611410565b50505050565b9052565b6112b3816116a0565b60208101610f7682846112aa565b60208101610f768284611312565b60208082528101610f7681611324565b60208082528101610f7681611383565b60208082528101610f76816113bc565b60608101611473828661140c565b61148060208301856112aa565b61107860408301846112aa565b6060810161149b828661140c565b6114a860208301856112aa565b6110786040830184611312565b61010081016114c4828b61140c565b6114d1602083018a6112aa565b6114de604083018961131b565b6114eb606083018861131b565b6114f860808301876113f5565b61150560a08301866113f5565b61151260c0830185611312565b61151f60e0830184611312565b9998505050505050505050565b6060810161153a828661140c565b818103602083015261154c81856112b9565b905061107860408301846112aa565b60408101611569828561140c565b61157660208301846113f5565b9392505050565b6060810161158b828661140c565b6114806020830185611410565b606081016115a6828661140c565b6114a86020830185611410565b606081016115c1828661140c565b6115ce6020830185611410565b611078604083018461131b565b606081016115e9828661140c565b6115f66020830185611410565b61107860408301846113f5565b60208101610f768284611410565b60405181810167ffffffffffffffff8111828210171561163057600080fd5b604052919050565b600067ffffffffffffffff82111561164f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f7682611687565b151590565b6000610f768261166c565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b6116ac8161166c565b8114610ea357600080fd5b6116ac81611677565b6116ac8161167c565b6116ac816116a056fea365627a7a723158205b7ba9c656bb1adac1e8355b763e26172d40bdb7a539e08bb3568165f1688f186c6578706572696d656e74616cf564736f6c63430005100040",
433
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b2578063d36cca9011610081578063ef6957d011610066578063ef6957d014610269578063f2901ae21461027c578063f2fde38b1461028f57610136565b8063d36cca9014610243578063e8e72f751461025657610136565b80638da5cb5b146101f35780638f32d59b146102085780638f6bc6591461021d578063c0bb72b71461023057610136565b80633063bce2116101095780634be87414116100ee5780634be87414146101c5578063715018a6146101d85780638439dd92146101e057610136565b80633063bce21461019f578063387a498a146101b257610136565b8063042069d61461013b578063121fb72f146101505780632a560845146101635780632e822af31461018c575b600080fd5b61014e610149366004611266565b6102a2565b005b61014e61015e366004611236565b6103a1565b610176610171366004611080565b610450565b6040516101839190611603565b60405180910390f35b61014e61019a3660046111bc565b61056c565b61014e6101ad3660046111bc565b61065f565b61014e6101c03660046111bc565b61070c565b61014e6101d3366004611266565b6107b9565b61014e610868565b61014e6101ee3660046110ea565b6108fb565b6101fb610a00565b6040516101839190611419565b610210610a1c565b6040516101839190611427565b61017661022b3660046111f8565b610a5c565b61014e61023e3660046111bc565b610b0d565b61014e610251366004611186565b610bba565b61014e610264366004611236565b610c69565b61014e610277366004611217565b610d18565b61014e61028a3660046110ba565b610dc7565b61014e61029d36600461105a565b610e76565b6102aa610a1c565b6102cf5760405162461bcd60e51b81526004016102c690611445565b60405180910390fd5b600d54600160a01b900460ff166102f85760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8854ab3e00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638854ab3e9061035a90600090869086906004016115db565b60006040518083038186803b15801561037257600080fd5b505af4158015610386573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b17905550505050565b6103a9610a1c565b6103c55760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166103ee5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517faa92e34800000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063aa92e3489061035a90600090869086906004016115b3565b600061045a610a1c565b6104765760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff1661049f5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fdd32998a00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063dd32998a906105019060009087908790600401611465565b60206040518083038186803b15801561051957600080fd5b505af415801561052d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055191908101906111da565b9050600d805460ff60a01b1916600160a01b17905592915050565b610574610a1c565b6105905760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166105b95760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517ff9cacc4c00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063f9cacc4c9061061990600090859060040161155b565b60006040518083038186803b15801561063157600080fd5b505af4158015610645573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050565b610667610a1c565b6106835760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166106ac5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f0f44e6bc00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90630f44e6bc9061061990600090859060040161155b565b610714610a1c565b6107305760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166107595760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f311401d000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063311401d09061061990600090859060040161155b565b6107c1610a1c565b6107dd5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166108065760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f7335079b00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90637335079b9061035a90600090869086906004016115db565b610870610a1c565b61088c5760405162461bcd60e51b81526004016102c690611445565b600d5460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610903610a1c565b61091f5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166109485760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f4f32fb2700000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90634f32fb27906109b4906000908b908b908b908b908b908b908b906004016114b5565b60006040518083038186803b1580156109cc57600080fd5b505af41580156109e0573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050505050505050565b600d5473ffffffffffffffffffffffffffffffffffffffff1690565b600d5460009073ffffffffffffffffffffffffffffffffffffffff16610a40610ea6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610a66610a1c565b610a825760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610aab5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fb25328e000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063b25328e090610501906000908790879060040161157d565b610b15610a1c565b610b315760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610b5a5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f54dd351600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906354dd35169061061990600090859060040161155b565b610bc2610a1c565b610bde5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610c075760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fd963729100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063d96372919061035a906000908690869060040161152c565b610c71610a1c565b610c8d5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610cb65760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8c5dabd100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638c5dabd19061035a90600090869086906004016115b3565b610d20610a1c565b610d3c5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610d655760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f10c87b0600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906310c87b069061035a9060009086908690600401611598565b610dcf610a1c565b610deb5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610e145760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fe80f802400000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063e80f80249061035a906000908690869060040161148d565b610e7e610a1c565b610e9a5760405162461bcd60e51b81526004016102c690611445565b610ea381610eaa565b50565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116610edd5760405162461bcd60e51b81526004016102c690611435565b600d5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8035610f76816116a3565b92915050565b600082601f830112610f8d57600080fd5b8135610fa0610f9b82611638565b611611565b91508181835260208401935060208101905083856020840282011115610fc557600080fd5b60005b83811015610ff15781610fdb8882611044565b8452506020928301929190910190600101610fc8565b5050505092915050565b8035610f76816116b7565b8035610f76816116c0565b60006020828403121561102357600080fd5b61102d6020611611565b9050600061103b8484611044565b82525092915050565b8035610f76816116c9565b8051610f76816116c9565b60006020828403121561106c57600080fd5b60006110788484610f6b565b949350505050565b6000806040838503121561109357600080fd5b600061109f8585610f6b565b92505060206110b085828601610f6b565b9150509250929050565b600080604083850312156110cd57600080fd5b60006110d98585610f6b565b92505060206110b085828601610ffb565b600080600080600080600060e0888a03121561110557600080fd5b60006111118a8a610f6b565b97505060206111228a828b01611006565b96505060406111338a828b01611006565b95505060606111448a828b01611011565b94505060806111558a828b01611011565b93505060a06111668a828b01610ffb565b92505060c06111778a828b01610ffb565b91505092959891949750929550565b6000806040838503121561119957600080fd5b823567ffffffffffffffff8111156111b057600080fd5b61109f85828601610f7c565b6000602082840312156111ce57600080fd5b60006110788484611011565b6000602082840312156111ec57600080fd5b6000611078848461104f565b6000806040838503121561120b57600080fd5b600061109f8585611044565b6000806040838503121561122a57600080fd5b60006110d98585611044565b6000806040838503121561124957600080fd5b60006112558585611044565b92505060206110b085828601611006565b6000806040838503121561127957600080fd5b60006112858585611044565b92505060206110b085828601611011565b60006112a28383611410565b505060200190565b6112b38161166c565b82525050565b60006112c48261165f565b6112ce8185611663565b93506112d983611659565b8060005b838110156113075781516112f18882611296565b97506112fc83611659565b9250506001016112dd565b509495945050505050565b6112b381611677565b6112b38161167c565b6000611331602683611663565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b6000611390602083611663565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006113c9601f83611663565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b805160208301906114068482611410565b50505050565b9052565b6112b3816116a0565b60208101610f7682846112aa565b60208101610f768284611312565b60208082528101610f7681611324565b60208082528101610f7681611383565b60208082528101610f76816113bc565b60608101611473828661140c565b61148060208301856112aa565b61107860408301846112aa565b6060810161149b828661140c565b6114a860208301856112aa565b6110786040830184611312565b61010081016114c4828b61140c565b6114d1602083018a6112aa565b6114de604083018961131b565b6114eb606083018861131b565b6114f860808301876113f5565b61150560a08301866113f5565b61151260c0830185611312565b61151f60e0830184611312565b9998505050505050505050565b6060810161153a828661140c565b818103602083015261154c81856112b9565b905061107860408301846112aa565b60408101611569828561140c565b61157660208301846113f5565b9392505050565b6060810161158b828661140c565b6114806020830185611410565b606081016115a6828661140c565b6114a86020830185611410565b606081016115c1828661140c565b6115ce6020830185611410565b611078604083018461131b565b606081016115e9828661140c565b6115f66020830185611410565b61107860408301846113f5565b60208101610f768284611410565b60405181810167ffffffffffffffff8111828210171561163057600080fd5b604052919050565b600067ffffffffffffffff82111561164f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f7682611687565b151590565b6000610f768261166c565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b6116ac8161166c565b8114610ea357600080fd5b6116ac81611677565b6116ac8161167c565b6116ac816116a056fea365627a7a723158205b7ba9c656bb1adac1e8355b763e26172d40bdb7a539e08bb3568165f1688f186c6578706572696d656e74616cf564736f6c63430005100040",
431
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IPriceOracle\",\"name\":\"priceOracle\",\"type\":\"address\"},{\"internalType\":\"contract IInterestSetter\",\"name\":\"interestSetter\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRecyclable\",\"type\":\"bool\"}],\"name\":\"ownerAddMarket\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"marketIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"salvager\",\"type\":\"address\"}],\"name\":\"ownerRemoveMarkets\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"earningsRate\",\"type\":\"tuple\"}],\"name\":\"ownerSetEarningsRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ownerSetGlobalOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"contract IInterestSetter\",\"name\":\"interestSetter\",\"type\":\"address\"}],\"name\":\"ownerSetInterestSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"}],\"name\":\"ownerSetIsClosing\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spread\",\"type\":\"tuple\"}],\"name\":\"ownerSetLiquidationSpread\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"}],\"name\":\"ownerSetMarginPremium\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"ratio\",\"type\":\"tuple\"}],\"name\":\"ownerSetMarginRatio\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"minBorrowedValue\",\"type\":\"tuple\"}],\"name\":\"ownerSetMinBorrowedValue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"contract IPriceOracle\",\"name\":\"priceOracle\",\"type\":\"address\"}],\"name\":\"ownerSetPriceOracle\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"}],\"name\":\"ownerSetSpreadPremium\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ownerWithdrawExcessTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"ownerWithdrawUnsupportedTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Public functions that allow the privileged owner address to manage DolomiteMargin\",\"methods\":{\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"Admin\"},\"userdoc\":{\"methods\":{\"ownerAddMarket(address,address,address,(uint256),(uint256),bool,bool)\":{\"notice\":\"Add a new market to DolomiteMargin. Must be for a previously-unsupported ERC20 token.\"},\"ownerRemoveMarkets(uint256[],address)\":{\"notice\":\"Removes a market from DolomiteMargin, sends any remaining tokens in this contract to `salvager` and invokes the recyclable callback\"},\"ownerSetEarningsRate((uint256))\":{\"notice\":\"Set the global earnings-rate variable that determines what percentage of the interest paid by borrowers gets passed-on to suppliers.\"},\"ownerSetGlobalOperator(address,bool)\":{\"notice\":\"Approve (or disapprove) an address that is permissioned to be an operator for all accounts in DolomiteMargin. Intended only to approve smart-contracts.\"},\"ownerSetInterestSetter(uint256,address)\":{\"notice\":\"Set the interest-setter for a market.\"},\"ownerSetIsClosing(uint256,bool)\":{\"notice\":\"Set (or unset) the status of a market to \\\"closing\\\". The borrowedValue of a market cannot increase while its status is \\\"closing\\\".\"},\"ownerSetLiquidationSpread((uint256))\":{\"notice\":\"Set the global liquidation spread. This is the spread between oracle prices that incentivizes the liquidation of risky positions.\"},\"ownerSetMarginPremium(uint256,(uint256))\":{\"notice\":\"Set a premium on the minimum margin-ratio for a market. This makes it so that any positions that include this market require a higher collateralization to avoid being liquidated.\"},\"ownerSetMarginRatio((uint256))\":{\"notice\":\"Set the global minimum margin-ratio that every position must maintain to prevent being liquidated.\"},\"ownerSetMinBorrowedValue((uint256))\":{\"notice\":\"Set the global minimum-borrow value which is the minimum value of any new borrow on DolomiteMargin.\"},\"ownerSetPriceOracle(uint256,address)\":{\"notice\":\"Set the price oracle for a market.\"},\"ownerSetSpreadPremium(uint256,(uint256))\":{\"notice\":\"Set a premium on the liquidation spread for a market. This makes it so that any liquidations that include this market have a higher spread than the global default.\"},\"ownerWithdrawExcessTokens(uint256,address)\":{\"notice\":\"Withdraw an ERC20 token for which there is an associated market. Only excess tokens can be withdrawn. The number of excess tokens is calculated by taking the current number of tokens held in DolomiteMargin, adding the number of tokens owed to DolomiteMargin by borrowers, and subtracting the number of tokens owed to suppliers by DolomiteMargin.\"},\"ownerWithdrawUnsupportedTokens(address,address)\":{\"notice\":\"Withdraw an ERC20 token for which there is no associated market.\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Admin.sol\":\"Admin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Admin.sol\":{\"keccak256\":\"0x7232f01c56df1d72fc84c2a0562a2a70bd275c8ac08ce47d488ba3f693135660\",\"urls\":[\"bzz-raw://bd09ab69cbadea5ac422588f43d494b78d6feca2b57916db3947b7b66dbbf14f\",\"dweb:/ipfs/QmP4BzkibsPhf2ysPneuY1Gep8ZLMi2XoxcUVk2cxAGGtL\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol\":{\"keccak256\":\"0x4fe464f16c7f490dbe7f43e9672ddf1296852a4a652303a47a91bc7a3c72419b\",\"urls\":[\"bzz-raw://725237be55e03e728e268407c47704af1c93b1fddf277b5e6447d864b9f0bbfb\",\"dweb:/ipfs/QmNZfmH9XMXGdd21DMv2aNU4X152uDVUrpns64kZn1ryVn\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol\":{\"keccak256\":\"0x9f5cc11d0375c7202f7dfb5079859c65c7f5cc1e816ea5090e281a6dbc01f5ce\",\"urls\":[\"bzz-raw://44bda3d421426f186cb3cc60765dfb2cf446c61e20bb039ba2bf2ee558e6d363\",\"dweb:/ipfs/QmZUrDfwsVPsMSWz45ejAXC1juwCZ7x9vQ14JHAgC2JAHJ\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/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/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IRecyclable.sol\":{\"keccak256\":\"0x68843eafdee387608bd2e757c91e90c5044fc3724ea3ad5042117ab4af49d639\",\"urls\":[\"bzz-raw://14b71da16f79b9b5356dfb8d9243a141bb87b209e30fc99c9278c9a01e62a1a0\",\"dweb:/ipfs/QmNhdGQbhSBSJ8dTqSuntaqA3ChhkKpwLuhDfS5UGQ461A\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/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/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/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/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/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/Storage.sol\":{\"keccak256\":\"0x9f8e80613b7dcefc4719e57a4a3f7c9bf2cadeb1d2c205c0b667fd5c5538648d\",\"urls\":[\"bzz-raw://ad5d2626e00154cdd4651c718824108220405b75e9196f0744874527d239246b\",\"dweb:/ipfs/QmW7VgfjXDURsTLBayTL6XBkvEX7BGsT9SYCVLpYVMAJtC\"]},\"/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/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x6fb9d7889769d7cc161225f9ef7a90e468ba9788b253816f8d8b6894d3472c24\",\"urls\":[\"bzz-raw://cf4c00fc3c37cc5acf0c82ec6fd97bab67d72c2567fdc0ebf023d9c09b30a08e\",\"dweb:/ipfs/Qmb7TChG6DsEDX7LooJ4vmxot19f7VXX8S1zUGPeJTWbwZ\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}",
432
+ "bytecode": "0x608060405260006100176001600160e01b0361007d16565b600d80546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d805460ff60a01b1916600160a01b179055610081565b3390565b611715806100906000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b2578063d36cca9011610081578063ef6957d011610066578063ef6957d014610269578063f2901ae21461027c578063f2fde38b1461028f57610136565b8063d36cca9014610243578063e8e72f751461025657610136565b80638da5cb5b146101f35780638f32d59b146102085780638f6bc6591461021d578063c0bb72b71461023057610136565b80633063bce2116101095780634be87414116100ee5780634be87414146101c5578063715018a6146101d85780638439dd92146101e057610136565b80633063bce21461019f578063387a498a146101b257610136565b8063042069d61461013b578063121fb72f146101505780632a560845146101635780632e822af31461018c575b600080fd5b61014e610149366004611266565b6102a2565b005b61014e61015e366004611236565b6103a1565b610176610171366004611080565b610450565b6040516101839190611603565b60405180910390f35b61014e61019a3660046111bc565b61056c565b61014e6101ad3660046111bc565b61065f565b61014e6101c03660046111bc565b61070c565b61014e6101d3366004611266565b6107b9565b61014e610868565b61014e6101ee3660046110ea565b6108fb565b6101fb610a00565b6040516101839190611419565b610210610a1c565b6040516101839190611427565b61017661022b3660046111f8565b610a5c565b61014e61023e3660046111bc565b610b0d565b61014e610251366004611186565b610bba565b61014e610264366004611236565b610c69565b61014e610277366004611217565b610d18565b61014e61028a3660046110ba565b610dc7565b61014e61029d36600461105a565b610e76565b6102aa610a1c565b6102cf5760405162461bcd60e51b81526004016102c690611445565b60405180910390fd5b600d54600160a01b900460ff166102f85760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8854ab3e00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638854ab3e9061035a90600090869086906004016115db565b60006040518083038186803b15801561037257600080fd5b505af4158015610386573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b17905550505050565b6103a9610a1c565b6103c55760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166103ee5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517faa92e34800000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063aa92e3489061035a90600090869086906004016115b3565b600061045a610a1c565b6104765760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff1661049f5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fdd32998a00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063dd32998a906105019060009087908790600401611465565b60206040518083038186803b15801561051957600080fd5b505af415801561052d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055191908101906111da565b9050600d805460ff60a01b1916600160a01b17905592915050565b610574610a1c565b6105905760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166105b95760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517ff9cacc4c00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063f9cacc4c9061061990600090859060040161155b565b60006040518083038186803b15801561063157600080fd5b505af4158015610645573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050565b610667610a1c565b6106835760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166106ac5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f0f44e6bc00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90630f44e6bc9061061990600090859060040161155b565b610714610a1c565b6107305760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166107595760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f311401d000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063311401d09061061990600090859060040161155b565b6107c1610a1c565b6107dd5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166108065760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f7335079b00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90637335079b9061035a90600090869086906004016115db565b610870610a1c565b61088c5760405162461bcd60e51b81526004016102c690611445565b600d5460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610903610a1c565b61091f5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166109485760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f4f32fb2700000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90634f32fb27906109b4906000908b908b908b908b908b908b908b906004016114b5565b60006040518083038186803b1580156109cc57600080fd5b505af41580156109e0573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050505050505050565b600d5473ffffffffffffffffffffffffffffffffffffffff1690565b600d5460009073ffffffffffffffffffffffffffffffffffffffff16610a40610ea6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610a66610a1c565b610a825760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610aab5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fb25328e000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063b25328e090610501906000908790879060040161157d565b610b15610a1c565b610b315760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610b5a5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f54dd351600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906354dd35169061061990600090859060040161155b565b610bc2610a1c565b610bde5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610c075760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fd963729100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063d96372919061035a906000908690869060040161152c565b610c71610a1c565b610c8d5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610cb65760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8c5dabd100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638c5dabd19061035a90600090869086906004016115b3565b610d20610a1c565b610d3c5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610d655760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f10c87b0600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906310c87b069061035a9060009086908690600401611598565b610dcf610a1c565b610deb5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610e145760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fe80f802400000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063e80f80249061035a906000908690869060040161148d565b610e7e610a1c565b610e9a5760405162461bcd60e51b81526004016102c690611445565b610ea381610eaa565b50565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116610edd5760405162461bcd60e51b81526004016102c690611435565b600d5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8035610f76816116a3565b92915050565b600082601f830112610f8d57600080fd5b8135610fa0610f9b82611638565b611611565b91508181835260208401935060208101905083856020840282011115610fc557600080fd5b60005b83811015610ff15781610fdb8882611044565b8452506020928301929190910190600101610fc8565b5050505092915050565b8035610f76816116b7565b8035610f76816116c0565b60006020828403121561102357600080fd5b61102d6020611611565b9050600061103b8484611044565b82525092915050565b8035610f76816116c9565b8051610f76816116c9565b60006020828403121561106c57600080fd5b60006110788484610f6b565b949350505050565b6000806040838503121561109357600080fd5b600061109f8585610f6b565b92505060206110b085828601610f6b565b9150509250929050565b600080604083850312156110cd57600080fd5b60006110d98585610f6b565b92505060206110b085828601610ffb565b600080600080600080600060e0888a03121561110557600080fd5b60006111118a8a610f6b565b97505060206111228a828b01611006565b96505060406111338a828b01611006565b95505060606111448a828b01611011565b94505060806111558a828b01611011565b93505060a06111668a828b01610ffb565b92505060c06111778a828b01610ffb565b91505092959891949750929550565b6000806040838503121561119957600080fd5b823567ffffffffffffffff8111156111b057600080fd5b61109f85828601610f7c565b6000602082840312156111ce57600080fd5b60006110788484611011565b6000602082840312156111ec57600080fd5b6000611078848461104f565b6000806040838503121561120b57600080fd5b600061109f8585611044565b6000806040838503121561122a57600080fd5b60006110d98585611044565b6000806040838503121561124957600080fd5b60006112558585611044565b92505060206110b085828601611006565b6000806040838503121561127957600080fd5b60006112858585611044565b92505060206110b085828601611011565b60006112a28383611410565b505060200190565b6112b38161166c565b82525050565b60006112c48261165f565b6112ce8185611663565b93506112d983611659565b8060005b838110156113075781516112f18882611296565b97506112fc83611659565b9250506001016112dd565b509495945050505050565b6112b381611677565b6112b38161167c565b6000611331602683611663565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b6000611390602083611663565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006113c9601f83611663565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b805160208301906114068482611410565b50505050565b9052565b6112b3816116a0565b60208101610f7682846112aa565b60208101610f768284611312565b60208082528101610f7681611324565b60208082528101610f7681611383565b60208082528101610f76816113bc565b60608101611473828661140c565b61148060208301856112aa565b61107860408301846112aa565b6060810161149b828661140c565b6114a860208301856112aa565b6110786040830184611312565b61010081016114c4828b61140c565b6114d1602083018a6112aa565b6114de604083018961131b565b6114eb606083018861131b565b6114f860808301876113f5565b61150560a08301866113f5565b61151260c0830185611312565b61151f60e0830184611312565b9998505050505050505050565b6060810161153a828661140c565b818103602083015261154c81856112b9565b905061107860408301846112aa565b60408101611569828561140c565b61157660208301846113f5565b9392505050565b6060810161158b828661140c565b6114806020830185611410565b606081016115a6828661140c565b6114a86020830185611410565b606081016115c1828661140c565b6115ce6020830185611410565b611078604083018461131b565b606081016115e9828661140c565b6115f66020830185611410565b61107860408301846113f5565b60208101610f768284611410565b60405181810167ffffffffffffffff8111828210171561163057600080fd5b604052919050565b600067ffffffffffffffff82111561164f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f7682611687565b151590565b6000610f768261166c565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b6116ac8161166c565b8114610ea357600080fd5b6116ac81611677565b6116ac8161167c565b6116ac816116a056fea365627a7a7231582064da003e921634ea0ff54d7c22d619b43ae64393dadc35844551655ac176fc686c6578706572696d656e74616cf564736f6c63430005100040",
433
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80638da5cb5b116100b2578063d36cca9011610081578063ef6957d011610066578063ef6957d014610269578063f2901ae21461027c578063f2fde38b1461028f57610136565b8063d36cca9014610243578063e8e72f751461025657610136565b80638da5cb5b146101f35780638f32d59b146102085780638f6bc6591461021d578063c0bb72b71461023057610136565b80633063bce2116101095780634be87414116100ee5780634be87414146101c5578063715018a6146101d85780638439dd92146101e057610136565b80633063bce21461019f578063387a498a146101b257610136565b8063042069d61461013b578063121fb72f146101505780632a560845146101635780632e822af31461018c575b600080fd5b61014e610149366004611266565b6102a2565b005b61014e61015e366004611236565b6103a1565b610176610171366004611080565b610450565b6040516101839190611603565b60405180910390f35b61014e61019a3660046111bc565b61056c565b61014e6101ad3660046111bc565b61065f565b61014e6101c03660046111bc565b61070c565b61014e6101d3366004611266565b6107b9565b61014e610868565b61014e6101ee3660046110ea565b6108fb565b6101fb610a00565b6040516101839190611419565b610210610a1c565b6040516101839190611427565b61017661022b3660046111f8565b610a5c565b61014e61023e3660046111bc565b610b0d565b61014e610251366004611186565b610bba565b61014e610264366004611236565b610c69565b61014e610277366004611217565b610d18565b61014e61028a3660046110ba565b610dc7565b61014e61029d36600461105a565b610e76565b6102aa610a1c565b6102cf5760405162461bcd60e51b81526004016102c690611445565b60405180910390fd5b600d54600160a01b900460ff166102f85760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8854ab3e00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638854ab3e9061035a90600090869086906004016115db565b60006040518083038186803b15801561037257600080fd5b505af4158015610386573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b17905550505050565b6103a9610a1c565b6103c55760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166103ee5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517faa92e34800000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063aa92e3489061035a90600090869086906004016115b3565b600061045a610a1c565b6104765760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff1661049f5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fdd32998a00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063dd32998a906105019060009087908790600401611465565b60206040518083038186803b15801561051957600080fd5b505af415801561052d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061055191908101906111da565b9050600d805460ff60a01b1916600160a01b17905592915050565b610574610a1c565b6105905760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166105b95760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517ff9cacc4c00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063f9cacc4c9061061990600090859060040161155b565b60006040518083038186803b15801561063157600080fd5b505af4158015610645573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050565b610667610a1c565b6106835760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166106ac5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f0f44e6bc00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90630f44e6bc9061061990600090859060040161155b565b610714610a1c565b6107305760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166107595760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f311401d000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063311401d09061061990600090859060040161155b565b6107c1610a1c565b6107dd5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166108065760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f7335079b00000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90637335079b9061035a90600090869086906004016115db565b610870610a1c565b61088c5760405162461bcd60e51b81526004016102c690611445565b600d5460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610903610a1c565b61091f5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff166109485760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f4f32fb2700000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90634f32fb27906109b4906000908b908b908b908b908b908b908b906004016114b5565b60006040518083038186803b1580156109cc57600080fd5b505af41580156109e0573d6000803e3d6000fd5b5050600d805460ff60a01b1916600160a01b179055505050505050505050565b600d5473ffffffffffffffffffffffffffffffffffffffff1690565b600d5460009073ffffffffffffffffffffffffffffffffffffffff16610a40610ea6565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610a66610a1c565b610a825760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610aab5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fb25328e000000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063b25328e090610501906000908790879060040161157d565b610b15610a1c565b610b315760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610b5a5760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f54dd351600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906354dd35169061061990600090859060040161155b565b610bc2610a1c565b610bde5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610c075760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fd963729100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063d96372919061035a906000908690869060040161152c565b610c71610a1c565b610c8d5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610cb65760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f8c5dabd100000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________90638c5dabd19061035a90600090869086906004016115b3565b610d20610a1c565b610d3c5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610d655760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517f10c87b0600000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________906310c87b069061035a9060009086908690600401611598565b610dcf610a1c565b610deb5760405162461bcd60e51b81526004016102c690611445565b600d54600160a01b900460ff16610e145760405162461bcd60e51b81526004016102c690611455565b600d805460ff60a01b191690556040517fe80f802400000000000000000000000000000000000000000000000000000000815273__AdminImpl_____________________________9063e80f80249061035a906000908690869060040161148d565b610e7e610a1c565b610e9a5760405162461bcd60e51b81526004016102c690611445565b610ea381610eaa565b50565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116610edd5760405162461bcd60e51b81526004016102c690611435565b600d5460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8035610f76816116a3565b92915050565b600082601f830112610f8d57600080fd5b8135610fa0610f9b82611638565b611611565b91508181835260208401935060208101905083856020840282011115610fc557600080fd5b60005b83811015610ff15781610fdb8882611044565b8452506020928301929190910190600101610fc8565b5050505092915050565b8035610f76816116b7565b8035610f76816116c0565b60006020828403121561102357600080fd5b61102d6020611611565b9050600061103b8484611044565b82525092915050565b8035610f76816116c9565b8051610f76816116c9565b60006020828403121561106c57600080fd5b60006110788484610f6b565b949350505050565b6000806040838503121561109357600080fd5b600061109f8585610f6b565b92505060206110b085828601610f6b565b9150509250929050565b600080604083850312156110cd57600080fd5b60006110d98585610f6b565b92505060206110b085828601610ffb565b600080600080600080600060e0888a03121561110557600080fd5b60006111118a8a610f6b565b97505060206111228a828b01611006565b96505060406111338a828b01611006565b95505060606111448a828b01611011565b94505060806111558a828b01611011565b93505060a06111668a828b01610ffb565b92505060c06111778a828b01610ffb565b91505092959891949750929550565b6000806040838503121561119957600080fd5b823567ffffffffffffffff8111156111b057600080fd5b61109f85828601610f7c565b6000602082840312156111ce57600080fd5b60006110788484611011565b6000602082840312156111ec57600080fd5b6000611078848461104f565b6000806040838503121561120b57600080fd5b600061109f8585611044565b6000806040838503121561122a57600080fd5b60006110d98585611044565b6000806040838503121561124957600080fd5b60006112558585611044565b92505060206110b085828601611006565b6000806040838503121561127957600080fd5b60006112858585611044565b92505060206110b085828601611011565b60006112a28383611410565b505060200190565b6112b38161166c565b82525050565b60006112c48261165f565b6112ce8185611663565b93506112d983611659565b8060005b838110156113075781516112f18882611296565b97506112fc83611659565b9250506001016112dd565b509495945050505050565b6112b381611677565b6112b38161167c565b6000611331602683611663565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b6000611390602083611663565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006113c9601f83611663565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b805160208301906114068482611410565b50505050565b9052565b6112b3816116a0565b60208101610f7682846112aa565b60208101610f768284611312565b60208082528101610f7681611324565b60208082528101610f7681611383565b60208082528101610f76816113bc565b60608101611473828661140c565b61148060208301856112aa565b61107860408301846112aa565b6060810161149b828661140c565b6114a860208301856112aa565b6110786040830184611312565b61010081016114c4828b61140c565b6114d1602083018a6112aa565b6114de604083018961131b565b6114eb606083018861131b565b6114f860808301876113f5565b61150560a08301866113f5565b61151260c0830185611312565b61151f60e0830184611312565b9998505050505050505050565b6060810161153a828661140c565b818103602083015261154c81856112b9565b905061107860408301846112aa565b60408101611569828561140c565b61157660208301846113f5565b9392505050565b6060810161158b828661140c565b6114806020830185611410565b606081016115a6828661140c565b6114a86020830185611410565b606081016115c1828661140c565b6115ce6020830185611410565b611078604083018461131b565b606081016115e9828661140c565b6115f66020830185611410565b61107860408301846113f5565b60208101610f768284611410565b60405181810167ffffffffffffffff8111828210171561163057600080fd5b604052919050565b600067ffffffffffffffff82111561164f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610f7682611687565b151590565b6000610f768261166c565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b6116ac8161166c565b8114610ea357600080fd5b6116ac81611677565b6116ac8161167c565b6116ac816116a056fea365627a7a7231582064da003e921634ea0ff54d7c22d619b43ae64393dadc35844551655ac176fc686c6578706572696d656e74616cf564736f6c63430005100040",
434
434
  "sourceMap": "1347:6659:47:-;;;698:17:123;718:12;-1:-1:-1;;;;;718:10:123;:12;:::i;:::-;740:6;:18;;-1:-1:-1;;;;;;740:18:123;-1:-1:-1;;;;;740:18:123;;;;;;;;773:43;;740:18;;-1:-1:-1;740:18:123;-1:-1:-1;;773:43:123;;-1:-1:-1;;773:43:123;-1:-1:-1;1421:11:127;:18;;-1:-1:-1;;;;1421:18:127;-1:-1:-1;;;1421:18:127;;;1347:6659:47;;788:96:120;867:10;788:96;:::o;1347:6659:47:-;;;;;;;",
435
435
  "deployedSourceMap": "1347:6659:47:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1347:6659:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5587:292;;;;;;;;;:::i;:::-;;4588;;;;;;;;;:::i;2262:317::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7229:258;;;;;;;;;:::i;6453:238::-;;;;;;;;;:::i;6860:240::-;;;;;;;;;:::i;5095:292::-;;;;;;;;;:::i;1684:137:123:-;;;:::i;2745:569:47:-;;;;;;;;;:::i;899:77:123:-;;;:::i;:::-;;;;;;;;1250:92;;;:::i;:::-;;;;;;;;1855:313:47;;;;;;;;;:::i;6063:224::-;;;;;;;;;:::i;3482:272::-;;;;;;;;;:::i;4244:277::-;;;;;;;;;:::i;3919:261::-;;;;;;;;;:::i;7735:269::-;;;;;;;;;:::i;1970:107:123:-;;;;;;;;;:::i;5587:292:47:-;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;5761:111:47;;;;;:9;;:31;;:111;;2070:5:127;;5827:8:47;;5849:13;;5761:111;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5761:111:47;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2230:11:127;:18;;-1:-1:-1;;;;2230:18:127;-1:-1:-1;;;2230:18:127;;;-1:-1:-1;;;;5587:292:47:o;4588:::-;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;4760:113:47;;;;;:9;;:32;;:113;;2070:5:127;;4827:8:47;;4849:14;;4760:113;;;;2262:317;2429:7;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;2459:113:47;;;;;:9;;:40;;:113;;2070:5:127;;2534::47;;2553:9;;2459:113;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2459:113:47;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2459:113:47;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2459:113:47;;;;;;;;;2452:120;;2230:11:127;:18;;-1:-1:-1;;;;2230:18:127;-1:-1:-1;;;2230:18:127;;;2262:317:47;;-1:-1:-1;;2262:317:47:o;7229:258::-;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;7385:95:47;;;;;:9;;:34;;:95;;2070:5:127;;7454:16:47;;7385:95;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7385:95:47;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2230:11:127;:18;;-1:-1:-1;;;;2230:18:127;-1:-1:-1;;;2230:18:127;;;-1:-1:-1;;;7229:258:47:o;6453:238::-;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;6598:86:47;;;;;:9;;:35;;:86;;2070:5:127;;6668:6:47;;6598:86;;;;6860:240;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;7006:87:47;;;;;:9;;:30;;:87;;2070:5:127;;7071:12:47;;7006:87;;;;5095:292;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;5269:111:47;;;;;:9;;:31;;:111;;2070:5:127;;5335:8:47;;5357:13;;5269:111;;;;1684:137:123;1103:9;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1766:6;;1745:40;;1782:1;;1745:40;1766:6;;1745:40;;1782:1;;1745:40;1795:6;:19;;;;;;1684:137::o;2745:569:47:-;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;3077:230:47;;;;;:9;;:24;;:230;;2070:5:127;;3136::47;;3155:11;;3180:14;;3208:13;;3235;;3262:9;;3285:12;;3077:230;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3077:230:47;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2230:11:127;:18;;-1:-1:-1;;;;2230:18:127;-1:-1:-1;;;2230:18:127;;;-1:-1:-1;;;;;;;;;2745:569:47:o;899:77:123:-;963:6;;;;899:77;:::o;1250:92::-;1329:6;;1290:4;;1329:6;;1313:12;:10;:12::i;:::-;:22;;;1306:29;;1250:92;:::o;1855:313:47:-;2020:7;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;2050:111:47;;;;;:9;;:35;;:111;;2070:5:127;;2120:8:47;;2142:9;;2050:111;;;;6063:224;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;6201:79:47;;;;;:9;;:29;;:79;;2070:5:127;;6265::47;;6201:79;;;;3482:272;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;3643:104:47;;;;;:9;;:28;;:104;;2070:5:127;;3706:9:47;;3729:8;;3643:104;;;;4244:277;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;4407:107:47;;;;;:9;;:29;;:107;;2070:5:127;;4471:8:47;;4493:11;;4407:107;;;;3919:261;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;4070:103:47;;;;;:9;;:27;;:103;;2070:5:127;;4132:8:47;;4154:9;;4070:103;;;;7735:269;1103:9:123;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;1934:11:127;;-1:-1:-1;;;1934:11:127;;;;1926:55;;;;-1:-1:-1;;;1926:55:127;;;;;;;;;2056:11;:19;;-1:-1:-1;;;;2056:19:127;;;7890:107:47;;;;;:9;;:32;;:107;;2070:5:127;;7957:8:47;;7979;;7890:107;;;;1970::123;1103:9;:7;:9::i;:::-;1095:54;;;;-1:-1:-1;;;1095:54:123;;;;;;;;;2042:28;2061:8;2042:18;:28::i;:::-;1970:107;:::o;788:96:120:-;867:10;788:96;:::o;2178:225:123:-;2251:22;;;2243:73;;;;-1:-1:-1;;;2243:73:123;;;;;;;;;2352:6;;2331:38;;;;;;;2352:6;;2331:38;;2352:6;;2331:38;2379:6;:17;;;;;;;;;;;;;;;2178:225::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;875:124;939:20;;964:30;939:20;964:30;;1006:180;1098:20;;1123:58;1098:20;1123:58;;1400:322;;1512:4;1500:9;1495:3;1491:19;1487:30;1484:2;;;1530:1;1527;1520:12;1484:2;1548:20;1563:4;1548:20;;;1539:29;-1:-1;1619:1;1651:49;1696:3;1676:9;1651:49;;;1626:75;;-1:-1;1637:5;1478:244;-1:-1;;1478:244;2087:130;2154:20;;2179:33;2154:20;2179:33;;2224:134;2302:13;;2320:33;2302:13;2320:33;;2365:241;;2469:2;2457:9;2448:7;2444:23;2440:32;2437:2;;;2485:1;2482;2475:12;2437:2;2520:1;2537:53;2582:7;2562:9;2537:53;;;2527:63;2431:175;-1:-1;;;;2431:175;2613:366;;;2734:2;2722:9;2713:7;2709:23;2705:32;2702:2;;;2750:1;2747;2740:12;2702:2;2785:1;2802:53;2847:7;2827:9;2802:53;;;2792:63;;2764:97;2892:2;2910:53;2955:7;2946:6;2935:9;2931:22;2910:53;;;2900:63;;2871:98;2696:283;;;;;;2986:360;;;3104:2;3092:9;3083:7;3079:23;3075:32;3072:2;;;3120:1;3117;3110:12;3072:2;3155:1;3172:53;3217:7;3197:9;3172:53;;;3162:63;;3134:97;3262:2;3280:50;3322:7;3313:6;3302:9;3298:22;3280:50;;3353:1169;;;;;;;;3646:3;3634:9;3625:7;3621:23;3617:33;3614:2;;;3663:1;3660;3653:12;3614:2;3698:1;3715:53;3760:7;3740:9;3715:53;;;3705:63;;3677:97;3805:2;3823:75;3890:7;3881:6;3870:9;3866:22;3823:75;;;3813:85;;3784:120;3935:2;3953:78;4023:7;4014:6;4003:9;3999:22;3953:78;;;3943:88;;3914:123;4068:2;4086:76;4154:7;4145:6;4134:9;4130:22;4086:76;;;4076:86;;4047:121;4199:3;4218:76;4286:7;4277:6;4266:9;4262:22;4218:76;;;4208:86;;4178:122;4331:3;4350:50;4392:7;4383:6;4372:9;4368:22;4350:50;;;4340:60;;4310:96;4437:3;4456:50;4498:7;4489:6;4478:9;4474:22;4456:50;;;4446:60;;4416:96;3608:914;;;;;;;;;;;4529:502;;;4675:2;4663:9;4654:7;4650:23;4646:32;4643:2;;;4691:1;4688;4681:12;4643:2;4726:31;;4777:18;4766:30;;4763:2;;;4809:1;4806;4799:12;4763:2;4829:78;4899:7;4890:6;4879:9;4875:22;4829:78;;5038:287;;5165:2;5153:9;5144:7;5140:23;5136:32;5133:2;;;5181:1;5178;5171:12;5133:2;5216:1;5233:76;5301:7;5281:9;5233:76;;5628:263;;5743:2;5731:9;5722:7;5718:23;5714:32;5711:2;;;5759:1;5756;5749:12;5711:2;5794:1;5811:64;5867:7;5847:9;5811:64;;5898:366;;;6019:2;6007:9;5998:7;5994:23;5990:32;5987:2;;;6035:1;6032;6025:12;5987:2;6070:1;6087:53;6132:7;6112:9;6087:53;;6271:360;;;6389:2;6377:9;6368:7;6364:23;6360:32;6357:2;;;6405:1;6402;6395:12;6357:2;6440:1;6457:53;6502:7;6482:9;6457:53;;6638:416;;;6784:2;6772:9;6763:7;6759:23;6755:32;6752:2;;;6800:1;6797;6790:12;6752:2;6835:1;6852:53;6897:7;6877:9;6852:53;;;6842:63;;6814:97;6942:2;6960:78;7030:7;7021:6;7010:9;7006:22;6960:78;;7478:412;;;7622:2;7610:9;7601:7;7597:23;7593:32;7590:2;;;7638:1;7635;7628:12;7590:2;7673:1;7690:53;7735:7;7715:9;7690:53;;;7680:63;;7652:97;7780:2;7798:76;7866:7;7857:6;7846:9;7842:22;7798:76;;7898:189;;7993:54;8043:3;8035:6;7993:54;;;-1:-1;;8076:4;8067:14;;7986:101;8095:113;8178:24;8196:5;8178:24;;;8173:3;8166:37;8160:48;;;8374:714;;8527:54;8575:5;8527:54;;;8594:94;8681:6;8676:3;8594:94;;;8587:101;;8709:56;8759:5;8709:56;;;8785:7;8813:1;8798:268;8823:6;8820:1;8817:13;8798:268;;;8890:6;8884:13;8911:71;8978:3;8963:13;8911:71;;;8904:78;;8999:60;9052:6;8999:60;;;8989:70;-1:-1;;8845:1;8838:9;8798:268;;;-1:-1;9079:3;;8506:582;-1:-1;;;;;8506:582;9096:104;9173:21;9188:5;9173:21;;9326:184;9442:62;9498:5;9442:62;;9703:375;;9863:67;9927:2;9922:3;9863:67;;;9963:34;9943:55;;10032:8;10027:2;10018:12;;10011:30;10069:2;10060:12;;9849:229;-1:-1;;9849:229;10087:332;;10247:67;10311:2;10306:3;10247:67;;;10347:34;10327:55;;10410:2;10401:12;;10233:186;-1:-1;;10233:186;10428:331;;10588:67;10652:2;10647:3;10588:67;;;10688:33;10668:54;;10750:2;10741:12;;10574:185;-1:-1;;10574:185;10816:335;11030:23;;10963:4;10954:14;;;11059:71;10958:3;11030:23;11059:71;;;10983:153;10936:215;;;;11158:123;11258:18;;11252:29;11685:113;11768:24;11786:5;11768:24;;12051:213;12169:2;12154:18;;12183:71;12158:9;12227:6;12183:71;;12271:201;12383:2;12368:18;;12397:65;12372:9;12435:6;12397:65;;12479:407;12670:2;12684:47;;;12655:18;;12745:131;12655:18;12745:131;;12893:407;13084:2;13098:47;;;13069:18;;13159:131;13069:18;13159:131;;13307:407;13498:2;13512:47;;;13483:18;;13573:131;13483:18;13573:131;;13721:509;13924:2;13909:18;;13938:100;13913:9;14011:6;13938:100;;;14049:80;14125:2;14114:9;14110:18;14101:6;14049:80;;;14140;14216:2;14205:9;14201:18;14192:6;14140:80;;14237:497;14434:2;14419:18;;14448:100;14423:9;14521:6;14448:100;;;14559:80;14635:2;14624:9;14620:18;14611:6;14559:80;;;14650:74;14720:2;14709:9;14705:18;14696:6;14650:74;;14741:1363;15211:3;15196:19;;15226:100;15200:9;15299:6;15226:100;;;15337:80;15413:2;15402:9;15398:18;15389:6;15337:80;;;15428:102;15526:2;15515:9;15511:18;15502:6;15428:102;;;15541:105;15642:2;15631:9;15627:18;15618:6;15541:105;;;15657:127;15779:3;15768:9;15764:19;15755:6;15657:127;;;15795;15917:3;15906:9;15902:19;15893:6;15795:127;;;15933:75;16003:3;15992:9;15988:19;15979:6;15933:75;;;16019;16089:3;16078:9;16074:19;16065:6;16019:75;;;15182:922;;;;;;;;;;;;16111:657;16364:2;16349:18;;16378:100;16353:9;16451:6;16378:100;;;16526:9;16520:4;16516:20;16511:2;16500:9;16496:18;16489:48;16551:116;16662:4;16653:6;16551:116;;;16543:124;;16678:80;16754:2;16743:9;16739:18;16730:6;16678:80;;16775:482;16996:2;16981:18;;17010:100;16985:9;17083:6;17010:100;;;17121:126;17243:2;17232:9;17228:18;17219:6;17121:126;;;16967:290;;;;;;17757:509;17960:2;17945:18;;17974:100;17949:9;18047:6;17974:100;;;18085:80;18161:2;18150:9;18146:18;18137:6;18085:80;;18273:497;18470:2;18455:18;;18484:100;18459:9;18557:6;18484:100;;;18595:80;18671:2;18660:9;18656:18;18647:6;18595:80;;18777:559;19005:2;18990:18;;19019:100;18994:9;19092:6;19019:100;;;19130:80;19206:2;19195:9;19191:18;19182:6;19130:80;;;19221:105;19322:2;19311:9;19307:18;19298:6;19221:105;;19903:601;20152:2;20137:18;;20166:100;20141:9;20239:6;20166:100;;;20277:80;20353:2;20342:9;20338:18;20329:6;20277:80;;;20368:126;20490:2;20479:9;20475:18;20466:6;20368:126;;20511:213;20629:2;20614:18;;20643:71;20618:9;20687:6;20643:71;;20731:256;20793:2;20787:9;20819:17;;;20894:18;20879:34;;20915:22;;;20876:62;20873:2;;;20951:1;20948;20941:12;20873:2;20967;20960:22;20771:216;;-1:-1;20771:216;20994:304;;21153:18;21145:6;21142:30;21139:2;;;21185:1;21182;21175:12;21139:2;-1:-1;21220:4;21208:17;;;21273:15;;21076:222;21305:151;21429:4;21420:14;;21377:79;21463:137;21566:12;;21537:63;21723:186;21849:19;;;21898:4;21889:14;;21842:67;22089:91;;22151:24;22169:5;22151:24;;22187:85;22253:13;22246:21;;22229:43;22279:116;;22366:24;22384:5;22366:24;;22522:121;22595:42;22584:54;;22567:76;22650:72;22712:5;22695:27;23356:117;23425:24;23443:5;23425:24;;;23418:5;23415:35;23405:2;;23464:1;23461;23454:12;23480:111;23546:21;23561:5;23546:21;;23598:167;23692:49;23735:5;23692:49;;23940:117;24009:24;24027:5;24009:24;",
436
436
  "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 { Ownable } from \"@openzeppelin/contracts/ownership/Ownable.sol\";\nimport { ReentrancyGuard } from \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport { State } from \"./State.sol\";\nimport { AdminImpl } from \"./impl/AdminImpl.sol\";\nimport { IInterestSetter } from \"./interfaces/IInterestSetter.sol\";\nimport { IPriceOracle } from \"./interfaces/IPriceOracle.sol\";\nimport { Decimal } from \"./lib/Decimal.sol\";\nimport { Interest } from \"./lib/Interest.sol\";\nimport { Monetary } from \"./lib/Monetary.sol\";\nimport { Token } from \"./lib/Token.sol\";\n\n\n/**\n * @title Admin\n * @author dYdX\n *\n * Public functions that allow the privileged owner address to manage DolomiteMargin\n */\ncontract Admin is\n State,\n Ownable,\n ReentrancyGuard\n{\n // ============ Token Functions ============\n\n /**\n * Withdraw an ERC20 token for which there is an associated market. Only excess tokens can be\n * withdrawn. The number of excess tokens is calculated by taking the current number of tokens\n * held in DolomiteMargin, adding the number of tokens owed to DolomiteMargin by borrowers, and subtracting the\n * number of tokens owed to suppliers by DolomiteMargin.\n */\n function ownerWithdrawExcessTokens(\n uint256 marketId,\n address recipient\n )\n public\n onlyOwner\n nonReentrant\n returns (uint256)\n {\n return AdminImpl.ownerWithdrawExcessTokens(\n g_state,\n marketId,\n recipient\n );\n }\n\n /**\n * Withdraw an ERC20 token for which there is no associated market.\n */\n function ownerWithdrawUnsupportedTokens(\n address token,\n address recipient\n )\n public\n onlyOwner\n nonReentrant\n returns (uint256)\n {\n return AdminImpl.ownerWithdrawUnsupportedTokens(\n g_state,\n token,\n recipient\n );\n }\n\n // ============ Market Functions ============\n\n /**\n * Add a new market to DolomiteMargin. Must be for a previously-unsupported ERC20 token.\n */\n function ownerAddMarket(\n address token,\n IPriceOracle priceOracle,\n IInterestSetter interestSetter,\n Decimal.D256 memory marginPremium,\n Decimal.D256 memory spreadPremium,\n bool isClosing,\n bool isRecyclable\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerAddMarket(\n g_state,\n token,\n priceOracle,\n interestSetter,\n marginPremium,\n spreadPremium,\n isClosing,\n isRecyclable\n );\n }\n\n /**\n * Removes a market from DolomiteMargin, sends any remaining tokens in this contract to `salvager` and invokes the recyclable\n * callback\n */\n function ownerRemoveMarkets(\n uint[] memory marketIds,\n address salvager\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerRemoveMarkets(\n g_state,\n marketIds,\n salvager\n );\n }\n\n /**\n * Set (or unset) the status of a market to \"closing\". The borrowedValue of a market cannot\n * increase while its status is \"closing\".\n */\n function ownerSetIsClosing(\n uint256 marketId,\n bool isClosing\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetIsClosing(\n g_state,\n marketId,\n isClosing\n );\n }\n\n /**\n * Set the price oracle for a market.\n */\n function ownerSetPriceOracle(\n uint256 marketId,\n IPriceOracle priceOracle\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetPriceOracle(\n g_state,\n marketId,\n priceOracle\n );\n }\n\n /**\n * Set the interest-setter for a market.\n */\n function ownerSetInterestSetter(\n uint256 marketId,\n IInterestSetter interestSetter\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetInterestSetter(\n g_state,\n marketId,\n interestSetter\n );\n }\n\n /**\n * Set a premium on the minimum margin-ratio for a market. This makes it so that any positions\n * that include this market require a higher collateralization to avoid being liquidated.\n */\n function ownerSetMarginPremium(\n uint256 marketId,\n Decimal.D256 memory marginPremium\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetMarginPremium(\n g_state,\n marketId,\n marginPremium\n );\n }\n\n /**\n * Set a premium on the liquidation spread for a market. This makes it so that any liquidations\n * that include this market have a higher spread than the global default.\n */\n function ownerSetSpreadPremium(\n uint256 marketId,\n Decimal.D256 memory spreadPremium\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetSpreadPremium(\n g_state,\n marketId,\n spreadPremium\n );\n }\n\n // ============ Risk Functions ============\n\n /**\n * Set the global minimum margin-ratio that every position must maintain to prevent being\n * liquidated.\n */\n function ownerSetMarginRatio(\n Decimal.D256 memory ratio\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetMarginRatio(\n g_state,\n ratio\n );\n }\n\n /**\n * Set the global liquidation spread. This is the spread between oracle prices that incentivizes\n * the liquidation of risky positions.\n */\n function ownerSetLiquidationSpread(\n Decimal.D256 memory spread\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetLiquidationSpread(\n g_state,\n spread\n );\n }\n\n /**\n * Set the global earnings-rate variable that determines what percentage of the interest paid\n * by borrowers gets passed-on to suppliers.\n */\n function ownerSetEarningsRate(\n Decimal.D256 memory earningsRate\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetEarningsRate(\n g_state,\n earningsRate\n );\n }\n\n /**\n * Set the global minimum-borrow value which is the minimum value of any new borrow on DolomiteMargin.\n */\n function ownerSetMinBorrowedValue(\n Monetary.Value memory minBorrowedValue\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetMinBorrowedValue(\n g_state,\n minBorrowedValue\n );\n }\n\n // ============ Global Operator Functions ============\n\n /**\n * Approve (or disapprove) an address that is permissioned to be an operator for all accounts in\n * DolomiteMargin. Intended only to approve smart-contracts.\n */\n function ownerSetGlobalOperator(\n address operator,\n bool approved\n )\n public\n onlyOwner\n nonReentrant\n {\n AdminImpl.ownerSetGlobalOperator(\n g_state,\n operator,\n approved\n );\n }\n}\n",
437
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol",
437
+ "sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Admin.sol",
438
438
  "ast": {
439
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol",
439
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Admin.sol",
440
440
  "exportedSymbols": {
441
441
  "Admin": [
442
442
  22749
@@ -498,7 +498,7 @@
498
498
  "unitAlias": ""
499
499
  },
500
500
  {
501
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
501
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
502
502
  "file": "./State.sol",
503
503
  "id": 22442,
504
504
  "nodeType": "ImportDirective",
@@ -514,7 +514,7 @@
514
514
  "unitAlias": ""
515
515
  },
516
516
  {
517
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol",
517
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol",
518
518
  "file": "./impl/AdminImpl.sol",
519
519
  "id": 22444,
520
520
  "nodeType": "ImportDirective",
@@ -530,7 +530,7 @@
530
530
  "unitAlias": ""
531
531
  },
532
532
  {
533
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
533
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
534
534
  "file": "./interfaces/IInterestSetter.sol",
535
535
  "id": 22446,
536
536
  "nodeType": "ImportDirective",
@@ -546,7 +546,7 @@
546
546
  "unitAlias": ""
547
547
  },
548
548
  {
549
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol",
549
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IPriceOracle.sol",
550
550
  "file": "./interfaces/IPriceOracle.sol",
551
551
  "id": 22448,
552
552
  "nodeType": "ImportDirective",
@@ -562,7 +562,7 @@
562
562
  "unitAlias": ""
563
563
  },
564
564
  {
565
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol",
565
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol",
566
566
  "file": "./lib/Decimal.sol",
567
567
  "id": 22450,
568
568
  "nodeType": "ImportDirective",
@@ -578,7 +578,7 @@
578
578
  "unitAlias": ""
579
579
  },
580
580
  {
581
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
581
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
582
582
  "file": "./lib/Interest.sol",
583
583
  "id": 22452,
584
584
  "nodeType": "ImportDirective",
@@ -594,7 +594,7 @@
594
594
  "unitAlias": ""
595
595
  },
596
596
  {
597
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol",
597
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol",
598
598
  "file": "./lib/Monetary.sol",
599
599
  "id": 22454,
600
600
  "nodeType": "ImportDirective",
@@ -610,7 +610,7 @@
610
610
  "unitAlias": ""
611
611
  },
612
612
  {
613
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol",
613
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol",
614
614
  "file": "./lib/Token.sol",
615
615
  "id": 22456,
616
616
  "nodeType": "ImportDirective",
@@ -4055,7 +4055,7 @@
4055
4055
  "src": "603:7404:47"
4056
4056
  },
4057
4057
  "legacyAST": {
4058
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol",
4058
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Admin.sol",
4059
4059
  "exportedSymbols": {
4060
4060
  "Admin": [
4061
4061
  22749
@@ -4117,7 +4117,7 @@
4117
4117
  "unitAlias": ""
4118
4118
  },
4119
4119
  {
4120
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
4120
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
4121
4121
  "file": "./State.sol",
4122
4122
  "id": 22442,
4123
4123
  "nodeType": "ImportDirective",
@@ -4133,7 +4133,7 @@
4133
4133
  "unitAlias": ""
4134
4134
  },
4135
4135
  {
4136
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol",
4136
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol",
4137
4137
  "file": "./impl/AdminImpl.sol",
4138
4138
  "id": 22444,
4139
4139
  "nodeType": "ImportDirective",
@@ -4149,7 +4149,7 @@
4149
4149
  "unitAlias": ""
4150
4150
  },
4151
4151
  {
4152
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
4152
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
4153
4153
  "file": "./interfaces/IInterestSetter.sol",
4154
4154
  "id": 22446,
4155
4155
  "nodeType": "ImportDirective",
@@ -4165,7 +4165,7 @@
4165
4165
  "unitAlias": ""
4166
4166
  },
4167
4167
  {
4168
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol",
4168
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IPriceOracle.sol",
4169
4169
  "file": "./interfaces/IPriceOracle.sol",
4170
4170
  "id": 22448,
4171
4171
  "nodeType": "ImportDirective",
@@ -4181,7 +4181,7 @@
4181
4181
  "unitAlias": ""
4182
4182
  },
4183
4183
  {
4184
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol",
4184
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol",
4185
4185
  "file": "./lib/Decimal.sol",
4186
4186
  "id": 22450,
4187
4187
  "nodeType": "ImportDirective",
@@ -4197,7 +4197,7 @@
4197
4197
  "unitAlias": ""
4198
4198
  },
4199
4199
  {
4200
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
4200
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
4201
4201
  "file": "./lib/Interest.sol",
4202
4202
  "id": 22452,
4203
4203
  "nodeType": "ImportDirective",
@@ -4213,7 +4213,7 @@
4213
4213
  "unitAlias": ""
4214
4214
  },
4215
4215
  {
4216
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol",
4216
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol",
4217
4217
  "file": "./lib/Monetary.sol",
4218
4218
  "id": 22454,
4219
4219
  "nodeType": "ImportDirective",
@@ -4229,7 +4229,7 @@
4229
4229
  "unitAlias": ""
4230
4230
  },
4231
4231
  {
4232
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol",
4232
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol",
4233
4233
  "file": "./lib/Token.sol",
4234
4234
  "id": 22456,
4235
4235
  "nodeType": "ImportDirective",
@@ -7679,7 +7679,7 @@
7679
7679
  },
7680
7680
  "networks": {},
7681
7681
  "schemaVersion": "3.0.23",
7682
- "updatedAt": "2022-01-25T06:59:14.454Z",
7682
+ "updatedAt": "2022-01-29T21:54:40.876Z",
7683
7683
  "devdoc": {
7684
7684
  "author": "dYdX * Public functions that allow the privileged owner address to manage DolomiteMargin",
7685
7685
  "methods": {