@dolomite-exchange/dolomite-margin 0.14.1 → 0.14.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 (231) hide show
  1. package/build/contracts/AAVECopyCatAltCoinInterestSetter.json +1 -1
  2. package/build/contracts/AAVECopyCatStableCoinInterestSetter.json +1 -1
  3. package/build/contracts/Account.json +1 -1
  4. package/build/contracts/AccountActionLib.json +4 -4
  5. package/build/contracts/AccountBalanceLib.json +4 -4
  6. package/build/contracts/AccountMarginLib.json +1 -1
  7. package/build/contracts/AccountValuesReader.json +4 -4
  8. package/build/contracts/Actions.json +1 -1
  9. package/build/contracts/Address.json +1 -1
  10. package/build/contracts/Admin.json +2 -2
  11. package/build/contracts/AdminImpl.json +4 -4
  12. package/build/contracts/AlwaysOnlineOracleSentinel.json +1 -1
  13. package/build/contracts/AlwaysZeroInterestSetter.json +1 -1
  14. package/build/contracts/ArbitrumMultiCall.json +1 -1
  15. package/build/contracts/AuthorizationBase.json +4 -4
  16. package/build/contracts/Bits.json +1 -1
  17. package/build/contracts/BorrowPositionProxyV1.json +4 -4
  18. package/build/contracts/BorrowPositionProxyV2.json +4 -4
  19. package/build/contracts/Cache.json +1 -1
  20. package/build/contracts/CallImpl.json +4 -4
  21. package/build/contracts/ChainlinkOracleSentinel.json +4 -4
  22. package/build/contracts/ChainlinkPriceOracleV1.json +4 -4
  23. package/build/contracts/Context.json +1 -1
  24. package/build/contracts/CustomTestToken.json +1 -1
  25. package/build/contracts/Decimal.json +1 -1
  26. package/build/contracts/DelayedMultiSig.json +1 -1
  27. package/build/contracts/DepositImpl.json +4 -4
  28. package/build/contracts/DepositWithdrawalProxy.json +4 -4
  29. package/build/contracts/DolomiteMargin.json +4 -4
  30. package/build/contracts/DolomiteMarginMath.json +1 -1
  31. package/build/contracts/DolomiteVersionLib.json +4 -4
  32. package/build/contracts/DoubleExponentInterestSetter.json +1 -1
  33. package/build/contracts/ERC20Lib.json +1 -1
  34. package/build/contracts/EnumerableSet.json +1 -1
  35. package/build/contracts/ErroringOmiseToken.json +1 -1
  36. package/build/contracts/ErroringToken.json +1 -1
  37. package/build/contracts/EventEmitterRegistry.json +4 -4
  38. package/build/contracts/Events.json +4 -4
  39. package/build/contracts/ExcessivelySafeCall.json +1 -1
  40. package/build/contracts/Exchange.json +1 -1
  41. package/build/contracts/Expiry.json +4 -4
  42. package/build/contracts/ExpiryProxy.json +4 -4
  43. package/build/contracts/GenericTraderProxyBase.json +2 -2
  44. package/build/contracts/GenericTraderProxyV1.json +4 -4
  45. package/build/contracts/GenericTraderProxyV1Lib.json +4 -4
  46. package/build/contracts/Getters.json +2 -2
  47. package/build/contracts/GettersImpl.json +4 -4
  48. package/build/contracts/HasLiquidatorRegistry.json +1 -1
  49. package/build/contracts/HasState.json +4 -4
  50. package/build/contracts/IAccountRiskOverrideSetter.json +28 -28
  51. package/build/contracts/IArbitrumGasInfo.json +1 -1
  52. package/build/contracts/IArbitrumSys.json +1 -1
  53. package/build/contracts/IAuthorizationBase.json +1 -1
  54. package/build/contracts/IAutoTrader.json +1 -1
  55. package/build/contracts/IBorrowPositionProxyV1.json +2 -2
  56. package/build/contracts/IBorrowPositionProxyV2.json +2 -2
  57. package/build/contracts/ICREATE3Factory.json +1 -1
  58. package/build/contracts/ICallee.json +1 -1
  59. package/build/contracts/IChainlinkAccessControlAggregator.json +1 -1
  60. package/build/contracts/IChainlinkAggregator.json +1 -1
  61. package/build/contracts/IChainlinkAutomation.json +1 -1
  62. package/build/contracts/IChainlinkPriceOracleV1.json +1 -1
  63. package/build/contracts/IDepositWithdrawalProxy.json +2 -2
  64. package/build/contracts/IDolomiteMargin.json +2 -2
  65. package/build/contracts/IERC20.json +1 -1
  66. package/build/contracts/IERC20Detailed.json +1 -1
  67. package/build/contracts/IEventEmitterRegistry.json +2 -2
  68. package/build/contracts/IExchangeWrapper.json +1 -1
  69. package/build/contracts/IExpiry.json +1 -1
  70. package/build/contracts/IExternalCallback.json +1 -1
  71. package/build/contracts/IGenericTraderProxyBase.json +67 -67
  72. package/build/contracts/IGenericTraderProxyV1.json +2 -2
  73. package/build/contracts/IInterestSetter.json +1 -1
  74. package/build/contracts/IIsolationModeToken.json +1 -1
  75. package/build/contracts/IIsolationModeUnwrapperTrader.json +1 -1
  76. package/build/contracts/IIsolationModeWrapperTrader.json +1 -1
  77. package/build/contracts/ILiquidatorAssetRegistry.json +1 -1
  78. package/build/contracts/IMantleGasInfo.json +1 -1
  79. package/build/contracts/IOracleSentinel.json +1 -1
  80. package/build/contracts/IPriceOracle.json +1 -1
  81. package/build/contracts/ITransferProxy.json +1 -1
  82. package/build/contracts/IWETH.json +1 -1
  83. package/build/contracts/Interest.json +1 -1
  84. package/build/contracts/LiquidateOrVaporizeImpl.json +4 -4
  85. package/build/contracts/LiquidatorAssetRegistry.json +4 -4
  86. package/build/contracts/LiquidatorProxyBase.json +2 -2
  87. package/build/contracts/LiquidatorProxyV1.json +4 -4
  88. package/build/contracts/LiquidatorProxyV4WithGenericTrader.json +4 -4
  89. package/build/contracts/MalformedToken.json +1 -1
  90. package/build/contracts/Math.json +1 -1
  91. package/build/contracts/Migrations.json +1 -1
  92. package/build/contracts/Monetary.json +1 -1
  93. package/build/contracts/MultiCall.json +1 -1
  94. package/build/contracts/MultiSig.json +1 -1
  95. package/build/contracts/OmiseToken.json +1 -1
  96. package/build/contracts/OnlyDolomiteMargin.json +4 -4
  97. package/build/contracts/Operation.json +4 -4
  98. package/build/contracts/OperationImpl.json +4 -4
  99. package/build/contracts/Ownable.json +1 -1
  100. package/build/contracts/PartiallyDelayedMultiSig.json +1 -1
  101. package/build/contracts/PayableProxy.json +4 -4
  102. package/build/contracts/Permission.json +4 -4
  103. package/build/contracts/PolynomialInterestSetter.json +1 -1
  104. package/build/contracts/ReentrancyGuard.json +1 -1
  105. package/build/contracts/Require.json +1 -1
  106. package/build/contracts/SafeERC20.json +1 -1
  107. package/build/contracts/SafeExternalCallback.json +1 -1
  108. package/build/contracts/SafeMath.json +1 -1
  109. package/build/contracts/SignedOperationProxy.json +4 -4
  110. package/build/contracts/Storage.json +4 -4
  111. package/build/contracts/TestAccountRiskOverrideSetter.json +4 -4
  112. package/build/contracts/TestAutoTrader.json +1 -1
  113. package/build/contracts/TestBtcUsdChainlinkAggregator.json +1 -1
  114. package/build/contracts/TestCallee.json +4 -4
  115. package/build/contracts/TestChainlinkAggregator.json +1 -1
  116. package/build/contracts/TestChainlinkPriceOracleV1.json +4 -4
  117. package/build/contracts/TestCounter.json +1 -1
  118. package/build/contracts/TestDaiUsdChainlinkAggregator.json +1 -1
  119. package/build/contracts/TestDolomiteMargin.json +4 -4
  120. package/build/contracts/TestDoubleExponentInterestSetter.json +1 -1
  121. package/build/contracts/TestEthUsdChainlinkAggregator.json +1 -1
  122. package/build/contracts/TestExchangeWrapper.json +1 -1
  123. package/build/contracts/TestExternalCallback.json +4 -4
  124. package/build/contracts/TestInterestSetter.json +1 -1
  125. package/build/contracts/TestIsolationModeToken.json +1 -1
  126. package/build/contracts/TestIsolationModeUnwrapperTrader.json +4 -4
  127. package/build/contracts/TestIsolationModeWrapperTrader.json +4 -4
  128. package/build/contracts/TestLib.json +1 -1
  129. package/build/contracts/TestLinkUsdChainlinkAggregator.json +1 -1
  130. package/build/contracts/TestLrcEthChainlinkAggregator.json +1 -1
  131. package/build/contracts/TestMaticUsdChainlinkAggregator.json +1 -1
  132. package/build/contracts/TestOperationImpl.json +4 -4
  133. package/build/contracts/TestParaswapAugustusRouter.json +1 -1
  134. package/build/contracts/TestParaswapTrader.json +4 -4
  135. package/build/contracts/TestParaswapTransferProxy.json +1 -1
  136. package/build/contracts/TestPolynomialInterestSetter.json +1 -1
  137. package/build/contracts/TestPriceOracle.json +1 -1
  138. package/build/contracts/TestSequencerUptimeFeedAggregator.json +1 -1
  139. package/build/contracts/TestSimpleCallee.json +4 -4
  140. package/build/contracts/TestToken.json +1 -1
  141. package/build/contracts/TestUsdcUsdChainlinkAggregator.json +1 -1
  142. package/build/contracts/TestWETH.json +1 -1
  143. package/build/contracts/Time.json +1 -1
  144. package/build/contracts/Token.json +1 -1
  145. package/build/contracts/TokenA.json +1 -1
  146. package/build/contracts/TokenB.json +1 -1
  147. package/build/contracts/TokenC.json +1 -1
  148. package/build/contracts/TokenD.json +1 -1
  149. package/build/contracts/TokenE.json +1 -1
  150. package/build/contracts/TokenF.json +1 -1
  151. package/build/contracts/TradeImpl.json +4 -4
  152. package/build/contracts/TransferImpl.json +4 -4
  153. package/build/contracts/TransferProxy.json +4 -4
  154. package/build/contracts/TypedSignature.json +1 -1
  155. package/build/contracts/Types.json +1 -1
  156. package/build/contracts/WithdrawalImpl.json +4 -4
  157. package/contracts/external/interfaces/IGenericTraderProxyBase.sol +2 -1
  158. package/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol +3 -1
  159. package/dist/build/published_contracts/WETH.json +10 -4
  160. package/dist/migrations/deployed.json +10 -4
  161. package/dist/src/modules/Getters.d.ts +2 -2
  162. package/dist/src/modules/Getters.js +76 -21
  163. package/dist/src/modules/Getters.js.map +1 -1
  164. package/dist/src/modules/PayableToken.js +3 -0
  165. package/dist/src/modules/PayableToken.js.map +1 -1
  166. package/dist/src/types.d.ts +8 -3
  167. package/dist/src/types.js +4 -3
  168. package/dist/src/types.js.map +1 -1
  169. package/package.json +1 -1
  170. package/contracts/external/rebalancers/.git/COMMIT_EDITMSG +0 -1
  171. package/contracts/external/rebalancers/.git/FETCH_HEAD +0 -1
  172. package/contracts/external/rebalancers/.git/HEAD +0 -1
  173. package/contracts/external/rebalancers/.git/ORIG_HEAD +0 -1
  174. package/contracts/external/rebalancers/.git/config +0 -8
  175. package/contracts/external/rebalancers/.git/description +0 -1
  176. package/contracts/external/rebalancers/.git/hooks/applypatch-msg.sample +0 -15
  177. package/contracts/external/rebalancers/.git/hooks/commit-msg.sample +0 -24
  178. package/contracts/external/rebalancers/.git/hooks/fsmonitor-watchman.sample +0 -109
  179. package/contracts/external/rebalancers/.git/hooks/post-update.sample +0 -8
  180. package/contracts/external/rebalancers/.git/hooks/pre-applypatch.sample +0 -14
  181. package/contracts/external/rebalancers/.git/hooks/pre-commit.sample +0 -49
  182. package/contracts/external/rebalancers/.git/hooks/pre-merge-commit.sample +0 -13
  183. package/contracts/external/rebalancers/.git/hooks/pre-push.sample +0 -53
  184. package/contracts/external/rebalancers/.git/hooks/pre-rebase.sample +0 -169
  185. package/contracts/external/rebalancers/.git/hooks/pre-receive.sample +0 -24
  186. package/contracts/external/rebalancers/.git/hooks/prepare-commit-msg.sample +0 -42
  187. package/contracts/external/rebalancers/.git/hooks/update.sample +0 -128
  188. package/contracts/external/rebalancers/.git/index +0 -0
  189. package/contracts/external/rebalancers/.git/info/exclude +0 -6
  190. package/contracts/external/rebalancers/.git/logs/HEAD +0 -8
  191. package/contracts/external/rebalancers/.git/logs/refs/heads/master +0 -8
  192. package/contracts/external/rebalancers/.git/logs/refs/remotes/origin/master +0 -7
  193. package/contracts/external/rebalancers/.git/objects/02/78f88008b495d19f460ae08a06cd74c56db696 +0 -3
  194. package/contracts/external/rebalancers/.git/objects/0f/3a9357b29dbcbad23dd491a733ab6ece3d2455 +0 -1
  195. package/contracts/external/rebalancers/.git/objects/0f/71f97c91c932658b68d995c5c47ba9a2744c7c +0 -0
  196. package/contracts/external/rebalancers/.git/objects/10/51faface8a8502193304686738c1710b37580e +0 -0
  197. package/contracts/external/rebalancers/.git/objects/10/d893dd64c4599c894e5a012d45565559b18309 +0 -0
  198. package/contracts/external/rebalancers/.git/objects/1c/e25de119eeb1c795cd395f02647e9b6e95317d +0 -0
  199. package/contracts/external/rebalancers/.git/objects/29/387d00d6e1fdea148f1ed45210e10157b0d321 +0 -0
  200. package/contracts/external/rebalancers/.git/objects/38/0a39130278675dc13c17dfc6db2dd5d566d4d7 +0 -0
  201. package/contracts/external/rebalancers/.git/objects/42/722bb2a89dd3168c64cf188409cc5924ad4ee3 +0 -0
  202. package/contracts/external/rebalancers/.git/objects/42/d528449f36050b4bce099966724c17190dc8ee +0 -0
  203. package/contracts/external/rebalancers/.git/objects/43/a2ab2a18fcbed0a79f5cec8aea51e8c21f716b +0 -2
  204. package/contracts/external/rebalancers/.git/objects/4e/826bfbdef0473a3c28d08114eb782084a8a3f0 +0 -0
  205. package/contracts/external/rebalancers/.git/objects/56/e931cb2f75a3acbded031426dff3a3126aef28 +0 -0
  206. package/contracts/external/rebalancers/.git/objects/58/62622faa9c9309b0cfc6599aaef6450951d180 +0 -0
  207. package/contracts/external/rebalancers/.git/objects/67/d87a60f6835f847d114821b00047683422bc59 +0 -0
  208. package/contracts/external/rebalancers/.git/objects/6f/1852c38c5031e21575a3ae72e87b7ebfbbc541 +0 -0
  209. package/contracts/external/rebalancers/.git/objects/71/217f93695cd4db58312c5876e1f999e2e2c45f +0 -0
  210. package/contracts/external/rebalancers/.git/objects/7f/4e955fd910f1a89a0a08f29c4c808cad47db98 +0 -0
  211. package/contracts/external/rebalancers/.git/objects/82/e34db81d297b2da3a901b49690aaa86ac9ad9c +0 -1
  212. package/contracts/external/rebalancers/.git/objects/84/e1441e1306f87e5940a82bf9fbae7eec36ff7b +0 -0
  213. package/contracts/external/rebalancers/.git/objects/85/626079560ec2d09465bbd52bdde41a55e085e9 +0 -0
  214. package/contracts/external/rebalancers/.git/objects/8e/f2083cab470fa84b37aa9ceff5a38a1200a2a9 +0 -0
  215. package/contracts/external/rebalancers/.git/objects/94/da9636d8ae1971457b252e80e1a8660fbd9886 +0 -0
  216. package/contracts/external/rebalancers/.git/objects/a1/6be9cbb9cf83c5794ad30a7010d473c49ec016 +0 -0
  217. package/contracts/external/rebalancers/.git/objects/a2/32256843cb965e5ef97b5070b0ef6e0b10da93 +0 -0
  218. package/contracts/external/rebalancers/.git/objects/b0/33c8f3896264b4ee09dd0558b8f18f02d8413e +0 -0
  219. package/contracts/external/rebalancers/.git/objects/b1/55a3b2eb4f8f2a618a1301b1895488af6de051 +0 -0
  220. package/contracts/external/rebalancers/.git/objects/b7/b218bdacfc2b113eb03cde6d0dc7fa15fe56b6 +0 -0
  221. package/contracts/external/rebalancers/.git/objects/b9/a6d4988c30ca161831e5fe7418a2c963f71767 +0 -0
  222. package/contracts/external/rebalancers/.git/objects/d0/a16880318e0a8af2245ca37074c217e034badc +0 -2
  223. package/contracts/external/rebalancers/.git/objects/d9/935275097703837e8002e5246d397250341d50 +0 -0
  224. package/contracts/external/rebalancers/.git/objects/de/153db3b796413119418ec4b9f82dad2e8cb939 +0 -0
  225. package/contracts/external/rebalancers/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  226. package/contracts/external/rebalancers/.git/objects/e9/e30048722bf1255f9ef513647e7c634be8082b +0 -0
  227. package/contracts/external/rebalancers/.git/objects/ea/b7ead8f2efcf25274f98dc9d39725aec36382e +0 -0
  228. package/contracts/external/rebalancers/.git/objects/f0/1c608bc063dd6266ece9e946639be9772686f8 +0 -0
  229. package/contracts/external/rebalancers/.git/objects/fe/2aae5fb3e93a8a0b2484ea1e19c0c975e403c8 +0 -0
  230. package/contracts/external/rebalancers/.git/refs/heads/master +0 -1
  231. package/contracts/external/rebalancers/.git/refs/remotes/origin/master +0 -1
@@ -3965,7 +3965,7 @@
3965
3965
  },
3966
3966
  "networks": {},
3967
3967
  "schemaVersion": "3.0.23",
3968
- "updatedAt": "2025-01-24T17:53:53.545Z",
3968
+ "updatedAt": "2025-02-23T09:28:57.063Z",
3969
3969
  "devdoc": {
3970
3970
  "author": "Dolomite",
3971
3971
  "methods": {},
@@ -3965,7 +3965,7 @@
3965
3965
  },
3966
3966
  "networks": {},
3967
3967
  "schemaVersion": "3.0.23",
3968
- "updatedAt": "2025-01-24T17:53:53.548Z",
3968
+ "updatedAt": "2025-02-23T09:28:57.065Z",
3969
3969
  "devdoc": {
3970
3970
  "author": "Dolomite",
3971
3971
  "methods": {},
@@ -1232,7 +1232,7 @@
1232
1232
  },
1233
1233
  "networks": {},
1234
1234
  "schemaVersion": "3.0.23",
1235
- "updatedAt": "2025-01-24T17:53:53.948Z",
1235
+ "updatedAt": "2025-02-23T09:28:57.446Z",
1236
1236
  "devdoc": {
1237
1237
  "author": "dYdX * Library of structs and functions that represent an account",
1238
1238
  "methods": {},
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "contractName": "AccountActionLib",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Dolomite * Library contract that makes specific actions easy to call\",\"methods\":{},\"title\":\"AccountActionLib\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountActionLib.sol\":\"AccountActionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IExpiry.sol\":{\"keccak256\":\"0xa7b197139e570e823cab42c3b8500c9c5edc8a40110970a7d6fe60f05864ba10\",\"urls\":[\"bzz-raw://4f469be063d8f694c5277650bc53ac2c0d164f62e36c6a9ab7dad126479990a9\",\"dweb:/ipfs/Qme4sTbGi4T2QhsJSweqGzqm5rxQkypy27g1vLy8ipVijV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountActionLib.sol\":{\"keccak256\":\"0x5488dd7eae5ce96e479445f19301d9dd44d292a2d6739b9da1fe948eeb41edc4\",\"urls\":[\"bzz-raw://06977e07aea4d893db696173f3ee01a84008770c4e0d81fb5eb82af3a597ceaa\",\"dweb:/ipfs/QmYiH8CsXEbHypJ2gN31LnZv2tfzd2RBuSKoRgx2EbBw26\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":{\"keccak256\":\"0x76fd16d615fe7cfceaf775b4e6524fd0462606c802b082498c768a7a4ca01a20\",\"urls\":[\"bzz-raw://56068145e300cde1c77c22e38cb753378abf2f0d4613dcb203e33ff101f169e2\",\"dweb:/ipfs/QmXvMzr9n7vzMHdUPgnc58KX4mrbQAqkq4kDETaj5Y55ZY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x927b1dfa92ee3abc5f3a571247467cf733e549f033a756c28349f98247fca637\",\"urls\":[\"bzz-raw://e526e4786012a92fea61b99da8fb4993e65c027ce655ea0567d41dda21083f31\",\"dweb:/ipfs/Qmf5xc5hGKdpgCxCGr1EDW9nrZAZYHdaeZityGVnNdFajB\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
5
- "bytecode": "0x60636023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820718d4f8adb49a8d45ff49f0d6a173bfd546635e029b557be79c388188f00aac96c6578706572696d656e74616cf564736f6c63430005100040",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820718d4f8adb49a8d45ff49f0d6a173bfd546635e029b557be79c388188f00aac96c6578706572696d656e74616cf564736f6c63430005100040",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Dolomite * Library contract that makes specific actions easy to call\",\"methods\":{},\"title\":\"AccountActionLib\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountActionLib.sol\":\"AccountActionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IExpiry.sol\":{\"keccak256\":\"0xa7b197139e570e823cab42c3b8500c9c5edc8a40110970a7d6fe60f05864ba10\",\"urls\":[\"bzz-raw://4f469be063d8f694c5277650bc53ac2c0d164f62e36c6a9ab7dad126479990a9\",\"dweb:/ipfs/Qme4sTbGi4T2QhsJSweqGzqm5rxQkypy27g1vLy8ipVijV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountActionLib.sol\":{\"keccak256\":\"0x5488dd7eae5ce96e479445f19301d9dd44d292a2d6739b9da1fe948eeb41edc4\",\"urls\":[\"bzz-raw://06977e07aea4d893db696173f3ee01a84008770c4e0d81fb5eb82af3a597ceaa\",\"dweb:/ipfs/QmYiH8CsXEbHypJ2gN31LnZv2tfzd2RBuSKoRgx2EbBw26\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":{\"keccak256\":\"0x76fd16d615fe7cfceaf775b4e6524fd0462606c802b082498c768a7a4ca01a20\",\"urls\":[\"bzz-raw://56068145e300cde1c77c22e38cb753378abf2f0d4613dcb203e33ff101f169e2\",\"dweb:/ipfs/QmXvMzr9n7vzMHdUPgnc58KX4mrbQAqkq4kDETaj5Y55ZY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
5
+ "bytecode": "0x60636023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820ec544de373ebe03451404d81dec6ece090c0b1cfeca8c4e71289d62c945f36bf6c6578706572696d656e74616cf564736f6c63430005100040",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820ec544de373ebe03451404d81dec6ece090c0b1cfeca8c4e71289d62c945f36bf6c6578706572696d656e74616cf564736f6c63430005100040",
7
7
  "sourceMap": "1201:13898:34:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
8
8
  "deployedSourceMap": "1201:13898:34:-;;;;;;;;",
9
9
  "source": "/*\n\n Copyright 2022 Dolomite.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { IDolomiteMargin } from \"../../protocol/interfaces/IDolomiteMargin.sol\";\n\nimport { Account } from \"../../protocol/lib/Account.sol\";\nimport { Actions } from \"../../protocol/lib/Actions.sol\";\nimport { Require } from \"../../protocol/lib/Require.sol\";\nimport { Types } from \"../../protocol/lib/Types.sol\";\n\nimport { IExpiry } from \"../interfaces/IExpiry.sol\";\n\nimport { AccountBalanceLib } from \"./AccountBalanceLib.sol\";\n\n\n/**\n * @title AccountActionLib\n * @author Dolomite\n *\n * Library contract that makes specific actions easy to call\n */\nlibrary AccountActionLib {\n\n // ============ Constants ============\n\n bytes32 private constant FILE = \"AccountActionLib\";\n\n uint256 constant ALL = uint256(-1);\n\n // ============ Functions ============\n\n function all() internal pure returns (uint256) {\n return ALL;\n }\n\n // ========================= Operation Functions =========================\n\n function deposit(\n IDolomiteMargin _dolomiteMargin,\n address _accountOwner,\n address _fromAccount,\n uint256 _toAccountNumber,\n uint256 _marketId,\n Types.AssetAmount memory _amount\n ) internal {\n Account.Info[] memory accounts = new Account.Info[](1);\n accounts[0] = Account.Info({\n owner: _accountOwner,\n number: _toAccountNumber\n });\n\n Actions.ActionArgs[] memory actions = new Actions.ActionArgs[](1);\n actions[0] = encodeDepositAction(\n /* _accountId = */ 0, // solium-disable-line indentation\n _marketId,\n _amount,\n _fromAccount\n );\n\n _dolomiteMargin.operate(accounts, actions);\n }\n\n /**\n * Withdraws `_marketId` from `_fromAccount` to `_toAccount`\n */\n function withdraw(\n IDolomiteMargin _dolomiteMargin,\n address _accountOwner,\n uint256 _fromAccountNumber,\n address _toAccount,\n uint256 _marketId,\n Types.AssetAmount memory _amount,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) internal {\n Account.Info[] memory accounts = new Account.Info[](1);\n accounts[0] = Account.Info({\n owner: _accountOwner,\n number: _fromAccountNumber\n });\n\n Actions.ActionArgs[] memory actions = new Actions.ActionArgs[](1);\n actions[0] = encodeWithdrawalAction(\n /* _accountId = */ 0, // solium-disable-line indentation\n _marketId,\n _amount,\n _toAccount\n );\n\n _dolomiteMargin.operate(accounts, actions);\n\n if (\n _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.Both\n || _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.From\n ) {\n AccountBalanceLib.verifyBalanceIsNonNegative(\n _dolomiteMargin,\n accounts[0].owner,\n _fromAccountNumber,\n _marketId\n );\n }\n }\n\n /**\n * Transfers `_marketId` from `_fromAccount` to `_toAccount`\n */\n function transfer(\n IDolomiteMargin _dolomiteMargin,\n address _fromAccountOwner,\n uint256 _fromAccountNumber,\n address _toAccountOwner,\n uint256 _toAccountNumber,\n uint256 _marketId,\n Types.AssetAmount memory _amount,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) internal {\n Account.Info[] memory accounts = new Account.Info[](2);\n accounts[0] = Account.Info({\n owner: _fromAccountOwner,\n number: _fromAccountNumber\n });\n accounts[1] = Account.Info({\n owner: _toAccountOwner,\n number: _toAccountNumber\n });\n\n Actions.ActionArgs[] memory actions = new Actions.ActionArgs[](1);\n actions[0] = Actions.ActionArgs({\n actionType: Actions.ActionType.Transfer,\n accountId: 0,\n amount: _amount,\n primaryMarketId: _marketId,\n secondaryMarketId: 0,\n otherAddress: address(0),\n otherAccountId: 1,\n data: bytes(\"\")\n });\n\n _dolomiteMargin.operate(accounts, actions);\n\n if (\n _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.Both\n || _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.From\n ) {\n AccountBalanceLib.verifyBalanceIsNonNegative(\n _dolomiteMargin,\n _fromAccountOwner,\n _fromAccountNumber,\n _marketId\n );\n }\n\n if (\n _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.Both\n || _balanceCheckFlag == AccountBalanceLib.BalanceCheckFlag.To\n ) {\n AccountBalanceLib.verifyBalanceIsNonNegative(\n _dolomiteMargin,\n _toAccountOwner,\n _toAccountNumber,\n _marketId\n );\n }\n }\n\n // ========================= Encoding Functions =========================\n\n function encodeCallAction(\n uint256 _accountId,\n address _callee,\n bytes memory _callData\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType : Actions.ActionType.Call,\n accountId : _accountId,\n amount : Types.AssetAmount({\n sign: true,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Delta,\n value: 0\n }),\n primaryMarketId : 0,\n secondaryMarketId : 0,\n otherAddress : _callee,\n otherAccountId : 0,\n data : _callData\n });\n }\n\n function encodeDepositAction(\n uint256 _accountId,\n uint256 _marketId,\n Types.AssetAmount memory _amount,\n address _fromAccount\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType: Actions.ActionType.Deposit,\n accountId: _accountId,\n amount: _amount,\n primaryMarketId: _marketId,\n secondaryMarketId: 0,\n otherAddress: _fromAccount,\n otherAccountId: 0,\n data: bytes(\"\")\n });\n }\n\n function encodeExpirationAction(\n Account.Info memory _account,\n uint256 _accountId,\n uint256 _owedMarketId,\n address _expiry,\n uint32 _expiryTimeDelta\n ) internal pure returns (Actions.ActionArgs memory) {\n IExpiry.SetExpiryArg[] memory expiryArgs = new IExpiry.SetExpiryArg[](1);\n expiryArgs[0] = IExpiry.SetExpiryArg({\n account : _account,\n marketId : _owedMarketId,\n timeDelta : _expiryTimeDelta,\n forceUpdate : true\n });\n\n return encodeCallAction(\n _accountId,\n _expiry,\n abi.encode(IExpiry.CallFunctionType.SetExpiry, expiryArgs)\n );\n }\n\n function encodeExpiryLiquidateAction(\n uint256 _solidAccountId,\n uint256 _liquidAccountId,\n uint256 _owedMarketId,\n uint256 _heldMarketId,\n address _expiryProxy,\n uint32 _expiry,\n uint256 _solidHeldUpdateWithReward,\n uint256 _owedWeiToLiquidate,\n bool _flipMarkets\n ) internal pure returns (Actions.ActionArgs memory) {\n Types.AssetAmount memory assetAmount;\n if (!_flipMarkets) {\n // Make the amount positive so the liquid account's owedMarket goes up (gets repaid).\n assetAmount = Types.AssetAmount({\n sign: true,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Delta,\n value: _owedWeiToLiquidate\n });\n } else {\n assert(_flipMarkets);\n // Make the amount negative so the liquid account's heldMarket goes down (gets spent to repay owedMarket).\n assetAmount = Types.AssetAmount({\n sign: false,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Delta,\n value: _solidHeldUpdateWithReward\n });\n }\n\n return Actions.ActionArgs({\n actionType: Actions.ActionType.Trade,\n accountId: _solidAccountId,\n amount: assetAmount,\n primaryMarketId: !_flipMarkets ? _owedMarketId : _heldMarketId,\n secondaryMarketId: !_flipMarkets ? _heldMarketId : _owedMarketId,\n otherAddress: _expiryProxy,\n otherAccountId: _liquidAccountId,\n data: abi.encode(\n /* calculateAmountWithMakerAccount = */ true,\n abi.encode(_owedMarketId, _expiry)\n )\n });\n }\n\n function encodeInternalTradeActionWithCustomData(\n uint256 _fromAccountId,\n uint256 _toAccountId,\n uint256 _primaryMarketId,\n uint256 _secondaryMarketId,\n address _traderAddress,\n uint256 _amountInWei,\n bytes memory _orderData\n ) internal pure returns (Actions.ActionArgs memory) {\n // internal trades calculate inputAmount based on `_toAccountId` (the maker account), so the sign should be\n // positive to reflect this\n return Actions.ActionArgs({\n actionType: Actions.ActionType.Trade,\n accountId: _fromAccountId,\n amount: Types.AssetAmount({\n sign: false,\n denomination: Types.AssetDenomination.Wei,\n ref: _amountInWei == ALL ? Types.AssetReference.Target : Types.AssetReference.Delta,\n value: _amountInWei == ALL ? 0 : _amountInWei\n }),\n primaryMarketId: _primaryMarketId,\n secondaryMarketId: _secondaryMarketId,\n otherAddress: _traderAddress,\n otherAccountId: _toAccountId,\n data: abi.encode(\n /* calculateAmountWithMakerAccount = */ false,\n _orderData\n )\n });\n }\n\n function encodeLiquidateAction(\n uint256 _solidAccountId,\n uint256 _liquidAccountId,\n uint256 _owedMarketId,\n uint256 _heldMarketId,\n uint256 _owedWeiToLiquidate\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType: Actions.ActionType.Liquidate,\n accountId: _solidAccountId,\n amount: Types.AssetAmount({\n sign: true,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Delta,\n value: _owedWeiToLiquidate\n }),\n primaryMarketId: _owedMarketId,\n secondaryMarketId: _heldMarketId,\n otherAddress: address(0),\n otherAccountId: _liquidAccountId,\n data: new bytes(0)\n });\n }\n\n function encodeExternalSellAction(\n uint256 _fromAccountId,\n uint256 _primaryMarketId,\n uint256 _secondaryMarketId,\n address _trader,\n uint256 _amountInWei,\n uint256 _amountOutMinWei,\n bytes memory _orderData\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType : Actions.ActionType.Sell,\n accountId : _fromAccountId,\n amount : Types.AssetAmount({\n sign : false,\n denomination : Types.AssetDenomination.Wei,\n ref : _amountInWei == ALL ? Types.AssetReference.Target : Types.AssetReference.Delta,\n value : _amountInWei == ALL ? 0 : _amountInWei\n }),\n primaryMarketId : _primaryMarketId,\n secondaryMarketId : _secondaryMarketId,\n otherAddress : _trader,\n otherAccountId : 0,\n data : abi.encode(_amountOutMinWei, _orderData)\n });\n }\n\n function encodeTransferAction(\n uint256 _fromAccountId,\n uint256 _toAccountId,\n uint256 _marketId,\n uint256 _amountWei\n ) internal pure returns (Actions.ActionArgs memory) {\n Types.AssetAmount memory assetAmount;\n if (_amountWei == uint(- 1)) {\n assetAmount = Types.AssetAmount({\n sign: true,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Target,\n value: 0\n });\n } else {\n assetAmount = Types.AssetAmount({\n sign: false,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Delta,\n value: _amountWei\n });\n }\n return Actions.ActionArgs({\n actionType : Actions.ActionType.Transfer,\n accountId : _fromAccountId,\n amount : assetAmount,\n primaryMarketId : _marketId,\n secondaryMarketId : 0,\n otherAddress : address(0),\n otherAccountId : _toAccountId,\n data : bytes(\"\")\n });\n }\n\n function encodeTransferToTargetAmountAction(\n uint256 _fromAccountId,\n uint256 _toAccountId,\n uint256 _marketId,\n Types.Wei memory _targetAmountWei\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType : Actions.ActionType.Transfer,\n accountId : _fromAccountId,\n amount : Types.AssetAmount({\n sign: _targetAmountWei.sign,\n denomination: Types.AssetDenomination.Wei,\n ref: Types.AssetReference.Target,\n value: _targetAmountWei.value\n }),\n primaryMarketId : _marketId,\n secondaryMarketId : 0,\n otherAddress : address(0),\n otherAccountId : _toAccountId,\n data : bytes(\"\")\n });\n }\n\n function encodeWithdrawalAction(\n uint256 _accountId,\n uint256 _marketId,\n Types.AssetAmount memory _amount,\n address _toAccount\n ) internal pure returns (Actions.ActionArgs memory) {\n return Actions.ActionArgs({\n actionType: Actions.ActionType.Withdraw,\n accountId: _accountId,\n amount: _amount,\n primaryMarketId: _marketId,\n secondaryMarketId: 0,\n otherAddress: _toAccount,\n otherAccountId: 0,\n data: bytes(\"\")\n });\n }\n}\n",
@@ -24462,7 +24462,7 @@
24462
24462
  },
24463
24463
  "networks": {},
24464
24464
  "schemaVersion": "3.0.23",
24465
- "updatedAt": "2025-01-24T17:53:53.595Z",
24465
+ "updatedAt": "2025-02-23T09:28:57.106Z",
24466
24466
  "devdoc": {
24467
24467
  "author": "Dolomite * Library contract that makes specific actions easy to call",
24468
24468
  "methods": {},
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "contractName": "AccountBalanceLib",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Dolomite * Library contract that checks a user's balance after an operation to be non-negative\",\"methods\":{},\"title\":\"AccountBalanceLib\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":\"AccountBalanceLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":{\"keccak256\":\"0x76fd16d615fe7cfceaf775b4e6524fd0462606c802b082498c768a7a4ca01a20\",\"urls\":[\"bzz-raw://56068145e300cde1c77c22e38cb753378abf2f0d4613dcb203e33ff101f169e2\",\"dweb:/ipfs/QmXvMzr9n7vzMHdUPgnc58KX4mrbQAqkq4kDETaj5Y55ZY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x927b1dfa92ee3abc5f3a571247467cf733e549f033a756c28349f98247fca637\",\"urls\":[\"bzz-raw://e526e4786012a92fea61b99da8fb4993e65c027ce655ea0567d41dda21083f31\",\"dweb:/ipfs/Qmf5xc5hGKdpgCxCGr1EDW9nrZAZYHdaeZityGVnNdFajB\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
5
- "bytecode": "0x60636023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820bd4cfc5d56fa79257ab86c63a4a6f34b44c54c00b0e98fb4d5525c9ee7bb84706c6578706572696d656e74616cf564736f6c63430005100040",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820bd4cfc5d56fa79257ab86c63a4a6f34b44c54c00b0e98fb4d5525c9ee7bb84706c6578706572696d656e74616cf564736f6c63430005100040",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Dolomite * Library contract that checks a user's balance after an operation to be non-negative\",\"methods\":{},\"title\":\"AccountBalanceLib\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":\"AccountBalanceLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":{\"keccak256\":\"0x76fd16d615fe7cfceaf775b4e6524fd0462606c802b082498c768a7a4ca01a20\",\"urls\":[\"bzz-raw://56068145e300cde1c77c22e38cb753378abf2f0d4613dcb203e33ff101f169e2\",\"dweb:/ipfs/QmXvMzr9n7vzMHdUPgnc58KX4mrbQAqkq4kDETaj5Y55ZY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
5
+ "bytecode": "0x60636023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820bf200216557ee927d62f0b8406f393c953c63efc98bcecfe42c89425d83679bf6c6578706572696d656e74616cf564736f6c63430005100040",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea365627a7a72315820bf200216557ee927d62f0b8406f393c953c63efc98bcecfe42c89425d83679bf6c6578706572696d656e74616cf564736f6c63430005100040",
7
7
  "sourceMap": "1054:1075:35:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
8
8
  "deployedSourceMap": "1054:1075:35:-;;;;;;;;",
9
9
  "source": "/*\n\n Copyright 2022 Dolomite.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { IDolomiteMargin } from \"../../protocol/interfaces/IDolomiteMargin.sol\";\n\nimport { Account } from \"../../protocol/lib/Account.sol\";\nimport { Require } from \"../../protocol/lib/Require.sol\";\nimport { Types } from \"../../protocol/lib/Types.sol\";\n\n\n/**\n * @title AccountBalanceLib\n * @author Dolomite\n *\n * Library contract that checks a user's balance after an operation to be non-negative\n */\nlibrary AccountBalanceLib {\n using Types for Types.Par;\n\n // ============ Constants ============\n\n bytes32 private constant FILE = \"AccountBalanceLib\";\n\n // ============ Types ============\n\n /// Checks that either BOTH, FROM, or TO accounts do not have negative balances\n enum BalanceCheckFlag {\n Both,\n From,\n To,\n None\n }\n\n // ============ Functions ============\n\n /**\n * Checks that the account's balance is non-negative. Reverts if the check fails\n */\n function verifyBalanceIsNonNegative(\n IDolomiteMargin dolomiteMargin,\n address _owner,\n uint256 _accountIndex,\n uint256 _marketId\n ) internal view {\n Account.Info memory account = Account.Info(_owner, _accountIndex);\n Types.Par memory par = dolomiteMargin.getAccountPar(account, _marketId);\n Require.that(\n par.isPositive() || par.isZero(),\n FILE,\n \"account cannot go negative\",\n _owner,\n _accountIndex,\n _marketId\n );\n }\n}\n",
@@ -1730,7 +1730,7 @@
1730
1730
  },
1731
1731
  "networks": {},
1732
1732
  "schemaVersion": "3.0.23",
1733
- "updatedAt": "2025-01-24T17:53:53.603Z",
1733
+ "updatedAt": "2025-02-23T09:28:57.114Z",
1734
1734
  "devdoc": {
1735
1735
  "author": "Dolomite * Library contract that checks a user's balance after an operation to be non-negative",
1736
1736
  "methods": {},
@@ -840,7 +840,7 @@
840
840
  },
841
841
  "networks": {},
842
842
  "schemaVersion": "3.0.23",
843
- "updatedAt": "2025-01-24T17:53:53.604Z",
843
+ "updatedAt": "2025-02-23T09:28:57.115Z",
844
844
  "devdoc": {
845
845
  "author": "Dolomite * Library contract that has various utility functions for margin positions/accounts",
846
846
  "methods": {},
@@ -173,9 +173,9 @@
173
173
  "type": "function"
174
174
  }
175
175
  ],
176
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_dolomiteMargin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidatorAssetRegistry\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"LIQUIDATOR_ASSET_REGISTRY\",\"outputs\":[{\"internalType\":\"contract ILiquidatorAssetRegistry\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info\",\"name\":\"account\",\"type\":\"tuple\"}],\"name\":\"getAccountValues\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"supply\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"borrow\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info\",\"name\":\"account\",\"type\":\"tuple\"}],\"name\":\"getAdjustedAccountValues\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"supply\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"borrow\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite * Contract for getting an account's values on ArbitrumOne to avoid the stale index bug.\",\"methods\":{},\"title\":\"AccountValuesReader\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/utils/AccountValuesReader.sol\":\"AccountValuesReader\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/HasLiquidatorRegistry.sol\":{\"keccak256\":\"0xf7fb6d26d662f5a7ae5df8e30110664c7254f1a4969c31a3504e166018358e42\",\"urls\":[\"bzz-raw://b1a8adc3fdddce8ad10ce2420570b73218c3dd23238ab0000938051194834389\",\"dweb:/ipfs/QmPE47PxyM2xEat3xCWkiogpNRGkx26KLePGQZhGRGJpk8\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/LiquidatorProxyBase.sol\":{\"keccak256\":\"0x5a7bc34966d0bbaf860283dff729819733c6aeb2d74969de4faa77a38ed0e580\",\"urls\":[\"bzz-raw://4fc391dc8defc010d4736300e52159039540d881b256a62f425de790da44cd48\",\"dweb:/ipfs/QmWGcvumKySkGmCPtGQcw3e6X1Fz17e33mV7QpXr9fgWpV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IExpiry.sol\":{\"keccak256\":\"0xa7b197139e570e823cab42c3b8500c9c5edc8a40110970a7d6fe60f05864ba10\",\"urls\":[\"bzz-raw://4f469be063d8f694c5277650bc53ac2c0d164f62e36c6a9ab7dad126479990a9\",\"dweb:/ipfs/Qme4sTbGi4T2QhsJSweqGzqm5rxQkypy27g1vLy8ipVijV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/ILiquidatorAssetRegistry.sol\":{\"keccak256\":\"0x0d99615ee12fad08fbdf59a67683af9c7cdcfd2f25cf20b6767ebb6988eec514\",\"urls\":[\"bzz-raw://90230d7a44d9936cda8d1b1fef170daf91750b97d3da9634ed6c079fb8dbd15a\",\"dweb:/ipfs/QmfQxDE36en2hecxS4Y2i4BH6TsSEDEzKNxooysW4GsdKb\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/DolomiteVersionLib.sol\":{\"keccak256\":\"0x2b53e388a5307c028d1be1ab654eacb46bd445b24beb367c0782bd408f2a28b4\",\"urls\":[\"bzz-raw://f1b9f5d89093f45e4b83c3220c2a426f4e399c7bd4ba0a6fa95e1ac6a25f77f6\",\"dweb:/ipfs/QmdoQ2xZnB7r7q2i1gEkzn5KyuiDQW1oAjDUHB6x6DG8Fy\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/utils/AccountValuesReader.sol\":{\"keccak256\":\"0xc19bec83369b214f421f6af554bf8cfdf2d97e6820f9387401e0d5f751f7bc53\",\"urls\":[\"bzz-raw://c77c0d04998b5db46968e9ac169c52246f763d510af210795286a12574624f5b\",\"dweb:/ipfs/QmZd67znJVodmnmF4KURHJmdZ3DMrQy5HDzXLjUQ6EhuRK\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x927b1dfa92ee3abc5f3a571247467cf733e549f033a756c28349f98247fca637\",\"urls\":[\"bzz-raw://e526e4786012a92fea61b99da8fb4993e65c027ce655ea0567d41dda21083f31\",\"dweb:/ipfs/Qmf5xc5hGKdpgCxCGr1EDW9nrZAZYHdaeZityGVnNdFajB\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
177
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162001a3e38038062001a3e83398101604081905262000034916200008b565b600080546001600160a01b03199081166001600160a01b039384161790915560019390935560028054909316911617905562000119565b80516200007881620000f4565b92915050565b805162000078816200010e565b600080600060608486031215620000a157600080fd5b6000620000af86866200007e565b9350506020620000c2868287016200006b565b9250506040620000d5868287016200006b565b9150509250925092565b60006001600160a01b03821662000078565b90565b620000ff81620000df565b81146200010b57600080fd5b50565b620000ff81620000f1565b61191580620001296000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80639a8a0592116100505780639a8a0592146100ab578063cf530f88146100c0578063f9416052146100c857610067565b8063124f914c1461006c57806315c14a4a14610096575b600080fd5b61007f61007a3660046114da565b6100db565b60405161008d92919061174d565b60405180910390f35b61009e6101f9565b60405161008d91906116e5565b6100b3610215565b60405161008d9190611768565b61009e61021b565b61007f6100d63660046114da565b610237565b6100e3611217565b6100eb611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab090610146908890600401611724565b60006040518083038186803b15801561015e57600080fd5b505afa158015610172573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261019a9190810190611469565b90506101ed826101d6848460006040519080825280602002602001820160405280156101d0578160200160208202803883390190505b50610348565b8784604051806020016040528060008152506105f4565b90969095509350505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61023f611217565b610247611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab0906102a2908890600401611724565b60006040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f69190810190611469565b90506101ed82610331848460006040519080825280602002602001820160405280156101d05781602001602082028038833901905050610348565b878460405180602001604052806000815250610621565b6060806103d18573ffffffffffffffffffffffffffffffffffffffff1663295c39a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039457600080fd5b505afa1580156103a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103cc9190810190611516565b610640565b905060006103e085838361067c565b90506103ed84838361067c565b9050600060608260405190808252806020026020018201604052801561042d57816020015b61041a61122a565b8152602001906001900390816104125790505b50905060005b84518110156105e657600085828151811061044a57fe5b602002602001015190505b80156105cf576000610466826106df565b905060006104748483610899565b905060405180606001604052808281526020018d73ffffffffffffffffffffffffffffffffffffffff16638928378e846040518263ffffffff1660e01b81526004016104c09190611768565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610510919081019061149e565b81526020018d73ffffffffffffffffffffffffffffffffffffffff166356ea84b2846040518263ffffffff1660e01b815260040161054e9190611768565b60606040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059e91908101906114bc565b905285516001880197879181106105b157fe5b60200260200101819052506105c683836108a4565b92505050610455565b848414156105dd57506105e6565b50600101610433565b5093505050505b9392505050565b6105fc611217565b610604611217565b610613878787876000886108ad565b915091509550959350505050565b610629611217565b610631611217565b610613878787876001886108ad565b60606001610100830401604051908082528060200260200182016040528015610673578160200160208202803883390190505b5090505b919050565b6000805b84518110156106d6576106a68486838151811061069957fe5b6020026020010151610aff565b6106ce576106c7848683815181106106ba57fe5b6020026020010151610b3d565b6001830192505b600101610680565b50909392505050565b600060ff6fffffffffffffffffffffffffffffffff831615610722577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800161072a565b608083901c92505b67ffffffffffffffff831615610761577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610769565b604083901c92505b63ffffffff83161561077e57601f1901610786565b602083901c92505b61ffff8316156107b7577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016107bf565b601083901c92505b60ff8316156107ef577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016107f7565b600883901c92505b600f831615610827577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161082f565b600483901c92505b600383161561085f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610867565b600283901c92505b6001831615610893577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b92915050565b610100919091020190565b6001901b191690565b6108b5611217565b6108bd611217565b8380156108c957508251155b935060005b8551811015610af3576108df611256565b8973ffffffffffffffffffffffffffffffffffffffff166347d1b53c8989858151811061090857fe5b60200260200101516040518363ffffffff1660e01b815260040161092d929190611732565b604080518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097c91908101906114f8565b905061098661122a565b6109a38a89858151811061099657fe5b6020026020010151610b73565b90506109ad611256565b6109bb838360400151610b89565b60208084015151908201519192506000916109db9163ffffffff610c3e16565b90506109e5611217565b6109ed610c9b565b90508915610a9c57610a998e73ffffffffffffffffffffffffffffffffffffffff1663fd04b6068d8981518110610a2057fe5b60200260200101516040518263ffffffff1660e01b8152600401610a449190611768565b60206040518083038186803b158015610a5c57600080fd5b505afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a94919081019061149e565b610cbd565b90505b825115610ac557610abe610ab08383610cf4565b89519063ffffffff610d0d16565b8852610ae3565b610ae0610ad28383610d4c565b88519063ffffffff610d0d16565b87525b50505050508060010190506108ce565b50965096945050505050565b600080610100830490506000610100840690506000816001901b868481518110610b2557fe5b60209081029190910101511615159695505050505050565b815161010082049060ff8316906001821b90859084908110610b5b57fe5b60200260200101818151179150818152505050505050565b610b7b61122a565b6105ed836000855185610d65565b610b91611256565b602083015183516fffffffffffffffffffffffffffffffff9091169015610bff57604080518082019091526001815260208481015190820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b815250915050610893565b604080518082019091526000815283516020820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b600082610c4d57506000610893565b82820282848281610c5a57fe5b04146105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611714565b60405180910390fd5b610ca3611217565b506040805160208101909152670de0b6b3a7640000815290565b610cc5611217565b604080516020810190915282518190610cec90670de0b6b3a764000063ffffffff610d0d16565b905292915050565b60006105ed83670de0b6b3a76400008460000151610f11565b6000828201838110156105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611704565b60006105ed838360000151670de0b6b3a7640000610f11565b610d6d61122a565b838303610dea8115801590610da35750816001141580610da3575083878781518110610d9557fe5b602002602001015160000151145b7f4c697175696461746f7250726f787942617365000000000000000000000000007f4d61726b6574206e6f7420666f756e6400000000000000000000000000000000610f27565b6000600182901c860190506000878281518110610e0357fe5b602002602001015160000151905080851015610e2f57610e2588888488610d65565b9350505050610e60565b80851115610e4657610e2588836001018888610d65565b878281518110610e5257fe5b602002602001015193505050505b949350505050565b6000831580610e75575082155b15610e8c57610e85600083610fb6565b90506105ed565b6000610e9e858563ffffffff610c3e16565b9050610f08610ed56001610ec96002610ebd888463ffffffff610ff816565b9063ffffffff610fb616565b9063ffffffff610d0d16565b610ee5838663ffffffff61103a16565b1015610ef2576000610ef5565b60015b60ff16610ec9838663ffffffff610fb616565b95945050505050565b6000610e6082610ebd868663ffffffff610c3e16565b82610fb157610f358261107c565b7f3a20000000000000000000000000000000000000000000000000000000000000610f5f8361107c565b604051602001610f71939291906116bd565b60408051601f19818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610c92916004016116f3565b505050565b60006105ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611132565b60006105ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611183565b60006105ed83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506111c9565b6060808260405160200161109091906116a8565b60408051601f19818403018152919052905060205b801561111b5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106110de57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156111165760010181529050610677565b6110a5565b505060408051600081526020810190915292915050565b6000818361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b50600083858161117957fe5b0495945050505050565b600081848411156111c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b505050900390565b60008183611204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b5082848161120e57fe5b06949350505050565b6040518060200160405280600081525090565b604051806060016040528060008152602001611244611217565b815260200161125161126d565b905290565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b80356108938161188e565b600082601f8301126112a957600080fd5b81516112bc6112b78261179d565b611776565b915081818352602084019350602081019050838560208402820111156112e157600080fd5b60005b8381101561130d57816112f78882611453565b84525060209283019291909101906001016112e4565b5050505092915050565b8051610893816118a5565b60006020828403121561133457600080fd5b61133e6020611776565b9050600061134c8484611453565b82525092915050565b60006060828403121561136757600080fd5b6113716060611776565b9050600061137f8484611432565b825250602061139084848301611432565b60208301525060406113a48482850161145e565b60408301525092915050565b6000604082840312156113c257600080fd5b6113cc6040611776565b905060006113da848461128d565b82525060206113eb84848301611448565b60208301525092915050565b60006040828403121561140957600080fd5b6114136040611776565b905060006114218484611317565b82525060206113eb8484830161143d565b8051610893816118ae565b8051610893816118b7565b8035610893816118c0565b8051610893816118c0565b8051610893816118c9565b60006020828403121561147b57600080fd5b815167ffffffffffffffff81111561149257600080fd5b610e6084828501611298565b6000602082840312156114b057600080fd5b6000610e608484611322565b6000606082840312156114ce57600080fd5b6000610e608484611355565b6000604082840312156114ec57600080fd5b6000610e6084846113b0565b60006040828403121561150a57600080fd5b6000610e6084846113f7565b60006020828403121561152857600080fd5b6000610e608484611453565b61153d816117cb565b82525050565b61153d61154f826117db565b611800565b61153d61154f82611800565b600061156b826117be565b6115758185610677565b9350611585818560208601611858565b9290920192915050565b61153d8161184d565b60006115a3826117be565b6115ad81856117c2565b93506115bd818560208601611858565b6115c681611884565b9093019392505050565b60006115dd601b836117c2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006116166021836117c2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160408301906116798482611534565b50602082015161168c602085018261169f565b50505050565b8051602083019061168c84825b61153d81611800565b60006116b48284611554565b50602001919050565b60006116c98286611560565b91506116d58285611543565b600282019150610f088284611560565b60208101610893828461158f565b602080825281016105ed8184611598565b60208082528101610893816115d0565b6020808252810161089381611609565b604081016108938284611668565b606081016117408285611668565b6105ed604083018461169f565b6040810161175b8285611692565b6105ed6020830184611692565b60208101610893828461169f565b60405181810167ffffffffffffffff8111828210171561179557600080fd5b604052919050565b600067ffffffffffffffff8211156117b457600080fd5b5060209081020190565b5190565b90815260200190565b60006108938261182b565b151590565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b63ffffffff1690565b6000610893826117cb565b60005b8381101561187357818101518382015260200161185b565b8381111561168c5750506000910152565b601f01601f191690565b611897816117cb565b81146118a257600080fd5b50565b611897816117d6565b61189781611803565b61189781611816565b61189781611800565b6118978161184456fea365627a7a72315820590231fe51fa1f3d4232186d993bfc9556e8c8aa39882bf29e89f4522cdcd87b6c6578706572696d656e74616cf564736f6c63430005100040",
178
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80639a8a0592116100505780639a8a0592146100ab578063cf530f88146100c0578063f9416052146100c857610067565b8063124f914c1461006c57806315c14a4a14610096575b600080fd5b61007f61007a3660046114da565b6100db565b60405161008d92919061174d565b60405180910390f35b61009e6101f9565b60405161008d91906116e5565b6100b3610215565b60405161008d9190611768565b61009e61021b565b61007f6100d63660046114da565b610237565b6100e3611217565b6100eb611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab090610146908890600401611724565b60006040518083038186803b15801561015e57600080fd5b505afa158015610172573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261019a9190810190611469565b90506101ed826101d6848460006040519080825280602002602001820160405280156101d0578160200160208202803883390190505b50610348565b8784604051806020016040528060008152506105f4565b90969095509350505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61023f611217565b610247611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab0906102a2908890600401611724565b60006040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f69190810190611469565b90506101ed82610331848460006040519080825280602002602001820160405280156101d05781602001602082028038833901905050610348565b878460405180602001604052806000815250610621565b6060806103d18573ffffffffffffffffffffffffffffffffffffffff1663295c39a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039457600080fd5b505afa1580156103a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103cc9190810190611516565b610640565b905060006103e085838361067c565b90506103ed84838361067c565b9050600060608260405190808252806020026020018201604052801561042d57816020015b61041a61122a565b8152602001906001900390816104125790505b50905060005b84518110156105e657600085828151811061044a57fe5b602002602001015190505b80156105cf576000610466826106df565b905060006104748483610899565b905060405180606001604052808281526020018d73ffffffffffffffffffffffffffffffffffffffff16638928378e846040518263ffffffff1660e01b81526004016104c09190611768565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610510919081019061149e565b81526020018d73ffffffffffffffffffffffffffffffffffffffff166356ea84b2846040518263ffffffff1660e01b815260040161054e9190611768565b60606040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059e91908101906114bc565b905285516001880197879181106105b157fe5b60200260200101819052506105c683836108a4565b92505050610455565b848414156105dd57506105e6565b50600101610433565b5093505050505b9392505050565b6105fc611217565b610604611217565b610613878787876000886108ad565b915091509550959350505050565b610629611217565b610631611217565b610613878787876001886108ad565b60606001610100830401604051908082528060200260200182016040528015610673578160200160208202803883390190505b5090505b919050565b6000805b84518110156106d6576106a68486838151811061069957fe5b6020026020010151610aff565b6106ce576106c7848683815181106106ba57fe5b6020026020010151610b3d565b6001830192505b600101610680565b50909392505050565b600060ff6fffffffffffffffffffffffffffffffff831615610722577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800161072a565b608083901c92505b67ffffffffffffffff831615610761577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610769565b604083901c92505b63ffffffff83161561077e57601f1901610786565b602083901c92505b61ffff8316156107b7577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016107bf565b601083901c92505b60ff8316156107ef577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016107f7565b600883901c92505b600f831615610827577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161082f565b600483901c92505b600383161561085f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610867565b600283901c92505b6001831615610893577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b92915050565b610100919091020190565b6001901b191690565b6108b5611217565b6108bd611217565b8380156108c957508251155b935060005b8551811015610af3576108df611256565b8973ffffffffffffffffffffffffffffffffffffffff166347d1b53c8989858151811061090857fe5b60200260200101516040518363ffffffff1660e01b815260040161092d929190611732565b604080518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097c91908101906114f8565b905061098661122a565b6109a38a89858151811061099657fe5b6020026020010151610b73565b90506109ad611256565b6109bb838360400151610b89565b60208084015151908201519192506000916109db9163ffffffff610c3e16565b90506109e5611217565b6109ed610c9b565b90508915610a9c57610a998e73ffffffffffffffffffffffffffffffffffffffff1663fd04b6068d8981518110610a2057fe5b60200260200101516040518263ffffffff1660e01b8152600401610a449190611768565b60206040518083038186803b158015610a5c57600080fd5b505afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a94919081019061149e565b610cbd565b90505b825115610ac557610abe610ab08383610cf4565b89519063ffffffff610d0d16565b8852610ae3565b610ae0610ad28383610d4c565b88519063ffffffff610d0d16565b87525b50505050508060010190506108ce565b50965096945050505050565b600080610100830490506000610100840690506000816001901b868481518110610b2557fe5b60209081029190910101511615159695505050505050565b815161010082049060ff8316906001821b90859084908110610b5b57fe5b60200260200101818151179150818152505050505050565b610b7b61122a565b6105ed836000855185610d65565b610b91611256565b602083015183516fffffffffffffffffffffffffffffffff9091169015610bff57604080518082019091526001815260208481015190820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b815250915050610893565b604080518082019091526000815283516020820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b600082610c4d57506000610893565b82820282848281610c5a57fe5b04146105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611714565b60405180910390fd5b610ca3611217565b506040805160208101909152670de0b6b3a7640000815290565b610cc5611217565b604080516020810190915282518190610cec90670de0b6b3a764000063ffffffff610d0d16565b905292915050565b60006105ed83670de0b6b3a76400008460000151610f11565b6000828201838110156105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611704565b60006105ed838360000151670de0b6b3a7640000610f11565b610d6d61122a565b838303610dea8115801590610da35750816001141580610da3575083878781518110610d9557fe5b602002602001015160000151145b7f4c697175696461746f7250726f787942617365000000000000000000000000007f4d61726b6574206e6f7420666f756e6400000000000000000000000000000000610f27565b6000600182901c860190506000878281518110610e0357fe5b602002602001015160000151905080851015610e2f57610e2588888488610d65565b9350505050610e60565b80851115610e4657610e2588836001018888610d65565b878281518110610e5257fe5b602002602001015193505050505b949350505050565b6000831580610e75575082155b15610e8c57610e85600083610fb6565b90506105ed565b6000610e9e858563ffffffff610c3e16565b9050610f08610ed56001610ec96002610ebd888463ffffffff610ff816565b9063ffffffff610fb616565b9063ffffffff610d0d16565b610ee5838663ffffffff61103a16565b1015610ef2576000610ef5565b60015b60ff16610ec9838663ffffffff610fb616565b95945050505050565b6000610e6082610ebd868663ffffffff610c3e16565b82610fb157610f358261107c565b7f3a20000000000000000000000000000000000000000000000000000000000000610f5f8361107c565b604051602001610f71939291906116bd565b60408051601f19818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610c92916004016116f3565b505050565b60006105ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611132565b60006105ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611183565b60006105ed83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506111c9565b6060808260405160200161109091906116a8565b60408051601f19818403018152919052905060205b801561111b5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106110de57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156111165760010181529050610677565b6110a5565b505060408051600081526020810190915292915050565b6000818361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b50600083858161117957fe5b0495945050505050565b600081848411156111c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b505050900390565b60008183611204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b5082848161120e57fe5b06949350505050565b6040518060200160405280600081525090565b604051806060016040528060008152602001611244611217565b815260200161125161126d565b905290565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b80356108938161188e565b600082601f8301126112a957600080fd5b81516112bc6112b78261179d565b611776565b915081818352602084019350602081019050838560208402820111156112e157600080fd5b60005b8381101561130d57816112f78882611453565b84525060209283019291909101906001016112e4565b5050505092915050565b8051610893816118a5565b60006020828403121561133457600080fd5b61133e6020611776565b9050600061134c8484611453565b82525092915050565b60006060828403121561136757600080fd5b6113716060611776565b9050600061137f8484611432565b825250602061139084848301611432565b60208301525060406113a48482850161145e565b60408301525092915050565b6000604082840312156113c257600080fd5b6113cc6040611776565b905060006113da848461128d565b82525060206113eb84848301611448565b60208301525092915050565b60006040828403121561140957600080fd5b6114136040611776565b905060006114218484611317565b82525060206113eb8484830161143d565b8051610893816118ae565b8051610893816118b7565b8035610893816118c0565b8051610893816118c0565b8051610893816118c9565b60006020828403121561147b57600080fd5b815167ffffffffffffffff81111561149257600080fd5b610e6084828501611298565b6000602082840312156114b057600080fd5b6000610e608484611322565b6000606082840312156114ce57600080fd5b6000610e608484611355565b6000604082840312156114ec57600080fd5b6000610e6084846113b0565b60006040828403121561150a57600080fd5b6000610e6084846113f7565b60006020828403121561152857600080fd5b6000610e608484611453565b61153d816117cb565b82525050565b61153d61154f826117db565b611800565b61153d61154f82611800565b600061156b826117be565b6115758185610677565b9350611585818560208601611858565b9290920192915050565b61153d8161184d565b60006115a3826117be565b6115ad81856117c2565b93506115bd818560208601611858565b6115c681611884565b9093019392505050565b60006115dd601b836117c2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006116166021836117c2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160408301906116798482611534565b50602082015161168c602085018261169f565b50505050565b8051602083019061168c84825b61153d81611800565b60006116b48284611554565b50602001919050565b60006116c98286611560565b91506116d58285611543565b600282019150610f088284611560565b60208101610893828461158f565b602080825281016105ed8184611598565b60208082528101610893816115d0565b6020808252810161089381611609565b604081016108938284611668565b606081016117408285611668565b6105ed604083018461169f565b6040810161175b8285611692565b6105ed6020830184611692565b60208101610893828461169f565b60405181810167ffffffffffffffff8111828210171561179557600080fd5b604052919050565b600067ffffffffffffffff8211156117b457600080fd5b5060209081020190565b5190565b90815260200190565b60006108938261182b565b151590565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b63ffffffff1690565b6000610893826117cb565b60005b8381101561187357818101518382015260200161185b565b8381111561168c5750506000910152565b601f01601f191690565b611897816117cb565b81146118a257600080fd5b50565b611897816117d6565b61189781611803565b61189781611816565b61189781611800565b6118978161184456fea365627a7a72315820590231fe51fa1f3d4232186d993bfc9556e8c8aa39882bf29e89f4522cdcd87b6c6578706572696d656e74616cf564736f6c63430005100040",
176
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_dolomiteMargin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquidatorAssetRegistry\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"LIQUIDATOR_ASSET_REGISTRY\",\"outputs\":[{\"internalType\":\"contract ILiquidatorAssetRegistry\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info\",\"name\":\"account\",\"type\":\"tuple\"}],\"name\":\"getAccountValues\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"supply\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"borrow\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info\",\"name\":\"account\",\"type\":\"tuple\"}],\"name\":\"getAdjustedAccountValues\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"supply\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Monetary.Value\",\"name\":\"borrow\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite * Contract for getting an account's values on ArbitrumOne to avoid the stale index bug.\",\"methods\":{},\"title\":\"AccountValuesReader\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/utils/AccountValuesReader.sol\":\"AccountValuesReader\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/HasLiquidatorRegistry.sol\":{\"keccak256\":\"0xf7fb6d26d662f5a7ae5df8e30110664c7254f1a4969c31a3504e166018358e42\",\"urls\":[\"bzz-raw://b1a8adc3fdddce8ad10ce2420570b73218c3dd23238ab0000938051194834389\",\"dweb:/ipfs/QmPE47PxyM2xEat3xCWkiogpNRGkx26KLePGQZhGRGJpk8\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/helpers/LiquidatorProxyBase.sol\":{\"keccak256\":\"0x5a7bc34966d0bbaf860283dff729819733c6aeb2d74969de4faa77a38ed0e580\",\"urls\":[\"bzz-raw://4fc391dc8defc010d4736300e52159039540d881b256a62f425de790da44cd48\",\"dweb:/ipfs/QmWGcvumKySkGmCPtGQcw3e6X1Fz17e33mV7QpXr9fgWpV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IExpiry.sol\":{\"keccak256\":\"0xa7b197139e570e823cab42c3b8500c9c5edc8a40110970a7d6fe60f05864ba10\",\"urls\":[\"bzz-raw://4f469be063d8f694c5277650bc53ac2c0d164f62e36c6a9ab7dad126479990a9\",\"dweb:/ipfs/Qme4sTbGi4T2QhsJSweqGzqm5rxQkypy27g1vLy8ipVijV\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/ILiquidatorAssetRegistry.sol\":{\"keccak256\":\"0x0d99615ee12fad08fbdf59a67683af9c7cdcfd2f25cf20b6767ebb6988eec514\",\"urls\":[\"bzz-raw://90230d7a44d9936cda8d1b1fef170daf91750b97d3da9634ed6c079fb8dbd15a\",\"dweb:/ipfs/QmfQxDE36en2hecxS4Y2i4BH6TsSEDEzKNxooysW4GsdKb\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/DolomiteVersionLib.sol\":{\"keccak256\":\"0x2b53e388a5307c028d1be1ab654eacb46bd445b24beb367c0782bd408f2a28b4\",\"urls\":[\"bzz-raw://f1b9f5d89093f45e4b83c3220c2a426f4e399c7bd4ba0a6fa95e1ac6a25f77f6\",\"dweb:/ipfs/QmdoQ2xZnB7r7q2i1gEkzn5KyuiDQW1oAjDUHB6x6DG8Fy\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/utils/AccountValuesReader.sol\":{\"keccak256\":\"0xc19bec83369b214f421f6af554bf8cfdf2d97e6820f9387401e0d5f751f7bc53\",\"urls\":[\"bzz-raw://c77c0d04998b5db46968e9ac169c52246f763d510af210795286a12574624f5b\",\"dweb:/ipfs/QmZd67znJVodmnmF4KURHJmdZ3DMrQy5HDzXLjUQ6EhuRK\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/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/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/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\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@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}",
177
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001a3e38038062001a3e83398101604081905262000034916200008b565b600080546001600160a01b03199081166001600160a01b039384161790915560019390935560028054909316911617905562000119565b80516200007881620000f4565b92915050565b805162000078816200010e565b600080600060608486031215620000a157600080fd5b6000620000af86866200007e565b9350506020620000c2868287016200006b565b9250506040620000d5868287016200006b565b9150509250925092565b60006001600160a01b03821662000078565b90565b620000ff81620000df565b81146200010b57600080fd5b50565b620000ff81620000f1565b61191580620001296000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80639a8a0592116100505780639a8a0592146100ab578063cf530f88146100c0578063f9416052146100c857610067565b8063124f914c1461006c57806315c14a4a14610096575b600080fd5b61007f61007a3660046114da565b6100db565b60405161008d92919061174d565b60405180910390f35b61009e6101f9565b60405161008d91906116e5565b6100b3610215565b60405161008d9190611768565b61009e61021b565b61007f6100d63660046114da565b610237565b6100e3611217565b6100eb611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab090610146908890600401611724565b60006040518083038186803b15801561015e57600080fd5b505afa158015610172573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261019a9190810190611469565b90506101ed826101d6848460006040519080825280602002602001820160405280156101d0578160200160208202803883390190505b50610348565b8784604051806020016040528060008152506105f4565b90969095509350505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61023f611217565b610247611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab0906102a2908890600401611724565b60006040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f69190810190611469565b90506101ed82610331848460006040519080825280602002602001820160405280156101d05781602001602082028038833901905050610348565b878460405180602001604052806000815250610621565b6060806103d18573ffffffffffffffffffffffffffffffffffffffff1663295c39a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039457600080fd5b505afa1580156103a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103cc9190810190611516565b610640565b905060006103e085838361067c565b90506103ed84838361067c565b9050600060608260405190808252806020026020018201604052801561042d57816020015b61041a61122a565b8152602001906001900390816104125790505b50905060005b84518110156105e657600085828151811061044a57fe5b602002602001015190505b80156105cf576000610466826106df565b905060006104748483610899565b905060405180606001604052808281526020018d73ffffffffffffffffffffffffffffffffffffffff16638928378e846040518263ffffffff1660e01b81526004016104c09190611768565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610510919081019061149e565b81526020018d73ffffffffffffffffffffffffffffffffffffffff166356ea84b2846040518263ffffffff1660e01b815260040161054e9190611768565b60606040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059e91908101906114bc565b905285516001880197879181106105b157fe5b60200260200101819052506105c683836108a4565b92505050610455565b848414156105dd57506105e6565b50600101610433565b5093505050505b9392505050565b6105fc611217565b610604611217565b610613878787876000886108ad565b915091509550959350505050565b610629611217565b610631611217565b610613878787876001886108ad565b60606001610100830401604051908082528060200260200182016040528015610673578160200160208202803883390190505b5090505b919050565b6000805b84518110156106d6576106a68486838151811061069957fe5b6020026020010151610aff565b6106ce576106c7848683815181106106ba57fe5b6020026020010151610b3d565b6001830192505b600101610680565b50909392505050565b600060ff6fffffffffffffffffffffffffffffffff831615610722577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800161072a565b608083901c92505b67ffffffffffffffff831615610761577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610769565b604083901c92505b63ffffffff83161561077e57601f1901610786565b602083901c92505b61ffff8316156107b7577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016107bf565b601083901c92505b60ff8316156107ef577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016107f7565b600883901c92505b600f831615610827577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161082f565b600483901c92505b600383161561085f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610867565b600283901c92505b6001831615610893577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b92915050565b610100919091020190565b6001901b191690565b6108b5611217565b6108bd611217565b8380156108c957508251155b935060005b8551811015610af3576108df611256565b8973ffffffffffffffffffffffffffffffffffffffff166347d1b53c8989858151811061090857fe5b60200260200101516040518363ffffffff1660e01b815260040161092d929190611732565b604080518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097c91908101906114f8565b905061098661122a565b6109a38a89858151811061099657fe5b6020026020010151610b73565b90506109ad611256565b6109bb838360400151610b89565b60208084015151908201519192506000916109db9163ffffffff610c3e16565b90506109e5611217565b6109ed610c9b565b90508915610a9c57610a998e73ffffffffffffffffffffffffffffffffffffffff1663fd04b6068d8981518110610a2057fe5b60200260200101516040518263ffffffff1660e01b8152600401610a449190611768565b60206040518083038186803b158015610a5c57600080fd5b505afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a94919081019061149e565b610cbd565b90505b825115610ac557610abe610ab08383610cf4565b89519063ffffffff610d0d16565b8852610ae3565b610ae0610ad28383610d4c565b88519063ffffffff610d0d16565b87525b50505050508060010190506108ce565b50965096945050505050565b600080610100830490506000610100840690506000816001901b868481518110610b2557fe5b60209081029190910101511615159695505050505050565b815161010082049060ff8316906001821b90859084908110610b5b57fe5b60200260200101818151179150818152505050505050565b610b7b61122a565b6105ed836000855185610d65565b610b91611256565b602083015183516fffffffffffffffffffffffffffffffff9091169015610bff57604080518082019091526001815260208481015190820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b815250915050610893565b604080518082019091526000815283516020820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b600082610c4d57506000610893565b82820282848281610c5a57fe5b04146105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611714565b60405180910390fd5b610ca3611217565b506040805160208101909152670de0b6b3a7640000815290565b610cc5611217565b604080516020810190915282518190610cec90670de0b6b3a764000063ffffffff610d0d16565b905292915050565b60006105ed83670de0b6b3a76400008460000151610f11565b6000828201838110156105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611704565b60006105ed838360000151670de0b6b3a7640000610f11565b610d6d61122a565b838303610dea8115801590610da35750816001141580610da3575083878781518110610d9557fe5b602002602001015160000151145b7f4c697175696461746f7250726f787942617365000000000000000000000000007f4d61726b6574206e6f7420666f756e6400000000000000000000000000000000610f27565b6000600182901c860190506000878281518110610e0357fe5b602002602001015160000151905080851015610e2f57610e2588888488610d65565b9350505050610e60565b80851115610e4657610e2588836001018888610d65565b878281518110610e5257fe5b602002602001015193505050505b949350505050565b6000831580610e75575082155b15610e8c57610e85600083610fb6565b90506105ed565b6000610e9e858563ffffffff610c3e16565b9050610f08610ed56001610ec96002610ebd888463ffffffff610ff816565b9063ffffffff610fb616565b9063ffffffff610d0d16565b610ee5838663ffffffff61103a16565b1015610ef2576000610ef5565b60015b60ff16610ec9838663ffffffff610fb616565b95945050505050565b6000610e6082610ebd868663ffffffff610c3e16565b82610fb157610f358261107c565b7f3a20000000000000000000000000000000000000000000000000000000000000610f5f8361107c565b604051602001610f71939291906116bd565b60408051601f19818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610c92916004016116f3565b505050565b60006105ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611132565b60006105ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611183565b60006105ed83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506111c9565b6060808260405160200161109091906116a8565b60408051601f19818403018152919052905060205b801561111b5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106110de57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156111165760010181529050610677565b6110a5565b505060408051600081526020810190915292915050565b6000818361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b50600083858161117957fe5b0495945050505050565b600081848411156111c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b505050900390565b60008183611204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b5082848161120e57fe5b06949350505050565b6040518060200160405280600081525090565b604051806060016040528060008152602001611244611217565b815260200161125161126d565b905290565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b80356108938161188e565b600082601f8301126112a957600080fd5b81516112bc6112b78261179d565b611776565b915081818352602084019350602081019050838560208402820111156112e157600080fd5b60005b8381101561130d57816112f78882611453565b84525060209283019291909101906001016112e4565b5050505092915050565b8051610893816118a5565b60006020828403121561133457600080fd5b61133e6020611776565b9050600061134c8484611453565b82525092915050565b60006060828403121561136757600080fd5b6113716060611776565b9050600061137f8484611432565b825250602061139084848301611432565b60208301525060406113a48482850161145e565b60408301525092915050565b6000604082840312156113c257600080fd5b6113cc6040611776565b905060006113da848461128d565b82525060206113eb84848301611448565b60208301525092915050565b60006040828403121561140957600080fd5b6114136040611776565b905060006114218484611317565b82525060206113eb8484830161143d565b8051610893816118ae565b8051610893816118b7565b8035610893816118c0565b8051610893816118c0565b8051610893816118c9565b60006020828403121561147b57600080fd5b815167ffffffffffffffff81111561149257600080fd5b610e6084828501611298565b6000602082840312156114b057600080fd5b6000610e608484611322565b6000606082840312156114ce57600080fd5b6000610e608484611355565b6000604082840312156114ec57600080fd5b6000610e6084846113b0565b60006040828403121561150a57600080fd5b6000610e6084846113f7565b60006020828403121561152857600080fd5b6000610e608484611453565b61153d816117cb565b82525050565b61153d61154f826117db565b611800565b61153d61154f82611800565b600061156b826117be565b6115758185610677565b9350611585818560208601611858565b9290920192915050565b61153d8161184d565b60006115a3826117be565b6115ad81856117c2565b93506115bd818560208601611858565b6115c681611884565b9093019392505050565b60006115dd601b836117c2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006116166021836117c2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160408301906116798482611534565b50602082015161168c602085018261169f565b50505050565b8051602083019061168c84825b61153d81611800565b60006116b48284611554565b50602001919050565b60006116c98286611560565b91506116d58285611543565b600282019150610f088284611560565b60208101610893828461158f565b602080825281016105ed8184611598565b60208082528101610893816115d0565b6020808252810161089381611609565b604081016108938284611668565b606081016117408285611668565b6105ed604083018461169f565b6040810161175b8285611692565b6105ed6020830184611692565b60208101610893828461169f565b60405181810167ffffffffffffffff8111828210171561179557600080fd5b604052919050565b600067ffffffffffffffff8211156117b457600080fd5b5060209081020190565b5190565b90815260200190565b60006108938261182b565b151590565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b63ffffffff1690565b6000610893826117cb565b60005b8381101561187357818101518382015260200161185b565b8381111561168c5750506000910152565b601f01601f191690565b611897816117cb565b81146118a257600080fd5b50565b611897816117d6565b61189781611803565b61189781611816565b61189781611800565b6118978161184456fea365627a7a7231582040c9cfb625a0e4b0ec6ef53678ed5a135db807abf347e6479f9b5ab2787c62bb6c6578706572696d656e74616cf564736f6c63430005100040",
178
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80639a8a0592116100505780639a8a0592146100ab578063cf530f88146100c0578063f9416052146100c857610067565b8063124f914c1461006c57806315c14a4a14610096575b600080fd5b61007f61007a3660046114da565b6100db565b60405161008d92919061174d565b60405180910390f35b61009e6101f9565b60405161008d91906116e5565b6100b3610215565b60405161008d9190611768565b61009e61021b565b61007f6100d63660046114da565b610237565b6100e3611217565b6100eb611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab090610146908890600401611724565b60006040518083038186803b15801561015e57600080fd5b505afa158015610172573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261019a9190810190611469565b90506101ed826101d6848460006040519080825280602002602001820160405280156101d0578160200160208202803883390190505b50610348565b8784604051806020016040528060008152506105f4565b90969095509350505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b61023f611217565b610247611217565b6002546040517f0f47fab000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906060908290630f47fab0906102a2908890600401611724565b60006040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f69190810190611469565b90506101ed82610331848460006040519080825280602002602001820160405280156101d05781602001602082028038833901905050610348565b878460405180602001604052806000815250610621565b6060806103d18573ffffffffffffffffffffffffffffffffffffffff1663295c39a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039457600080fd5b505afa1580156103a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103cc9190810190611516565b610640565b905060006103e085838361067c565b90506103ed84838361067c565b9050600060608260405190808252806020026020018201604052801561042d57816020015b61041a61122a565b8152602001906001900390816104125790505b50905060005b84518110156105e657600085828151811061044a57fe5b602002602001015190505b80156105cf576000610466826106df565b905060006104748483610899565b905060405180606001604052808281526020018d73ffffffffffffffffffffffffffffffffffffffff16638928378e846040518263ffffffff1660e01b81526004016104c09190611768565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610510919081019061149e565b81526020018d73ffffffffffffffffffffffffffffffffffffffff166356ea84b2846040518263ffffffff1660e01b815260040161054e9190611768565b60606040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059e91908101906114bc565b905285516001880197879181106105b157fe5b60200260200101819052506105c683836108a4565b92505050610455565b848414156105dd57506105e6565b50600101610433565b5093505050505b9392505050565b6105fc611217565b610604611217565b610613878787876000886108ad565b915091509550959350505050565b610629611217565b610631611217565b610613878787876001886108ad565b60606001610100830401604051908082528060200260200182016040528015610673578160200160208202803883390190505b5090505b919050565b6000805b84518110156106d6576106a68486838151811061069957fe5b6020026020010151610aff565b6106ce576106c7848683815181106106ba57fe5b6020026020010151610b3d565b6001830192505b600101610680565b50909392505050565b600060ff6fffffffffffffffffffffffffffffffff831615610722577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800161072a565b608083901c92505b67ffffffffffffffff831615610761577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610769565b604083901c92505b63ffffffff83161561077e57601f1901610786565b602083901c92505b61ffff8316156107b7577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016107bf565b601083901c92505b60ff8316156107ef577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016107f7565b600883901c92505b600f831615610827577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161082f565b600483901c92505b600383161561085f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610867565b600283901c92505b6001831615610893577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b92915050565b610100919091020190565b6001901b191690565b6108b5611217565b6108bd611217565b8380156108c957508251155b935060005b8551811015610af3576108df611256565b8973ffffffffffffffffffffffffffffffffffffffff166347d1b53c8989858151811061090857fe5b60200260200101516040518363ffffffff1660e01b815260040161092d929190611732565b604080518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097c91908101906114f8565b905061098661122a565b6109a38a89858151811061099657fe5b6020026020010151610b73565b90506109ad611256565b6109bb838360400151610b89565b60208084015151908201519192506000916109db9163ffffffff610c3e16565b90506109e5611217565b6109ed610c9b565b90508915610a9c57610a998e73ffffffffffffffffffffffffffffffffffffffff1663fd04b6068d8981518110610a2057fe5b60200260200101516040518263ffffffff1660e01b8152600401610a449190611768565b60206040518083038186803b158015610a5c57600080fd5b505afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a94919081019061149e565b610cbd565b90505b825115610ac557610abe610ab08383610cf4565b89519063ffffffff610d0d16565b8852610ae3565b610ae0610ad28383610d4c565b88519063ffffffff610d0d16565b87525b50505050508060010190506108ce565b50965096945050505050565b600080610100830490506000610100840690506000816001901b868481518110610b2557fe5b60209081029190910101511615159695505050505050565b815161010082049060ff8316906001821b90859084908110610b5b57fe5b60200260200101818151179150818152505050505050565b610b7b61122a565b6105ed836000855185610d65565b610b91611256565b602083015183516fffffffffffffffffffffffffffffffff9091169015610bff57604080518082019091526001815260208481015190820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b815250915050610893565b604080518082019091526000815283516020820190610bf49084906dffffffffffffffffffffffffffff16670de0b6b3a764000063ffffffff610e6816565b600082610c4d57506000610893565b82820282848281610c5a57fe5b04146105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611714565b60405180910390fd5b610ca3611217565b506040805160208101909152670de0b6b3a7640000815290565b610cc5611217565b604080516020810190915282518190610cec90670de0b6b3a764000063ffffffff610d0d16565b905292915050565b60006105ed83670de0b6b3a76400008460000151610f11565b6000828201838110156105ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611704565b60006105ed838360000151670de0b6b3a7640000610f11565b610d6d61122a565b838303610dea8115801590610da35750816001141580610da3575083878781518110610d9557fe5b602002602001015160000151145b7f4c697175696461746f7250726f787942617365000000000000000000000000007f4d61726b6574206e6f7420666f756e6400000000000000000000000000000000610f27565b6000600182901c860190506000878281518110610e0357fe5b602002602001015160000151905080851015610e2f57610e2588888488610d65565b9350505050610e60565b80851115610e4657610e2588836001018888610d65565b878281518110610e5257fe5b602002602001015193505050505b949350505050565b6000831580610e75575082155b15610e8c57610e85600083610fb6565b90506105ed565b6000610e9e858563ffffffff610c3e16565b9050610f08610ed56001610ec96002610ebd888463ffffffff610ff816565b9063ffffffff610fb616565b9063ffffffff610d0d16565b610ee5838663ffffffff61103a16565b1015610ef2576000610ef5565b60015b60ff16610ec9838663ffffffff610fb616565b95945050505050565b6000610e6082610ebd868663ffffffff610c3e16565b82610fb157610f358261107c565b7f3a20000000000000000000000000000000000000000000000000000000000000610f5f8361107c565b604051602001610f71939291906116bd565b60408051601f19818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610c92916004016116f3565b505050565b60006105ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611132565b60006105ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611183565b60006105ed83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506111c9565b6060808260405160200161109091906116a8565b60408051601f19818403018152919052905060205b801561111b5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106110de57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156111165760010181529050610677565b6110a5565b505060408051600081526020810190915292915050565b6000818361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b50600083858161117957fe5b0495945050505050565b600081848411156111c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b505050900390565b60008183611204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9291906116f3565b5082848161120e57fe5b06949350505050565b6040518060200160405280600081525090565b604051806060016040528060008152602001611244611217565b815260200161125161126d565b905290565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b80356108938161188e565b600082601f8301126112a957600080fd5b81516112bc6112b78261179d565b611776565b915081818352602084019350602081019050838560208402820111156112e157600080fd5b60005b8381101561130d57816112f78882611453565b84525060209283019291909101906001016112e4565b5050505092915050565b8051610893816118a5565b60006020828403121561133457600080fd5b61133e6020611776565b9050600061134c8484611453565b82525092915050565b60006060828403121561136757600080fd5b6113716060611776565b9050600061137f8484611432565b825250602061139084848301611432565b60208301525060406113a48482850161145e565b60408301525092915050565b6000604082840312156113c257600080fd5b6113cc6040611776565b905060006113da848461128d565b82525060206113eb84848301611448565b60208301525092915050565b60006040828403121561140957600080fd5b6114136040611776565b905060006114218484611317565b82525060206113eb8484830161143d565b8051610893816118ae565b8051610893816118b7565b8035610893816118c0565b8051610893816118c0565b8051610893816118c9565b60006020828403121561147b57600080fd5b815167ffffffffffffffff81111561149257600080fd5b610e6084828501611298565b6000602082840312156114b057600080fd5b6000610e608484611322565b6000606082840312156114ce57600080fd5b6000610e608484611355565b6000604082840312156114ec57600080fd5b6000610e6084846113b0565b60006040828403121561150a57600080fd5b6000610e6084846113f7565b60006020828403121561152857600080fd5b6000610e608484611453565b61153d816117cb565b82525050565b61153d61154f826117db565b611800565b61153d61154f82611800565b600061156b826117be565b6115758185610677565b9350611585818560208601611858565b9290920192915050565b61153d8161184d565b60006115a3826117be565b6115ad81856117c2565b93506115bd818560208601611858565b6115c681611884565b9093019392505050565b60006115dd601b836117c2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006116166021836117c2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160408301906116798482611534565b50602082015161168c602085018261169f565b50505050565b8051602083019061168c84825b61153d81611800565b60006116b48284611554565b50602001919050565b60006116c98286611560565b91506116d58285611543565b600282019150610f088284611560565b60208101610893828461158f565b602080825281016105ed8184611598565b60208082528101610893816115d0565b6020808252810161089381611609565b604081016108938284611668565b606081016117408285611668565b6105ed604083018461169f565b6040810161175b8285611692565b6105ed6020830184611692565b60208101610893828461169f565b60405181810167ffffffffffffffff8111828210171561179557600080fd5b604052919050565b600067ffffffffffffffff8211156117b457600080fd5b5060209081020190565b5190565b90815260200190565b60006108938261182b565b151590565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b63ffffffff1690565b6000610893826117cb565b60005b8381101561187357818101518382015260200161185b565b8381111561168c5750506000910152565b601f01601f191690565b611897816117cb565b81146118a257600080fd5b50565b611897816117d6565b61189781611803565b61189781611816565b61189781611800565b6118978161184456fea365627a7a7231582040c9cfb625a0e4b0ec6ef53678ed5a135db807abf347e6479f9b5ab2787c62bb6c6578706572696d656e74616cf564736f6c63430005100040",
179
179
  "sourceMap": "1387:1724:59:-;;;1683:300;8:9:-1;5:2;;;30:1;27;20:12;5:2;1683:300:59;;;;;;;;;;;;;;;;;;;;;1488:25:3;:78;;-1:-1:-1;;;;;;1488:78:3;;;-1:-1:-1;;;;;1488:78:3;;;;;;;-1:-1:-1;3733:18:5;;;;1926:15:59;:50;;;;;;;;;;1387:1724;;5:134:-1;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:134;224:13;;242:33;224:13;242:33;;287:535;;;;436:2;424:9;415:7;411:23;407:32;404:2;;;452:1;449;442:12;404:2;487:1;504:64;560:7;540:9;504:64;;;494:74;;466:108;605:2;623:64;679:7;670:6;659:9;655:22;623:64;;;613:74;;584:109;724:2;742:64;798:7;789:6;778:9;774:22;742:64;;;732:74;;703:109;398:424;;;;;;829:91;;-1:-1;;;;;989:54;;891:24;972:76;1055:72;1117:5;1100:27;1134:117;1203:24;1221:5;1203:24;;;1196:5;1193:35;1183:2;;1242:1;1239;1232:12;1183:2;1177:74;;1258:117;1327:24;1345:5;1327:24;;1301:74;1387:1724:59;;;;;;",
180
180
  "deployedSourceMap": "1387:1724:59:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1387:1724:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:549;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1592:38;;;:::i;:::-;;;;;;;;3602:22:5;;;:::i;:::-;;;;;;;;953:57:3;;;:::i;2544:565:59:-;;;;;;;;;:::i;1989:549::-;2079:28;;:::i;:::-;2109;;:::i;:::-;2182:15;;2236:53;;;;;2182:15;;;;;2207:26;;2182:15;;2236:44;;:53;;2281:7;;2236:53;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2236:53:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2236:53:59;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2236:53:59;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;2236:53:59;;;;;;;;;2207:82;;2318:213;2349:14;2377:60;2393:14;2409:9;2434:1;2420:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2420:16:59;;2377:15;:60::i;:::-;2451:7;2472:9;2495:26;;;;;;;;2517:1;2495:26;;;2318:17;:213::i;:::-;2299:232;;;;-1:-1:-1;1989:549:59;-1:-1:-1;;;;1989:549:59:o;1592:38::-;;;;;;:::o;3602:22:5:-;;;;:::o;953:57:3:-;;;;;;:::o;2544:565:59:-;2642:28;;:::i;:::-;2672;;:::i;:::-;2745:15;;2799:53;;;;;2745:15;;;;;2770:26;;2745:15;;2799:44;;:53;;2844:7;;2799:53;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2799:53:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2799:53:59;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2799:53:59;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;2799:53:59;;;;;;;;;2770:82;;2881:221;2920:14;2948:60;2964:14;2980:9;3005:1;2991:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2991:16:59;2948:15;:60::i;:::-;3022:7;3043:9;3066:26;;;;;;;;3088:1;3066:26;;;2881:25;:221::i;13190:1385:5:-;13363:19;13394:30;13427:50;13446:14;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13446:30:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13446:30:5;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13446:30:5;;;;;;;;;13427:18;:50::i;:::-;13394:83;-1:-1:-1;13487:21:5;13538:63;13558:12;13394:83;13487:21;13538:19;:63::i;:::-;13522:79;;13627:64;13647:13;13662;13677;13627:19;:64::i;:::-;13611:80;;13702:15;13727:31;13778:13;13761:31;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;13727:65;;13807:9;13802:738;13822:13;:20;13818:1;:24;13802:738;;;13863:14;13880:13;13894:1;13880:16;;;;;;;;;;;;;;13863:33;;13910:539;13917:11;;13910:539;;13948:18;13969:35;13997:6;13969:27;:35::i;:::-;13948:56;;14022:16;14041:38;14065:1;14068:10;14041:23;:38::i;:::-;14022:57;;14123:213;;;;;;;;14166:8;14123:213;;;;14203:14;:29;;;14233:8;14203:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14203:39:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14203:39:5;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14203:39:5;;;;;;;;;14123:213;;;;14271:14;:36;;;14308:8;14271:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14271:46:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14271:46:5;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14271:46:5;;;;;;;;;14123:213;;14098:22;;14110:9;;;;14098:11;;:22;;;;;;;;;;;:238;;;;14401:33;14415:6;14423:10;14401:13;:33::i;:::-;14392:42;;13910:539;;;;;14477:13;14466:7;:24;14462:68;;;14510:5;;;14462:68;-1:-1:-1;13844:3:5;;13802:738;;;-1:-1:-1;14557:11:5;-1:-1:-1;;;;13190:1385:5;;;;;;:::o;11756:610::-;12036:21;;:::i;:::-;12067;;:::i;:::-;12116:243;12147:14;12175:11;12200:7;12221:9;12276:5;12330:19;12116:17;:243::i;:::-;12109:250;;;;11756:610;;;;;;;;:::o;12567:617::-;12855:21;;:::i;:::-;12886;;:::i;:::-;12935:242;12966:14;12994:11;13019:7;13040:9;13095:4;13148:19;12935:17;:242::i;999:155:89:-;1064:16;896:1;945:3;1114:9;:25;1113:33;1099:48;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1099:48:89;;1092:55;;999:155;;;;:::o;16535:413:5:-;16691:4;16712:9;16707:205;16727:7;:14;16723:1;:18;16707:205;;;16767:32;16779:7;16788;16796:1;16788:10;;;;;;;;;;;;;;16767:11;:32::i;:::-;16762:140;;16819:32;16831:7;16840;16848:1;16840:10;;;;;;;;;;;;;;16819:11;:32::i;:::-;16886:1;16869:18;;;;16762:140;16743:3;;16707:205;;;-1:-1:-1;16928:13:5;;16535:413;-1:-1:-1;;;16535:413:5:o;2145:1028:89:-;2211:7;2288:3;2306:15;;;:20;2302:101;;2342:10;;2302:101;;;2389:3;2383:9;;;;;2302:101;2417:14;;;:19;2413:98;;2452:9;;2413:98;;;2498:2;2492:8;;;;;2413:98;2525:14;;;:19;2521:98;;-1:-1:-1;;2560:9:89;2521:98;;;2606:2;2600:8;;;;;2521:98;2633:14;;;:19;2629:98;;2668:9;;2629:98;;;2714:2;2708:8;;;;;2629:98;2741:13;;;:18;2737:95;;2775:8;;2737:95;;;2820:1;2814:7;;;;;2737:95;2850:3;2846:7;;:12;2842:89;;2874:8;;2842:89;;;2919:1;2913:7;;;;;2842:89;2949:3;2945:7;;:12;2941:144;;2973:8;;2941:144;;;3018:1;3012:7;;;;;2941:144;3103:3;3099:7;;:12;3095:51;;3127:8;;3095:51;3163:3;2145:1028;-1:-1:-1;;2145:1028:89:o;1160:163::-;945:3;1288:21;;;;1287:29;;1160:163::o;1944:147::-;896:1;2073:10;;2071:13;2062:22;;1944:147::o;14964:1507:5:-;15281:33;;:::i;:::-;15324;;:::i;:::-;15482:23;:57;;;;-1:-1:-1;15509:25:5;;:30;15482:57;15456:83;;15555:9;15550:871;15570:9;:16;15566:1;:20;15550:871;;;15607:20;;:::i;:::-;15630:14;:28;;;15659:7;15668:9;15678:1;15668:12;;;;;;;;;;;;;;15630:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15630:51:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15630:51:5;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15630:51:5;;;;;;;;;15607:74;;15695:28;;:::i;:::-;15726:40;15740:11;15753:9;15763:1;15753:12;;;;;;;;;;;;;;15726:13;:40::i;:::-;15695:71;;15780:24;;:::i;:::-;15807:40;15825:3;15830:10;:16;;;15807:17;:40::i;:::-;15900:16;;;;;:22;15882:13;;;;15780:67;;-1:-1:-1;15861:18:5;;15882:41;;;:17;:41;:::i;:::-;15861:62;;15937:33;;:::i;:::-;15973:13;:11;:13::i;:::-;15937:49;;16004:23;16000:146;;;16063:68;16079:14;:37;;;16117:9;16127:1;16117:12;;;;;;;;;;;;;;16079:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16079:51:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16079:51:5;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;16079:51:5;;;;;;;;;16063:15;:68::i;:::-;16047:84;;16000:146;16163:12;;16159:252;;;16215:61;16237:38;16249:10;16261:13;16237:11;:38::i;:::-;16215:17;;;:61;:21;:61;:::i;:::-;16195:81;;16159:252;;;16335:61;16357:38;16369:10;16381:13;16357:11;:38::i;:::-;16335:17;;;:61;:21;:61;:::i;:::-;16315:81;;16159:252;15550:871;;;;;15588:3;;;;;15550:871;;;-1:-1:-1;14964:1507:5;;;;;;;;;:::o;1610:328:89:-;1715:4;;945:3;1753:8;:24;;-1:-1:-1;1787:22:89;945:3;1812:8;:24;1787:49;;1846:11;1891:14;896:1;1884:21;;1860:7;1868:11;1860:20;;;;;;;;;;;;;;;;;;:46;1923:8;;;1610:328;-1:-1:-1;;;;;;1610:328:89:o;1329:275::-;1550:20;;945:3;1457:24;;;1516;;;;896:1;1575:21;;;1550:7;;1457:24;;1550:20;;;;;;;;;;;:47;;;;;;;;;;;1329:275;;;;:::o;14581:267:5:-;14696:17;;:::i;:::-;14732:109;14759:7;14780:1;14795:7;:14;14823:8;14732:13;:109::i;4250:567:97:-;4381:16;;:::i;:::-;4442:11;;;;4468:10;;4434:20;;;;;4464:347;;;4501:130;;;;;;;;;4535:4;4501:130;;;4597:12;;;;4501:130;;;;4564:52;;:10;;:52;;1250:6;4564:52;:32;:52;:::i;:::-;4501:130;;;4494:137;;;;;4464:347;4669:131;;;;;;;;;-1:-1:-1;4669:131:97;;4766:12;;4669:131;;;;4733:52;;:10;;:52;;1250:6;4733:52;:32;:52;:::i;2159:459:150:-;2217:7;2458:6;2454:45;;-1:-1:-1;2487:1:150;2480:8;;2454:45;2521:5;;;2525:1;2521;:5;:1;2544:5;;;;;:10;2536:56;;;;;;;;;;;;;;;;;;;;;1309:124:91;1371:11;;:::i;:::-;-1:-1:-1;1405:21:91;;;;;;;;;1034:6;1405:21;;1309:124;:::o;1439:168::-;1532:11;;:::i;:::-;1566:34;;;;;;;;;1580:7;;1566:34;;1580:17;;1034:6;1580:17;:11;:17;:::i;:::-;1566:34;;1559:41;1439:168;-1:-1:-1;;1439:168:91:o;1821:202::-;1934:7;1964:52;1994:6;1034;2008:1;:7;;;1964:29;:52::i;834:176:150:-;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;1613:202:91;1726:7;1756:52;1786:6;1794:1;:7;;;1034:6;1756:29;:52::i;16954:1101:5:-;17130:17;;:::i;:::-;17173:29;;;17272:156;17298:8;;;;;:70;;;17311:3;17318:1;17311:8;;:56;;;;17359:8;17323:7;17331:14;17323:23;;;;;;;;;;;;;;:32;;;:44;17311:56;17382:4;17272:156;:12;:156::i;:::-;17505:11;17544:1;17537:3;:8;;17519:14;:27;17505:41;;17556:19;17578:7;17586:3;17578:12;;;;;;;;;;;;;;:21;;;17556:43;;17624:11;17613:8;:22;17609:440;;;17658:131;17689:7;17714:14;17746:3;17767:8;17658:13;:131::i;:::-;17651:138;;;;;;;17609:440;17821:11;17810:8;:22;17806:243;;;17855:133;17886:7;17911:3;17917:1;17911:7;17936:12;17966:8;17855:13;:133::i;17806:243::-;18026:7;18034:3;18026:12;;;;;;;;;;;;;;18019:19;;;;;16954:1101;;;;;;;:::o;2081:724:92:-;2245:7;2272:11;;;:29;;-1:-1:-1;2287:14:92;;2272:29;2268:151;;;2380:28;2393:1;2396:11;2380:12;:28::i;:::-;2373:35;;;;2268:151;2428:11;2442:21;:6;2453:9;2442:21;:10;:21;:::i;:::-;2428:35;-1:-1:-1;2702:96:92;2757:32;2787:1;2757:25;2780:1;2757:18;:11;2787:1;2757:18;:15;:18;:::i;:::-;:22;:25;:22;:25;:::i;:::-;:29;:32;:29;:32;:::i;:::-;2730:23;:6;2741:11;2730:23;:10;:23;:::i;:::-;:59;;:67;;2796:1;2730:67;;;2792:1;2730:67;2702:96;;:23;:6;2713:11;2702:23;:10;:23;:::i;:96::-;2695:103;2081:724;-1:-1:-1;;;;;2081:724:92:o;1132:228::-;1285:7;1315:38;1341:11;1315:21;:6;1326:9;1315:21;:10;:21;:::i;1294:426:99:-;1428:4;1423:291;;1542:24;1561:4;1542:18;:24::i;:::-;1592:5;1623:26;1642:6;1623:18;:26::i;:::-;1500:171;;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;1500:171:99;;;;1448:255;;;;;;;;;1423:291;1294:426;;;:::o;3073:130:150:-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;1274:134::-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;4500:128::-;4558:7;4584:37;4588:1;4591;4584:37;;;;;;;;;;;;;;;;;:3;:37::i;6359:968:99:-;6463:12;6538:19;6577:5;6560:23;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;6560:23:99;;;;-1:-1:-1;49:4;6689:572:99;6710:6;;6689:572;;6962:9;;6864:3;;;;;6962:6;;6864:3;;6962:9;;;;;;;;;;;;:14;6958:293;;7017:1;7013:5;7143:22;;7150:6;-1:-1:-1;7223:13:99;;6958:293;6689:572;;;-1:-1:-1;;7308:12:99;;;7318:1;7308:12;;;;;;;;;7301:19;-1:-1:-1;;6359:968:99:o;3718:338:150:-;3804:7;3904:12;3897:5;3889:28;;;;;;;;;;;;;;;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:150:o;1732:187::-;1818:7;1853:12;1845:6;;;;1837:29;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:150;;;1732:187::o;5132:163::-;5218:7;5253:12;5245:6;5237:29;;;;;;;;;;;;;;;;5287:1;5283;:5;;;;;;;5132:163;-1:-1:-1;;;;5132:163:150:o;1387:1724:59:-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;1387:1724:59;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;1387:1724:59;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:722;;288:3;281:4;273:6;269:17;265:27;255:2;;306:1;303;296:12;255:2;336:6;330:13;358:80;373:64;430:6;373:64;;;358:80;;;349:89;;455:5;480:6;473:5;466:21;510:4;502:6;498:17;488:27;;532:4;527:3;523:14;516:21;;585:6;632:3;624:4;616:6;612:17;607:3;603:27;600:36;597:2;;;649:1;646;639:12;597:2;674:1;659:217;684:6;681:1;678:13;659:217;;;742:3;764:48;808:3;796:10;764:48;;;752:61;;-1:-1;836:4;827:14;;;;855;;;;;706:1;699:9;659:217;;;663:14;248:634;;;;;;;;890:128;965:13;;983:30;965:13;983:30;;1051:344;;1174:4;1162:9;1157:3;1153:19;1149:30;1146:2;;;1192:1;1189;1182:12;1146:2;1210:20;1225:4;1210:20;;;1201:29;-1:-1;1281:1;1313:60;1369:3;1349:9;1313:60;;;1288:86;;-1:-1;1299:5;1140:255;-1:-1;;1140:255;1430:663;;1554:4;1542:9;1537:3;1533:19;1529:30;1526:2;;;1572:1;1569;1562:12;1526:2;1590:20;1605:4;1590:20;;;1581:29;-1:-1;1662:1;1694:60;1750:3;1730:9;1694:60;;;1669:86;;-1:-1;1818:2;1851:60;1907:3;1883:22;;;1851:60;;;1844:4;1837:5;1833:16;1826:86;1776:147;1979:2;2012:59;2067:3;2058:6;2047:9;2043:22;2012:59;;;2005:4;1998:5;1994:16;1987:85;1933:150;1520:573;;;;;2126:468;;2238:4;2226:9;2221:3;2217:19;2213:30;2210:2;;;2256:1;2253;2246:12;2210:2;2274:20;2289:4;2274:20;;;2265:29;-1:-1;2345:1;2377:49;2422:3;2402:9;2377:49;;;2352:75;;-1:-1;2490:2;2523:49;2568:3;2544:22;;;2523:49;;;2516:4;2509:5;2505:16;2498:75;2448:136;2204:390;;;;;2624:495;;2746:4;2734:9;2729:3;2725:19;2721:30;2718:2;;;2764:1;2761;2754:12;2718:2;2782:20;2797:4;2782:20;;;2773:29;-1:-1;2852:1;2884:57;2937:3;2917:9;2884:57;;;2859:83;;-1:-1;3004:2;3037:60;3093:3;3069:22;;;3037:60;;3506:134;3584:13;;3602:33;3584:13;3602:33;;3647:134;3725:13;;3743:33;3725:13;3743:33;;3788:130;3855:20;;3880:33;3855:20;3880:33;;3925:134;4003:13;;4021:33;4003:13;4021:33;;4066:132;4143:13;;4161:32;4143:13;4161:32;;4205:392;;4345:2;4333:9;4324:7;4320:23;4316:32;4313:2;;;4361:1;4358;4351:12;4313:2;4396:24;;4440:18;4429:30;;4426:2;;;4472:1;4469;4462:12;4426:2;4492:89;4573:7;4564:6;4553:9;4549:22;4492:89;;4604:309;;4742:2;4730:9;4721:7;4717:23;4713:32;4710:2;;;4758:1;4755;4748:12;4710:2;4793:1;4810:87;4889:7;4869:9;4810:87;;4920:311;;5059:2;5047:9;5038:7;5034:23;5030:32;5027:2;;;5075:1;5072;5065:12;5027:2;5110:1;5127:88;5207:7;5187:9;5127:88;;5238:287;;5365:2;5353:9;5344:7;5340:23;5336:32;5333:2;;;5381:1;5378;5371:12;5333:2;5416:1;5433:76;5501:7;5481:9;5433:76;;5532:307;;5669:2;5657:9;5648:7;5644:23;5640:32;5637:2;;;5685:1;5682;5675:12;5637:2;5720:1;5737:86;5815:7;5795:9;5737:86;;6164:263;;6279:2;6267:9;6258:7;6254:23;6250:32;6247:2;;;6295:1;6292;6285:12;6247:2;6330:1;6347:64;6403:7;6383:9;6347:64;;6434:103;6507:24;6525:5;6507:24;;;6502:3;6495:37;6489:48;;;6544:148;6643:43;6662:23;6679:5;6662:23;;;6643:43;;6699:152;6800:45;6820:24;6838:5;6820:24;;6858:356;;6986:38;7018:5;6986:38;;;7036:88;7117:6;7112:3;7036:88;;;7029:95;;7129:52;7174:6;7169:3;7162:4;7155:5;7151:16;7129:52;;;7193:16;;;;;6966:248;-1:-1;;6966:248;7221:176;7329:62;7385:5;7329:62;;7603:347;;7715:39;7748:5;7715:39;;;7766:71;7830:6;7825:3;7766:71;;;7759:78;;7842:52;7887:6;7882:3;7875:4;7868:5;7864:16;7842:52;;;7915:29;7937:6;7915:29;;;7906:39;;;;7695:255;-1:-1;;;7695:255;7958:327;;8118:67;8182:2;8177:3;8118:67;;;8218:29;8198:50;;8276:2;8267:12;;8104:181;-1:-1;;8104:181;8294:370;;8454:67;8518:2;8513:3;8454:67;;;8554:34;8534:55;;8623:3;8618:2;8609:12;;8602:25;8655:2;8646:12;;8440:224;-1:-1;;8440:224;8721:475;8927:23;;8860:4;8851:14;;;8956:63;8855:3;8927:23;8956:63;;;8880:145;9100:4;9093:5;9089:16;9083:23;9112:63;9169:4;9164:3;9160:14;9146:12;9112:63;;;9035:146;8833:363;;;;9256:321;9464:23;;9397:4;9388:14;;;9493:63;9392:3;9464:23;9584:103;9657:24;9675:5;9657:24;;9814:244;;9933:75;10004:3;9995:6;9933:75;;;-1:-1;10030:2;10021:12;;9921:137;-1:-1;9921:137;10065:553;;10281:93;10370:3;10361:6;10281:93;;;10274:100;;10385:73;10454:3;10445:6;10385:73;;;10480:1;10475:3;10471:11;10464:18;;10500:93;10589:3;10580:6;10500:93;;10625:263;10768:2;10753:18;;10782:96;10757:9;10851:6;10782:96;;11181:301;11319:2;11333:47;;;11304:18;;11394:78;11304:18;11458:6;11394:78;;11489:407;11680:2;11694:47;;;11665:18;;11755:131;11665:18;11755:131;;11903:407;12094:2;12108:47;;;12079:18;;12169:131;12079:18;12169:131;;12317:305;12481:2;12466:18;;12495:117;12470:9;12585:6;12495:117;;12629:416;12821:2;12806:18;;12835:117;12810:9;12925:6;12835:117;;;12963:72;13031:2;13020:9;13016:18;13007:6;12963:72;;13052:516;13294:2;13279:18;;13308:119;13283:9;13400:6;13308:119;;;13438:120;13554:2;13543:9;13539:18;13530:6;13438:120;;13575:213;13693:2;13678:18;;13707:71;13682:9;13751:6;13707:71;;13795:256;13857:2;13851:9;13883:17;;;13958:18;13943:34;;13979:22;;;13940:62;13937:2;;;14015:1;14012;14005:12;13937:2;14031;14024:22;13835:216;;-1:-1;13835:216;14058:304;;14217:18;14209:6;14206:30;14203:2;;;14249:1;14246;14239:12;14203:2;-1:-1;14284:4;14272:17;;;14337:15;;14140:222;14369:121;14456:12;;14427:63;14780:163;14883:19;;;14932:4;14923:14;;14876:67;14951:91;;15013:24;15031:5;15013:24;;15049:85;15115:13;15108:21;;15091:43;15141:144;15213:66;15202:78;;15185:100;15292:72;15354:5;15337:27;15371:109;15444:30;15433:42;;15416:64;15487:113;15560:34;15549:46;;15532:68;15607:121;15680:42;15669:54;;15652:76;15814:88;15886:10;15875:22;;15858:44;15909:171;;16013:62;16069:5;16013:62;;16570:268;16635:1;16642:101;16656:6;16653:1;16650:13;16642:101;;;16723:11;;;16717:18;16704:11;;;16697:39;16678:2;16671:10;16642:101;;;16758:6;16755:1;16752:13;16749:2;;;-1:-1;;16823:1;16805:16;;16798:27;16619:219;17007:97;17095:2;17075:14;-1:-1;;17071:28;;17055:49;17112:117;17181:24;17199:5;17181:24;;;17174:5;17171:35;17161:2;;17220:1;17217;17210:12;17161:2;17155:74;;17236:111;17302:21;17317:5;17302:21;;17354:117;17423:24;17441:5;17423:24;;17478:117;17547:24;17565:5;17547:24;;17602:117;17671:24;17689:5;17671:24;;17726:115;17794:23;17811:5;17794:23;",
181
181
  "source": "/*\n\n Copyright 2022 Dolomite.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { IDolomiteMargin } from \"../../protocol/interfaces/IDolomiteMargin.sol\";\n\nimport { Account } from \"../../protocol/lib/Account.sol\";\nimport { Actions } from \"../../protocol/lib/Actions.sol\";\nimport { Decimal } from \"../../protocol/lib/Decimal.sol\";\nimport { Monetary } from \"../../protocol/lib/Monetary.sol\";\nimport { Require } from \"../../protocol/lib/Require.sol\";\nimport { Types } from \"../../protocol/lib/Types.sol\";\n\nimport { HasLiquidatorRegistry } from \"../helpers/HasLiquidatorRegistry.sol\";\nimport { LiquidatorProxyBase } from \"../helpers/LiquidatorProxyBase.sol\";\n\n\n/**\n * @title AccountValuesReader\n * @author Dolomite\n *\n * Contract for getting an account's values on ArbitrumOne to avoid the stale index bug.\n */\ncontract AccountValuesReader is LiquidatorProxyBase {\n\n // ============ Constants ============\n\n bytes32 private constant FILE = \"AccountValuesReader\";\n\n // ============ Storage ============\n\n IDolomiteMargin public DOLOMITE_MARGIN;\n\n // ============ Constructor ============\n\n constructor (\n uint256 _chainId,\n address _dolomiteMargin,\n address _liquidatorAssetRegistry\n )\n public\n LiquidatorProxyBase(_chainId)\n HasLiquidatorRegistry(_liquidatorAssetRegistry)\n {\n DOLOMITE_MARGIN = IDolomiteMargin(_dolomiteMargin);\n }\n\n function getAccountValues(\n Account.Info memory account\n ) public view returns (Monetary.Value memory supply, Monetary.Value memory borrow) {\n IDolomiteMargin dolomiteMargin = DOLOMITE_MARGIN;\n uint256[] memory marketIds = dolomiteMargin.getAccountMarketsWithBalances(account);\n (supply, borrow) = _getAccountValues(\n dolomiteMargin,\n _getMarketInfos(dolomiteMargin, marketIds, new uint256[](0)),\n account,\n marketIds,\n Decimal.D256({ value: 0 })\n );\n }\n\n function getAdjustedAccountValues(\n Account.Info memory account\n ) public view returns (Monetary.Value memory supply, Monetary.Value memory borrow) {\n IDolomiteMargin dolomiteMargin = DOLOMITE_MARGIN;\n uint256[] memory marketIds = dolomiteMargin.getAccountMarketsWithBalances(account);\n (supply, borrow) = _getAdjustedAccountValues(\n dolomiteMargin,\n _getMarketInfos(dolomiteMargin, marketIds, new uint256[](0)),\n account,\n marketIds,\n Decimal.D256({ value: 0 })\n );\n }\n}\n",
@@ -3898,7 +3898,7 @@
3898
3898
  },
3899
3899
  "networks": {},
3900
3900
  "schemaVersion": "3.0.23",
3901
- "updatedAt": "2025-01-24T17:53:53.783Z",
3901
+ "updatedAt": "2025-02-23T09:28:57.286Z",
3902
3902
  "devdoc": {
3903
3903
  "author": "Dolomite * Contract for getting an account's values on ArbitrumOne to avoid the stale index bug.",
3904
3904
  "methods": {},
@@ -12960,7 +12960,7 @@
12960
12960
  },
12961
12961
  "networks": {},
12962
12962
  "schemaVersion": "3.0.23",
12963
- "updatedAt": "2025-01-24T17:53:53.951Z",
12963
+ "updatedAt": "2025-02-23T09:28:57.449Z",
12964
12964
  "devdoc": {
12965
12965
  "author": "dYdX * Library that defines and parses valid Actions",
12966
12966
  "methods": {},
@@ -2130,7 +2130,7 @@
2130
2130
  },
2131
2131
  "networks": {},
2132
2132
  "schemaVersion": "3.0.23",
2133
- "updatedAt": "2025-01-24T17:53:54.195Z",
2133
+ "updatedAt": "2025-02-23T09:28:57.671Z",
2134
2134
  "devdoc": {
2135
2135
  "details": "Collection of functions related to the address type",
2136
2136
  "methods": {}