@dolomite-exchange/dolomite-margin 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) 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 +35 -307
  6. package/build/contracts/AdvancedMath.json +7 -7
  7. package/build/contracts/AmmRebalancerProxy.json +577 -621
  8. package/build/contracts/AmmRebalancerProxyV1.json +78 -32
  9. package/build/contracts/Babylonian.json +1 -1
  10. package/build/contracts/Bits.json +9 -9
  11. package/build/contracts/Cache.json +13 -13
  12. package/build/contracts/ChainlinkPriceOracleV1.json +16 -16
  13. package/build/contracts/Context.json +1 -1
  14. package/build/contracts/CustomTestToken.json +9 -9
  15. package/build/contracts/Decimal.json +9 -9
  16. package/build/contracts/DelayedMultiSig.json +9 -9
  17. package/build/contracts/DolomiteAmmERC20.json +11 -11
  18. package/build/contracts/DolomiteAmmFactory.json +14 -52
  19. package/build/contracts/DolomiteAmmLibrary.json +24 -24
  20. package/build/contracts/DolomiteAmmPair.json +27 -27
  21. package/build/contracts/DolomiteAmmRouterProxy.json +30 -363
  22. package/build/contracts/DolomiteMargin.json +21 -67
  23. package/build/contracts/DoubleExponentInterestSetter.json +15 -21
  24. package/build/contracts/EnumerableSet.json +7 -7
  25. package/build/contracts/ErroringOmiseToken.json +9 -9
  26. package/build/contracts/ErroringToken.json +10 -10
  27. package/build/contracts/Events.json +17 -17
  28. package/build/contracts/ExcessivelySafeCall.json +35 -35
  29. package/build/contracts/Exchange.json +15 -15
  30. package/build/contracts/Expiry.json +36 -36
  31. package/build/contracts/Getters.json +33 -33
  32. package/build/contracts/IAutoTrader.json +9 -9
  33. package/build/contracts/ICallee.json +7 -7
  34. package/build/contracts/IChainlinkAggregator.json +5 -5
  35. package/build/contracts/IDolomiteAmmERC20.json +5 -5
  36. package/build/contracts/IDolomiteAmmFactory.json +9 -9
  37. package/build/contracts/IDolomiteAmmPair.json +9 -9
  38. package/build/contracts/IDolomiteMargin.json +23 -23
  39. package/build/contracts/IERC20.json +1 -1
  40. package/build/contracts/IERC20Detailed.json +5 -5
  41. package/build/contracts/IExchangeWrapper.json +5 -5
  42. package/build/contracts/IExpiry.json +9 -9
  43. package/build/contracts/IInterestSetter.json +7 -7
  44. package/build/contracts/ILiquidationCallback.json +7 -7
  45. package/build/contracts/IMakerOracle.json +5 -5
  46. package/build/contracts/IOasisDex.json +5 -5
  47. package/build/contracts/IPriceOracle.json +7 -7
  48. package/build/contracts/IRecyclable.json +9 -9
  49. package/build/contracts/ITransferProxy.json +5 -5
  50. package/build/contracts/IUniswapV2Callee.json +5 -5
  51. package/build/contracts/IUniswapV2Factory.json +5 -5
  52. package/build/contracts/IUniswapV2Pair.json +5 -5
  53. package/build/contracts/IUniswapV2Router.json +5 -5
  54. package/build/contracts/IWETH.json +5 -5
  55. package/build/contracts/Interest.json +15 -15
  56. package/build/contracts/LiquidateOrVaporizeImpl.json +32 -83
  57. package/build/contracts/LiquidatorProxyHelper.json +23 -23
  58. package/build/contracts/LiquidatorProxyV1.json +30 -36
  59. package/build/contracts/LiquidatorProxyV1WithAmm.json +49 -105
  60. package/build/contracts/Math.json +1 -1
  61. package/build/contracts/Migrations.json +8 -14
  62. package/build/contracts/Monetary.json +7 -7
  63. package/build/contracts/MultiCall.json +8 -14
  64. package/build/contracts/MultiSig.json +7 -7
  65. package/build/contracts/OmiseToken.json +8 -8
  66. package/build/contracts/OnlyDolomiteMargin.json +11 -11
  67. package/build/contracts/Operation.json +15 -15
  68. package/build/contracts/OperationImpl.json +39 -47
  69. package/build/contracts/Ownable.json +1 -1
  70. package/build/contracts/PartiallyDelayedMultiSig.json +9 -9
  71. package/build/contracts/PayableProxy.json +17 -23
  72. package/build/contracts/Permission.json +11 -11
  73. package/build/contracts/PolynomialInterestSetter.json +13 -13
  74. package/build/contracts/RecyclableTokenProxy.json +25 -25
  75. package/build/contracts/ReentrancyGuard.json +1 -1
  76. package/build/contracts/Require.json +7 -7
  77. package/build/contracts/SafeERC20.json +1 -1
  78. package/build/contracts/SafeETH.json +7 -7
  79. package/build/contracts/SafeLiquidationCallback.json +17 -17
  80. package/build/contracts/SafeMath.json +1 -1
  81. package/build/contracts/SignedOperationProxy.json +21 -104
  82. package/build/contracts/SimpleFeeOwner.json +18 -63
  83. package/build/contracts/State.json +9 -9
  84. package/build/contracts/Storage.json +37 -37
  85. package/build/contracts/TestAmmRebalancerProxy.json +32 -58
  86. package/build/contracts/TestAutoTrader.json +22 -22
  87. package/build/contracts/TestBtcUsdChainlinkAggregator.json +10 -10
  88. package/build/contracts/TestCallee.json +19 -19
  89. package/build/contracts/TestChainlinkPriceOracleV1.json +10 -94
  90. package/build/contracts/TestCounter.json +7 -7
  91. package/build/contracts/TestDaiUsdChainlinkAggregator.json +11 -11
  92. package/build/contracts/TestDolomiteMargin.json +22 -22
  93. package/build/contracts/TestDoubleExponentInterestSetter.json +10 -10
  94. package/build/contracts/TestEthUsdChainlinkAggregator.json +11 -11
  95. package/build/contracts/TestExchangeWrapper.json +28 -28
  96. package/build/contracts/TestInterestSetter.json +13 -13
  97. package/build/contracts/TestLib.json +22 -22
  98. package/build/contracts/TestLinkUsdChainlinkAggregator.json +11 -11
  99. package/build/contracts/TestLiquidateCallback.json +719 -719
  100. package/build/contracts/TestLiquidationCallback.json +13 -13
  101. package/build/contracts/TestLrcEthChainlinkAggregator.json +11 -11
  102. package/build/contracts/TestMakerOracle.json +10 -10
  103. package/build/contracts/TestMaticUsdChainlinkAggregator.json +10 -10
  104. package/build/contracts/TestOasisDex.json +12 -12
  105. package/build/contracts/TestOperationImpl.json +14 -14
  106. package/build/contracts/TestPolynomialInterestSetter.json +10 -10
  107. package/build/contracts/TestPriceAggregator.json +9 -9
  108. package/build/contracts/TestPriceOracle.json +13 -13
  109. package/build/contracts/TestRecyclableToken.json +9 -9
  110. package/build/contracts/TestSimpleCallee.json +15 -15
  111. package/build/contracts/TestToken.json +9 -9
  112. package/build/contracts/TestTrader.json +17 -17
  113. package/build/contracts/TestUniswapAmmRebalancerProxy.json +16 -16
  114. package/build/contracts/TestUsdcUsdChainlinkAggregator.json +11 -11
  115. package/build/contracts/TestWETH.json +9 -9
  116. package/build/contracts/Time.json +9 -9
  117. package/build/contracts/Token.json +9 -9
  118. package/build/contracts/TokenA.json +10 -10
  119. package/build/contracts/TokenB.json +10 -10
  120. package/build/contracts/TokenC.json +10 -10
  121. package/build/contracts/TokenD.json +10 -10
  122. package/build/contracts/TokenE.json +10 -10
  123. package/build/contracts/TokenF.json +10 -10
  124. package/build/contracts/TransferProxy.json +22 -28
  125. package/build/contracts/TypedSignature.json +9 -9
  126. package/build/contracts/Types.json +9 -9
  127. package/build/contracts/UQ112x112.json +7 -7
  128. package/build/contracts/UniswapV2ERC20.json +7 -7
  129. package/build/contracts/UniswapV2Factory.json +12 -12
  130. package/build/contracts/UniswapV2Library.json +20 -20
  131. package/build/contracts/UniswapV2Pair.json +17 -17
  132. package/build/contracts/UniswapV2Router02.json +16 -16
  133. package/build/contracts/WETH9.json +1 -1
  134. package/contracts/external/amm/DolomiteAmmERC20.sol +135 -0
  135. package/contracts/external/amm/DolomiteAmmFactory.sol +122 -0
  136. package/contracts/external/amm/DolomiteAmmPair.sol +573 -0
  137. package/contracts/external/amm/SimpleFeeOwner.sol +107 -0
  138. package/contracts/external/helpers/LiquidatorProxyHelper.sol +252 -0
  139. package/contracts/external/helpers/OnlyDolomiteMargin.sol +63 -0
  140. package/contracts/external/interestsetters/DoubleExponentInterestSetter.sol +212 -0
  141. package/contracts/external/interestsetters/PolynomialInterestSetter.sol +205 -0
  142. package/contracts/external/interfaces/IChainlinkAggregator.sol +33 -0
  143. package/contracts/external/interfaces/IDolomiteAmmERC20.sol +52 -0
  144. package/contracts/external/interfaces/IDolomiteAmmFactory.sol +42 -0
  145. package/contracts/external/interfaces/IDolomiteAmmPair.sol +116 -0
  146. package/contracts/external/interfaces/IExpiry.sol +70 -0
  147. package/contracts/external/interfaces/IMakerOracle.sol +52 -0
  148. package/contracts/external/interfaces/IOasisDex.sol +326 -0
  149. package/contracts/external/interfaces/ITransferProxy.sol +53 -0
  150. package/contracts/external/interfaces/IUniswapV2Router.sol +134 -0
  151. package/contracts/external/lib/AdvancedMath.sol +23 -0
  152. package/contracts/external/lib/DolomiteAmmLibrary.sol +323 -0
  153. package/contracts/external/lib/TypedSignature.sol +120 -0
  154. package/contracts/external/lib/UQ112x112.sol +22 -0
  155. package/contracts/external/multisig/DelayedMultiSig.sol +206 -0
  156. package/contracts/external/multisig/MultiSig.sol +571 -0
  157. package/contracts/external/multisig/PartiallyDelayedMultiSig.sol +174 -0
  158. package/contracts/external/oracles/ChainlinkPriceOracleV1.sol +197 -0
  159. package/contracts/external/oracles/TestChainlinkPriceOracleV1.sol +98 -0
  160. package/contracts/external/proxies/AmmRebalancerProxyV1.sol +465 -0
  161. package/contracts/external/proxies/DolomiteAmmRouterProxy.sol +877 -0
  162. package/contracts/external/proxies/LiquidatorProxyV1.sol +507 -0
  163. package/contracts/external/proxies/LiquidatorProxyV1WithAmm.sol +574 -0
  164. package/contracts/external/proxies/PayableProxy.sol +146 -0
  165. package/contracts/external/proxies/RecyclableTokenProxy.sol +463 -0
  166. package/contracts/external/proxies/SignedOperationProxy.sol +553 -0
  167. package/contracts/external/proxies/TransferProxy.sol +207 -0
  168. package/contracts/external/traders/Expiry.sol +532 -0
  169. package/contracts/external/uniswap-v2/UniswapV2ERC20.sol +118 -0
  170. package/contracts/external/uniswap-v2/UniswapV2Factory.sol +67 -0
  171. package/contracts/external/uniswap-v2/UniswapV2Pair.sol +283 -0
  172. package/contracts/external/uniswap-v2/UniswapV2Router02.sol +566 -0
  173. package/contracts/external/uniswap-v2/interfaces/IUniswapV2Callee.sol +13 -0
  174. package/contracts/external/uniswap-v2/interfaces/IUniswapV2Factory.sol +18 -0
  175. package/contracts/external/uniswap-v2/interfaces/IUniswapV2Pair.sol +67 -0
  176. package/contracts/external/uniswap-v2/interfaces/IWETH.sol +7 -0
  177. package/contracts/external/uniswap-v2/libraries/SafeETH.sol +29 -0
  178. package/contracts/external/uniswap-v2/libraries/UniswapV2Library.sol +117 -0
  179. package/contracts/external/utils/MultiCall.sol +95 -0
  180. package/contracts/protocol/impl/artifacts/OperationImpl.json +80 -0
  181. package/contracts/protocol/impl/artifacts/OperationImpl_metadata.json +193 -0
  182. package/dist/build/published_contracts/AdminImpl.json +2 -2
  183. package/dist/build/published_contracts/AmmRebalancerProxyV1.json +5 -0
  184. package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +1 -1
  185. package/dist/build/published_contracts/DolomiteAmmFactory.json +1 -1
  186. package/dist/build/published_contracts/DolomiteAmmRouterProxy.json +1 -1
  187. package/dist/build/published_contracts/DoubleExponentInterestSetter.json +2 -2
  188. package/dist/build/published_contracts/Expiry.json +1 -1
  189. package/dist/build/published_contracts/LiquidatorProxyV1.json +1 -1
  190. package/dist/build/published_contracts/LiquidatorProxyV1WithAmm.json +1 -1
  191. package/dist/build/published_contracts/MultiCall.json +1 -1
  192. package/dist/build/published_contracts/PayableProxy.json +2 -2
  193. package/dist/build/published_contracts/SignedOperationProxy.json +2 -2
  194. package/dist/build/published_contracts/SimpleFeeOwner.json +1 -1
  195. package/dist/build/published_contracts/TestUniswapAmmRebalancerProxy.json +140 -0
  196. package/dist/build/published_contracts/TransferProxy.json +1 -1
  197. package/dist/src/lib/Contracts.d.ts +3 -1
  198. package/dist/src/lib/Contracts.js +7 -3
  199. package/dist/src/lib/Contracts.js.map +1 -1
  200. package/package.json +2 -1
@@ -29,15 +29,15 @@
29
29
  "type": "function"
30
30
  }
31
31
  ],
32
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dolomiteMargin\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite * Inheritable contract that restricts the calling of certain functions to DolomiteMargin only\",\"methods\":{},\"title\":\"OnlyDolomiteMargin\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol\":\"OnlyDolomiteMargin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol\":{\"keccak256\":\"0xfc9ce2f5a274ec66668c133f09fe213bc1a6a739f9147f4357a3493094de8deb\",\"urls\":[\"bzz-raw://e45442587f111fa0d85dd85a4e07993f5fecd1afce4f457ed21441f8b0abb937\",\"dweb:/ipfs/QmaNq3j3PUwb8Wrx2gEmFFsVa2GByDEkDCPGdwo2qvMeKh\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x1e73364879c267fdd2bfd871e62ee58ee3d65fbef3b71e3cc104fbff499eca6c\",\"urls\":[\"bzz-raw://e3b1327980a5949afd52cff4713f47ee4fdee9a8b376ceaa3402f5c9696b8c1b\",\"dweb:/ipfs/QmbhQzVEdaraPJizT5DTtk6CDzH3guHNipHW5T23uTtFkX\"]},\"/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/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x44ec62b766a88a2f65267991e76cab88711e733b826dc9e578cb6ad6b38b2445\",\"urls\":[\"bzz-raw://731a8d44e57c9dcd7fbdefc37a6b5889c0d06defb3bd66b921b2a7db0edf0103\",\"dweb:/ipfs/QmcVbXc9oi5DMxjPtsBF76oJzD6zVjm7RuXgJfP3Goqrrb\"]},\"/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\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/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\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/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/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
33
- "bytecode": "0x608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f91610065565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b3565b805161005f8161009c565b92915050565b60006020828403121561007757600080fd5b60006100838484610054565b949350505050565b60006001600160a01b03821661005f565b6100a58161008b565b81146100b057600080fd5b50565b60ec806100c16000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806315c14a4a14602d575b600080fd5b60336047565b604051603e91906070565b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606a81609b565b82525050565b60208101607c82846063565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000607c826000607c82608256fea365627a7a723158208db705bf9aec07c52885e1f5968b66d16225cd142a5f6b9d38a0083544a236836c6578706572696d656e74616cf564736f6c63430005100040",
34
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806315c14a4a14602d575b600080fd5b60336047565b604051603e91906070565b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606a81609b565b82525050565b60208101607c82846063565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000607c826000607c82608256fea365627a7a723158208db705bf9aec07c52885e1f5968b66d16225cd142a5f6b9d38a0083544a236836c6578706572696d656e74616cf564736f6c63430005100040",
32
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dolomiteMargin\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite * Inheritable contract that restricts the calling of certain functions to DolomiteMargin only\",\"methods\":{},\"title\":\"OnlyDolomiteMargin\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol\":\"OnlyDolomiteMargin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol\":{\"keccak256\":\"0xfc9ce2f5a274ec66668c133f09fe213bc1a6a739f9147f4357a3493094de8deb\",\"urls\":[\"bzz-raw://e45442587f111fa0d85dd85a4e07993f5fecd1afce4f457ed21441f8b0abb937\",\"dweb:/ipfs/QmaNq3j3PUwb8Wrx2gEmFFsVa2GByDEkDCPGdwo2qvMeKh\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x1e73364879c267fdd2bfd871e62ee58ee3d65fbef3b71e3cc104fbff499eca6c\",\"urls\":[\"bzz-raw://e3b1327980a5949afd52cff4713f47ee4fdee9a8b376ceaa3402f5c9696b8c1b\",\"dweb:/ipfs/QmbhQzVEdaraPJizT5DTtk6CDzH3guHNipHW5T23uTtFkX\"]},\"/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/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x44ec62b766a88a2f65267991e76cab88711e733b826dc9e578cb6ad6b38b2445\",\"urls\":[\"bzz-raw://731a8d44e57c9dcd7fbdefc37a6b5889c0d06defb3bd66b921b2a7db0edf0103\",\"dweb:/ipfs/QmcVbXc9oi5DMxjPtsBF76oJzD6zVjm7RuXgJfP3Goqrrb\"]},\"/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\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/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\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/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/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
33
+ "bytecode": "0x608060405234801561001057600080fd5b506040516101ad3803806101ad83398101604081905261002f91610065565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b3565b805161005f8161009c565b92915050565b60006020828403121561007757600080fd5b60006100838484610054565b949350505050565b60006001600160a01b03821661005f565b6100a58161008b565b81146100b057600080fd5b50565b60ec806100c16000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c806315c14a4a14602d575b600080fd5b60336047565b604051603e91906070565b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606a81609b565b82525050565b60208101607c82846063565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000607c826000607c82608256fea365627a7a72315820b798fec669b99fd9136b2b6262813391299494094f2d55107f43f19866bce2f56c6578706572696d656e74616cf564736f6c63430005100040",
34
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c806315c14a4a14602d575b600080fd5b60336047565b604051603e91906070565b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff1681565b606a81609b565b82525050565b60208101607c82846063565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000607c826000607c82608256fea365627a7a72315820b798fec669b99fd9136b2b6262813391299494094f2d55107f43f19866bce2f56c6578706572696d656e74616cf564736f6c63430005100040",
35
35
  "sourceMap": "950:672:6:-;;;1213:136;8:9:-1;5:2;;;30:1;27;20:12;5:2;1213:136:6;;;;;;;;;;;;;;;;;;;;;1293:15;:49;;-1:-1:-1;;;;;;1293:49:6;-1:-1:-1;;;;;1293:49:6;;;;;;;;;;950:672;;5:134:-1;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:263;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;;;319:74;223:186;-1:-1;;;;223:186;416:91;;-1:-1;;;;;576:54;;478:24;559:76;642:117;711:24;729:5;711:24;;;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;;;950:672:6;;;;;;",
36
36
  "deployedSourceMap": "950:672:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;950:672:6;;;;;;;;;;;;;;;;;;;1122:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;5:176:-1:-;113:62;169:5;113:62;;;108:3;101:75;95:86;;;188:263;331:2;316:18;;345:96;320:9;414:6;345:96;;;302:149;;;;;458:121;531:42;520:54;;503:76;586:171;;690:62;746:5;764:133;868:24;886:5;868:24;",
37
37
  "source": "/*\n\n Copyright 2022 Dolomite.\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 { IDolomiteMargin } from \"../../protocol/interfaces/IDolomiteMargin.sol\";\nimport { Require } from \"../../protocol/lib/Require.sol\";\n\n\n/**\n * @title OnlyDolomiteMargin\n * @author Dolomite\n *\n * Inheritable contract that restricts the calling of certain functions to DolomiteMargin only\n */\ncontract OnlyDolomiteMargin {\n\n // ============ Constants ============\n\n bytes32 constant FILE = \"OnlyDolomiteMargin\";\n\n // ============ Storage ============\n\n IDolomiteMargin public DOLOMITE_MARGIN;\n\n // ============ Constructor ============\n\n constructor (\n address dolomiteMargin\n )\n public\n {\n DOLOMITE_MARGIN = IDolomiteMargin(dolomiteMargin);\n }\n\n // ============ Modifiers ============\n\n modifier onlyDolomiteMargin(address from) {\n Require.that(\n from == address(DOLOMITE_MARGIN),\n FILE,\n \"Only Dolomite can call function\",\n from\n );\n _;\n }\n}\n",
38
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
38
+ "sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol",
39
39
  "ast": {
40
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
40
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol",
41
41
  "exportedSymbols": {
42
42
  "OnlyDolomiteMargin": [
43
43
  3329
@@ -67,7 +67,7 @@
67
67
  "src": "619:33:6"
68
68
  },
69
69
  {
70
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol",
70
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IDolomiteMargin.sol",
71
71
  "file": "../../protocol/interfaces/IDolomiteMargin.sol",
72
72
  "id": 3290,
73
73
  "nodeType": "ImportDirective",
@@ -83,7 +83,7 @@
83
83
  "unitAlias": ""
84
84
  },
85
85
  {
86
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol",
86
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
87
87
  "file": "../../protocol/lib/Require.sol",
88
88
  "id": 3292,
89
89
  "nodeType": "ImportDirective",
@@ -583,7 +583,7 @@
583
583
  "src": "595:1028:6"
584
584
  },
585
585
  "legacyAST": {
586
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
586
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol",
587
587
  "exportedSymbols": {
588
588
  "OnlyDolomiteMargin": [
589
589
  3329
@@ -613,7 +613,7 @@
613
613
  "src": "619:33:6"
614
614
  },
615
615
  {
616
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol",
616
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IDolomiteMargin.sol",
617
617
  "file": "../../protocol/interfaces/IDolomiteMargin.sol",
618
618
  "id": 3290,
619
619
  "nodeType": "ImportDirective",
@@ -629,7 +629,7 @@
629
629
  "unitAlias": ""
630
630
  },
631
631
  {
632
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol",
632
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
633
633
  "file": "../../protocol/lib/Require.sol",
634
634
  "id": 3292,
635
635
  "nodeType": "ImportDirective",
@@ -1134,7 +1134,7 @@
1134
1134
  },
1135
1135
  "networks": {},
1136
1136
  "schemaVersion": "3.0.23",
1137
- "updatedAt": "2022-02-04T01:55:00.738Z",
1137
+ "updatedAt": "2022-02-07T07:18:44.812Z",
1138
1138
  "devdoc": {
1139
1139
  "author": "Dolomite * Inheritable contract that restricts the calling of certain functions to DolomiteMargin only",
1140
1140
  "methods": {},
@@ -98,15 +98,15 @@
98
98
  "type": "function"
99
99
  }
100
100
  ],
101
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info[]\",\"name\":\"accounts\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum Actions.ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"sign\",\"type\":\"bool\"},{\"internalType\":\"enum Types.AssetDenomination\",\"name\":\"denomination\",\"type\":\"uint8\"},{\"internalType\":\"enum Types.AssetReference\",\"name\":\"ref\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Types.AssetAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"primaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"secondaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"otherAccountId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Actions.ActionArgs[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"operate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Primary public function for allowing users and contracts to manage accounts within DolomiteMargin\",\"methods\":{\"operate((address,uint256)[],(uint8,uint256,(bool,uint8,uint8,uint256),uint256,uint256,address,uint256,bytes)[])\":{\"params\":{\"accounts\":\"A list of all accounts that will be used in this operation. Cannot contain duplicates. In each action, the relevant account will be referred-to by its index in the list.\",\"actions\":\"An ordered list of all actions that will be taken in this operation. The actions will be processed in order.\"}}},\"title\":\"Operation\"},\"userdoc\":{\"methods\":{\"operate((address,uint256)[],(uint8,uint256,(bool,uint8,uint8,uint256),uint256,uint256,address,uint256,bytes)[])\":{\"notice\":\"The main entry-point to DolomiteMargin that allows users and contracts to manage accounts. Take one or more actions on one or more accounts. The msg.sender must be the owner or operator of all accounts except for those being liquidated, vaporized, or traded with. One call to operate() is considered a singular \\\"operation\\\". Account collateralization is ensured only after the completion of the entire operation.\"}}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol\":\"Operation\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol\":{\"keccak256\":\"0xaebae2196c8e39cb0965dc0d88979683d4b8d5a70a45259c5c88a2c9b21dc730\",\"urls\":[\"bzz-raw://66d81ffed219df67800129b079c3bb4b3246ff1e05f39a5157fb8a3681fe0351\",\"dweb:/ipfs/QmaBv43NeqUy5PJPYCtZuGL8H2L4P4B6zgTzZQPAADkK3D\"]},\"/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/LiquidateOrVaporizeImpl.sol\":{\"keccak256\":\"0xcc8da88b265e994c6e29c16de47d7f07ae772d8b35f25c95bfd7e9e56160efe0\",\"urls\":[\"bzz-raw://3d4f2e52ab9590093b7ae981e203d04b84b4fe670d6a6ff5a568645a92ea0e0d\",\"dweb:/ipfs/QmfFeAaG497cu6j2ykGV8guwUgwdYjUFXDwCjbLYNS2T58\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/OperationImpl.sol\":{\"keccak256\":\"0x32e415843e918648c740cbffc591e04bd158ae06f911d60ed844ce30ad13e7f0\",\"urls\":[\"bzz-raw://cee2fd0c63854065d2504f87a12ea3bede82d25552520c8bb72b752a697754b1\",\"dweb:/ipfs/QmedgadJUphfSxAPrg1EPvJoAhBBxU1hK18xQ2QVocmDyX\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAutoTrader.sol\":{\"keccak256\":\"0x62cbb936c4abdfc1ab33bb3ee5505279cc7354f9404bedf74ee3d099623a6dfa\",\"urls\":[\"bzz-raw://91ab2bd45600b1d3268a5592deb8b396d0fc4bba05a00d1aa4b4b785a6ee46ad\",\"dweb:/ipfs/QmVmBdFGFuA6XzaWxVAxxFDH81mhomg6uJvnYi4NYRHfDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/ICallee.sol\":{\"keccak256\":\"0x0b65209369307041e67c28634fc17a19e953199ac42a88198b76578f7fa9b0f8\",\"urls\":[\"bzz-raw://46618851882c2bc5a6212bb0a8ad095e0f38049f24ecf404163ad6b493c728a1\",\"dweb:/ipfs/QmRx4VabTaXTGSyMt8NCTZ7nMiWCHfrvqZjRaKNRir3zEe\"]},\"/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/IExchangeWrapper.sol\":{\"keccak256\":\"0xfca7f5635821bbc8ff21db6982471a5f20071365496b74a8202e59494d0f327f\",\"urls\":[\"bzz-raw://eb289cb96c83a3ff7fd72d9a646694d324ee955874ef61e986850459b5841d16\",\"dweb:/ipfs/QmeeiaqShMqWpttPJ3GuDwxFzmq235HMVG7vDnLWnCupaZ\"]},\"/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/ILiquidationCallback.sol\":{\"keccak256\":\"0xad98b922c02e36b8ce992097639f6ecd859b5dc97b62334e72fc97dc68a2adc7\",\"urls\":[\"bzz-raw://fd1a2c1f7b1fb114430bda41d963c61e1f5467cf45ca9a4e0b4c8e9f2dfff2c5\",\"dweb:/ipfs/QmWv82ML6nUfnWb1S5rPjKQc8ncZDY4tQkaGjBWczWCT2C\"]},\"/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/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x44ec62b766a88a2f65267991e76cab88711e733b826dc9e578cb6ad6b38b2445\",\"urls\":[\"bzz-raw://731a8d44e57c9dcd7fbdefc37a6b5889c0d06defb3bd66b921b2a7db0edf0103\",\"dweb:/ipfs/QmcVbXc9oi5DMxjPtsBF76oJzD6zVjm7RuXgJfP3Goqrrb\"]},\"/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/Events.sol\":{\"keccak256\":\"0x0c71c063b3a1b4e653d94c05f6fc49de43ccc28838e406faccb1c93f424995a8\",\"urls\":[\"bzz-raw://73268db2286565ecc242da93930780e8e4794015c8c0e58d336981ffdc6cfd3a\",\"dweb:/ipfs/QmRYzhuRtKXnTscERvYS9XzjqdQFBoJZoHwRAekHo6w6Zy\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/ExcessivelySafeCall.sol\":{\"keccak256\":\"0x44694441ccb1a3ec0328a4336680549e4dfb606616d022acfe3ed8c4359ba478\",\"urls\":[\"bzz-raw://948143d0061a02614f0e1a833e676b49d138dda5e098b14f14f3be9908f32d38\",\"dweb:/ipfs/QmbtgtpmjHY5ksTWa4h7E8wayjfjW5uun1Ek8ZRcLSYXMT\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol\":{\"keccak256\":\"0x793484b5aa923b4cb7c9671914e3d9f2d19bee6ee680424adaa97e3b9de930c4\",\"urls\":[\"bzz-raw://cebf09a8d36b303b0b92ee850ea2a802946ac43cb26d1da819f5ea74d6e5110f\",\"dweb:/ipfs/QmeQJZSaHmJskcgL3spQTvn6tYqE9Yo3vfbMTuhJenzhwf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/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/SafeLiquidationCallback.sol\":{\"keccak256\":\"0x8084c1137ea386da7b6b943d3469f102bb4a5f69c944fe32503cb034d47ea26e\",\"urls\":[\"bzz-raw://387f7373cd99c62049d7139852ceda52b611ccfe305d2a19c7366d1de81c9919\",\"dweb:/ipfs/QmVHnW1gZ9MwLxWxFhZJwjW86SDv89o22phCBx11jQGxdY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/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/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x1a8e5072509c5ea7365eb1d48030b9be865140c8fb779968da0a459a0e174a11\",\"urls\":[\"bzz-raw://03335b7b07c7c8c8d613cfdd8ec39a0b5ec133ee510bf2fe6cc5a496767bef4b\",\"dweb:/ipfs/Qmebp4nzPja645c9yXSdJkGq96oU3am3LUnG2K3R7XxyKf\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}",
102
- "bytecode": "0x6080604052600e805460ff191660011790556109ba806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a67a6a4514610030575b600080fd5b61004361003e366004610462565b610045565b005b600e5460ff1661008a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008190610780565b60405180910390fd5b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fbd76ecfd00000000000000000000000000000000000000000000000000000000815273__OperationImpl_________________________9063bd76ecfd906101079060009086908690600401610790565b60006040518083038186803b15801561011f57600080fd5b505af4158015610133573d6000803e3d6000fd5b5050600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550505050565b803561017181610937565b92915050565b600082601f83011261018857600080fd5b813561019b610196826107eb565b6107c4565b81815260209384019390925082018360005b838110156101d957813586016101c388826102c5565b84525060209283019291909101906001016101ad565b5050505092915050565b600082601f8301126101f457600080fd5b8135610202610196826107eb565b9150818183526020840193506020810190508385604084028201111561022757600080fd5b60005b838110156101d9578161023d8882610410565b8452506020909201916040919091019060010161022a565b80356101718161094b565b600082601f83011261027157600080fd5b813561027f6101968261080c565b9150808252602083016020830185838301111561029b57600080fd5b6102a68382846108c0565b50505092915050565b803561017181610954565b803561017181610961565b600061016082840312156102d857600080fd5b6102e36101006107c4565b905060006102f184846102af565b825250602061030284848301610457565b6020830152506040610316848285016103a1565b60408301525060c061032a84828501610457565b60608301525060e061033e84828501610457565b60808301525061010061035384828501610166565b60a08301525061012061036884828501610457565b60c08301525061014082013567ffffffffffffffff81111561038957600080fd5b61039584828501610260565b60e08301525092915050565b6000608082840312156103b357600080fd5b6103bd60806107c4565b905060006103cb8484610255565b82525060206103dc848483016102ba565b60208301525060406103f0848285016102ba565b604083015250606061040484828501610457565b60608301525092915050565b60006040828403121561042257600080fd5b61042c60406107c4565b9050600061043a8484610166565b825250602061044b84848301610457565b60208301525092915050565b80356101718161096e565b6000806040838503121561047557600080fd5b823567ffffffffffffffff81111561048c57600080fd5b610498858286016101e3565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c185828601610177565b9150509250929050565b60006104d78383610654565b9392505050565b60006104ea838361074f565b505060400190565b6104fb81610865565b82525050565b600061050c82610858565b610516818561085c565b93508360208202850161052885610852565b8060005b85811015610562578484038952815161054585826104cb565b945061055083610852565b60209a909a019992505060010161052c565b5091979650505050505050565b600061057a82610858565b610584818561085c565b935061058f83610852565b8060005b838110156105bd5781516105a788826104de565b97506105b283610852565b925050600101610593565b509495945050505050565b6104fb81610870565b60006105dc82610858565b6105e6818561085c565b93506105f68185602086016108cc565b6105ff816108f8565b9093019392505050565b6104fb816108aa565b6104fb816108b5565b6000610628601f8361085c565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906106698582610609565b50602083015161067c6020860182610777565b50604083015161068f60408601826106ff565b5060608301516106a260c0860182610777565b5060808301516106b560e0860182610777565b5060a08301516106c96101008601826104f2565b5060c08301516106dd610120860182610777565b5060e08301518482036101408601526106f682826105d1565b95945050505050565b8051608083019061071084826105c8565b5060208201516107236020850182610612565b5060408201516107366040850182610612565b5060608201516107496060850182610777565b50505050565b8051604083019061076084826104f2565b5060208201516107496020850182610777565b9052565b6104fb816108a7565b602080825281016101718161061b565b6060810161079e8286610773565b81810360208301526107b0818561056f565b905081810360408301526106f68184610501565b60405181810167ffffffffffffffff811182821017156107e357600080fd5b604052919050565b600067ffffffffffffffff82111561080257600080fd5b5060209081020190565b600067ffffffffffffffff82111561082357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b60006101718261088e565b151590565b8061087f81610920565b919050565b8061087f8161092d565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b600061017182610875565b600061017182610884565b82818337506000910152565b60005b838110156108e75781810151838201526020016108cf565b838111156107495750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061092a57fe5b50565b6002811061092a57fe5b61094081610865565b811461092a57600080fd5b61094081610870565b6009811061092a57600080fd5b6002811061092a57600080fd5b610940816108a756fea365627a7a72315820d1cc8d3f51fa7e5a54a9b93f7e8879d1395fa4076216ea8ef1915b1d88bcda536c6578706572696d656e74616cf564736f6c63430005100040",
103
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a67a6a4514610030575b600080fd5b61004361003e366004610462565b610045565b005b600e5460ff1661008a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008190610780565b60405180910390fd5b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fbd76ecfd00000000000000000000000000000000000000000000000000000000815273__OperationImpl_________________________9063bd76ecfd906101079060009086908690600401610790565b60006040518083038186803b15801561011f57600080fd5b505af4158015610133573d6000803e3d6000fd5b5050600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550505050565b803561017181610937565b92915050565b600082601f83011261018857600080fd5b813561019b610196826107eb565b6107c4565b81815260209384019390925082018360005b838110156101d957813586016101c388826102c5565b84525060209283019291909101906001016101ad565b5050505092915050565b600082601f8301126101f457600080fd5b8135610202610196826107eb565b9150818183526020840193506020810190508385604084028201111561022757600080fd5b60005b838110156101d9578161023d8882610410565b8452506020909201916040919091019060010161022a565b80356101718161094b565b600082601f83011261027157600080fd5b813561027f6101968261080c565b9150808252602083016020830185838301111561029b57600080fd5b6102a68382846108c0565b50505092915050565b803561017181610954565b803561017181610961565b600061016082840312156102d857600080fd5b6102e36101006107c4565b905060006102f184846102af565b825250602061030284848301610457565b6020830152506040610316848285016103a1565b60408301525060c061032a84828501610457565b60608301525060e061033e84828501610457565b60808301525061010061035384828501610166565b60a08301525061012061036884828501610457565b60c08301525061014082013567ffffffffffffffff81111561038957600080fd5b61039584828501610260565b60e08301525092915050565b6000608082840312156103b357600080fd5b6103bd60806107c4565b905060006103cb8484610255565b82525060206103dc848483016102ba565b60208301525060406103f0848285016102ba565b604083015250606061040484828501610457565b60608301525092915050565b60006040828403121561042257600080fd5b61042c60406107c4565b9050600061043a8484610166565b825250602061044b84848301610457565b60208301525092915050565b80356101718161096e565b6000806040838503121561047557600080fd5b823567ffffffffffffffff81111561048c57600080fd5b610498858286016101e3565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c185828601610177565b9150509250929050565b60006104d78383610654565b9392505050565b60006104ea838361074f565b505060400190565b6104fb81610865565b82525050565b600061050c82610858565b610516818561085c565b93508360208202850161052885610852565b8060005b85811015610562578484038952815161054585826104cb565b945061055083610852565b60209a909a019992505060010161052c565b5091979650505050505050565b600061057a82610858565b610584818561085c565b935061058f83610852565b8060005b838110156105bd5781516105a788826104de565b97506105b283610852565b925050600101610593565b509495945050505050565b6104fb81610870565b60006105dc82610858565b6105e6818561085c565b93506105f68185602086016108cc565b6105ff816108f8565b9093019392505050565b6104fb816108aa565b6104fb816108b5565b6000610628601f8361085c565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906106698582610609565b50602083015161067c6020860182610777565b50604083015161068f60408601826106ff565b5060608301516106a260c0860182610777565b5060808301516106b560e0860182610777565b5060a08301516106c96101008601826104f2565b5060c08301516106dd610120860182610777565b5060e08301518482036101408601526106f682826105d1565b95945050505050565b8051608083019061071084826105c8565b5060208201516107236020850182610612565b5060408201516107366040850182610612565b5060608201516107496060850182610777565b50505050565b8051604083019061076084826104f2565b5060208201516107496020850182610777565b9052565b6104fb816108a7565b602080825281016101718161061b565b6060810161079e8286610773565b81810360208301526107b0818561056f565b905081810360408301526106f68184610501565b60405181810167ffffffffffffffff811182821017156107e357600080fd5b604052919050565b600067ffffffffffffffff82111561080257600080fd5b5060209081020190565b600067ffffffffffffffff82111561082357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b60006101718261088e565b151590565b8061087f81610920565b919050565b8061087f8161092d565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b600061017182610875565b600061017182610884565b82818337506000910152565b60005b838110156108e75781810151838201526020016108cf565b838111156107495750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061092a57fe5b50565b6002811061092a57fe5b61094081610865565b811461092a57600080fd5b61094081610870565b6009811061092a57600080fd5b6002811061092a57600080fd5b610940816108a756fea365627a7a72315820d1cc8d3f51fa7e5a54a9b93f7e8879d1395fa4076216ea8ef1915b1d88bcda536c6578706572696d656e74616cf564736f6c63430005100040",
101
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info[]\",\"name\":\"accounts\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum Actions.ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"sign\",\"type\":\"bool\"},{\"internalType\":\"enum Types.AssetDenomination\",\"name\":\"denomination\",\"type\":\"uint8\"},{\"internalType\":\"enum Types.AssetReference\",\"name\":\"ref\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Types.AssetAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"primaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"secondaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"otherAccountId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Actions.ActionArgs[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"operate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Primary public function for allowing users and contracts to manage accounts within DolomiteMargin\",\"methods\":{\"operate((address,uint256)[],(uint8,uint256,(bool,uint8,uint8,uint256),uint256,uint256,address,uint256,bytes)[])\":{\"params\":{\"accounts\":\"A list of all accounts that will be used in this operation. Cannot contain duplicates. In each action, the relevant account will be referred-to by its index in the list.\",\"actions\":\"An ordered list of all actions that will be taken in this operation. The actions will be processed in order.\"}}},\"title\":\"Operation\"},\"userdoc\":{\"methods\":{\"operate((address,uint256)[],(uint8,uint256,(bool,uint8,uint8,uint256),uint256,uint256,address,uint256,bytes)[])\":{\"notice\":\"The main entry-point to DolomiteMargin that allows users and contracts to manage accounts. Take one or more actions on one or more accounts. The msg.sender must be the owner or operator of all accounts except for those being liquidated, vaporized, or traded with. One call to operate() is considered a singular \\\"operation\\\". Account collateralization is ensured only after the completion of the entire operation.\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Operation.sol\":\"Operation\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Operation.sol\":{\"keccak256\":\"0xaebae2196c8e39cb0965dc0d88979683d4b8d5a70a45259c5c88a2c9b21dc730\",\"urls\":[\"bzz-raw://66d81ffed219df67800129b079c3bb4b3246ff1e05f39a5157fb8a3681fe0351\",\"dweb:/ipfs/QmaBv43NeqUy5PJPYCtZuGL8H2L4P4B6zgTzZQPAADkK3D\"]},\"/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/LiquidateOrVaporizeImpl.sol\":{\"keccak256\":\"0xcc8da88b265e994c6e29c16de47d7f07ae772d8b35f25c95bfd7e9e56160efe0\",\"urls\":[\"bzz-raw://3d4f2e52ab9590093b7ae981e203d04b84b4fe670d6a6ff5a568645a92ea0e0d\",\"dweb:/ipfs/QmfFeAaG497cu6j2ykGV8guwUgwdYjUFXDwCjbLYNS2T58\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/OperationImpl.sol\":{\"keccak256\":\"0x32e415843e918648c740cbffc591e04bd158ae06f911d60ed844ce30ad13e7f0\",\"urls\":[\"bzz-raw://cee2fd0c63854065d2504f87a12ea3bede82d25552520c8bb72b752a697754b1\",\"dweb:/ipfs/QmedgadJUphfSxAPrg1EPvJoAhBBxU1hK18xQ2QVocmDyX\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IAutoTrader.sol\":{\"keccak256\":\"0x62cbb936c4abdfc1ab33bb3ee5505279cc7354f9404bedf74ee3d099623a6dfa\",\"urls\":[\"bzz-raw://91ab2bd45600b1d3268a5592deb8b396d0fc4bba05a00d1aa4b4b785a6ee46ad\",\"dweb:/ipfs/QmVmBdFGFuA6XzaWxVAxxFDH81mhomg6uJvnYi4NYRHfDk\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/ICallee.sol\":{\"keccak256\":\"0x0b65209369307041e67c28634fc17a19e953199ac42a88198b76578f7fa9b0f8\",\"urls\":[\"bzz-raw://46618851882c2bc5a6212bb0a8ad095e0f38049f24ecf404163ad6b493c728a1\",\"dweb:/ipfs/QmRx4VabTaXTGSyMt8NCTZ7nMiWCHfrvqZjRaKNRir3zEe\"]},\"/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/IExchangeWrapper.sol\":{\"keccak256\":\"0xfca7f5635821bbc8ff21db6982471a5f20071365496b74a8202e59494d0f327f\",\"urls\":[\"bzz-raw://eb289cb96c83a3ff7fd72d9a646694d324ee955874ef61e986850459b5841d16\",\"dweb:/ipfs/QmeeiaqShMqWpttPJ3GuDwxFzmq235HMVG7vDnLWnCupaZ\"]},\"/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/ILiquidationCallback.sol\":{\"keccak256\":\"0xad98b922c02e36b8ce992097639f6ecd859b5dc97b62334e72fc97dc68a2adc7\",\"urls\":[\"bzz-raw://fd1a2c1f7b1fb114430bda41d963c61e1f5467cf45ca9a4e0b4c8e9f2dfff2c5\",\"dweb:/ipfs/QmWv82ML6nUfnWb1S5rPjKQc8ncZDY4tQkaGjBWczWCT2C\"]},\"/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/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x44ec62b766a88a2f65267991e76cab88711e733b826dc9e578cb6ad6b38b2445\",\"urls\":[\"bzz-raw://731a8d44e57c9dcd7fbdefc37a6b5889c0d06defb3bd66b921b2a7db0edf0103\",\"dweb:/ipfs/QmcVbXc9oi5DMxjPtsBF76oJzD6zVjm7RuXgJfP3Goqrrb\"]},\"/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/Events.sol\":{\"keccak256\":\"0x0c71c063b3a1b4e653d94c05f6fc49de43ccc28838e406faccb1c93f424995a8\",\"urls\":[\"bzz-raw://73268db2286565ecc242da93930780e8e4794015c8c0e58d336981ffdc6cfd3a\",\"dweb:/ipfs/QmRYzhuRtKXnTscERvYS9XzjqdQFBoJZoHwRAekHo6w6Zy\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/ExcessivelySafeCall.sol\":{\"keccak256\":\"0x44694441ccb1a3ec0328a4336680549e4dfb606616d022acfe3ed8c4359ba478\",\"urls\":[\"bzz-raw://948143d0061a02614f0e1a833e676b49d138dda5e098b14f14f3be9908f32d38\",\"dweb:/ipfs/QmbtgtpmjHY5ksTWa4h7E8wayjfjW5uun1Ek8ZRcLSYXMT\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Exchange.sol\":{\"keccak256\":\"0x793484b5aa923b4cb7c9671914e3d9f2d19bee6ee680424adaa97e3b9de930c4\",\"urls\":[\"bzz-raw://cebf09a8d36b303b0b92ee850ea2a802946ac43cb26d1da819f5ea74d6e5110f\",\"dweb:/ipfs/QmeQJZSaHmJskcgL3spQTvn6tYqE9Yo3vfbMTuhJenzhwf\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/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/SafeLiquidationCallback.sol\":{\"keccak256\":\"0x8084c1137ea386da7b6b943d3469f102bb4a5f69c944fe32503cb034d47ea26e\",\"urls\":[\"bzz-raw://387f7373cd99c62049d7139852ceda52b611ccfe305d2a19c7366d1de81c9919\",\"dweb:/ipfs/QmVHnW1gZ9MwLxWxFhZJwjW86SDv89o22phCBx11jQGxdY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/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/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x1a8e5072509c5ea7365eb1d48030b9be865140c8fb779968da0a459a0e174a11\",\"urls\":[\"bzz-raw://03335b7b07c7c8c8d613cfdd8ec39a0b5ec133ee510bf2fe6cc5a496767bef4b\",\"dweb:/ipfs/Qmebp4nzPja645c9yXSdJkGq96oU3am3LUnG2K3R7XxyKf\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}",
102
+ "bytecode": "0x6080604052600e805460ff191660011790556109ba806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a67a6a4514610030575b600080fd5b61004361003e366004610462565b610045565b005b600e5460ff1661008a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008190610780565b60405180910390fd5b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fbd76ecfd00000000000000000000000000000000000000000000000000000000815273__OperationImpl_________________________9063bd76ecfd906101079060009086908690600401610790565b60006040518083038186803b15801561011f57600080fd5b505af4158015610133573d6000803e3d6000fd5b5050600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550505050565b803561017181610937565b92915050565b600082601f83011261018857600080fd5b813561019b610196826107eb565b6107c4565b81815260209384019390925082018360005b838110156101d957813586016101c388826102c5565b84525060209283019291909101906001016101ad565b5050505092915050565b600082601f8301126101f457600080fd5b8135610202610196826107eb565b9150818183526020840193506020810190508385604084028201111561022757600080fd5b60005b838110156101d9578161023d8882610410565b8452506020909201916040919091019060010161022a565b80356101718161094b565b600082601f83011261027157600080fd5b813561027f6101968261080c565b9150808252602083016020830185838301111561029b57600080fd5b6102a68382846108c0565b50505092915050565b803561017181610954565b803561017181610961565b600061016082840312156102d857600080fd5b6102e36101006107c4565b905060006102f184846102af565b825250602061030284848301610457565b6020830152506040610316848285016103a1565b60408301525060c061032a84828501610457565b60608301525060e061033e84828501610457565b60808301525061010061035384828501610166565b60a08301525061012061036884828501610457565b60c08301525061014082013567ffffffffffffffff81111561038957600080fd5b61039584828501610260565b60e08301525092915050565b6000608082840312156103b357600080fd5b6103bd60806107c4565b905060006103cb8484610255565b82525060206103dc848483016102ba565b60208301525060406103f0848285016102ba565b604083015250606061040484828501610457565b60608301525092915050565b60006040828403121561042257600080fd5b61042c60406107c4565b9050600061043a8484610166565b825250602061044b84848301610457565b60208301525092915050565b80356101718161096e565b6000806040838503121561047557600080fd5b823567ffffffffffffffff81111561048c57600080fd5b610498858286016101e3565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c185828601610177565b9150509250929050565b60006104d78383610654565b9392505050565b60006104ea838361074f565b505060400190565b6104fb81610865565b82525050565b600061050c82610858565b610516818561085c565b93508360208202850161052885610852565b8060005b85811015610562578484038952815161054585826104cb565b945061055083610852565b60209a909a019992505060010161052c565b5091979650505050505050565b600061057a82610858565b610584818561085c565b935061058f83610852565b8060005b838110156105bd5781516105a788826104de565b97506105b283610852565b925050600101610593565b509495945050505050565b6104fb81610870565b60006105dc82610858565b6105e6818561085c565b93506105f68185602086016108cc565b6105ff816108f8565b9093019392505050565b6104fb816108aa565b6104fb816108b5565b6000610628601f8361085c565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906106698582610609565b50602083015161067c6020860182610777565b50604083015161068f60408601826106ff565b5060608301516106a260c0860182610777565b5060808301516106b560e0860182610777565b5060a08301516106c96101008601826104f2565b5060c08301516106dd610120860182610777565b5060e08301518482036101408601526106f682826105d1565b95945050505050565b8051608083019061071084826105c8565b5060208201516107236020850182610612565b5060408201516107366040850182610612565b5060608201516107496060850182610777565b50505050565b8051604083019061076084826104f2565b5060208201516107496020850182610777565b9052565b6104fb816108a7565b602080825281016101718161061b565b6060810161079e8286610773565b81810360208301526107b0818561056f565b905081810360408301526106f68184610501565b60405181810167ffffffffffffffff811182821017156107e357600080fd5b604052919050565b600067ffffffffffffffff82111561080257600080fd5b5060209081020190565b600067ffffffffffffffff82111561082357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b60006101718261088e565b151590565b8061087f81610920565b919050565b8061087f8161092d565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b600061017182610875565b600061017182610884565b82818337506000910152565b60005b838110156108e75781810151838201526020016108cf565b838111156107495750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061092a57fe5b50565b6002811061092a57fe5b61094081610865565b811461092a57600080fd5b61094081610870565b6009811061092a57600080fd5b6002811061092a57600080fd5b610940816108a756fea365627a7a72315820f8222d52546303410300a6670e6f521f60ebf3e42139acecf5117083ebdd2e4a6c6578706572696d656e74616cf564736f6c63430005100040",
103
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a67a6a4514610030575b600080fd5b61004361003e366004610462565b610045565b005b600e5460ff1661008a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008190610780565b60405180910390fd5b600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517fbd76ecfd00000000000000000000000000000000000000000000000000000000815273__OperationImpl_________________________9063bd76ecfd906101079060009086908690600401610790565b60006040518083038186803b15801561011f57600080fd5b505af4158015610133573d6000803e3d6000fd5b5050600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550505050565b803561017181610937565b92915050565b600082601f83011261018857600080fd5b813561019b610196826107eb565b6107c4565b81815260209384019390925082018360005b838110156101d957813586016101c388826102c5565b84525060209283019291909101906001016101ad565b5050505092915050565b600082601f8301126101f457600080fd5b8135610202610196826107eb565b9150818183526020840193506020810190508385604084028201111561022757600080fd5b60005b838110156101d9578161023d8882610410565b8452506020909201916040919091019060010161022a565b80356101718161094b565b600082601f83011261027157600080fd5b813561027f6101968261080c565b9150808252602083016020830185838301111561029b57600080fd5b6102a68382846108c0565b50505092915050565b803561017181610954565b803561017181610961565b600061016082840312156102d857600080fd5b6102e36101006107c4565b905060006102f184846102af565b825250602061030284848301610457565b6020830152506040610316848285016103a1565b60408301525060c061032a84828501610457565b60608301525060e061033e84828501610457565b60808301525061010061035384828501610166565b60a08301525061012061036884828501610457565b60c08301525061014082013567ffffffffffffffff81111561038957600080fd5b61039584828501610260565b60e08301525092915050565b6000608082840312156103b357600080fd5b6103bd60806107c4565b905060006103cb8484610255565b82525060206103dc848483016102ba565b60208301525060406103f0848285016102ba565b604083015250606061040484828501610457565b60608301525092915050565b60006040828403121561042257600080fd5b61042c60406107c4565b9050600061043a8484610166565b825250602061044b84848301610457565b60208301525092915050565b80356101718161096e565b6000806040838503121561047557600080fd5b823567ffffffffffffffff81111561048c57600080fd5b610498858286016101e3565b925050602083013567ffffffffffffffff8111156104b557600080fd5b6104c185828601610177565b9150509250929050565b60006104d78383610654565b9392505050565b60006104ea838361074f565b505060400190565b6104fb81610865565b82525050565b600061050c82610858565b610516818561085c565b93508360208202850161052885610852565b8060005b85811015610562578484038952815161054585826104cb565b945061055083610852565b60209a909a019992505060010161052c565b5091979650505050505050565b600061057a82610858565b610584818561085c565b935061058f83610852565b8060005b838110156105bd5781516105a788826104de565b97506105b283610852565b925050600101610593565b509495945050505050565b6104fb81610870565b60006105dc82610858565b6105e6818561085c565b93506105f68185602086016108cc565b6105ff816108f8565b9093019392505050565b6104fb816108aa565b6104fb816108b5565b6000610628601f8361085c565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906106698582610609565b50602083015161067c6020860182610777565b50604083015161068f60408601826106ff565b5060608301516106a260c0860182610777565b5060808301516106b560e0860182610777565b5060a08301516106c96101008601826104f2565b5060c08301516106dd610120860182610777565b5060e08301518482036101408601526106f682826105d1565b95945050505050565b8051608083019061071084826105c8565b5060208201516107236020850182610612565b5060408201516107366040850182610612565b5060608201516107496060850182610777565b50505050565b8051604083019061076084826104f2565b5060208201516107496020850182610777565b9052565b6104fb816108a7565b602080825281016101718161061b565b6060810161079e8286610773565b81810360208301526107b0818561056f565b905081810360408301526106f68184610501565b60405181810167ffffffffffffffff811182821017156107e357600080fd5b604052919050565b600067ffffffffffffffff82111561080257600080fd5b5060209081020190565b600067ffffffffffffffff82111561082357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b60006101718261088e565b151590565b8061087f81610920565b919050565b8061087f8161092d565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b600061017182610875565b600061017182610884565b82818337506000910152565b60005b838110156108e75781810151838201526020016108cf565b838111156107495750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061092a57fe5b50565b6002811061092a57fe5b61094081610865565b811461092a57600080fd5b61094081610870565b6009811061092a57600080fd5b6002811061092a57600080fd5b610940816108a756fea365627a7a72315820f8222d52546303410300a6670e6f521f60ebf3e42139acecf5117083ebdd2e4a6c6578706572696d656e74616cf564736f6c63430005100040",
104
104
  "sourceMap": "1082:1246:50:-;;;1421:11:129;:18;;-1:-1:-1;;1421:18:129;1435:4;1421:18;;;1082:1246:50;;;;;;",
105
105
  "deployedSourceMap": "1082:1246:50:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1082:1246:50;;;;;;;;;;;;;;;;;;;2066:260;;;;;;;;;:::i;:::-;;;1934:11:129;;;;1926:55;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;;;;;2224:95:50;;;;;:13;;:21;;:95;;2070:5:129;;2280:8:50;;2302:7;;2224:95;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2224:95:50;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2230:11:129;:18;;;;2244:4;2230:18;;;-1:-1:-1;;;;2066:260:50:o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;178:753;;320:3;313:4;305:6;301:17;297:27;287:2;;338:1;335;328:12;287:2;375:6;362:20;397:105;412:89;494:6;412:89;;;397:105;;;530:21;;;574:4;562:17;;;;388:114;;-1:-1;587:14;;562:17;682:1;667:258;692:6;689:1;686:13;667:258;;;775:3;762:17;754:6;750:30;799:62;857:3;845:10;799:62;;;787:75;;-1:-1;885:4;876:14;;;;904;;;;;714:1;707:9;667:258;;;671:14;280:651;;;;;;;;969:764;;1105:3;1098:4;1090:6;1086:17;1082:27;1072:2;;1123:1;1120;1113:12;1072:2;1160:6;1147:20;1182:99;1197:83;1273:6;1197:83;;1182:99;1173:108;;1298:5;1323:6;1316:5;1309:21;1353:4;1345:6;1341:17;1331:27;;1375:4;1370:3;1366:14;1359:21;;1428:6;1475:3;1467:4;1459:6;1455:17;1450:3;1446:27;1443:36;1440:2;;;1492:1;1489;1482:12;1440:2;1517:1;1502:225;1527:6;1524:1;1521:13;1502:225;;;1585:3;1607:56;1659:3;1647:10;1607:56;;;1595:69;;-1:-1;1687:4;1678:14;;;;1715:4;1706:14;;;;;1549:1;1542:9;1502:225;;1741:124;1805:20;;1830:30;1805:20;1830:30;;1873:432;;1970:3;1963:4;1955:6;1951:17;1947:27;1937:2;;1988:1;1985;1978:12;1937:2;2025:6;2012:20;2047:60;2062:44;2099:6;2062:44;;2047:60;2038:69;;2127:6;2120:5;2113:21;2163:4;2155:6;2151:17;2196:4;2189:5;2185:16;2231:3;2222:6;2217:3;2213:16;2210:25;2207:2;;;2248:1;2245;2238:12;2207:2;2258:41;2292:6;2287:3;2282;2258:41;;;1930:375;;;;;;;;2313:162;2396:20;;2421:49;2396:20;2421:49;;2482:176;2572:20;;2597:56;2572:20;2597:56;;2874:1528;;2988:6;2976:9;2971:3;2967:19;2963:32;2960:2;;;3008:1;3005;2998:12;2960:2;3026:22;3041:6;3026:22;;;3017:31;-1:-1;3104:1;3136:65;3197:3;3177:9;3136:65;;;3111:91;;-1:-1;3268:2;3301:49;3346:3;3322:22;;;3301:49;;;3294:4;3287:5;3283:16;3276:75;3223:139;3414:2;3447:75;3518:3;3509:6;3498:9;3494:22;3447:75;;;3440:4;3433:5;3429:16;3422:101;3372:162;3595:3;3629:49;3674:3;3665:6;3654:9;3650:22;3629:49;;;3622:4;3615:5;3611:16;3604:75;3544:146;3753:3;3787:49;3832:3;3823:6;3812:9;3808:22;3787:49;;;3780:4;3773:5;3769:16;3762:75;3700:148;3906:3;3940:49;3985:3;3976:6;3965:9;3961:22;3940:49;;;3933:4;3926:5;3922:16;3915:75;3858:143;4061:3;4095:49;4140:3;4131:6;4120:9;4116:22;4095:49;;;4088:4;4081:5;4077:16;4070:75;4011:145;4234:3;4223:9;4219:19;4206:33;4259:18;4251:6;4248:30;4245:2;;;4291:1;4288;4281:12;4245:2;4326:54;4376:3;4367:6;4356:9;4352:22;4326:54;;;4319:4;4312:5;4308:16;4301:80;4166:226;2954:1448;;;;;4440:804;;4555:4;4543:9;4538:3;4534:19;4530:30;4527:2;;;4573:1;4570;4563:12;4527:2;4591:20;4606:4;4591:20;;;4582:29;-1:-1;4661:1;4693:46;4735:3;4715:9;4693:46;;;4668:72;;-1:-1;4809:2;4842:72;4910:3;4886:22;;;4842:72;;;4835:4;4828:5;4824:16;4817:98;4761:165;4975:2;5008:69;5073:3;5064:6;5053:9;5049:22;5008:69;;;5001:4;4994:5;4990:16;4983:95;4936:153;5140:2;5173:49;5218:3;5209:6;5198:9;5194:22;5173:49;;;5166:4;5159:5;5155:16;5148:75;5099:135;4521:723;;;;;5277:464;;5385:4;5373:9;5368:3;5364:19;5360:30;5357:2;;;5403:1;5400;5393:12;5357:2;5421:20;5436:4;5421:20;;;5412:29;-1:-1;5492:1;5524:49;5569:3;5549:9;5524:49;;;5499:75;;-1:-1;5637:2;5670:49;5715:3;5691:22;;;5670:49;;;5663:4;5656:5;5652:16;5645:75;5595:136;5351:390;;;;;5748:130;5815:20;;5840:33;5815:20;5840:33;;5885:726;;;6100:2;6088:9;6079:7;6075:23;6071:32;6068:2;;;6116:1;6113;6106:12;6068:2;6151:31;;6202:18;6191:30;;6188:2;;;6234:1;6231;6224:12;6188:2;6254:97;6343:7;6334:6;6323:9;6319:22;6254:97;;;6244:107;;6130:227;6416:2;6405:9;6401:18;6388:32;6440:18;6432:6;6429:30;6426:2;;;6472:1;6469;6462:12;6426:2;6492:103;6587:7;6578:6;6567:9;6563:22;6492:103;;;6482:113;;6367:234;6062:549;;;;;;6619:273;;6778:108;6882:3;6874:6;6778:108;;;6764:122;6757:135;-1:-1;;;6757:135;6901:269;;7034:96;7126:3;7118:6;7034:96;;;-1:-1;;7159:4;7150:14;;7027:143;7178:111;7259:24;7277:5;7259:24;;;7254:3;7247:37;7241:48;;;7363:1072;;7566:79;7639:5;7566:79;;;7658:119;7770:6;7765:3;7658:119;;;7651:126;;7800:3;7842:4;7834:6;7830:17;7825:3;7821:27;7869:81;7944:5;7869:81;;;7970:7;7998:1;7983:413;8008:6;8005:1;8002:13;7983:413;;;8070:9;8064:4;8060:20;8055:3;8048:33;8115:6;8109:13;8137:122;8254:4;8239:13;8137:122;;;8129:130;;8276:85;8354:6;8276:85;;;8384:4;8375:14;;;;;8266:95;-1:-1;;8030:1;8023:9;7983:413;;;-1:-1;8409:4;;7545:890;-1:-1;;;;;;;7545:890;8498:866;;8689:73;8756:5;8689:73;;;8775:113;8881:6;8876:3;8775:113;;;8768:120;;8909:75;8978:5;8909:75;;;9004:7;9032:1;9017:325;9042:6;9039:1;9036:13;9017:325;;;9109:6;9103:13;9130:109;9235:3;9220:13;9130:109;;;9123:116;;9256:79;9328:6;9256:79;;;9246:89;-1:-1;;9064:1;9057:9;9017:325;;;-1:-1;9355:3;;8668:696;-1:-1;;;;;8668:696;9372:102;9447:21;9462:5;9447:21;;9481:331;;9585:34;9613:5;9585:34;;;9631:68;9692:6;9687:3;9631:68;;;9624:75;;9704:52;9749:6;9744:3;9737:4;9730:5;9726:16;9704:52;;;9777:29;9799:6;9777:29;;;9768:39;;;;9565:247;-1:-1;;;9565:247;9819:152;9914:51;9959:5;9914:51;;9978:166;10080:58;10132:5;10080:58;;10319:331;;10479:67;10543:2;10538:3;10479:67;;;10579:33;10559:54;;10641:2;10632:12;;10465:185;-1:-1;;10465:185;10719:1688;10946:23;;10719:1688;;10872:6;10863:16;;;10975:85;10867:3;10946:23;10975:85;;;10894:172;11144:4;11137:5;11133:16;11127:23;11156:71;11221:4;11216:3;11212:14;11198:12;11156:71;;;11076:157;11308:4;11301:5;11297:16;11291:23;11320:127;11441:4;11436:3;11432:14;11418:12;11320:127;;;11243:210;11537:4;11530:5;11526:16;11520:23;11549:71;11614:4;11609:3;11605:14;11591:12;11549:71;;;11463:163;11712:4;11705:5;11701:16;11695:23;11724:71;11789:4;11784:3;11780:14;11766:12;11724:71;;;11636:165;11882:4;11875:5;11871:16;11865:23;11894:73;11959:6;11954:3;11950:16;11936:12;11894:73;;;11811:162;12056:4;12049:5;12045:16;12039:23;12068:73;12133:6;12128:3;12124:16;12110:12;12068:73;;;11983:164;12220:4;12213:5;12209:16;12203:23;12274:3;12268:4;12264:14;12255:6;12250:3;12246:16;12239:40;12294:75;12364:4;12350:12;12294:75;;;12286:83;10845:1562;-1:-1;;;;;10845:1562;12473:861;12686:23;;12620:4;12611:14;;;12715:65;12615:3;12686:23;12715:65;;;12640:146;12867:4;12860:5;12856:16;12850:23;12879:92;12965:4;12960:3;12956:14;12942:12;12879:92;;;12796:181;13049:4;13042:5;13038:16;13032:23;13061:89;13144:4;13139:3;13135:14;13121:12;13061:89;;;12987:169;13230:4;13223:5;13219:16;13213:23;13242:71;13307:4;13302:3;13298:14;13284:12;13242:71;;;13166:153;12593:741;;;;13390:485;13590:23;;13523:4;13514:14;;;13619:71;13518:3;13590:23;13619:71;;;13543:153;13771:4;13764:5;13760:16;13754:23;13783:71;13848:4;13843:3;13839:14;13825:12;13783:71;;13882:123;13982:18;;13976:29;14012:111;14093:24;14111:5;14093:24;;14130:407;14321:2;14335:47;;;14306:18;;14396:131;14306:18;14396:131;;14544:981;14935:2;14920:18;;14949:100;14924:9;15022:6;14949:100;;;15097:9;15091:4;15087:20;15082:2;15071:9;15067:18;15060:48;15122:154;15271:4;15262:6;15122:154;;;15114:162;;15324:9;15318:4;15314:20;15309:2;15298:9;15294:18;15287:48;15349:166;15510:4;15501:6;15349:166;;15532:256;15594:2;15588:9;15620:17;;;15695:18;15680:34;;15716:22;;;15677:62;15674:2;;;15752:1;15749;15742:12;15674:2;15768;15761:22;15572:216;;-1:-1;15572:216;15795:329;;15979:18;15971:6;15968:30;15965:2;;;16011:1;16008;16001:12;15965:2;-1:-1;16046:4;16034:17;;;16099:15;;15902:222;16461:317;;16600:18;16592:6;16589:30;16586:2;;;16632:1;16629;16622:12;16586:2;-1:-1;16763:4;16699;16676:17;;;;16695:9;16672:33;16753:15;;16523:255;16785:176;16934:4;16925:14;;16882:79;17145:162;17273:12;;17244:63;17876:211;18027:19;;;18076:4;18067:14;;18020:67;18650:91;;18712:24;18730:5;18712:24;;18748:85;18814:13;18807:21;;18790:43;18840:138;18918:5;18924:49;18918:5;18924:49;;;18901:77;;;;18985:152;19070:5;19076:56;19070:5;19076:56;;19297:121;19370:42;19359:54;;19342:76;19425:72;19487:5;19470:27;19504:138;;19597:40;19631:5;19597:40;;19649:152;;19749:47;19790:5;19749:47;;19962:145;20043:6;20038:3;20033;20020:30;-1:-1;20099:1;20081:16;;20074:27;20013:94;20116:268;20181:1;20188:101;20202:6;20199:1;20196:13;20188:101;;;20269:11;;;20263:18;20250:11;;;20243:39;20224:2;20217:10;20188:101;;;20304:6;20301:1;20298:13;20295:2;;;-1:-1;;20369:1;20351:16;;20344:27;20165:219;20392:97;20480:2;20460:14;20476:7;20456:28;;20440:49;20497:107;20582:1;20575:5;20572:12;20562:2;;20588:9;20562:2;20556:48;;20611:114;20703:1;20696:5;20693:12;20683:2;;20709:9;20850:117;20919:24;20937:5;20919:24;;;20912:5;20909:35;20899:2;;20958:1;20955;20948:12;20974:111;21040:21;21055:5;21040:21;;21092:110;21177:1;21170:5;21167:12;21157:2;;21193:1;21190;21183:12;21209:117;21301:1;21294:5;21291:12;21281:2;;21317:1;21314;21307:12;21454:117;21523:24;21541:5;21523:24;",
106
106
  "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 { ReentrancyGuard } from \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport { State } from \"./State.sol\";\nimport { OperationImpl } from \"./impl/OperationImpl.sol\";\nimport { Account } from \"./lib/Account.sol\";\nimport { Actions } from \"./lib/Actions.sol\";\n\n\n/**\n * @title Operation\n * @author dYdX\n *\n * Primary public function for allowing users and contracts to manage accounts within DolomiteMargin\n */\ncontract Operation is\n State,\n ReentrancyGuard\n{\n // ============ Public Functions ============\n\n /**\n * The main entry-point to DolomiteMargin that allows users and contracts to manage accounts.\n * Take one or more actions on one or more accounts. The msg.sender must be the owner or\n * operator of all accounts except for those being liquidated, vaporized, or traded with.\n * One call to operate() is considered a singular \"operation\". Account collateralization is\n * ensured only after the completion of the entire operation.\n *\n * @param accounts A list of all accounts that will be used in this operation. Cannot contain\n * duplicates. In each action, the relevant account will be referred-to by its\n * index in the list.\n * @param actions An ordered list of all actions that will be taken in this operation. The\n * actions will be processed in order.\n */\n function operate(\n Account.Info[] memory accounts,\n Actions.ActionArgs[] memory actions\n )\n public\n nonReentrant\n {\n OperationImpl.operate(\n g_state,\n accounts,\n actions\n );\n }\n}\n",
107
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol",
107
+ "sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Operation.sol",
108
108
  "ast": {
109
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol",
109
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Operation.sol",
110
110
  "exportedSymbols": {
111
111
  "Operation": [
112
112
  23814
@@ -152,7 +152,7 @@
152
152
  "unitAlias": ""
153
153
  },
154
154
  {
155
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
155
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
156
156
  "file": "./State.sol",
157
157
  "id": 23783,
158
158
  "nodeType": "ImportDirective",
@@ -168,7 +168,7 @@
168
168
  "unitAlias": ""
169
169
  },
170
170
  {
171
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/OperationImpl.sol",
171
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/OperationImpl.sol",
172
172
  "file": "./impl/OperationImpl.sol",
173
173
  "id": 23785,
174
174
  "nodeType": "ImportDirective",
@@ -184,7 +184,7 @@
184
184
  "unitAlias": ""
185
185
  },
186
186
  {
187
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol",
187
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol",
188
188
  "file": "./lib/Account.sol",
189
189
  "id": 23787,
190
190
  "nodeType": "ImportDirective",
@@ -200,7 +200,7 @@
200
200
  "unitAlias": ""
201
201
  },
202
202
  {
203
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol",
203
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol",
204
204
  "file": "./lib/Actions.sol",
205
205
  "id": 23789,
206
206
  "nodeType": "ImportDirective",
@@ -512,7 +512,7 @@
512
512
  "src": "603:1726:50"
513
513
  },
514
514
  "legacyAST": {
515
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol",
515
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Operation.sol",
516
516
  "exportedSymbols": {
517
517
  "Operation": [
518
518
  23814
@@ -558,7 +558,7 @@
558
558
  "unitAlias": ""
559
559
  },
560
560
  {
561
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
561
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
562
562
  "file": "./State.sol",
563
563
  "id": 23783,
564
564
  "nodeType": "ImportDirective",
@@ -574,7 +574,7 @@
574
574
  "unitAlias": ""
575
575
  },
576
576
  {
577
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/OperationImpl.sol",
577
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/OperationImpl.sol",
578
578
  "file": "./impl/OperationImpl.sol",
579
579
  "id": 23785,
580
580
  "nodeType": "ImportDirective",
@@ -590,7 +590,7 @@
590
590
  "unitAlias": ""
591
591
  },
592
592
  {
593
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol",
593
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol",
594
594
  "file": "./lib/Account.sol",
595
595
  "id": 23787,
596
596
  "nodeType": "ImportDirective",
@@ -606,7 +606,7 @@
606
606
  "unitAlias": ""
607
607
  },
608
608
  {
609
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol",
609
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol",
610
610
  "file": "./lib/Actions.sol",
611
611
  "id": 23789,
612
612
  "nodeType": "ImportDirective",
@@ -923,7 +923,7 @@
923
923
  },
924
924
  "networks": {},
925
925
  "schemaVersion": "3.0.23",
926
- "updatedAt": "2022-02-04T01:55:01.087Z",
926
+ "updatedAt": "2022-02-07T07:18:45.188Z",
927
927
  "devdoc": {
928
928
  "author": "dYdX * Primary public function for allowing users and contracts to manage accounts within DolomiteMargin",
929
929
  "methods": {