@dolomite-exchange/dolomite-margin 0.2.2 → 0.2.3

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 (150) hide show
  1. package/build/contracts/Account.json +11 -11
  2. package/build/contracts/Actions.json +11 -11
  3. package/build/contracts/Address.json +1 -1
  4. package/build/contracts/Admin.json +23 -23
  5. package/build/contracts/AdminImpl.json +31 -322
  6. package/build/contracts/AdvancedMath.json +7 -7
  7. package/build/contracts/AmmRebalancerProxy.json +32 -77
  8. package/build/contracts/Babylonian.json +1 -1
  9. package/build/contracts/Bits.json +9 -9
  10. package/build/contracts/Cache.json +13 -13
  11. package/build/contracts/ChainlinkPriceOracleV1.json +16 -16
  12. package/build/contracts/Context.json +1 -1
  13. package/build/contracts/CustomTestToken.json +9 -9
  14. package/build/contracts/Decimal.json +9 -9
  15. package/build/contracts/DelayedMultiSig.json +9 -9
  16. package/build/contracts/DolomiteAmmERC20.json +11 -11
  17. package/build/contracts/DolomiteAmmFactory.json +14 -52
  18. package/build/contracts/DolomiteAmmLibrary.json +24 -24
  19. package/build/contracts/DolomiteAmmPair.json +27 -27
  20. package/build/contracts/DolomiteAmmRouterProxy.json +30 -363
  21. package/build/contracts/DolomiteMargin.json +23 -78
  22. package/build/contracts/DoubleExponentInterestSetter.json +14 -20
  23. package/build/contracts/EnumerableSet.json +7 -7
  24. package/build/contracts/ErroringOmiseToken.json +9 -9
  25. package/build/contracts/ErroringToken.json +10 -10
  26. package/build/contracts/Events.json +17 -17
  27. package/build/contracts/Exchange.json +15 -15
  28. package/build/contracts/Expiry.json +34 -173
  29. package/build/contracts/Getters.json +34 -34
  30. package/build/contracts/IAutoTrader.json +9 -9
  31. package/build/contracts/ICallee.json +7 -7
  32. package/build/contracts/IChainlinkAggregator.json +5 -5
  33. package/build/contracts/IDolomiteAmmERC20.json +5 -5
  34. package/build/contracts/IDolomiteAmmFactory.json +9 -9
  35. package/build/contracts/IDolomiteAmmPair.json +9 -9
  36. package/build/contracts/IDolomiteMargin.json +23 -23
  37. package/build/contracts/IERC20.json +1 -1
  38. package/build/contracts/IERC20Detailed.json +5 -5
  39. package/build/contracts/IExchangeWrapper.json +5 -5
  40. package/build/contracts/IExpiry.json +9 -9
  41. package/build/contracts/IInterestSetter.json +7 -7
  42. package/build/contracts/ILiquidationCallback.json +7 -7
  43. package/build/contracts/IMakerOracle.json +5 -5
  44. package/build/contracts/IOasisDex.json +5 -5
  45. package/build/contracts/IPriceOracle.json +7 -7
  46. package/build/contracts/IRecyclable.json +9 -9
  47. package/build/contracts/ITransferProxy.json +5 -5
  48. package/build/contracts/IUniswapV2Callee.json +5 -5
  49. package/build/contracts/IUniswapV2Factory.json +5 -5
  50. package/build/contracts/IUniswapV2Pair.json +5 -5
  51. package/build/contracts/IUniswapV2Router.json +5 -5
  52. package/build/contracts/IWETH.json +5 -5
  53. package/build/contracts/Interest.json +15 -15
  54. package/build/contracts/LiquidateOrVaporizeImpl.json +31 -82
  55. package/build/contracts/LiquidatorProxyHelper.json +23 -23
  56. package/build/contracts/LiquidatorProxyV1.json +31 -37
  57. package/build/contracts/LiquidatorProxyV1WithAmm.json +32 -149
  58. package/build/contracts/Math.json +1 -1
  59. package/build/contracts/Migrations.json +8 -14
  60. package/build/contracts/Monetary.json +7 -7
  61. package/build/contracts/MultiCall.json +8 -14
  62. package/build/contracts/MultiSig.json +7 -7
  63. package/build/contracts/OmiseToken.json +8 -8
  64. package/build/contracts/OnlyDolomiteMargin.json +11 -11
  65. package/build/contracts/Operation.json +15 -15
  66. package/build/contracts/OperationImpl.json +39 -47
  67. package/build/contracts/Ownable.json +1 -1
  68. package/build/contracts/PartiallyDelayedMultiSig.json +9 -9
  69. package/build/contracts/PayableProxy.json +17 -23
  70. package/build/contracts/Permission.json +11 -11
  71. package/build/contracts/PolynomialInterestSetter.json +13 -13
  72. package/build/contracts/RecyclableTokenProxy.json +25 -25
  73. package/build/contracts/ReentrancyGuard.json +1 -1
  74. package/build/contracts/Require.json +7 -7
  75. package/build/contracts/SafeERC20.json +1 -1
  76. package/build/contracts/SafeETH.json +7 -7
  77. package/build/contracts/SafeMath.json +1 -1
  78. package/build/contracts/SignedOperationProxy.json +21 -104
  79. package/build/contracts/SimpleFeeOwner.json +18 -63
  80. package/build/contracts/State.json +9 -9
  81. package/build/contracts/Storage.json +3222 -3222
  82. package/build/contracts/TestAmmRebalancerProxy.json +32 -58
  83. package/build/contracts/TestAutoTrader.json +22 -22
  84. package/build/contracts/TestBtcUsdChainlinkAggregator.json +11 -11
  85. package/build/contracts/TestCallee.json +19 -19
  86. package/build/contracts/TestChainlinkPriceOracleV1.json +10 -94
  87. package/build/contracts/TestCounter.json +7 -7
  88. package/build/contracts/TestDaiUsdChainlinkAggregator.json +11 -11
  89. package/build/contracts/TestDolomiteMargin.json +21 -21
  90. package/build/contracts/TestDoubleExponentInterestSetter.json +10 -10
  91. package/build/contracts/TestEthUsdChainlinkAggregator.json +11 -11
  92. package/build/contracts/TestExchangeWrapper.json +10 -10
  93. package/build/contracts/TestInterestSetter.json +12 -12
  94. package/build/contracts/TestLib.json +22 -22
  95. package/build/contracts/TestLinkUsdChainlinkAggregator.json +11 -11
  96. package/build/contracts/TestLiquidateCallback.json +15 -15
  97. package/build/contracts/TestLrcEthChainlinkAggregator.json +11 -11
  98. package/build/contracts/TestMakerOracle.json +10 -10
  99. package/build/contracts/TestMaticUsdChainlinkAggregator.json +11 -11
  100. package/build/contracts/TestOasisDex.json +12 -12
  101. package/build/contracts/TestOperationImpl.json +15 -15
  102. package/build/contracts/TestPolynomialInterestSetter.json +10 -10
  103. package/build/contracts/TestPriceAggregator.json +9 -9
  104. package/build/contracts/TestPriceOracle.json +12 -12
  105. package/build/contracts/TestRecyclableToken.json +9 -9
  106. package/build/contracts/TestSimpleCallee.json +15 -15
  107. package/build/contracts/TestToken.json +9 -9
  108. package/build/contracts/TestTrader.json +17 -17
  109. package/build/contracts/TestUniswapAmmRebalancerProxy.json +16 -16
  110. package/build/contracts/TestUsdcUsdChainlinkAggregator.json +11 -11
  111. package/build/contracts/TestWETH.json +9 -9
  112. package/build/contracts/Time.json +9 -9
  113. package/build/contracts/Token.json +9 -9
  114. package/build/contracts/TokenA.json +10 -10
  115. package/build/contracts/TokenB.json +10 -10
  116. package/build/contracts/TokenC.json +10 -10
  117. package/build/contracts/TokenD.json +10 -10
  118. package/build/contracts/TokenE.json +10 -10
  119. package/build/contracts/TokenF.json +10 -10
  120. package/build/contracts/TransferProxy.json +22 -28
  121. package/build/contracts/TypedSignature.json +9 -9
  122. package/build/contracts/Types.json +9 -9
  123. package/build/contracts/UQ112x112.json +7 -7
  124. package/build/contracts/UniswapV2ERC20.json +7 -7
  125. package/build/contracts/UniswapV2Factory.json +12 -12
  126. package/build/contracts/UniswapV2Library.json +20 -20
  127. package/build/contracts/UniswapV2Pair.json +17 -17
  128. package/build/contracts/UniswapV2Router02.json +16 -16
  129. package/build/contracts/WETH9.json +1 -1
  130. package/contracts/protocol/impl/artifacts/OperationImpl.json +80 -0
  131. package/contracts/protocol/impl/artifacts/OperationImpl_metadata.json +193 -0
  132. package/contracts/protocol/lib/Storage.sol +7 -0
  133. package/dist/build/published_contracts/AdminImpl.json +1 -1
  134. package/dist/build/published_contracts/AmmRebalancerProxy.json +1 -1
  135. package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +1 -1
  136. package/dist/build/published_contracts/DolomiteAmmFactory.json +1 -1
  137. package/dist/build/published_contracts/DolomiteAmmRouterProxy.json +1 -1
  138. package/dist/build/published_contracts/DoubleExponentInterestSetter.json +1 -1
  139. package/dist/build/published_contracts/Expiry.json +1 -1
  140. package/dist/build/published_contracts/LiquidatorProxyV1.json +2 -2
  141. package/dist/build/published_contracts/LiquidatorProxyV1WithAmm.json +1 -1
  142. package/dist/build/published_contracts/MultiCall.json +1 -1
  143. package/dist/build/published_contracts/PayableProxy.json +2 -2
  144. package/dist/build/published_contracts/SignedOperationProxy.json +2 -2
  145. package/dist/build/published_contracts/SimpleFeeOwner.json +1 -1
  146. package/dist/build/published_contracts/TransferProxy.json +1 -1
  147. package/dist/src/modules/operate/AccountOperation.d.ts +8 -2
  148. package/dist/src/modules/operate/AccountOperation.js +7 -7
  149. package/dist/src/modules/operate/AccountOperation.js.map +1 -1
  150. package/package.json +2 -2
@@ -155,15 +155,15 @@
155
155
  "type": "function"
156
156
  }
157
157
  ],
158
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dolomiteMargin\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"weth\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"contract WETH9\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"sendEthTo\",\"type\":\"address\"}],\"name\":\"operate\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Contract for wrapping/unwrapping ETH before/after interacting with DolomiteMargin\",\"methods\":{},\"title\":\"PayableProxy\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/proxies/PayableProxy.sol\":\"PayableProxy\"},\"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/external/proxies/PayableProxy.sol\":{\"keccak256\":\"0x26fdbc154c5ada340b11b0930177255ebfb027c47d2c662de6bf71260ded4508\",\"urls\":[\"bzz-raw://c8be81a0e9c34e941106df3b17a7dd9df52dcdfc284bfc65301222a784391586\",\"dweb:/ipfs/QmeS9yxov3y92mPQ9avZCtrrp318AqfK74NbvU5nAbyS8b\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x3e95a2b461f3f0cc4000d71d5c7bb6b1222788cfac1c66faad029ccaa1859d1e\",\"urls\":[\"bzz-raw://cad9773b4a1b196ea3d71129b5bd5679df7db601555a6b29ac111d38c36b00f0\",\"dweb:/ipfs/QmThFva71eLSVmBHHxn34zP7BUCJZDD6wMJHxEkKNWkkvv\"]},\"/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\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xca1826cf783a2d48a5a45309ca92cbaee46d2caec7b5a7c154b2dfda06af8975\",\"urls\":[\"bzz-raw://e13679dfa92725d990e3b0656f4eca4b0d09616e5c2729a3bc0276923d6887e1\",\"dweb:/ipfs/QmVc8teCJ6rKutZLyvk568hCw1vYj2nC6DwyxRgswHu71k\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/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/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]},\"canonical-weth/contracts/WETH9.sol\":{\"keccak256\":\"0x8f392bda1fce5c7106f32ffc911571669f8751d84dfad2f79b34256851e1a62f\",\"urls\":[\"bzz-raw://878b2f02b3fee2285d56fb6de5c87f835048fd8ea1d156c251d010065cdc891d\",\"dweb:/ipfs/QmTgbuxKfyWnSech4qrwhxXiuQivLUPPgoQydK2uZiLsc9\"]}},\"version\":1}",
159
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620016ff380380620016ff83398101604081905262000034916200011d565b6000805460ff60a01b196001600160a01b038086166001600160a01b03199384161791909116600160a01b17909255600180548484169216919091179081905560405163095ea7b360e01b815291169063095ea7b3906200009e90859060001990600401620001a1565b602060405180830381600087803b158015620000b957600080fd5b505af1158015620000ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000f491908101906200015c565b5050506200020d565b80516200010a81620001e8565b92915050565b80516200010a8162000202565b600080604083850312156200013157600080fd5b60006200013f8585620000fd565b92505060206200015285828601620000fd565b9150509250929050565b6000602082840312156200016f57600080fd5b60006200017d848462000110565b949350505050565b6200019081620001c7565b82525050565b6200019081620001e5565b60408101620001b1828562000185565b620001c0602083018462000196565b9392505050565b60006200010a82620001d9565b151590565b6001600160a01b031690565b90565b620001f381620001c7565b8114620001ff57600080fd5b50565b620001f381620001d4565b6114e2806200021d6000396000f3fe6080604052600436106100345760003560e01c806315c14a4a14610090578063ad5c4648146100bb578063f319142a146100d0575b60015473ffffffffffffffffffffffffffffffffffffffff16331461008e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611267565b60405180910390fd5b005b34801561009c57600080fd5b506100a56100e3565b6040516100b29190611248565b60405180910390f35b3480156100c757600080fd5b506100a56100ff565b61008e6100de366004610d8e565b61011b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1661016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611277565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16905560015473ffffffffffffffffffffffffffffffffffffffff163415610218578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101fe57600080fd5b505af1158015610212573d6000803e3d6000fd5b50505050505b60005b83518110156103975761022c6109ff565b84828151811061023857fe5b6020026020010151905060008682602001518151811061025457fe5b60200260200101516000015190506102dc3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207072696d617279206163636f756e74000084610641565b6002825160088111156102eb57fe5b141561038d576000878360c001518151811061030357fe5b602002602001015160000151905061038b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207365636f6e64617279206163636f756e7484610641565b505b505060010161021b565b506000546040517fa67a6a4500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063a67a6a45906103f09087908790600401611223565b600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081526000925073ffffffffffffffffffffffffffffffffffffffff841691506370a0823190610477903090600401611215565b60206040518083038186803b15801561048f57600080fd5b505afa1580156104a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c79190810190610e0a565b905080156105fb5761053273ffffffffffffffffffffffffffffffffffffffff841615157f50617961626c6550726f787900000000000000000000000000000000000000007f4d757374207365742073656e64457468546f000000000000000000000000000061073d565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690632e1a7d4d90610584908490600401611287565b600060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8616925083156108fc02915083906000818181858888f193505050501580156105f9573d6000803e3d6000fd5b505b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b836107375761064f8361078c565b7f3a200000000000000000000000000000000000000000000000000000000000006106798461078c565b7f203c0000000000000000000000000000000000000000000000000000000000006106a385610866565b6040516106d99594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016111b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261008591600401611256565b50505050565b826107875761074b8261078c565b7f3a200000000000000000000000000000000000000000000000000000000000006107758361078c565b6040516020016106d99392919061118f565b505050565b606080826040516020016107a0919061117a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b80156108495781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019082908290811061080c57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156108445760010181529050610861565b6107d3565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b816000815181106108b257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106108f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561085c576002810261093e600f85166109dd565b83826029038151811061094d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c935061098f600f85166109dd565b83826028038151811061099e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610925565b6000600a8210156109f557506030810160f81b610861565b5060570160f81b90565b604080516101008101825260008082526020820152908101610a1f610a5e565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604080516080810190915260008082526020820190815260200160008152602001600081525090565b8035610a928161145f565b92915050565b600082601f830112610aa957600080fd5b8135610abc610ab7826112bc565b611295565b81815260209384019390925082018360005b83811015610afa5781358601610ae48882610be6565b8452506020928301929190910190600101610ace565b5050505092915050565b600082601f830112610b1557600080fd5b8135610b23610ab7826112bc565b91508181835260208401935060208101905083856040840282011115610b4857600080fd5b60005b83811015610afa5781610b5e8882610d31565b84525060209092019160409190910190600101610b4b565b8035610a9281611473565b600082601f830112610b9257600080fd5b8135610ba0610ab7826112dd565b91508082526020830160208301858383011115610bbc57600080fd5b610bc78382846113e8565b50505092915050565b8035610a928161147c565b8035610a9281611489565b60006101608284031215610bf957600080fd5b610c04610100611295565b90506000610c128484610bd0565b8252506020610c2384848301610d78565b6020830152506040610c3784828501610cc2565b60408301525060c0610c4b84828501610d78565b60608301525060e0610c5f84828501610d78565b608083015250610100610c7484828501610a87565b60a083015250610120610c8984828501610d78565b60c08301525061014082013567ffffffffffffffff811115610caa57600080fd5b610cb684828501610b81565b60e08301525092915050565b600060808284031215610cd457600080fd5b610cde6080611295565b90506000610cec8484610b76565b8252506020610cfd84848301610bdb565b6020830152506040610d1184828501610bdb565b6040830152506060610d2584828501610d78565b60608301525092915050565b600060408284031215610d4357600080fd5b610d4d6040611295565b90506000610d5b8484610a87565b8252506020610d6c84848301610d78565b60208301525092915050565b8035610a9281611496565b8051610a9281611496565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff811115610dba57600080fd5b610dc686828701610b04565b935050602084013567ffffffffffffffff811115610de357600080fd5b610def86828701610a98565b9250506040610e0086828701610a87565b9150509250925092565b600060208284031215610e1c57600080fd5b6000610e288484610d83565b949350505050565b6000610e3c838361105c565b9392505050565b6000610e4f8383611151565b505060400190565b610e60816113c0565b82525050565b610e6081611336565b6000610e7a82611329565b610e84818561132d565b935083602082028501610e9685611323565b8060005b85811015610ed05784840389528151610eb38582610e30565b9450610ebe83611323565b60209a909a0199925050600101610e9a565b5091979650505050505050565b6000610ee882611329565b610ef2818561132d565b9350610efd83611323565b8060005b83811015610f2b578151610f158882610e43565b9750610f2083611323565b925050600101610f01565b509495945050505050565b610e6081611341565b610e60610f4b82611346565b611390565b610e60610f4b8261136b565b610e60610f4b82611390565b6000610f7382611329565b610f7d8185610861565b9350610f8d8185602086016113f4565b9290920192915050565b6000610fa282611329565b610fac818561132d565b9350610fbc8185602086016113f4565b610fc581611420565b9093019392505050565b610e60816113c7565b610e60816113d2565b610e60816113dd565b6000610ff760128361132d565b7f43616e6e6f742072656365697665204554480000000000000000000000000000815260200192915050565b6000611030601f8361132d565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906110718582610fd8565b5060208301516110846020860182611171565b5060408301516110976040860182611107565b5060608301516110aa60c0860182611171565b5060808301516110bd60e0860182611171565b5060a08301516110d1610100860182610e66565b5060c08301516110e5610120860182611171565b5060e08301518482036101408601526110fe8282610f97565b95945050505050565b805160808301906111188482610f36565b50602082015161112b6020850182610fe1565b50604082015161113e6040850182610fe1565b5060608201516107376060850182611171565b805160408301906111628482610e66565b50602082015161073760208501825b610e6081611390565b60006111868284610f5c565b50602001919050565b600061119b8286610f68565b91506111a78285610f50565b6002820191506110fe8284610f68565b60006111c38289610f68565b91506111cf8288610f50565b6002820191506111df8287610f68565b91506111eb8286610f50565b6002820191506111fb8285610f68565b91506112078284610f3f565b506001019695505050505050565b60208101610a928284610e57565b604080825281016112348185610edd565b90508181036020830152610e288184610e6f565b60208101610a928284610fcf565b60208082528101610e3c8184610f97565b60208082528101610a9281610fea565b60208082528101610a9281611023565b60208101610a928284611171565b60405181810167ffffffffffffffff811182821017156112b457600080fd5b604052919050565b600067ffffffffffffffff8211156112d357600080fd5b5060209081020190565b600067ffffffffffffffff8211156112f457600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b6000610a92826113a7565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b8061086181611448565b8061086181611455565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000610a92825b6000610a9282611336565b6000610a9282611393565b6000610a928261139d565b82818337506000910152565b60005b8381101561140f5781810151838201526020016113f7565b838111156107375750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061145257fe5b50565b6002811061145257fe5b61146881611336565b811461145257600080fd5b61146881611341565b6009811061145257600080fd5b6002811061145257600080fd5b6114688161139056fea365627a7a723158202b07d57e7a10fd53c19658a4ce9d5234ebe9dd26e3f86b25a4af92ad8b10a0b96c6578706572696d656e74616cf564736f6c63430005100040",
160
- "deployedBytecode": "0x6080604052600436106100345760003560e01c806315c14a4a14610090578063ad5c4648146100bb578063f319142a146100d0575b60015473ffffffffffffffffffffffffffffffffffffffff16331461008e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611267565b60405180910390fd5b005b34801561009c57600080fd5b506100a56100e3565b6040516100b29190611248565b60405180910390f35b3480156100c757600080fd5b506100a56100ff565b61008e6100de366004610d8e565b61011b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1661016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611277565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16905560015473ffffffffffffffffffffffffffffffffffffffff163415610218578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101fe57600080fd5b505af1158015610212573d6000803e3d6000fd5b50505050505b60005b83518110156103975761022c6109ff565b84828151811061023857fe5b6020026020010151905060008682602001518151811061025457fe5b60200260200101516000015190506102dc3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207072696d617279206163636f756e74000084610641565b6002825160088111156102eb57fe5b141561038d576000878360c001518151811061030357fe5b602002602001015160000151905061038b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207365636f6e64617279206163636f756e7484610641565b505b505060010161021b565b506000546040517fa67a6a4500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063a67a6a45906103f09087908790600401611223565b600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081526000925073ffffffffffffffffffffffffffffffffffffffff841691506370a0823190610477903090600401611215565b60206040518083038186803b15801561048f57600080fd5b505afa1580156104a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c79190810190610e0a565b905080156105fb5761053273ffffffffffffffffffffffffffffffffffffffff841615157f50617961626c6550726f787900000000000000000000000000000000000000007f4d757374207365742073656e64457468546f000000000000000000000000000061073d565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690632e1a7d4d90610584908490600401611287565b600060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8616925083156108fc02915083906000818181858888f193505050501580156105f9573d6000803e3d6000fd5b505b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b836107375761064f8361078c565b7f3a200000000000000000000000000000000000000000000000000000000000006106798461078c565b7f203c0000000000000000000000000000000000000000000000000000000000006106a385610866565b6040516106d99594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016111b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261008591600401611256565b50505050565b826107875761074b8261078c565b7f3a200000000000000000000000000000000000000000000000000000000000006107758361078c565b6040516020016106d99392919061118f565b505050565b606080826040516020016107a0919061117a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b80156108495781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019082908290811061080c57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156108445760010181529050610861565b6107d3565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b816000815181106108b257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106108f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561085c576002810261093e600f85166109dd565b83826029038151811061094d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c935061098f600f85166109dd565b83826028038151811061099e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610925565b6000600a8210156109f557506030810160f81b610861565b5060570160f81b90565b604080516101008101825260008082526020820152908101610a1f610a5e565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604080516080810190915260008082526020820190815260200160008152602001600081525090565b8035610a928161145f565b92915050565b600082601f830112610aa957600080fd5b8135610abc610ab7826112bc565b611295565b81815260209384019390925082018360005b83811015610afa5781358601610ae48882610be6565b8452506020928301929190910190600101610ace565b5050505092915050565b600082601f830112610b1557600080fd5b8135610b23610ab7826112bc565b91508181835260208401935060208101905083856040840282011115610b4857600080fd5b60005b83811015610afa5781610b5e8882610d31565b84525060209092019160409190910190600101610b4b565b8035610a9281611473565b600082601f830112610b9257600080fd5b8135610ba0610ab7826112dd565b91508082526020830160208301858383011115610bbc57600080fd5b610bc78382846113e8565b50505092915050565b8035610a928161147c565b8035610a9281611489565b60006101608284031215610bf957600080fd5b610c04610100611295565b90506000610c128484610bd0565b8252506020610c2384848301610d78565b6020830152506040610c3784828501610cc2565b60408301525060c0610c4b84828501610d78565b60608301525060e0610c5f84828501610d78565b608083015250610100610c7484828501610a87565b60a083015250610120610c8984828501610d78565b60c08301525061014082013567ffffffffffffffff811115610caa57600080fd5b610cb684828501610b81565b60e08301525092915050565b600060808284031215610cd457600080fd5b610cde6080611295565b90506000610cec8484610b76565b8252506020610cfd84848301610bdb565b6020830152506040610d1184828501610bdb565b6040830152506060610d2584828501610d78565b60608301525092915050565b600060408284031215610d4357600080fd5b610d4d6040611295565b90506000610d5b8484610a87565b8252506020610d6c84848301610d78565b60208301525092915050565b8035610a9281611496565b8051610a9281611496565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff811115610dba57600080fd5b610dc686828701610b04565b935050602084013567ffffffffffffffff811115610de357600080fd5b610def86828701610a98565b9250506040610e0086828701610a87565b9150509250925092565b600060208284031215610e1c57600080fd5b6000610e288484610d83565b949350505050565b6000610e3c838361105c565b9392505050565b6000610e4f8383611151565b505060400190565b610e60816113c0565b82525050565b610e6081611336565b6000610e7a82611329565b610e84818561132d565b935083602082028501610e9685611323565b8060005b85811015610ed05784840389528151610eb38582610e30565b9450610ebe83611323565b60209a909a0199925050600101610e9a565b5091979650505050505050565b6000610ee882611329565b610ef2818561132d565b9350610efd83611323565b8060005b83811015610f2b578151610f158882610e43565b9750610f2083611323565b925050600101610f01565b509495945050505050565b610e6081611341565b610e60610f4b82611346565b611390565b610e60610f4b8261136b565b610e60610f4b82611390565b6000610f7382611329565b610f7d8185610861565b9350610f8d8185602086016113f4565b9290920192915050565b6000610fa282611329565b610fac818561132d565b9350610fbc8185602086016113f4565b610fc581611420565b9093019392505050565b610e60816113c7565b610e60816113d2565b610e60816113dd565b6000610ff760128361132d565b7f43616e6e6f742072656365697665204554480000000000000000000000000000815260200192915050565b6000611030601f8361132d565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906110718582610fd8565b5060208301516110846020860182611171565b5060408301516110976040860182611107565b5060608301516110aa60c0860182611171565b5060808301516110bd60e0860182611171565b5060a08301516110d1610100860182610e66565b5060c08301516110e5610120860182611171565b5060e08301518482036101408601526110fe8282610f97565b95945050505050565b805160808301906111188482610f36565b50602082015161112b6020850182610fe1565b50604082015161113e6040850182610fe1565b5060608201516107376060850182611171565b805160408301906111628482610e66565b50602082015161073760208501825b610e6081611390565b60006111868284610f5c565b50602001919050565b600061119b8286610f68565b91506111a78285610f50565b6002820191506110fe8284610f68565b60006111c38289610f68565b91506111cf8288610f50565b6002820191506111df8287610f68565b91506111eb8286610f50565b6002820191506111fb8285610f68565b91506112078284610f3f565b506001019695505050505050565b60208101610a928284610e57565b604080825281016112348185610edd565b90508181036020830152610e288184610e6f565b60208101610a928284610fcf565b60208082528101610e3c8184610f97565b60208082528101610a9281610fea565b60208082528101610a9281611023565b60208101610a928284611171565b60405181810167ffffffffffffffff811182821017156112b457600080fd5b604052919050565b600067ffffffffffffffff8211156112d357600080fd5b5060209081020190565b600067ffffffffffffffff8211156112f457600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b6000610a92826113a7565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b8061086181611448565b8061086181611455565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000610a92825b6000610a9282611336565b6000610a9282611393565b6000610a928261139d565b82818337506000910152565b60005b8381101561140f5781810151838201526020016113f7565b838111156107375750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061145257fe5b50565b6002811061145257fe5b61146881611336565b811461145257600080fd5b61146881611341565b6009811061145257600080fd5b6002811061145257600080fd5b6114688161139056fea365627a7a723158202b07d57e7a10fd53c19658a4ce9d5234ebe9dd26e3f86b25a4af92ad8b10a0b96c6578706572696d656e74616cf564736f6c63430005100040",
158
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dolomiteMargin\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"weth\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"contract WETH9\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"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[]\"},{\"internalType\":\"address payable\",\"name\":\"sendEthTo\",\"type\":\"address\"}],\"name\":\"operate\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Contract for wrapping/unwrapping ETH before/after interacting with DolomiteMargin\",\"methods\":{},\"title\":\"PayableProxy\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/proxies/PayableProxy.sol\":\"PayableProxy\"},\"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/external/proxies/PayableProxy.sol\":{\"keccak256\":\"0x26fdbc154c5ada340b11b0930177255ebfb027c47d2c662de6bf71260ded4508\",\"urls\":[\"bzz-raw://c8be81a0e9c34e941106df3b17a7dd9df52dcdfc284bfc65301222a784391586\",\"dweb:/ipfs/QmeS9yxov3y92mPQ9avZCtrrp318AqfK74NbvU5nAbyS8b\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x3e95a2b461f3f0cc4000d71d5c7bb6b1222788cfac1c66faad029ccaa1859d1e\",\"urls\":[\"bzz-raw://cad9773b4a1b196ea3d71129b5bd5679df7db601555a6b29ac111d38c36b00f0\",\"dweb:/ipfs/QmThFva71eLSVmBHHxn34zP7BUCJZDD6wMJHxEkKNWkkvv\"]},\"/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\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9f8e80613b7dcefc4719e57a4a3f7c9bf2cadeb1d2c205c0b667fd5c5538648d\",\"urls\":[\"bzz-raw://ad5d2626e00154cdd4651c718824108220405b75e9196f0744874527d239246b\",\"dweb:/ipfs/QmW7VgfjXDURsTLBayTL6XBkvEX7BGsT9SYCVLpYVMAJtC\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/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/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]},\"canonical-weth/contracts/WETH9.sol\":{\"keccak256\":\"0x8f392bda1fce5c7106f32ffc911571669f8751d84dfad2f79b34256851e1a62f\",\"urls\":[\"bzz-raw://878b2f02b3fee2285d56fb6de5c87f835048fd8ea1d156c251d010065cdc891d\",\"dweb:/ipfs/QmTgbuxKfyWnSech4qrwhxXiuQivLUPPgoQydK2uZiLsc9\"]}},\"version\":1}",
159
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620016ff380380620016ff83398101604081905262000034916200011d565b6000805460ff60a01b196001600160a01b038086166001600160a01b03199384161791909116600160a01b17909255600180548484169216919091179081905560405163095ea7b360e01b815291169063095ea7b3906200009e90859060001990600401620001a1565b602060405180830381600087803b158015620000b957600080fd5b505af1158015620000ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000f491908101906200015c565b5050506200020d565b80516200010a81620001e8565b92915050565b80516200010a8162000202565b600080604083850312156200013157600080fd5b60006200013f8585620000fd565b92505060206200015285828601620000fd565b9150509250929050565b6000602082840312156200016f57600080fd5b60006200017d848462000110565b949350505050565b6200019081620001c7565b82525050565b6200019081620001e5565b60408101620001b1828562000185565b620001c0602083018462000196565b9392505050565b60006200010a82620001d9565b151590565b6001600160a01b031690565b90565b620001f381620001c7565b8114620001ff57600080fd5b50565b620001f381620001d4565b6114e2806200021d6000396000f3fe6080604052600436106100345760003560e01c806315c14a4a14610090578063ad5c4648146100bb578063f319142a146100d0575b60015473ffffffffffffffffffffffffffffffffffffffff16331461008e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611267565b60405180910390fd5b005b34801561009c57600080fd5b506100a56100e3565b6040516100b29190611248565b60405180910390f35b3480156100c757600080fd5b506100a56100ff565b61008e6100de366004610d8e565b61011b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1661016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611277565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16905560015473ffffffffffffffffffffffffffffffffffffffff163415610218578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101fe57600080fd5b505af1158015610212573d6000803e3d6000fd5b50505050505b60005b83518110156103975761022c6109ff565b84828151811061023857fe5b6020026020010151905060008682602001518151811061025457fe5b60200260200101516000015190506102dc3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207072696d617279206163636f756e74000084610641565b6002825160088111156102eb57fe5b141561038d576000878360c001518151811061030357fe5b602002602001015160000151905061038b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207365636f6e64617279206163636f756e7484610641565b505b505060010161021b565b506000546040517fa67a6a4500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063a67a6a45906103f09087908790600401611223565b600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081526000925073ffffffffffffffffffffffffffffffffffffffff841691506370a0823190610477903090600401611215565b60206040518083038186803b15801561048f57600080fd5b505afa1580156104a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c79190810190610e0a565b905080156105fb5761053273ffffffffffffffffffffffffffffffffffffffff841615157f50617961626c6550726f787900000000000000000000000000000000000000007f4d757374207365742073656e64457468546f000000000000000000000000000061073d565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690632e1a7d4d90610584908490600401611287565b600060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8616925083156108fc02915083906000818181858888f193505050501580156105f9573d6000803e3d6000fd5b505b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b836107375761064f8361078c565b7f3a200000000000000000000000000000000000000000000000000000000000006106798461078c565b7f203c0000000000000000000000000000000000000000000000000000000000006106a385610866565b6040516106d99594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016111b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261008591600401611256565b50505050565b826107875761074b8261078c565b7f3a200000000000000000000000000000000000000000000000000000000000006107758361078c565b6040516020016106d99392919061118f565b505050565b606080826040516020016107a0919061117a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b80156108495781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019082908290811061080c57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156108445760010181529050610861565b6107d3565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b816000815181106108b257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106108f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561085c576002810261093e600f85166109dd565b83826029038151811061094d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c935061098f600f85166109dd565b83826028038151811061099e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610925565b6000600a8210156109f557506030810160f81b610861565b5060570160f81b90565b604080516101008101825260008082526020820152908101610a1f610a5e565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604080516080810190915260008082526020820190815260200160008152602001600081525090565b8035610a928161145f565b92915050565b600082601f830112610aa957600080fd5b8135610abc610ab7826112bc565b611295565b81815260209384019390925082018360005b83811015610afa5781358601610ae48882610be6565b8452506020928301929190910190600101610ace565b5050505092915050565b600082601f830112610b1557600080fd5b8135610b23610ab7826112bc565b91508181835260208401935060208101905083856040840282011115610b4857600080fd5b60005b83811015610afa5781610b5e8882610d31565b84525060209092019160409190910190600101610b4b565b8035610a9281611473565b600082601f830112610b9257600080fd5b8135610ba0610ab7826112dd565b91508082526020830160208301858383011115610bbc57600080fd5b610bc78382846113e8565b50505092915050565b8035610a928161147c565b8035610a9281611489565b60006101608284031215610bf957600080fd5b610c04610100611295565b90506000610c128484610bd0565b8252506020610c2384848301610d78565b6020830152506040610c3784828501610cc2565b60408301525060c0610c4b84828501610d78565b60608301525060e0610c5f84828501610d78565b608083015250610100610c7484828501610a87565b60a083015250610120610c8984828501610d78565b60c08301525061014082013567ffffffffffffffff811115610caa57600080fd5b610cb684828501610b81565b60e08301525092915050565b600060808284031215610cd457600080fd5b610cde6080611295565b90506000610cec8484610b76565b8252506020610cfd84848301610bdb565b6020830152506040610d1184828501610bdb565b6040830152506060610d2584828501610d78565b60608301525092915050565b600060408284031215610d4357600080fd5b610d4d6040611295565b90506000610d5b8484610a87565b8252506020610d6c84848301610d78565b60208301525092915050565b8035610a9281611496565b8051610a9281611496565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff811115610dba57600080fd5b610dc686828701610b04565b935050602084013567ffffffffffffffff811115610de357600080fd5b610def86828701610a98565b9250506040610e0086828701610a87565b9150509250925092565b600060208284031215610e1c57600080fd5b6000610e288484610d83565b949350505050565b6000610e3c838361105c565b9392505050565b6000610e4f8383611151565b505060400190565b610e60816113c0565b82525050565b610e6081611336565b6000610e7a82611329565b610e84818561132d565b935083602082028501610e9685611323565b8060005b85811015610ed05784840389528151610eb38582610e30565b9450610ebe83611323565b60209a909a0199925050600101610e9a565b5091979650505050505050565b6000610ee882611329565b610ef2818561132d565b9350610efd83611323565b8060005b83811015610f2b578151610f158882610e43565b9750610f2083611323565b925050600101610f01565b509495945050505050565b610e6081611341565b610e60610f4b82611346565b611390565b610e60610f4b8261136b565b610e60610f4b82611390565b6000610f7382611329565b610f7d8185610861565b9350610f8d8185602086016113f4565b9290920192915050565b6000610fa282611329565b610fac818561132d565b9350610fbc8185602086016113f4565b610fc581611420565b9093019392505050565b610e60816113c7565b610e60816113d2565b610e60816113dd565b6000610ff760128361132d565b7f43616e6e6f742072656365697665204554480000000000000000000000000000815260200192915050565b6000611030601f8361132d565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906110718582610fd8565b5060208301516110846020860182611171565b5060408301516110976040860182611107565b5060608301516110aa60c0860182611171565b5060808301516110bd60e0860182611171565b5060a08301516110d1610100860182610e66565b5060c08301516110e5610120860182611171565b5060e08301518482036101408601526110fe8282610f97565b95945050505050565b805160808301906111188482610f36565b50602082015161112b6020850182610fe1565b50604082015161113e6040850182610fe1565b5060608201516107376060850182611171565b805160408301906111628482610e66565b50602082015161073760208501825b610e6081611390565b60006111868284610f5c565b50602001919050565b600061119b8286610f68565b91506111a78285610f50565b6002820191506110fe8284610f68565b60006111c38289610f68565b91506111cf8288610f50565b6002820191506111df8287610f68565b91506111eb8286610f50565b6002820191506111fb8285610f68565b91506112078284610f3f565b506001019695505050505050565b60208101610a928284610e57565b604080825281016112348185610edd565b90508181036020830152610e288184610e6f565b60208101610a928284610fcf565b60208082528101610e3c8184610f97565b60208082528101610a9281610fea565b60208082528101610a9281611023565b60208101610a928284611171565b60405181810167ffffffffffffffff811182821017156112b457600080fd5b604052919050565b600067ffffffffffffffff8211156112d357600080fd5b5060209081020190565b600067ffffffffffffffff8211156112f457600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b6000610a92826113a7565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b8061086181611448565b8061086181611455565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000610a92825b6000610a9282611336565b6000610a9282611393565b6000610a928261139d565b82818337506000910152565b60005b8381101561140f5781810151838201526020016113f7565b838111156107375750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061145257fe5b50565b6002811061145257fe5b61146881611336565b811461145257600080fd5b61146881611341565b6009811061145257600080fd5b6002811061145257600080fd5b6114688161139056fea365627a7a723158202da277b7487df361390be3a7cbee88711f9c3aa59a693e7344eae8a2c88cdbb96c6578706572696d656e74616cf564736f6c63430005100040",
160
+ "deployedBytecode": "0x6080604052600436106100345760003560e01c806315c14a4a14610090578063ad5c4648146100bb578063f319142a146100d0575b60015473ffffffffffffffffffffffffffffffffffffffff16331461008e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611267565b60405180910390fd5b005b34801561009c57600080fd5b506100a56100e3565b6040516100b29190611248565b60405180910390f35b3480156100c757600080fd5b506100a56100ff565b61008e6100de366004610d8e565b61011b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1661016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161008590611277565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16905560015473ffffffffffffffffffffffffffffffffffffffff163415610218578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101fe57600080fd5b505af1158015610212573d6000803e3d6000fd5b50505050505b60005b83518110156103975761022c6109ff565b84828151811061023857fe5b6020026020010151905060008682602001518151811061025457fe5b60200260200101516000015190506102dc3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207072696d617279206163636f756e74000084610641565b6002825160088111156102eb57fe5b141561038d576000878360c001518151811061030357fe5b602002602001015160000151905061038b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16147f50617961626c6550726f787900000000000000000000000000000000000000007f53656e646572206d757374206265207365636f6e64617279206163636f756e7484610641565b505b505060010161021b565b506000546040517fa67a6a4500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063a67a6a45906103f09087908790600401611223565b600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081526000925073ffffffffffffffffffffffffffffffffffffffff841691506370a0823190610477903090600401611215565b60206040518083038186803b15801561048f57600080fd5b505afa1580156104a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c79190810190610e0a565b905080156105fb5761053273ffffffffffffffffffffffffffffffffffffffff841615157f50617961626c6550726f787900000000000000000000000000000000000000007f4d757374207365742073656e64457468546f000000000000000000000000000061073d565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690632e1a7d4d90610584908490600401611287565b600060405180830381600087803b15801561059e57600080fd5b505af11580156105b2573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8616925083156108fc02915083906000818181858888f193505050501580156105f9573d6000803e3d6000fd5b505b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b836107375761064f8361078c565b7f3a200000000000000000000000000000000000000000000000000000000000006106798461078c565b7f203c0000000000000000000000000000000000000000000000000000000000006106a385610866565b6040516106d99594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016111b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261008591600401611256565b50505050565b826107875761074b8261078c565b7f3a200000000000000000000000000000000000000000000000000000000000006107758361078c565b6040516020016106d99392919061118f565b505050565b606080826040516020016107a0919061117a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b80156108495781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019082908290811061080c57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156108445760010181529050610861565b6107d3565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b816000815181106108b257fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106108f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561085c576002810261093e600f85166109dd565b83826029038151811061094d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c935061098f600f85166109dd565b83826028038151811061099e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610925565b6000600a8210156109f557506030810160f81b610861565b5060570160f81b90565b604080516101008101825260008082526020820152908101610a1f610a5e565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604080516080810190915260008082526020820190815260200160008152602001600081525090565b8035610a928161145f565b92915050565b600082601f830112610aa957600080fd5b8135610abc610ab7826112bc565b611295565b81815260209384019390925082018360005b83811015610afa5781358601610ae48882610be6565b8452506020928301929190910190600101610ace565b5050505092915050565b600082601f830112610b1557600080fd5b8135610b23610ab7826112bc565b91508181835260208401935060208101905083856040840282011115610b4857600080fd5b60005b83811015610afa5781610b5e8882610d31565b84525060209092019160409190910190600101610b4b565b8035610a9281611473565b600082601f830112610b9257600080fd5b8135610ba0610ab7826112dd565b91508082526020830160208301858383011115610bbc57600080fd5b610bc78382846113e8565b50505092915050565b8035610a928161147c565b8035610a9281611489565b60006101608284031215610bf957600080fd5b610c04610100611295565b90506000610c128484610bd0565b8252506020610c2384848301610d78565b6020830152506040610c3784828501610cc2565b60408301525060c0610c4b84828501610d78565b60608301525060e0610c5f84828501610d78565b608083015250610100610c7484828501610a87565b60a083015250610120610c8984828501610d78565b60c08301525061014082013567ffffffffffffffff811115610caa57600080fd5b610cb684828501610b81565b60e08301525092915050565b600060808284031215610cd457600080fd5b610cde6080611295565b90506000610cec8484610b76565b8252506020610cfd84848301610bdb565b6020830152506040610d1184828501610bdb565b6040830152506060610d2584828501610d78565b60608301525092915050565b600060408284031215610d4357600080fd5b610d4d6040611295565b90506000610d5b8484610a87565b8252506020610d6c84848301610d78565b60208301525092915050565b8035610a9281611496565b8051610a9281611496565b600080600060608486031215610da357600080fd5b833567ffffffffffffffff811115610dba57600080fd5b610dc686828701610b04565b935050602084013567ffffffffffffffff811115610de357600080fd5b610def86828701610a98565b9250506040610e0086828701610a87565b9150509250925092565b600060208284031215610e1c57600080fd5b6000610e288484610d83565b949350505050565b6000610e3c838361105c565b9392505050565b6000610e4f8383611151565b505060400190565b610e60816113c0565b82525050565b610e6081611336565b6000610e7a82611329565b610e84818561132d565b935083602082028501610e9685611323565b8060005b85811015610ed05784840389528151610eb38582610e30565b9450610ebe83611323565b60209a909a0199925050600101610e9a565b5091979650505050505050565b6000610ee882611329565b610ef2818561132d565b9350610efd83611323565b8060005b83811015610f2b578151610f158882610e43565b9750610f2083611323565b925050600101610f01565b509495945050505050565b610e6081611341565b610e60610f4b82611346565b611390565b610e60610f4b8261136b565b610e60610f4b82611390565b6000610f7382611329565b610f7d8185610861565b9350610f8d8185602086016113f4565b9290920192915050565b6000610fa282611329565b610fac818561132d565b9350610fbc8185602086016113f4565b610fc581611420565b9093019392505050565b610e60816113c7565b610e60816113d2565b610e60816113dd565b6000610ff760128361132d565b7f43616e6e6f742072656365697665204554480000000000000000000000000000815260200192915050565b6000611030601f8361132d565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b80516000906101608401906110718582610fd8565b5060208301516110846020860182611171565b5060408301516110976040860182611107565b5060608301516110aa60c0860182611171565b5060808301516110bd60e0860182611171565b5060a08301516110d1610100860182610e66565b5060c08301516110e5610120860182611171565b5060e08301518482036101408601526110fe8282610f97565b95945050505050565b805160808301906111188482610f36565b50602082015161112b6020850182610fe1565b50604082015161113e6040850182610fe1565b5060608201516107376060850182611171565b805160408301906111628482610e66565b50602082015161073760208501825b610e6081611390565b60006111868284610f5c565b50602001919050565b600061119b8286610f68565b91506111a78285610f50565b6002820191506110fe8284610f68565b60006111c38289610f68565b91506111cf8288610f50565b6002820191506111df8287610f68565b91506111eb8286610f50565b6002820191506111fb8285610f68565b91506112078284610f3f565b506001019695505050505050565b60208101610a928284610e57565b604080825281016112348185610edd565b90508181036020830152610e288184610e6f565b60208101610a928284610fcf565b60208082528101610e3c8184610f97565b60208082528101610a9281610fea565b60208082528101610a9281611023565b60208101610a928284611171565b60405181810167ffffffffffffffff811182821017156112b457600080fd5b604052919050565b600067ffffffffffffffff8211156112d357600080fd5b5060209081020190565b600067ffffffffffffffff8211156112f457600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b5190565b90815260200190565b6000610a92826113a7565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b8061086181611448565b8061086181611455565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000610a92825b6000610a9282611336565b6000610a9282611393565b6000610a928261139d565b82818337506000910152565b60005b8381101561140f5781810151838201526020016113f7565b838111156107375750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6009811061145257fe5b50565b6002811061145257fe5b61146881611336565b811461145257600080fd5b61146881611341565b6009811061145257600080fd5b6002811061145257600080fd5b6114688161139056fea365627a7a723158202da277b7487df361390be3a7cbee88711f9c3aa59a693e7344eae8a2c88cdbb96c6578706572696d656e74616cf564736f6c63430005100040",
161
161
  "sourceMap": "1190:2568:31:-;;;1458:229;8:9:-1;5:2;;;30:1;27;20:12;5:2;1458:229:31;;;;;;;;;;;;;;;;;;;;;1293:15:6;:49;;-1:-1:-1;;;;;;;;;1293:49:6;;;-1:-1:-1;;;;;;1293:49:6;;;;1421:18:127;;;;-1:-1:-1;;;1421:18:127;;;;1293:49:6;1611:18:31;;;;;;;;;;;;;;;1639:41;;-1:-1:-1;;;1639:41:31;;:4;;;:12;;:41;;1581:14;;-1:-1:-1;;;1639:41:31;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1639:41:31;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1639:41:31;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1639:41:31;;;;;;;;;;1458:229;;1190:2568;;5:134:-1;83:13;;101:33;83:13;101:33;;;68:71;;;;;303:128;378:13;;396:30;378:13;396:30;;438:415;;;578:2;566:9;557:7;553:23;549:32;546:2;;;594:1;591;584:12;546:2;629:1;646:64;702:7;682:9;646:64;;;636:74;;608:108;747:2;765:72;829:7;820:6;809:9;805:22;765:72;;;755:82;;726:117;540:313;;;;;;860:257;;972:2;960:9;951:7;947:23;943:32;940:2;;;988:1;985;978:12;940:2;1023:1;1040:61;1093:7;1073:9;1040:61;;;1030:71;934:183;-1:-1;;;;934:183;1124:113;1207:24;1225:5;1207:24;;;1202:3;1195:37;1189:48;;;1244:113;1327:24;1345:5;1327:24;;1364:324;1510:2;1495:18;;1524:71;1499:9;1568:6;1524:71;;;1606:72;1674:2;1663:9;1659:18;1650:6;1606:72;;;1481:207;;;;;;1695:91;;1757:24;1775:5;1757:24;;1899:85;1965:13;1958:21;;1941:43;1991:121;-1:-1;;;;;2053:54;;2036:76;2119:72;2181:5;2164:27;2198:117;2267:24;2285:5;2267:24;;;2260:5;2257:35;2247:2;;2306:1;2303;2296:12;2247:2;2241:74;;2462:111;2528:21;2543:5;2528:21;;2502:71;1190:2568:31;;;;;;",
162
162
  "deployedSourceMap": "1190:2568:31:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;2006:4;;;;1984:10;:27;1938:117;;;;;;;;;;;;;;;;;;;;;;1190:2568;1122:38:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1122:38:6;;;:::i;:::-;;;;;;;;;;;;;;;;1388:17:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1388:17:31;;;:::i;2068:1688::-;;;;;;;;;:::i;1122:38:6:-;;;;;;:::o;1388:17:31:-;;;;;;:::o;2068:1688::-;1934:11:127;;;;;;;1926:55;;;;;;;;;;;;;;2070:5;2056:19;;;;;;;2290:4:31;;;2341:9;:14;2337:76;;2371:4;:12;;;2390:9;2371:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2371:31:31;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2371:31:31;;;;;2337:76;2458:9;2453:844;2477:7;:14;2473:1;:18;2453:844;;;2512:32;;:::i;:::-;2547:7;2555:1;2547:10;;;;;;;;;;;;;;2512:45;;2636:14;2653:8;2662:6;:16;;;2653:26;;;;;;;;;;;;;;:32;;;2636:49;;2699:160;2739:10;2729:20;;:6;:20;;;2767:4;2699:160;2839:6;2699:12;:160::i;:::-;2971:27;2950:17;;:48;;;;;;;;;2946:341;;;3018:14;3035:8;3044:6;:21;;;3035:31;;;;;;;;;;;;;;:37;;;3018:54;;3090:182;3134:10;3124:20;;:6;:20;;;3166:4;3090:182;3248:6;3090:12;:182::i;:::-;2946:341;;-1:-1:-1;;2493:3:31;;2453:844;;;-1:-1:-1;3307:15:31;;:42;;;;;:15;;;;;:23;;:42;;3331:8;;3341:7;;3307:42;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3307:42:31;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3445:29:31;;;;;3421:21;;-1:-1:-1;3445:14:31;;;;-1:-1:-1;3445:14:31;;:29;;3468:4;;3445:29;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3445:29:31;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3445:29:31;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;3445:29:31;;;;;;;;;3421:53;-1:-1:-1;3488:18:31;;3484:266;;3522:127;3552:23;;;;;3593:4;3522:127;:12;:127::i;:::-;3664:28;;;;;:13;;;;;;:28;;3678:13;;3664:28;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3664:28:31;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3706:33:31;;:18;;;;-1:-1:-1;3706:33:31;;;;;-1:-1:-1;3725:13:31;;3706:33;;;;3725:13;3706:18;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3706:33:31;3484:266;-1:-1:-1;;2230:11:127;:18;;;;;;;;-1:-1:-1;;;2068:1688:31:o;2962:561:76:-;3122:4;3117:400;;3236:24;3255:4;3236:18;:24::i;:::-;3286:5;3317:26;3336:6;3317:18;:26::i;:::-;3369:6;3401:19;3411:8;3401:9;:19::i;:::-;3194:280;;;;;;;;;3446:6;;3194:280;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;3194:280:76;;;;3142:364;;;;;;;;;3117:400;2962:561;;;;:::o;1294:426::-;1428:4;1423:291;;1542:24;1561:4;1542:18;:24::i;:::-;1592:5;1623:26;1642:6;1623:18;:26::i;:::-;1500:171;;;;;;;;;;;1423:291;1294:426;;;:::o;6359:966::-;6462:12;6537:19;6576:5;6559:23;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;6559:23:76;;;;-1:-1:-1;49:4;6688:571:76;6709:5;;6688:571;;6960:9;;6862:3;;;;;6960:6;;6862:3;;6960:9;;;;;;;;;;;;:14;6956:293;;7015:1;7011:5;7141:22;;7148:6;-1:-1:-1;7221:13:76;;6956:293;6688:571;;;-1:-1:-1;7306:12:76;;;7316:1;7306:12;;;;;;;;;;;;7299:19;;;6359:966;;;;:::o;8249:962::-;8521:13;;;8531:2;8521:13;;;8343:12;8521:13;;;;;;8383:14;;;;8343:12;;8521:13;;;21:6:-1;;104:10;8521:13:76;87:34:-1;135:17;;-1:-1;8521:13:76;8499:35;;902:2;8598:23;;8586:6;8593:1;8586:9;;;;;;;;;;;:35;;;;;;;;;;;1010:3;8643:27;;8631:6;8638:1;8631:9;;;;;;;;;;;:39;;;;;;;;;;-1:-1:-1;8784:9:76;8779:402;8803:2;8799:1;:6;8779:402;;;8892:1;8888:5;;8985:23;1232:3;8990:17;;8985:4;:23::i;:::-;8964:6;8976:5;8971:2;:10;8964:18;;;;;;;;;;;:44;;;;;;;;;;;9031:1;9026;:6;;9022:10;;9123:23;1232:3;9128:1;:17;9123:4;:23::i;:::-;9102:6;9114:5;9109:2;:10;9102:18;;;;;;;;;;;:44;;;;;;;;;;-1:-1:-1;;9169:1:76;9164:6;;;;;8807:3;;8779:402;;10183:325;10272:4;10340:2;10332:5;:10;10328:79;;;-1:-1:-1;902:2:76;10376:18;;10365:31;;10358:38;;10328:79;-1:-1:-1;956:2:76;10472:27;10461:40;;;10183:325::o;1190:2568:31:-;;;;;;;;;-1:-1:-1;1190:2568:31;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;1190:2568:31;;;;;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;331:753;;473:3;466:4;458:6;454:17;450:27;440:2;;491:1;488;481:12;440:2;528:6;515:20;550:105;565:89;647:6;565:89;;;550:105;;;683:21;;;727:4;715:17;;;;541:114;;-1:-1;740:14;;715:17;835:1;820:258;845:6;842:1;839:13;820:258;;;928:3;915:17;907:6;903:30;952:62;1010:3;998:10;952:62;;;940:75;;-1:-1;1038:4;1029:14;;;;1057;;;;;867:1;860:9;820:258;;;824:14;433:651;;;;;;;;1122:764;;1258:3;1251:4;1243:6;1239:17;1235:27;1225:2;;1276:1;1273;1266:12;1225:2;1313:6;1300:20;1335:99;1350:83;1426:6;1350:83;;1335:99;1326:108;;1451:5;1476:6;1469:5;1462:21;1506:4;1498:6;1494:17;1484:27;;1528:4;1523:3;1519:14;1512:21;;1581:6;1628:3;1620:4;1612:6;1608:17;1603:3;1599:27;1596:36;1593:2;;;1645:1;1642;1635:12;1593:2;1670:1;1655:225;1680:6;1677:1;1674:13;1655:225;;;1738:3;1760:56;1812:3;1800:10;1760:56;;;1748:69;;-1:-1;1840:4;1831:14;;;;1868:4;1859:14;;;;;1702:1;1695:9;1655:225;;1894:124;1958:20;;1983:30;1958:20;1983:30;;2026:432;;2123:3;2116:4;2108:6;2104:17;2100:27;2090:2;;2141:1;2138;2131:12;2090:2;2178:6;2165:20;2200:60;2215:44;2252:6;2215:44;;2200:60;2191:69;;2280:6;2273:5;2266:21;2316:4;2308:6;2304:17;2349:4;2342:5;2338:16;2384:3;2375:6;2370:3;2366:16;2363:25;2360:2;;;2401:1;2398;2391:12;2360:2;2411:41;2445:6;2440:3;2435;2411:41;;;2083:375;;;;;;;;2466:162;2549:20;;2574:49;2549:20;2574:49;;2635:176;2725:20;;2750:56;2725:20;2750:56;;3027:1528;;3141:6;3129:9;3124:3;3120:19;3116:32;3113:2;;;3161:1;3158;3151:12;3113:2;3179:22;3194:6;3179:22;;;3170:31;-1:-1;3257:1;3289:65;3350:3;3330:9;3289:65;;;3264:91;;-1:-1;3421:2;3454:49;3499:3;3475:22;;;3454:49;;;3447:4;3440:5;3436:16;3429:75;3376:139;3567:2;3600:75;3671:3;3662:6;3651:9;3647:22;3600:75;;;3593:4;3586:5;3582:16;3575:101;3525:162;3748:3;3782:49;3827:3;3818:6;3807:9;3803:22;3782:49;;;3775:4;3768:5;3764:16;3757:75;3697:146;3906:3;3940:49;3985:3;3976:6;3965:9;3961:22;3940:49;;;3933:4;3926:5;3922:16;3915:75;3853:148;4059:3;4093:49;4138:3;4129:6;4118:9;4114:22;4093:49;;;4086:4;4079:5;4075:16;4068:75;4011:143;4214:3;4248:49;4293:3;4284:6;4273:9;4269:22;4248:49;;;4241:4;4234:5;4230:16;4223:75;4164:145;4387:3;4376:9;4372:19;4359:33;4412:18;4404:6;4401:30;4398:2;;;4444:1;4441;4434:12;4398:2;4479:54;4529:3;4520:6;4509:9;4505:22;4479:54;;;4472:4;4465:5;4461:16;4454:80;4319:226;3107:1448;;;;;4593:804;;4708:4;4696:9;4691:3;4687:19;4683:30;4680:2;;;4726:1;4723;4716:12;4680:2;4744:20;4759:4;4744:20;;;4735:29;-1:-1;4814:1;4846:46;4888:3;4868:9;4846:46;;;4821:72;;-1:-1;4962:2;4995:72;5063:3;5039:22;;;4995:72;;;4988:4;4981:5;4977:16;4970:98;4914:165;5128:2;5161:69;5226:3;5217:6;5206:9;5202:22;5161:69;;;5154:4;5147:5;5143:16;5136:95;5089:153;5293:2;5326:49;5371:3;5362:6;5351:9;5347:22;5326:49;;;5319:4;5312:5;5308:16;5301:75;5252:135;4674:723;;;;;5430:464;;5538:4;5526:9;5521:3;5517:19;5513:30;5510:2;;;5556:1;5553;5546:12;5510:2;5574:20;5589:4;5574:20;;;5565:29;-1:-1;5645:1;5677:49;5722:3;5702:9;5677:49;;;5652:75;;-1:-1;5790:2;5823:49;5868:3;5844:22;;;5823:49;;;5816:4;5809:5;5805:16;5798:75;5748:136;5504:390;;;;;5901:130;5968:20;;5993:33;5968:20;5993:33;;6038:134;6116:13;;6134:33;6116:13;6134:33;;6179:867;;;;6419:2;6407:9;6398:7;6394:23;6390:32;6387:2;;;6435:1;6432;6425:12;6387:2;6470:31;;6521:18;6510:30;;6507:2;;;6553:1;6550;6543:12;6507:2;6573:97;6662:7;6653:6;6642:9;6638:22;6573:97;;;6563:107;;6449:227;6735:2;6724:9;6720:18;6707:32;6759:18;6751:6;6748:30;6745:2;;;6791:1;6788;6781:12;6745:2;6811:103;6906:7;6897:6;6886:9;6882:22;6811:103;;;6801:113;;6686:234;6951:2;6969:61;7022:7;7013:6;7002:9;6998:22;6969:61;;;6959:71;;6930:106;6381:665;;;;;;7053:263;;7168:2;7156:9;7147:7;7143:23;7139:32;7136:2;;;7184:1;7181;7174:12;7136:2;7219:1;7236:64;7292:7;7272:9;7236:64;;;7226:74;7130:186;-1:-1;;;;7130:186;7324:257;;7475:100;7571:3;7563:6;7475:100;;;7461:114;7454:127;-1:-1;;;7454:127;7590:253;;7715:88;7799:3;7791:6;7715:88;;;-1:-1;;7832:4;7823:14;;7708:135;7851:142;7942:45;7981:5;7942:45;;;7937:3;7930:58;7924:69;;;8000:103;8073:24;8091:5;8073:24;;8177:1048;;8372:79;8445:5;8372:79;;;8464:111;8568:6;8563:3;8464:111;;;8457:118;;8598:3;8640:4;8632:6;8628:17;8623:3;8619:27;8667:81;8742:5;8667:81;;;8768:7;8796:1;8781:405;8806:6;8803:1;8800:13;8781:405;;;8868:9;8862:4;8858:20;8853:3;8846:33;8913:6;8907:13;8935:114;9044:4;9029:13;8935:114;;;8927:122;;9066:85;9144:6;9066:85;;;9174:4;9165:14;;;;;9056:95;-1:-1;;8828:1;8821:9;8781:405;;;-1:-1;9199:4;;8351:874;-1:-1;;;;;;;8351:874;9288:842;;9471:73;9538:5;9471:73;;;9557:105;9655:6;9650:3;9557:105;;;9550:112;;9683:75;9752:5;9683:75;;;9778:7;9806:1;9791:317;9816:6;9813:1;9810:13;9791:317;;;9883:6;9877:13;9904:101;10001:3;9986:13;9904:101;;;9897:108;;10022:79;10094:6;10022:79;;;10012:89;-1:-1;;9838:1;9831:9;9791:317;;;-1:-1;10121:3;;9450:680;-1:-1;;;;;9450:680;10138:94;10205:21;10220:5;10205:21;;10239:148;10338:43;10357:23;10374:5;10357:23;;;10338:43;;10394:148;10493:43;10512:23;10529:5;10512:23;;10549:152;10650:45;10670:24;10688:5;10670:24;;10708:356;;10836:38;10868:5;10836:38;;;10886:88;10967:6;10962:3;10886:88;;;10879:95;;10979:52;11024:6;11019:3;11012:4;11005:5;11001:16;10979:52;;;11043:16;;;;;10816:248;-1:-1;;10816:248;11071:315;;11167:34;11195:5;11167:34;;;11213:60;11266:6;11261:3;11213:60;;;11206:67;;11278:52;11323:6;11318:3;11311:4;11304:5;11300:16;11278:52;;;11351:29;11373:6;11351:29;;;11342:39;;;;11147:239;-1:-1;;;11147:239;11393:176;11501:62;11557:5;11501:62;;11755:144;11842:51;11887:5;11842:51;;11906:158;12000:58;12052:5;12000:58;;12585:318;;12745:67;12809:2;12804:3;12745:67;;;12845:20;12825:41;;12894:2;12885:12;;12731:172;-1:-1;;12731:172;12912:331;;13072:67;13136:2;13131:3;13072:67;;;13172:33;13152:54;;13234:2;13225:12;;13058:185;-1:-1;;13058:185;13312:1616;13531:23;;13312:1616;;13457:6;13448:16;;;13560:77;13452:3;13531:23;13560:77;;;13479:164;13721:4;13714:5;13710:16;13704:23;13733:63;13790:4;13785:3;13781:14;13767:12;13733:63;;;13653:149;13877:4;13870:5;13866:16;13860:23;13889:119;14002:4;13997:3;13993:14;13979:12;13889:119;;;13812:202;14098:4;14091:5;14087:16;14081:23;14110:63;14167:4;14162:3;14158:14;14144:12;14110:63;;;14024:155;14265:4;14258:5;14254:16;14248:23;14277:63;14334:4;14329:3;14325:14;14311:12;14277:63;;;14189:157;14427:4;14420:5;14416:16;14410:23;14439:65;14496:6;14491:3;14487:16;14473:12;14439:65;;;14356:154;14593:4;14586:5;14582:16;14576:23;14605:65;14662:6;14657:3;14653:16;14639:12;14605:65;;;14520:156;14749:4;14742:5;14738:16;14732:23;14803:3;14797:4;14793:14;14784:6;14779:3;14775:16;14768:40;14823:67;14885:4;14871:12;14823:67;;;14815:75;13430:1498;-1:-1;;;;;13430:1498;14994:821;15199:23;;15133:4;15124:14;;;15228:57;15128:3;15199:23;15228:57;;;15153:138;15372:4;15365:5;15361:16;15355:23;15384:84;15462:4;15457:3;15453:14;15439:12;15384:84;;;15301:173;15546:4;15539:5;15535:16;15529:23;15558:81;15633:4;15628:3;15624:14;15610:12;15558:81;;;15484:161;15719:4;15712:5;15708:16;15702:23;15731:63;15788:4;15783:3;15779:14;15765:12;15731:63;;15871:461;16063:23;;15996:4;15987:14;;;16092:63;15991:3;16063:23;16092:63;;;16016:145;16236:4;16229:5;16225:16;16219:23;16248:63;16305:4;16300:3;16296:14;16282:12;16339:103;16412:24;16430:5;16412:24;;16569:244;;16688:75;16759:3;16750:6;16688:75;;;-1:-1;16785:2;16776:12;;16676:137;-1:-1;16676:137;16820:553;;17036:93;17125:3;17116:6;17036:93;;;17029:100;;17140:73;17209:3;17200:6;17140:73;;;17235:1;17230:3;17226:11;17219:18;;17255:93;17344:3;17335:6;17255:93;;17380:978;;17694:93;17783:3;17774:6;17694:93;;;17687:100;;17798:73;17867:3;17858:6;17798:73;;;17893:1;17888:3;17884:11;17877:18;;17913:93;18002:3;17993:6;17913:93;;;17906:100;;18017:73;18086:3;18077:6;18017:73;;;18112:1;18107:3;18103:11;18096:18;;18132:93;18221:3;18212:6;18132:93;;;18125:100;;18236:73;18305:3;18296:6;18236:73;;;-1:-1;18331:1;18322:11;;17675:683;-1:-1;;;;;;17675:683;18365:229;18491:2;18476:18;;18505:79;18480:9;18557:6;18505:79;;18601:796;18935:2;18949:47;;;18920:18;;19010:146;18920:18;19142:6;19010:146;;;19002:154;;19204:9;19198:4;19194:20;19189:2;19178:9;19174:18;19167:48;19229:158;19382:4;19373:6;19229:158;;19404:263;19547:2;19532:18;;19561:96;19536:9;19630:6;19561:96;;19940:301;20078:2;20092:47;;;20063:18;;20153:78;20063:18;20217:6;20153:78;;20248:407;20439:2;20453:47;;;20424:18;;20514:131;20424:18;20514:131;;20662:407;20853:2;20867:47;;;20838:18;;20928:131;20838:18;20928:131;;21076:213;21194:2;21179:18;;21208:71;21183:9;21252:6;21208:71;;21296:256;21358:2;21352:9;21384:17;;;21459:18;21444:34;;21480:22;;;21441:62;21438:2;;;21516:1;21513;21506:12;21438:2;21532;21525:22;21336:216;;-1:-1;21336:216;21559:329;;21743:18;21735:6;21732:30;21729:2;;;21775:1;21772;21765:12;21729:2;-1:-1;21810:4;21798:17;;;21863:15;;21666:222;22225:317;;22364:18;22356:6;22353:30;22350:2;;;22396:1;22393;22386:12;22350:2;-1:-1;22527:4;22463;22440:17;;;;22459:9;22436:33;22517:15;;22287:255;22549:176;22698:4;22689:14;;22646:79;22909:162;23037:12;;23008:63;23897:203;24040:19;;;24089:4;24080:14;;24033:67;24800:91;;24862:24;24880:5;24862:24;;25004:85;25070:13;25063:21;;25046:43;25096:144;25168:66;25157:78;;25140:100;25247:144;25319:66;25308:78;;25291:100;25398:72;25460:5;25443:27;25477:138;25555:5;25561:49;25555:5;25561:49;;25622:152;25707:5;25713:56;25707:5;25713:56;;25934:121;26007:42;25996:54;;25979:76;26141:129;;26228:37;26259:5;26277:171;;26381:62;26437:5;26381:62;;26891:138;;26984:40;27018:5;26984:40;;27036:152;;27136:47;27177:5;27136:47;;27592:145;27673:6;27668:3;27663;27650:30;-1:-1;27729:1;27711:16;;27704:27;27643:94;27746:268;27811:1;27818:101;27832:6;27829:1;27826:13;27818:101;;;27899:11;;;27893:18;27880:11;;;27873:39;27854:2;27847:10;27818:101;;;27934:6;27931:1;27928:13;27925:2;;;-1:-1;;27999:1;27981:16;;27974:27;27795:219;28263:97;28351:2;28331:14;28347:7;28327:28;;28311:49;28368:107;28453:1;28446:5;28443:12;28433:2;;28459:9;28433:2;28427:48;;28482:114;28574:1;28567:5;28564:12;28554:2;;28580:9;28721:117;28790:24;28808:5;28790:24;;;28783:5;28780:35;28770:2;;28829:1;28826;28819:12;28985:111;29051:21;29066:5;29051:21;;29103:110;29188:1;29181:5;29178:12;29168:2;;29204:1;29201;29194:12;29220:117;29312:1;29305:5;29302:12;29292:2;;29328:1;29325;29318:12;29465:117;29534:24;29552:5;29534:24;",
163
163
  "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 { WETH9 } from \"canonical-weth/contracts/WETH9.sol\";\nimport { ReentrancyGuard } from \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport { Account } from \"../../protocol/lib/Account.sol\";\nimport { Actions } from \"../../protocol/lib/Actions.sol\";\nimport { Require } from \"../../protocol/lib/Require.sol\";\nimport { OnlyDolomiteMargin } from \"../helpers/OnlyDolomiteMargin.sol\";\n\n\n/**\n * @title PayableProxy\n * @author dYdX\n *\n * Contract for wrapping/unwrapping ETH before/after interacting with DolomiteMargin\n */\ncontract PayableProxy is OnlyDolomiteMargin, ReentrancyGuard {\n // ============ Constants ============\n\n bytes32 constant FILE = \"PayableProxy\";\n\n // ============ Storage ============\n\n WETH9 public WETH;\n\n // ============ Constructor ============\n\n constructor (\n address dolomiteMargin,\n address payable weth\n )\n public\n OnlyDolomiteMargin(dolomiteMargin)\n {\n WETH = WETH9(weth);\n WETH.approve(dolomiteMargin, uint256(-1));\n }\n\n // ============ Public Functions ============\n\n /**\n * Fallback function. Disallows ether to be sent to this contract without data except when\n * unwrapping WETH.\n */\n function ()\n external\n payable\n {\n require( // coverage-disable-line\n msg.sender == address(WETH),\n \"Cannot receive ETH\"\n );\n }\n\n function operate(\n Account.Info[] memory accounts,\n Actions.ActionArgs[] memory actions,\n address payable sendEthTo\n )\n public\n payable\n nonReentrant\n {\n WETH9 weth = WETH;\n\n // create WETH from ETH\n if (msg.value != 0) {\n weth.deposit.value(msg.value)();\n }\n\n // validate the input\n for (uint256 i = 0; i < actions.length; i++) {\n Actions.ActionArgs memory action = actions[i];\n\n // Can only operate on accounts owned by msg.sender\n address owner1 = accounts[action.accountId].owner;\n Require.that(\n owner1 == msg.sender,\n FILE,\n \"Sender must be primary account\",\n owner1\n );\n\n // For a transfer both accounts must be owned by msg.sender\n if (action.actionType == Actions.ActionType.Transfer) {\n address owner2 = accounts[action.otherAccountId].owner;\n Require.that(\n owner2 == msg.sender,\n FILE,\n \"Sender must be secondary account\",\n owner2\n );\n }\n }\n\n DOLOMITE_MARGIN.operate(accounts, actions);\n\n // return all remaining WETH to the sendEthTo as ETH\n uint256 remainingWeth = weth.balanceOf(address(this));\n if (remainingWeth != 0) {\n Require.that(\n sendEthTo != address(0),\n FILE,\n \"Must set sendEthTo\"\n );\n\n weth.withdraw(remainingWeth);\n sendEthTo.transfer(remainingWeth);\n }\n }\n}\n",
164
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/proxies/PayableProxy.sol",
164
+ "sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/proxies/PayableProxy.sol",
165
165
  "ast": {
166
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/proxies/PayableProxy.sol",
166
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/proxies/PayableProxy.sol",
167
167
  "exportedSymbols": {
168
168
  "PayableProxy": [
169
169
  14122
@@ -225,7 +225,7 @@
225
225
  "unitAlias": ""
226
226
  },
227
227
  {
228
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol",
228
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol",
229
229
  "file": "../../protocol/lib/Account.sol",
230
230
  "id": 13917,
231
231
  "nodeType": "ImportDirective",
@@ -241,7 +241,7 @@
241
241
  "unitAlias": ""
242
242
  },
243
243
  {
244
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol",
244
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol",
245
245
  "file": "../../protocol/lib/Actions.sol",
246
246
  "id": 13919,
247
247
  "nodeType": "ImportDirective",
@@ -257,7 +257,7 @@
257
257
  "unitAlias": ""
258
258
  },
259
259
  {
260
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol",
260
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
261
261
  "file": "../../protocol/lib/Require.sol",
262
262
  "id": 13921,
263
263
  "nodeType": "ImportDirective",
@@ -273,7 +273,7 @@
273
273
  "unitAlias": ""
274
274
  },
275
275
  {
276
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
276
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol",
277
277
  "file": "../helpers/OnlyDolomiteMargin.sol",
278
278
  "id": 13923,
279
279
  "nodeType": "ImportDirective",
@@ -2900,7 +2900,7 @@
2900
2900
  "src": "603:3156:31"
2901
2901
  },
2902
2902
  "legacyAST": {
2903
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/proxies/PayableProxy.sol",
2903
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/proxies/PayableProxy.sol",
2904
2904
  "exportedSymbols": {
2905
2905
  "PayableProxy": [
2906
2906
  14122
@@ -2962,7 +2962,7 @@
2962
2962
  "unitAlias": ""
2963
2963
  },
2964
2964
  {
2965
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol",
2965
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol",
2966
2966
  "file": "../../protocol/lib/Account.sol",
2967
2967
  "id": 13917,
2968
2968
  "nodeType": "ImportDirective",
@@ -2978,7 +2978,7 @@
2978
2978
  "unitAlias": ""
2979
2979
  },
2980
2980
  {
2981
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol",
2981
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Actions.sol",
2982
2982
  "file": "../../protocol/lib/Actions.sol",
2983
2983
  "id": 13919,
2984
2984
  "nodeType": "ImportDirective",
@@ -2994,7 +2994,7 @@
2994
2994
  "unitAlias": ""
2995
2995
  },
2996
2996
  {
2997
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol",
2997
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
2998
2998
  "file": "../../protocol/lib/Require.sol",
2999
2999
  "id": 13921,
3000
3000
  "nodeType": "ImportDirective",
@@ -3010,7 +3010,7 @@
3010
3010
  "unitAlias": ""
3011
3011
  },
3012
3012
  {
3013
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
3013
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/external/helpers/OnlyDolomiteMargin.sol",
3014
3014
  "file": "../helpers/OnlyDolomiteMargin.sol",
3015
3015
  "id": 13923,
3016
3016
  "nodeType": "ImportDirective",
@@ -5644,18 +5644,12 @@
5644
5644
  "1001": {
5645
5645
  "events": {},
5646
5646
  "links": {},
5647
- "address": "0xCeeFD27e0542aFA926B87d23936c79c276A48277",
5648
- "transactionHash": "0x04c1072bb2ee883b76d8024b8accef0ffd2945faf089125f26bc860061e59e44"
5649
- },
5650
- "80001": {
5651
- "events": {},
5652
- "links": {},
5653
- "address": "0xBD93984a2c74607ee1B649D91222D711518Bd70B",
5654
- "transactionHash": "0xe0cd0cf3ff6783e347b3d3a8ee19f9db9f8f1eda05028d135dcb43ce2bb83d97"
5647
+ "address": "0xf19A2A01B70519f67ADb309a994Ec8c69A967E8b",
5648
+ "transactionHash": "0x39125b65c794e176b6be74fd77ec0eddd659947fbc29a2a3d172d682b50f0a71"
5655
5649
  }
5656
5650
  },
5657
5651
  "schemaVersion": "3.0.23",
5658
- "updatedAt": "2022-01-28T09:46:02.641Z",
5652
+ "updatedAt": "2022-01-29T00:31:29.597Z",
5659
5653
  "devdoc": {
5660
5654
  "author": "dYdX * Contract for wrapping/unwrapping ETH before/after interacting with DolomiteMargin",
5661
5655
  "methods": {},
@@ -54,15 +54,15 @@
54
54
  "type": "function"
55
55
  }
56
56
  ],
57
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"trusted\",\"type\":\"bool\"}],\"name\":\"LogOperatorSet\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"trusted\",\"type\":\"bool\"}],\"internalType\":\"struct Types.OperatorArg[]\",\"name\":\"args\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Public function that allows other addresses to manage accounts\",\"methods\":{\"setOperators((address,bool)[])\":{\"params\":{\"args\":\"A list of OperatorArgs which have an address and a boolean. The boolean value denotes whether to approve (true) or revoke approval (false) for that address.\"}}},\"title\":\"Permission\"},\"userdoc\":{\"methods\":{\"setOperators((address,bool)[])\":{\"notice\":\"Approves/disapproves any number of operators. An operator is an external address that has the same permissions to manipulate an account as the owner of the account. Operators are simply addresses and therefore may either be externally-owned Ethereum accounts OR smart contracts. * Operators are also able to act as AutoTrader contracts on behalf of the account owner if the operator is a smart contract and implements the IAutoTrader interface.\"}}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol\":\"Permission\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol\":{\"keccak256\":\"0x8a0f17ece121f76094335482d99a2ec6dd1728cc4b699aede024afd5d51ae660\",\"urls\":[\"bzz-raw://3ab2b049bb5686fafc6450c9796abac1c724a40ed0810685f64c4dab089faf5d\",\"dweb:/ipfs/QmV1XHkR2aS39byy4Ff6Px8JyHYjnZEugAJsBSz1gdQ47q\"]},\"/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/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/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xca1826cf783a2d48a5a45309ca92cbaee46d2caec7b5a7c154b2dfda06af8975\",\"urls\":[\"bzz-raw://e13679dfa92725d990e3b0656f4eca4b0d09616e5c2729a3bc0276923d6887e1\",\"dweb:/ipfs/QmVc8teCJ6rKutZLyvk568hCw1vYj2nC6DwyxRgswHu71k\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/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}",
58
- "bytecode": "0x608060405234801561001057600080fd5b5061035b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806385b53fc814610030575b600080fd5b61004361003e366004610210565b610045565b005b60005b815181101561012857600082828151811061005f57fe5b6020026020010151600001519050600083838151811061007b57fe5b60209081029190910181015181015133600081815260058452604080822073ffffffffffffffffffffffffffffffffffffffff8816835290945283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905591519092507f4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327906101169085908590610265565b60405180910390a25050600101610048565b5050565b8035610137816102f8565b92915050565b600082601f83011261014e57600080fd5b813561016161015c826102ae565b610287565b9150818183526020840193506020810190508385604084028201111561018657600080fd5b60005b838110156101b4578161019c88826101c9565b84525060209092019160409190910190600101610189565b5050505092915050565b80356101378161030f565b6000604082840312156101db57600080fd5b6101e56040610287565b905060006101f3848461012c565b8252506020610204848483016101be565b60208301525092915050565b60006020828403121561022257600080fd5b813567ffffffffffffffff81111561023957600080fd5b6102458482850161013d565b949350505050565b610256816102cf565b82525050565b610256816102da565b60408101610273828561024d565b610280602083018461025c565b9392505050565b60405181810167ffffffffffffffff811182821017156102a657600080fd5b604052919050565b600067ffffffffffffffff8211156102c557600080fd5b5060209081020190565b6000610137826102df565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b610301816102cf565b811461030c57600080fd5b50565b610301816102da56fea365627a7a72315820743ae12c47ea31c2cd62b5c93d7df98ac1623a5961d63e5da05beb1968d8a6d26c6578706572696d656e74616cf564736f6c63430005100040",
59
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806385b53fc814610030575b600080fd5b61004361003e366004610210565b610045565b005b60005b815181101561012857600082828151811061005f57fe5b6020026020010151600001519050600083838151811061007b57fe5b60209081029190910181015181015133600081815260058452604080822073ffffffffffffffffffffffffffffffffffffffff8816835290945283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905591519092507f4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327906101169085908590610265565b60405180910390a25050600101610048565b5050565b8035610137816102f8565b92915050565b600082601f83011261014e57600080fd5b813561016161015c826102ae565b610287565b9150818183526020840193506020810190508385604084028201111561018657600080fd5b60005b838110156101b4578161019c88826101c9565b84525060209092019160409190910190600101610189565b5050505092915050565b80356101378161030f565b6000604082840312156101db57600080fd5b6101e56040610287565b905060006101f3848461012c565b8252506020610204848483016101be565b60208301525092915050565b60006020828403121561022257600080fd5b813567ffffffffffffffff81111561023957600080fd5b6102458482850161013d565b949350505050565b610256816102cf565b82525050565b610256816102da565b60408101610273828561024d565b610280602083018461025c565b9392505050565b60405181810167ffffffffffffffff811182821017156102a657600080fd5b604052919050565b600067ffffffffffffffff8211156102c557600080fd5b5060209081020190565b6000610137826102df565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b610301816102cf565b811461030c57600080fd5b50565b610301816102da56fea365627a7a72315820743ae12c47ea31c2cd62b5c93d7df98ac1623a5961d63e5da05beb1968d8a6d26c6578706572696d656e74616cf564736f6c63430005100040",
57
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"trusted\",\"type\":\"bool\"}],\"name\":\"LogOperatorSet\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"trusted\",\"type\":\"bool\"}],\"internalType\":\"struct Types.OperatorArg[]\",\"name\":\"args\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * Public function that allows other addresses to manage accounts\",\"methods\":{\"setOperators((address,bool)[])\":{\"params\":{\"args\":\"A list of OperatorArgs which have an address and a boolean. The boolean value denotes whether to approve (true) or revoke approval (false) for that address.\"}}},\"title\":\"Permission\"},\"userdoc\":{\"methods\":{\"setOperators((address,bool)[])\":{\"notice\":\"Approves/disapproves any number of operators. An operator is an external address that has the same permissions to manipulate an account as the owner of the account. Operators are simply addresses and therefore may either be externally-owned Ethereum accounts OR smart contracts. * Operators are also able to act as AutoTrader contracts on behalf of the account owner if the operator is a smart contract and implements the IAutoTrader interface.\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Permission.sol\":\"Permission\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Permission.sol\":{\"keccak256\":\"0x8a0f17ece121f76094335482d99a2ec6dd1728cc4b699aede024afd5d51ae660\",\"urls\":[\"bzz-raw://3ab2b049bb5686fafc6450c9796abac1c724a40ed0810685f64c4dab089faf5d\",\"dweb:/ipfs/QmV1XHkR2aS39byy4Ff6Px8JyHYjnZEugAJsBSz1gdQ47q\"]},\"/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/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/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0xbb17eb41ff805df51e8d637ef2a368782fdc5f085889c2d847713484f8f1967b\",\"urls\":[\"bzz-raw://538001d60d625695754159a8f716877f72217899fdab296d4725dc44bdbe1895\",\"dweb:/ipfs/QmbRm1WpPpaynnwTdmwB5M7H1cZQEtRAuExqtJ3g9SUiVp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9f8e80613b7dcefc4719e57a4a3f7c9bf2cadeb1d2c205c0b667fd5c5538648d\",\"urls\":[\"bzz-raw://ad5d2626e00154cdd4651c718824108220405b75e9196f0744874527d239246b\",\"dweb:/ipfs/QmW7VgfjXDURsTLBayTL6XBkvEX7BGsT9SYCVLpYVMAJtC\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/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}",
58
+ "bytecode": "0x608060405234801561001057600080fd5b5061035b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806385b53fc814610030575b600080fd5b61004361003e366004610210565b610045565b005b60005b815181101561012857600082828151811061005f57fe5b6020026020010151600001519050600083838151811061007b57fe5b60209081029190910181015181015133600081815260058452604080822073ffffffffffffffffffffffffffffffffffffffff8816835290945283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905591519092507f4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327906101169085908590610265565b60405180910390a25050600101610048565b5050565b8035610137816102f8565b92915050565b600082601f83011261014e57600080fd5b813561016161015c826102ae565b610287565b9150818183526020840193506020810190508385604084028201111561018657600080fd5b60005b838110156101b4578161019c88826101c9565b84525060209092019160409190910190600101610189565b5050505092915050565b80356101378161030f565b6000604082840312156101db57600080fd5b6101e56040610287565b905060006101f3848461012c565b8252506020610204848483016101be565b60208301525092915050565b60006020828403121561022257600080fd5b813567ffffffffffffffff81111561023957600080fd5b6102458482850161013d565b949350505050565b610256816102cf565b82525050565b610256816102da565b60408101610273828561024d565b610280602083018461025c565b9392505050565b60405181810167ffffffffffffffff811182821017156102a657600080fd5b604052919050565b600067ffffffffffffffff8211156102c557600080fd5b5060209081020190565b6000610137826102df565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b610301816102cf565b811461030c57600080fd5b50565b610301816102da56fea365627a7a72315820eb89bfd21e659c8609bbc8646cca6990c5ec446d487e4cb1f644f9e2ecf19c426c6578706572696d656e74616cf564736f6c63430005100040",
59
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806385b53fc814610030575b600080fd5b61004361003e366004610210565b610045565b005b60005b815181101561012857600082828151811061005f57fe5b6020026020010151600001519050600083838151811061007b57fe5b60209081029190910181015181015133600081815260058452604080822073ffffffffffffffffffffffffffffffffffffffff8816835290945283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905591519092507f4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327906101169085908590610265565b60405180910390a25050600101610048565b5050565b8035610137816102f8565b92915050565b600082601f83011261014e57600080fd5b813561016161015c826102ae565b610287565b9150818183526020840193506020810190508385604084028201111561018657600080fd5b60005b838110156101b4578161019c88826101c9565b84525060209092019160409190910190600101610189565b5050505092915050565b80356101378161030f565b6000604082840312156101db57600080fd5b6101e56040610287565b905060006101f3848461012c565b8252506020610204848483016101be565b60208301525092915050565b60006020828403121561022257600080fd5b813567ffffffffffffffff81111561023957600080fd5b6102458482850161013d565b949350505050565b610256816102cf565b82525050565b610256816102da565b60408101610273828561024d565b610280602083018461025c565b9392505050565b60405181810167ffffffffffffffff811182821017156102a657600080fd5b604052919050565b600067ffffffffffffffff8211156102c557600080fd5b5060209081020190565b6000610137826102df565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b610301816102cf565b811461030c57600080fd5b50565b610301816102da56fea365627a7a72315820eb89bfd21e659c8609bbc8646cca6990c5ec446d487e4cb1f644f9e2ecf19c426c6578706572696d656e74616cf564736f6c63430005100040",
60
60
  "sourceMap": "856:1329:51:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;856:1329:51;;;;;;;",
61
61
  "deployedSourceMap": "856:1329:51:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;856:1329:51;;;;;;;;;;;;;;;;;;;1806:377;;;;;;;;;:::i;:::-;;;1909:9;1904:273;1928:4;:11;1924:1;:15;1904:273;;;1960:16;1979:4;1984:1;1979:7;;;;;;;;;;;;;;:16;;;1960:35;;2009:12;2024:4;2029:1;2024:7;;;;;;;;;;;;;;;;;;;:15;;;2071:10;2053:7;:29;;;:17;:29;;;;;;;:39;;;;;;;;;;:49;;;;;;;;;;2121:45;;2024:15;;-1:-1:-1;2121:45:51;;;;2053:39;;2024:15;;2121:45;;;;;;;;;;-1:-1:-1;;1941:3:51;;1904:273;;;;1806:377;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;177:785;;320:3;313:4;305:6;301:17;297:27;287:2;;338:1;335;328:12;287:2;375:6;362:20;397:106;412:90;495:6;412:90;;;397:106;;;388:115;;520:5;545:6;538:5;531:21;575:4;567:6;563:17;553:27;;597:4;592:3;588:14;581:21;;650:6;697:3;689:4;681:6;677:17;672:3;668:27;665:36;662:2;;;714:1;711;704:12;662:2;739:1;724:232;749:6;746:1;743:13;724:232;;;807:3;829:63;888:3;876:10;829:63;;;817:76;;-1:-1;916:4;907:14;;;;944:4;935:14;;;;;771:1;764:9;724:232;;;728:14;280:682;;;;;;;;970:124;1034:20;;1059:30;1034:20;1059:30;;1132:472;;1247:4;1235:9;1230:3;1226:19;1222:30;1219:2;;;1265:1;1262;1255:12;1219:2;1283:20;1298:4;1283:20;;;1274:29;-1:-1;1357:1;1389:49;1434:3;1414:9;1389:49;;;1364:75;;-1:-1;1503:2;1536:46;1578:3;1554:22;;;1536:46;;;1529:4;1522:5;1518:16;1511:72;1460:134;1213:391;;;;;1611:429;;1766:2;1754:9;1745:7;1741:23;1737:32;1734:2;;;1782:1;1779;1772:12;1734:2;1817:31;;1868:18;1857:30;;1854:2;;;1900:1;1897;1890:12;1854:2;1920:104;2016:7;2007:6;1996:9;1992:22;1920:104;;;1910:114;1728:312;-1:-1;;;;1728:312;2047:113;2130:24;2148:5;2130:24;;;2125:3;2118:37;2112:48;;;2167:104;2244:21;2259:5;2244:21;;2278:312;2418:2;2403:18;;2432:71;2407:9;2476:6;2432:71;;;2514:66;2576:2;2565:9;2561:18;2552:6;2514:66;;;2389:201;;;;;;2597:256;2659:2;2653:9;2685:17;;;2760:18;2745:34;;2781:22;;;2742:62;2739:2;;;2817:1;2814;2807:12;2739:2;2833;2826:22;2637:216;;-1:-1;2637:216;2860:330;;3045:18;3037:6;3034:30;3031:2;;;3077:1;3074;3067:12;3031:2;-1:-1;3112:4;3100:17;;;3165:15;;2968:222;3197:91;;3259:24;3277:5;3259:24;;3295:85;3361:13;3354:21;;3337:43;3387:121;3460:42;3449:54;;3432:76;3515:117;3584:24;3602:5;3584:24;;;3577:5;3574:35;3564:2;;3623:1;3620;3613:12;3564:2;3558:74;;3639:111;3705:21;3720:5;3705:21;",
62
62
  "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 { State } from \"./State.sol\";\nimport { Types } from \"./lib/Types.sol\";\n\n\n/**\n * @title Permission\n * @author dYdX\n *\n * Public function that allows other addresses to manage accounts\n */\ncontract Permission is\n State\n{\n // ============ Events ============\n\n event LogOperatorSet(\n address indexed owner,\n address operator,\n bool trusted\n );\n\n // ============ Public Functions ============\n\n /**\n * Approves/disapproves any number of operators. An operator is an external address that has the\n * same permissions to manipulate an account as the owner of the account. Operators are simply\n * addresses and therefore may either be externally-owned Ethereum accounts OR smart contracts.\n *\n * Operators are also able to act as AutoTrader contracts on behalf of the account owner if the\n * operator is a smart contract and implements the IAutoTrader interface.\n *\n * @param args A list of OperatorArgs which have an address and a boolean. The boolean value\n * denotes whether to approve (true) or revoke approval (false) for that address.\n */\n function setOperators(\n Types.OperatorArg[] memory args\n )\n public\n {\n for (uint256 i = 0; i < args.length; i++) {\n address operator = args[i].operator;\n bool trusted = args[i].trusted;\n g_state.operators[msg.sender][operator] = trusted;\n emit LogOperatorSet(msg.sender, operator, trusted);\n }\n }\n}\n",
63
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol",
63
+ "sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Permission.sol",
64
64
  "ast": {
65
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol",
65
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Permission.sol",
66
66
  "exportedSymbols": {
67
67
  "Permission": [
68
68
  23802
@@ -92,7 +92,7 @@
92
92
  "src": "627:33:51"
93
93
  },
94
94
  {
95
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
95
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
96
96
  "file": "./State.sol",
97
97
  "id": 23737,
98
98
  "nodeType": "ImportDirective",
@@ -108,7 +108,7 @@
108
108
  "unitAlias": ""
109
109
  },
110
110
  {
111
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol",
111
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol",
112
112
  "file": "./lib/Types.sol",
113
113
  "id": 23739,
114
114
  "nodeType": "ImportDirective",
@@ -918,7 +918,7 @@
918
918
  "src": "603:1583:51"
919
919
  },
920
920
  "legacyAST": {
921
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol",
921
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/Permission.sol",
922
922
  "exportedSymbols": {
923
923
  "Permission": [
924
924
  23802
@@ -948,7 +948,7 @@
948
948
  "src": "627:33:51"
949
949
  },
950
950
  {
951
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/State.sol",
951
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/State.sol",
952
952
  "file": "./State.sol",
953
953
  "id": 23737,
954
954
  "nodeType": "ImportDirective",
@@ -964,7 +964,7 @@
964
964
  "unitAlias": ""
965
965
  },
966
966
  {
967
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol",
967
+ "absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol",
968
968
  "file": "./lib/Types.sol",
969
969
  "id": 23739,
970
970
  "nodeType": "ImportDirective",
@@ -1779,7 +1779,7 @@
1779
1779
  },
1780
1780
  "networks": {},
1781
1781
  "schemaVersion": "3.0.23",
1782
- "updatedAt": "2022-01-28T09:46:02.800Z",
1782
+ "updatedAt": "2022-01-29T00:31:29.850Z",
1783
1783
  "devdoc": {
1784
1784
  "author": "dYdX * Public function that allows other addresses to manage accounts",
1785
1785
  "methods": {