@dolomite-exchange/dolomite-margin 0.14.3 → 0.15.0

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 (265) hide show
  1. package/build/contracts/AAVECopyCatAltCoinInterestSetter.json +37 -37
  2. package/build/contracts/AAVECopyCatStableCoinInterestSetter.json +37 -37
  3. package/build/contracts/Account.json +21 -21
  4. package/build/contracts/AccountActionLib.json +479 -479
  5. package/build/contracts/AccountBalanceLib.json +47 -47
  6. package/build/contracts/AccountMarginLib.json +9 -9
  7. package/build/contracts/AccountValuesReader.json +27 -27
  8. package/build/contracts/Actions.json +101 -101
  9. package/build/contracts/Address.json +229 -229
  10. package/build/contracts/Admin.json +273 -273
  11. package/build/contracts/AdminImpl.json +865 -865
  12. package/build/contracts/AlwaysOnlineOracleSentinel.json +15 -15
  13. package/build/contracts/AlwaysZeroInterestSetter.json +11 -11
  14. package/build/contracts/ArbitrumMultiCall.json +41 -41
  15. package/build/contracts/AuthorizationBase.json +17 -17
  16. package/build/contracts/Bits.json +9 -9
  17. package/build/contracts/BorrowPositionProxyV1.json +127 -127
  18. package/build/contracts/BorrowPositionProxyV2.json +155 -155
  19. package/build/contracts/Cache.json +17 -17
  20. package/build/contracts/CallImpl.json +43 -43
  21. package/build/contracts/ChainlinkOracleSentinel.json +19 -19
  22. package/build/contracts/ChainlinkPriceOracleV1.json +45 -45
  23. package/build/contracts/Context.json +83 -83
  24. package/build/contracts/CustomTestToken.json +229 -229
  25. package/build/contracts/Decimal.json +17 -17
  26. package/build/contracts/DelayedMultiSig.json +49 -49
  27. package/build/contracts/DepositImpl.json +105 -105
  28. package/build/contracts/DepositWithdrawalProxy.json +671 -671
  29. package/build/contracts/DolomiteMargin.json +262 -103
  30. package/build/contracts/DolomiteMarginMath.json +53 -53
  31. package/build/contracts/DolomiteVersionLib.json +17 -17
  32. package/build/contracts/DoubleExponentInterestSetter.json +27 -27
  33. package/build/contracts/ERC20Lib.json +39 -39
  34. package/build/contracts/EnumerableSet.json +699 -699
  35. package/build/contracts/ErroringOmiseToken.json +163 -163
  36. package/build/contracts/ErroringToken.json +257 -257
  37. package/build/contracts/EventEmitterRegistry.json +29 -29
  38. package/build/contracts/Events.json +455 -455
  39. package/build/contracts/ExcessivelySafeCall.json +9 -9
  40. package/build/contracts/Exchange.json +179 -179
  41. package/build/contracts/Expiry.json +475 -475
  42. package/build/contracts/ExpiryProxy.json +77 -77
  43. package/build/contracts/GenericTraderProxyBase.json +75 -75
  44. package/build/contracts/GenericTraderProxyV1.json +225 -207
  45. package/build/contracts/GenericTraderProxyV1Lib.json +141 -141
  46. package/build/contracts/Getters.json +477 -477
  47. package/build/contracts/GettersImpl.json +1273 -1273
  48. package/build/contracts/HasLiquidatorRegistry.json +15 -15
  49. package/build/contracts/HasState.json +17 -17
  50. package/build/contracts/IAccountRiskOverrideSetter.json +9 -9
  51. package/build/contracts/IArbitrumGasInfo.json +5 -5
  52. package/build/contracts/IArbitrumSys.json +5 -5
  53. package/build/contracts/IAuthorizationBase.json +5 -5
  54. package/build/contracts/IAutoTrader.json +35 -35
  55. package/build/contracts/IBorrowPositionProxyV1.json +7 -7
  56. package/build/contracts/IBorrowPositionProxyV2.json +7 -7
  57. package/build/contracts/ICREATE3Factory.json +5 -5
  58. package/build/contracts/ICallee.json +7 -7
  59. package/build/contracts/IChainlinkAccessControlAggregator.json +5 -5
  60. package/build/contracts/IChainlinkAggregator.json +7 -7
  61. package/build/contracts/IChainlinkAutomation.json +5 -5
  62. package/build/contracts/IChainlinkPriceOracleV1.json +9 -9
  63. package/build/contracts/IDepositWithdrawalProxy.json +7 -7
  64. package/build/contracts/IDolomiteMargin.json +121 -121
  65. package/build/contracts/IERC20.json +201 -201
  66. package/build/contracts/IERC20Detailed.json +15 -15
  67. package/build/contracts/IEventEmitterRegistry.json +9 -9
  68. package/build/contracts/IExchangeWrapper.json +5 -5
  69. package/build/contracts/IExpiry.json +9 -9
  70. package/build/contracts/IExternalCallback.json +23 -23
  71. package/build/contracts/IGenericTraderProxyBase.json +33 -33
  72. package/build/contracts/IGenericTraderProxyV1.json +17 -17
  73. package/build/contracts/IInterestSetter.json +7 -7
  74. package/build/contracts/IIsolationModeToken.json +5 -5
  75. package/build/contracts/IIsolationModeUnwrapperTrader.json +9 -9
  76. package/build/contracts/IIsolationModeWrapperTrader.json +9 -9
  77. package/build/contracts/ILiquidatorAssetRegistry.json +5 -5
  78. package/build/contracts/IMantleGasInfo.json +5 -5
  79. package/build/contracts/IOracleSentinel.json +5 -5
  80. package/build/contracts/IPriceOracle.json +7 -7
  81. package/build/contracts/ITransferProxy.json +5 -5
  82. package/build/contracts/IWETH.json +5 -5
  83. package/build/contracts/Interest.json +277 -277
  84. package/build/contracts/LiquidateOrVaporizeImpl.json +832 -832
  85. package/build/contracts/LiquidatorAssetRegistry.json +81 -81
  86. package/build/contracts/LiquidatorProxyBase.json +229 -229
  87. package/build/contracts/LiquidatorProxyV1.json +433 -433
  88. package/build/contracts/LiquidatorProxyV4WithGenericTrader.json +83 -83
  89. package/build/contracts/MalformedToken.json +1085 -1085
  90. package/build/contracts/Math.json +199 -199
  91. package/build/contracts/Migrations.json +11 -11
  92. package/build/contracts/Monetary.json +7 -7
  93. package/build/contracts/MultiCall.json +41 -41
  94. package/build/contracts/MultiSig.json +97 -97
  95. package/build/contracts/OmiseToken.json +915 -915
  96. package/build/contracts/OnlyDolomiteMargin.json +11 -11
  97. package/build/contracts/Operation.json +33 -33
  98. package/build/contracts/OperationImpl.json +506 -473
  99. package/build/contracts/Ownable.json +345 -345
  100. package/build/contracts/PartiallyDelayedMultiSig.json +23 -23
  101. package/build/contracts/PayableProxy.json +57 -57
  102. package/build/contracts/Permission.json +43 -43
  103. package/build/contracts/PolynomialInterestSetter.json +27 -27
  104. package/build/contracts/ReentrancyGuard.json +85 -85
  105. package/build/contracts/Require.json +73 -73
  106. package/build/contracts/SafeERC20.json +779 -779
  107. package/build/contracts/SafeExternalCallback.json +734 -596
  108. package/build/contracts/SafeMath.json +599 -599
  109. package/build/contracts/SignedOperationProxy.json +161 -161
  110. package/build/contracts/Storage.json +7291 -7291
  111. package/build/contracts/TestAccountRiskOverrideSetter.json +235 -235
  112. package/build/contracts/TestAutoTrader.json +1409 -1409
  113. package/build/contracts/TestBtcUsdChainlinkAggregator.json +205 -205
  114. package/build/contracts/TestCallee.json +399 -399
  115. package/build/contracts/TestChainlinkAggregator.json +363 -363
  116. package/build/contracts/TestChainlinkPriceOracleV1.json +383 -383
  117. package/build/contracts/TestCounter.json +165 -165
  118. package/build/contracts/TestDaiUsdChainlinkAggregator.json +205 -205
  119. package/build/contracts/TestDolomiteMargin.json +517 -517
  120. package/build/contracts/TestDoubleExponentInterestSetter.json +119 -119
  121. package/build/contracts/TestEthUsdChainlinkAggregator.json +205 -205
  122. package/build/contracts/TestExchangeWrapper.json +687 -687
  123. package/build/contracts/TestExternalCallback.json +663 -663
  124. package/build/contracts/TestInterestSetter.json +147 -147
  125. package/build/contracts/TestIsolationModeToken.json +219 -219
  126. package/build/contracts/TestIsolationModeUnwrapperTrader.json +1111 -1111
  127. package/build/contracts/TestIsolationModeWrapperTrader.json +915 -915
  128. package/build/contracts/TestLib.json +2529 -2529
  129. package/build/contracts/TestLinkUsdChainlinkAggregator.json +205 -205
  130. package/build/contracts/TestLrcEthChainlinkAggregator.json +205 -205
  131. package/build/contracts/TestMaticUsdChainlinkAggregator.json +205 -205
  132. package/build/contracts/TestOperationImpl.json +141 -141
  133. package/build/contracts/TestParaswapAugustusRouter.json +199 -199
  134. package/build/contracts/TestParaswapTrader.json +631 -631
  135. package/build/contracts/TestParaswapTransferProxy.json +209 -209
  136. package/build/contracts/TestPolynomialInterestSetter.json +119 -119
  137. package/build/contracts/TestPriceOracle.json +133 -133
  138. package/build/contracts/TestSequencerUptimeFeedAggregator.json +229 -229
  139. package/build/contracts/TestSimpleCallee.json +179 -179
  140. package/build/contracts/TestToken.json +1183 -1183
  141. package/build/contracts/TestUsdcUsdChainlinkAggregator.json +205 -205
  142. package/build/contracts/TestWETH.json +327 -327
  143. package/build/contracts/Time.json +61 -61
  144. package/build/contracts/Token.json +371 -371
  145. package/build/contracts/TokenA.json +119 -119
  146. package/build/contracts/TokenB.json +119 -119
  147. package/build/contracts/TokenC.json +119 -119
  148. package/build/contracts/TokenD.json +119 -119
  149. package/build/contracts/TokenE.json +119 -119
  150. package/build/contracts/TokenF.json +119 -119
  151. package/build/contracts/TradeImpl.json +612 -612
  152. package/build/contracts/TransferImpl.json +186 -186
  153. package/build/contracts/TransferProxy.json +49 -49
  154. package/build/contracts/TypedSignature.json +21 -21
  155. package/build/contracts/Types.json +1971 -1971
  156. package/build/contracts/WithdrawalImpl.json +103 -103
  157. package/contracts/protocol/lib/SafeExternalCallback.sol +1 -2
  158. package/dist/build/published_contracts/AAVECopyCatAltCoinInterestSetter.json +15 -10
  159. package/dist/build/published_contracts/AAVECopyCatStableCoinInterestSetter.json +15 -10
  160. package/dist/build/published_contracts/AdminImpl.json +15 -10
  161. package/dist/build/published_contracts/AlwaysOnlineOracleSentinel.json +15 -10
  162. package/dist/build/published_contracts/BorrowPositionProxyV1.json +15 -10
  163. package/dist/build/published_contracts/BorrowPositionProxyV2.json +15 -10
  164. package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +15 -10
  165. package/dist/build/published_contracts/DepositWithdrawalProxy.json +15 -10
  166. package/dist/build/published_contracts/DolomiteMargin.json +25 -30
  167. package/dist/build/published_contracts/DoubleExponentInterestSetter.json +15 -10
  168. package/dist/build/published_contracts/EventEmitterRegistry.json +15 -10
  169. package/dist/build/published_contracts/Expiry.json +15 -10
  170. package/dist/build/published_contracts/ExpiryProxy.json +15 -10
  171. package/dist/build/published_contracts/GenericTraderProxyV1.json +19 -26
  172. package/dist/build/published_contracts/LiquidatorAssetRegistry.json +15 -10
  173. package/dist/build/published_contracts/LiquidatorProxyV1.json +15 -10
  174. package/dist/build/published_contracts/LiquidatorProxyV4WithGenericTrader.json +15 -10
  175. package/dist/build/published_contracts/MultiCall.json +19 -9
  176. package/dist/build/published_contracts/SignedOperationProxy.json +15 -10
  177. package/dist/build/published_contracts/TransferProxy.json +15 -10
  178. package/dist/build/published_contracts/WETH.json +15 -0
  179. package/dist/migrations/deployed.json +531 -378
  180. package/dist/src/DolomiteMargin.js +59 -66
  181. package/dist/src/DolomiteMargin.js.map +1 -1
  182. package/dist/src/index.js +2 -2
  183. package/dist/src/index.js.map +1 -1
  184. package/dist/src/lib/BytesHelper.js +15 -24
  185. package/dist/src/lib/BytesHelper.js.map +1 -1
  186. package/dist/src/lib/Constants.js +11 -11
  187. package/dist/src/lib/Constants.js.map +1 -1
  188. package/dist/src/lib/Contracts.js +188 -273
  189. package/dist/src/lib/Contracts.js.map +1 -1
  190. package/dist/src/lib/Helpers.js +29 -30
  191. package/dist/src/lib/Helpers.js.map +1 -1
  192. package/dist/src/lib/Interest.js +30 -31
  193. package/dist/src/lib/Interest.js.map +1 -1
  194. package/dist/src/lib/SignatureHelper.js +18 -18
  195. package/dist/src/lib/SignatureHelper.js.map +1 -1
  196. package/dist/src/modules/AccountRiskOverrideSetter.js +14 -64
  197. package/dist/src/modules/AccountRiskOverrideSetter.js.map +1 -1
  198. package/dist/src/modules/Admin.js +84 -209
  199. package/dist/src/modules/Admin.js.map +1 -1
  200. package/dist/src/modules/ArbitrumGasInfo.js +40 -147
  201. package/dist/src/modules/ArbitrumGasInfo.js.map +1 -1
  202. package/dist/src/modules/BorrowPositionProxyV1.js +18 -79
  203. package/dist/src/modules/BorrowPositionProxyV1.js.map +1 -1
  204. package/dist/src/modules/BorrowPositionProxyV2.js +38 -143
  205. package/dist/src/modules/BorrowPositionProxyV2.js.map +1 -1
  206. package/dist/src/modules/DepositProxy.js +52 -167
  207. package/dist/src/modules/DepositProxy.js.map +1 -1
  208. package/dist/src/modules/DolomiteMarginMath.js +19 -22
  209. package/dist/src/modules/DolomiteMarginMath.js.map +1 -1
  210. package/dist/src/modules/Expiry.js +36 -121
  211. package/dist/src/modules/Expiry.js.map +1 -1
  212. package/dist/src/modules/ExpiryProxy.js +15 -61
  213. package/dist/src/modules/ExpiryProxy.js.map +1 -1
  214. package/dist/src/modules/GenericTraderProxyV1.js +32 -98
  215. package/dist/src/modules/GenericTraderProxyV1.js.map +1 -1
  216. package/dist/src/modules/Getters.js +455 -1021
  217. package/dist/src/modules/Getters.js.map +1 -1
  218. package/dist/src/modules/IsolationModeUnwrapper.js +34 -101
  219. package/dist/src/modules/IsolationModeUnwrapper.js.map +1 -1
  220. package/dist/src/modules/IsolationModeWrapper.js +34 -101
  221. package/dist/src/modules/IsolationModeWrapper.js.map +1 -1
  222. package/dist/src/modules/LiquidatorAssetRegistry.js +18 -75
  223. package/dist/src/modules/LiquidatorAssetRegistry.js.map +1 -1
  224. package/dist/src/modules/LiquidatorProxyV1.js +18 -64
  225. package/dist/src/modules/LiquidatorProxyV1.js.map +1 -1
  226. package/dist/src/modules/LiquidatorProxyV4WithGenericTrader.js +16 -62
  227. package/dist/src/modules/LiquidatorProxyV4WithGenericTrader.js.map +1 -1
  228. package/dist/src/modules/Logs.js +79 -90
  229. package/dist/src/modules/Logs.js.map +1 -1
  230. package/dist/src/modules/MantleGasInfo.js +8 -55
  231. package/dist/src/modules/MantleGasInfo.js.map +1 -1
  232. package/dist/src/modules/MultiCall.js +28 -86
  233. package/dist/src/modules/MultiCall.js.map +1 -1
  234. package/dist/src/modules/OracleSentinel.js +20 -82
  235. package/dist/src/modules/OracleSentinel.js.map +1 -1
  236. package/dist/src/modules/OrderMapper.js +6 -7
  237. package/dist/src/modules/OrderMapper.js.map +1 -1
  238. package/dist/src/modules/PayableToken.js +59 -177
  239. package/dist/src/modules/PayableToken.js.map +1 -1
  240. package/dist/src/modules/Permissions.js +25 -74
  241. package/dist/src/modules/Permissions.js.map +1 -1
  242. package/dist/src/modules/SignedOperations.js +226 -348
  243. package/dist/src/modules/SignedOperations.js.map +1 -1
  244. package/dist/src/modules/Signer.js +50 -94
  245. package/dist/src/modules/Signer.js.map +1 -1
  246. package/dist/src/modules/StandardActions.js +86 -141
  247. package/dist/src/modules/StandardActions.js.map +1 -1
  248. package/dist/src/modules/SubgraphAPI.js +13 -56
  249. package/dist/src/modules/SubgraphAPI.js.map +1 -1
  250. package/dist/src/modules/Token.js +79 -220
  251. package/dist/src/modules/Token.js.map +1 -1
  252. package/dist/src/modules/TransferProxy.js +24 -94
  253. package/dist/src/modules/TransferProxy.js.map +1 -1
  254. package/dist/src/modules/WalletLogin.js +67 -136
  255. package/dist/src/modules/WalletLogin.js.map +1 -1
  256. package/dist/src/modules/operate/AccountOperation.js +143 -195
  257. package/dist/src/modules/operate/AccountOperation.js.map +1 -1
  258. package/dist/src/modules/operate/Operation.js +6 -7
  259. package/dist/src/modules/operate/Operation.js.map +1 -1
  260. package/dist/src/modules/oracles/ChainlinkPriceOracleV1.js +32 -121
  261. package/dist/src/modules/oracles/ChainlinkPriceOracleV1.js.map +1 -1
  262. package/dist/src/types.js +1 -1
  263. package/dist/src/types.js.map +1 -1
  264. package/package.json +8 -9
  265. package/contracts/external/rebalancers/.gitignore +0 -1
@@ -40,15 +40,15 @@
40
40
  "type": "function"
41
41
  }
42
42
  ],
43
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_borrowWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_supplyWei\",\"type\":\"uint256\"}],\"name\":\"getInterestRate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Interest.Rate\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite\",\"methods\":{},\"title\":\"AAVECopyCatAltCoinInterestSetter.sol\"},\"userdoc\":{\"methods\":{},\"notice\":\"Copies AAVE's interest rate model on Arbitrum for alt coins up until 90% utilization (since Dolomite's markets are smaller). After 90% utilization, scales up to 100% APR.\"}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol\":\"AAVECopyCatAltCoinInterestSetter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol\":{\"keccak256\":\"0xfcf13048be4b7a2c9eb8c3657f90a05f3aaaa1e60c52fbc1883e0ce0ffa0a5b6\",\"urls\":[\"bzz-raw://9cc875f6be6394e5ccf2190d04e0321d425d51d342fe9f0317fbaaee35af90e8\",\"dweb:/ipfs/QmNMtxHefwBmPCdKKBqjvPxSrEmo6UFFbV9fNGWRtYL3vM\"]},\"/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/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/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/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/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/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\"]}},\"version\":1}",
44
- "bytecode": "0x608060405234801561001057600080fd5b5061062c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046103c5565b610059565b6040516100509190610539565b60405180910390f35b61006161039c565b8261007b57506040805160208101909152600081526101d5565b816100aa5760405180602001604052806301e13380670de0b6b3a7640000816100a057fe5b04905290506101d5565b60006100d4836100c886670de0b6b3a764000063ffffffff6101dc16565b9063ffffffff61024216565b9050670de0b6b3a764000081106101115760405180602001604052806301e13380670de0b6b3a76400008161010557fe5b048152509150506101d5565b670c7d713b49da000081111561019a57600061015f67016345785d8a00006100c861014a85670c7d713b49da000063ffffffff61028416565b670ce80612991d00009063ffffffff6101dc16565b9050604051806020016040528061018e6301e133806100c866f8b0a10e470000866102c690919063ffffffff16565b815250925050506101d5565b6040805160208101909152806101cf6301e133806100c8670c7d713b49da00008166f8b0a10e4700008863ffffffff6101dc16565b90529150505b9392505050565b6000826101eb5750600061023c565b828202828482816101f857fe5b0414610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610529565b60405180910390fd5b90505b92915050565b600061023983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610305565b600061023983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610356565b600082820183811015610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610519565b60008183610340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b50600083858161034c57fe5b0495945050505050565b60008184841115610394576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b505050900390565b6040518060200160405280600081525090565b803561023c816105c9565b803561023c816105e0565b6000806000606084860312156103da57600080fd5b60006103e686866103af565b93505060206103f7868287016103ba565b9250506040610408868287016103ba565b9150509250925092565b600061041d82610547565b610427818561054b565b9350610437818560208601610575565b610440816105a1565b9093019392505050565b6000610457601b8361054b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061049060218361054b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906104f384826104f9565b50505050565b61050281610572565b82525050565b602080825281016102398184610412565b6020808252810161023c8161044a565b6020808252810161023c81610483565b6020810161023c82846104e2565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff821661023c565b90565b60005b83811015610590578181015183820152602001610578565b838111156104f35750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6105d281610554565b81146105dd57600080fd5b50565b6105d28161057256fea365627a7a72315820a0dcf42ab44cb835ca3f34bc02618aeac84b875cf2c842034d1a7e2c0651ad096c6578706572696d656e74616cf564736f6c63430005100040",
45
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046103c5565b610059565b6040516100509190610539565b60405180910390f35b61006161039c565b8261007b57506040805160208101909152600081526101d5565b816100aa5760405180602001604052806301e13380670de0b6b3a7640000816100a057fe5b04905290506101d5565b60006100d4836100c886670de0b6b3a764000063ffffffff6101dc16565b9063ffffffff61024216565b9050670de0b6b3a764000081106101115760405180602001604052806301e13380670de0b6b3a76400008161010557fe5b048152509150506101d5565b670c7d713b49da000081111561019a57600061015f67016345785d8a00006100c861014a85670c7d713b49da000063ffffffff61028416565b670ce80612991d00009063ffffffff6101dc16565b9050604051806020016040528061018e6301e133806100c866f8b0a10e470000866102c690919063ffffffff16565b815250925050506101d5565b6040805160208101909152806101cf6301e133806100c8670c7d713b49da00008166f8b0a10e4700008863ffffffff6101dc16565b90529150505b9392505050565b6000826101eb5750600061023c565b828202828482816101f857fe5b0414610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610529565b60405180910390fd5b90505b92915050565b600061023983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610305565b600061023983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610356565b600082820183811015610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610519565b60008183610340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b50600083858161034c57fe5b0495945050505050565b60008184841115610394576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b505050900390565b6040518060200160405280600081525090565b803561023c816105c9565b803561023c816105e0565b6000806000606084860312156103da57600080fd5b60006103e686866103af565b93505060206103f7868287016103ba565b9250506040610408868287016103ba565b9150509250925092565b600061041d82610547565b610427818561054b565b9350610437818560208601610575565b610440816105a1565b9093019392505050565b6000610457601b8361054b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061049060218361054b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906104f384826104f9565b50505050565b61050281610572565b82525050565b602080825281016102398184610412565b6020808252810161023c8161044a565b6020808252810161023c81610483565b6020810161023c82846104e2565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff821661023c565b90565b60005b83811015610590578181015183820152602001610578565b838111156104f35750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6105d281610554565b81146105dd57600080fd5b50565b6105d28161057256fea365627a7a72315820a0dcf42ab44cb835ca3f34bc02618aeac84b875cf2c842034d1a7e2c0651ad096c6578706572696d656e74616cf564736f6c63430005100040",
43
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_borrowWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_supplyWei\",\"type\":\"uint256\"}],\"name\":\"getInterestRate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Interest.Rate\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Dolomite\",\"methods\":{},\"title\":\"AAVECopyCatAltCoinInterestSetter.sol\"},\"userdoc\":{\"methods\":{},\"notice\":\"Copies AAVE's interest rate model on Arbitrum for alt coins up until 90% utilization (since Dolomite's markets are smaller). After 90% utilization, scales up to 100% APR.\"}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol\":\"AAVECopyCatAltCoinInterestSetter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol\":{\"keccak256\":\"0xfcf13048be4b7a2c9eb8c3657f90a05f3aaaa1e60c52fbc1883e0ce0ffa0a5b6\",\"urls\":[\"bzz-raw://9cc875f6be6394e5ccf2190d04e0321d425d51d342fe9f0317fbaaee35af90e8\",\"dweb:/ipfs/QmNMtxHefwBmPCdKKBqjvPxSrEmo6UFFbV9fNGWRtYL3vM\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite/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\"]}},\"version\":1}",
44
+ "bytecode": "0x608060405234801561001057600080fd5b5061062c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046103c5565b610059565b6040516100509190610539565b60405180910390f35b61006161039c565b8261007b57506040805160208101909152600081526101d5565b816100aa5760405180602001604052806301e13380670de0b6b3a7640000816100a057fe5b04905290506101d5565b60006100d4836100c886670de0b6b3a764000063ffffffff6101dc16565b9063ffffffff61024216565b9050670de0b6b3a764000081106101115760405180602001604052806301e13380670de0b6b3a76400008161010557fe5b048152509150506101d5565b670c7d713b49da000081111561019a57600061015f67016345785d8a00006100c861014a85670c7d713b49da000063ffffffff61028416565b670ce80612991d00009063ffffffff6101dc16565b9050604051806020016040528061018e6301e133806100c866f8b0a10e470000866102c690919063ffffffff16565b815250925050506101d5565b6040805160208101909152806101cf6301e133806100c8670c7d713b49da00008166f8b0a10e4700008863ffffffff6101dc16565b90529150505b9392505050565b6000826101eb5750600061023c565b828202828482816101f857fe5b0414610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610529565b60405180910390fd5b90505b92915050565b600061023983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610305565b600061023983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610356565b600082820183811015610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610519565b60008183610340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b50600083858161034c57fe5b0495945050505050565b60008184841115610394576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b505050900390565b6040518060200160405280600081525090565b803561023c816105c9565b803561023c816105e0565b6000806000606084860312156103da57600080fd5b60006103e686866103af565b93505060206103f7868287016103ba565b9250506040610408868287016103ba565b9150509250925092565b600061041d82610547565b610427818561054b565b9350610437818560208601610575565b610440816105a1565b9093019392505050565b6000610457601b8361054b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061049060218361054b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906104f384826104f9565b50505050565b61050281610572565b82525050565b602080825281016102398184610412565b6020808252810161023c8161044a565b6020808252810161023c81610483565b6020810161023c82846104e2565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff821661023c565b90565b60005b83811015610590578181015183820152602001610578565b838111156104f35750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6105d281610554565b81146105dd57600080fd5b50565b6105d28161057256fea365627a7a72315820dc954a9289630f5eda8787403296e2c0a54b02a6c8caa8a990522aa9b1bc2b996c6578706572696d656e74616cf564736f6c63430005100040",
45
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e8177dcf14610030575b600080fd5b61004361003e3660046103c5565b610059565b6040516100509190610539565b60405180910390f35b61006161039c565b8261007b57506040805160208101909152600081526101d5565b816100aa5760405180602001604052806301e13380670de0b6b3a7640000816100a057fe5b04905290506101d5565b60006100d4836100c886670de0b6b3a764000063ffffffff6101dc16565b9063ffffffff61024216565b9050670de0b6b3a764000081106101115760405180602001604052806301e13380670de0b6b3a76400008161010557fe5b048152509150506101d5565b670c7d713b49da000081111561019a57600061015f67016345785d8a00006100c861014a85670c7d713b49da000063ffffffff61028416565b670ce80612991d00009063ffffffff6101dc16565b9050604051806020016040528061018e6301e133806100c866f8b0a10e470000866102c690919063ffffffff16565b815250925050506101d5565b6040805160208101909152806101cf6301e133806100c8670c7d713b49da00008166f8b0a10e4700008863ffffffff6101dc16565b90529150505b9392505050565b6000826101eb5750600061023c565b828202828482816101f857fe5b0414610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610529565b60405180910390fd5b90505b92915050565b600061023983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610305565b600061023983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610356565b600082820183811015610239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023090610519565b60008183610340576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b50600083858161034c57fe5b0495945050505050565b60008184841115610394576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102309190610508565b505050900390565b6040518060200160405280600081525090565b803561023c816105c9565b803561023c816105e0565b6000806000606084860312156103da57600080fd5b60006103e686866103af565b93505060206103f7868287016103ba565b9250506040610408868287016103ba565b9150509250925092565b600061041d82610547565b610427818561054b565b9350610437818560208601610575565b610440816105a1565b9093019392505050565b6000610457601b8361054b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061049060218361054b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906104f384826104f9565b50505050565b61050281610572565b82525050565b602080825281016102398184610412565b6020808252810161023c8161044a565b6020808252810161023c81610483565b6020810161023c82846104e2565b5190565b90815260200190565b600073ffffffffffffffffffffffffffffffffffffffff821661023c565b90565b60005b83811015610590578181015183820152602001610578565b838111156104f35750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6105d281610554565b81146105dd57600080fd5b50565b6105d28161057256fea365627a7a72315820dc954a9289630f5eda8787403296e2c0a54b02a6c8caa8a990522aa9b1bc2b996c6578706572696d656e74616cf564736f6c63430005100040",
46
46
  "sourceMap": "1143:1628:7:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1143:1628:7;;;;;;;",
47
47
  "deployedSourceMap": "1143:1628:7:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1143:1628:7;;;;;;;;;;;;;;;;;;;1533:1236;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1684:20;;:::i;:::-;1724:15;1720:258;;-1:-1:-1;1762:54:7;;;;;;;;;-1:-1:-1;1762:54:7;;1755:61;;1720:258;1837:15;1833:145;;1875:92;;;;;;;;1414:18;1282:4;1913:39;;;;;;1875:92;;1868:99;-1:-1:-1;1868:99:7;;1833:145;1988:19;2010:51;2050:10;2010:35;:10;1282:4;2010:35;:14;:35;:::i;:::-;:39;:51;:39;:51;:::i;:::-;1988:73;;1282:4;2075:11;:34;2071:692;;2132:93;;;;;;;;1414:18;1282:4;2171:39;;;;;;2132:93;;;2125:100;;;;;2071:692;1326:4;2246:11;:28;2242:521;;;2359:21;2383:74;1367:4;2383:57;2408:31;:11;1326:4;2408:31;:15;:31;:::i;:::-;1478:5;;2383:57;:24;:57;:::i;:74::-;2359:98;;2478:109;;;;;;;;2517:55;1414:18;2517:32;1522:4;2517:13;:17;;:32;;;;:::i;:55::-;2478:109;;;2471:116;;;;;;2242:521;2625:127;;;;;;;;;;2664:73;1414:18;2664:50;1326:4;2664:50;1522:4;2682:11;2664:30;:17;:30;:::i;:73::-;2625:127;;2618:134;-1:-1:-1;;1533:1236:7;;;;;;:::o;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;;;;;;;;;;;;;;;;;;;;;;2610:1;-1:-1:-1;2159:459:150;;;;;:::o;3073:130::-;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;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;3718:338;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;1143:1628:7:-;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:130;209:20;;234:33;209:20;234:33;;279:491;;;;417:2;405:9;396:7;392:23;388:32;385:2;;;433:1;430;423:12;385:2;468:1;485:53;530:7;510:9;485:53;;;475:63;;447:97;575:2;593:53;638:7;629:6;618:9;614:22;593:53;;;583:63;;554:98;683:2;701:53;746:7;737:6;726:9;722:22;701:53;;;691:63;;662:98;379:391;;;;;;777:347;;889:39;922:5;889:39;;;940:71;1004:6;999:3;940:71;;;933:78;;1016:52;1061:6;1056:3;1049:4;1042:5;1038:16;1016:52;;;1089:29;1111:6;1089:29;;;1080:39;;;;869:255;-1:-1;;;869:255;1132:327;;1292:67;1356:2;1351:3;1292:67;;;1392:29;1372:50;;1450:2;1441:12;;1278:181;-1:-1;;1278:181;1468:370;;1628:67;1692:2;1687:3;1628:67;;;1728:34;1708:55;;1797:3;1792:2;1783:12;;1776:25;1829:2;1820:12;;1614:224;-1:-1;;1614:224;1897:319;2103:23;;2036:4;2027:14;;;2132:63;2031:3;2103:23;2132:63;;;2056:145;2009:207;;;;2223:103;2296:24;2314:5;2296:24;;;2291:3;2284:37;2278:48;;;2333:301;2471:2;2485:47;;;2456:18;;2546:78;2456:18;2610:6;2546:78;;2641:407;2832:2;2846:47;;;2817:18;;2907:131;2817:18;2907:131;;3055:407;3246:2;3260:47;;;3231:18;;3321:131;3231:18;3321:131;;3469:305;3633:2;3618:18;;3647:117;3622:9;3737:6;3647:117;;3781:122;3869:12;;3840:63;3911:163;4014:19;;;4063:4;4054:14;;4007:67;4082:91;;4253:42;4242:54;;4144:24;4225:76;4308:72;4370:5;4353:27;4388:268;4453:1;4460:101;4474:6;4471:1;4468:13;4460:101;;;4541:11;;;4535:18;4522:11;;;4515:39;4496:2;4489:10;4460:101;;;4576:6;4573:1;4570:13;4567:2;;;-1:-1;;4641:1;4623:16;;4616:27;4437:219;4664:97;4752:2;4732:14;4748:7;4728:28;;4712:49;4769:117;4838:24;4856:5;4838:24;;;4831:5;4828:35;4818:2;;4877:1;4874;4867:12;4818:2;4812:74;;4893:117;4962:24;4980:5;4962:24;",
48
48
  "source": "/*\n\n Copyright 2023 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 { SafeMath } from \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport { IInterestSetter } from \"../../protocol/interfaces/IInterestSetter.sol\";\nimport { Interest } from \"../../protocol/lib/Interest.sol\";\n\n\n/**\n * @title AAVECopyCatAltCoinInterestSetter.sol\n * @author Dolomite\n *\n * @notice Copies AAVE's interest rate model on Arbitrum for alt coins up until 90% utilization (since Dolomite's\n * markets are smaller). After 90% utilization, scales up to 100% APR.\n */\ncontract AAVECopyCatAltCoinInterestSetter is IInterestSetter {\n using SafeMath for uint256;\n\n uint256 constant ONE_HUNDRED_PERCENT = 1e18;\n uint256 constant NINETY_PERCENT = 9e17;\n uint256 constant TEN_PERCENT = 1e17;\n uint256 constant SECONDS_IN_A_YEAR = 60 * 60 * 24 * 365;\n uint256 constant NINETY_THREE_PERCENT = 93e16;\n uint256 constant SEVEN_PERCENT = 7e16;\n\n function getInterestRate(\n address /* token */,\n uint256 _borrowWei,\n uint256 _supplyWei\n )\n external\n view\n returns (Interest.Rate memory)\n {\n if (_borrowWei == 0) {\n return Interest.Rate({\n value: 0\n });\n } else if (_supplyWei == 0) {\n return Interest.Rate({\n value: ONE_HUNDRED_PERCENT / SECONDS_IN_A_YEAR\n });\n }\n\n uint256 utilization = _borrowWei.mul(ONE_HUNDRED_PERCENT).div(_supplyWei);\n if (utilization >= ONE_HUNDRED_PERCENT) {\n return Interest.Rate({\n value: ONE_HUNDRED_PERCENT / SECONDS_IN_A_YEAR\n });\n } else if (utilization > NINETY_PERCENT) {\n // interest is equal to 7% + linear progress to 100% APR\n uint256 interestToAdd = NINETY_THREE_PERCENT.mul(utilization.sub(NINETY_PERCENT)).div(TEN_PERCENT);\n return Interest.Rate({\n value: interestToAdd.add(SEVEN_PERCENT).div(SECONDS_IN_A_YEAR)\n });\n } else {\n return Interest.Rate({\n value: SEVEN_PERCENT.mul(utilization).div(NINETY_PERCENT).div(SECONDS_IN_A_YEAR)\n });\n }\n }\n}\n",
49
- "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
49
+ "sourcePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
50
50
  "ast": {
51
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
51
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
52
52
  "exportedSymbols": {
53
53
  "AAVECopyCatAltCoinInterestSetter": [
54
54
  3205
@@ -83,7 +83,7 @@
83
83
  "id": 3071,
84
84
  "nodeType": "ImportDirective",
85
85
  "scope": 3206,
86
- "sourceUnit": 37362,
86
+ "sourceUnit": 37366,
87
87
  "src": "654:69:7",
88
88
  "symbolAliases": [
89
89
  {
@@ -94,7 +94,7 @@
94
94
  "unitAlias": ""
95
95
  },
96
96
  {
97
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
97
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
98
98
  "file": "../../protocol/interfaces/IInterestSetter.sol",
99
99
  "id": 3073,
100
100
  "nodeType": "ImportDirective",
@@ -110,7 +110,7 @@
110
110
  "unitAlias": ""
111
111
  },
112
112
  {
113
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
113
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
114
114
  "file": "../../protocol/lib/Interest.sol",
115
115
  "id": 3075,
116
116
  "nodeType": "ImportDirective",
@@ -167,10 +167,10 @@
167
167
  "id": 3078,
168
168
  "name": "SafeMath",
169
169
  "nodeType": "UserDefinedTypeName",
170
- "referencedDeclaration": 37361,
170
+ "referencedDeclaration": 37365,
171
171
  "src": "1216:8:7",
172
172
  "typeDescriptions": {
173
- "typeIdentifier": "t_contract$_SafeMath_$37361",
173
+ "typeIdentifier": "t_contract$_SafeMath_$37365",
174
174
  "typeString": "library SafeMath"
175
175
  }
176
176
  },
@@ -971,7 +971,7 @@
971
971
  "lValueRequested": false,
972
972
  "memberName": "mul",
973
973
  "nodeType": "MemberAccess",
974
- "referencedDeclaration": 37278,
974
+ "referencedDeclaration": 37282,
975
975
  "src": "2010:14:7",
976
976
  "typeDescriptions": {
977
977
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -999,7 +999,7 @@
999
999
  "lValueRequested": false,
1000
1000
  "memberName": "div",
1001
1001
  "nodeType": "MemberAccess",
1002
- "referencedDeclaration": 37294,
1002
+ "referencedDeclaration": 37298,
1003
1003
  "src": "2010:39:7",
1004
1004
  "typeDescriptions": {
1005
1005
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1216,7 +1216,7 @@
1216
1216
  "lValueRequested": false,
1217
1217
  "memberName": "mul",
1218
1218
  "nodeType": "MemberAccess",
1219
- "referencedDeclaration": 37278,
1219
+ "referencedDeclaration": 37282,
1220
1220
  "src": "2664:17:7",
1221
1221
  "typeDescriptions": {
1222
1222
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1244,7 +1244,7 @@
1244
1244
  "lValueRequested": false,
1245
1245
  "memberName": "div",
1246
1246
  "nodeType": "MemberAccess",
1247
- "referencedDeclaration": 37294,
1247
+ "referencedDeclaration": 37298,
1248
1248
  "src": "2664:34:7",
1249
1249
  "typeDescriptions": {
1250
1250
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1272,7 +1272,7 @@
1272
1272
  "lValueRequested": false,
1273
1273
  "memberName": "div",
1274
1274
  "nodeType": "MemberAccess",
1275
- "referencedDeclaration": 37294,
1275
+ "referencedDeclaration": 37298,
1276
1276
  "src": "2664:54:7",
1277
1277
  "typeDescriptions": {
1278
1278
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1463,7 +1463,7 @@
1463
1463
  "lValueRequested": false,
1464
1464
  "memberName": "sub",
1465
1465
  "nodeType": "MemberAccess",
1466
- "referencedDeclaration": 37217,
1466
+ "referencedDeclaration": 37221,
1467
1467
  "src": "2408:15:7",
1468
1468
  "typeDescriptions": {
1469
1469
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1512,7 +1512,7 @@
1512
1512
  "lValueRequested": false,
1513
1513
  "memberName": "mul",
1514
1514
  "nodeType": "MemberAccess",
1515
- "referencedDeclaration": 37278,
1515
+ "referencedDeclaration": 37282,
1516
1516
  "src": "2383:24:7",
1517
1517
  "typeDescriptions": {
1518
1518
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1540,7 +1540,7 @@
1540
1540
  "lValueRequested": false,
1541
1541
  "memberName": "div",
1542
1542
  "nodeType": "MemberAccess",
1543
- "referencedDeclaration": 37294,
1543
+ "referencedDeclaration": 37298,
1544
1544
  "src": "2383:61:7",
1545
1545
  "typeDescriptions": {
1546
1546
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1636,7 +1636,7 @@
1636
1636
  "lValueRequested": false,
1637
1637
  "memberName": "add",
1638
1638
  "nodeType": "MemberAccess",
1639
- "referencedDeclaration": 37201,
1639
+ "referencedDeclaration": 37205,
1640
1640
  "src": "2517:17:7",
1641
1641
  "typeDescriptions": {
1642
1642
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -1664,7 +1664,7 @@
1664
1664
  "lValueRequested": false,
1665
1665
  "memberName": "div",
1666
1666
  "nodeType": "MemberAccess",
1667
- "referencedDeclaration": 37294,
1667
+ "referencedDeclaration": 37298,
1668
1668
  "src": "2517:36:7",
1669
1669
  "typeDescriptions": {
1670
1670
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -2004,7 +2004,7 @@
2004
2004
  "src": "595:2177:7"
2005
2005
  },
2006
2006
  "legacyAST": {
2007
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
2007
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/interestsetters/AAVECopyCatAltCoinInterestSetter.sol",
2008
2008
  "exportedSymbols": {
2009
2009
  "AAVECopyCatAltCoinInterestSetter": [
2010
2010
  3205
@@ -2039,7 +2039,7 @@
2039
2039
  "id": 3071,
2040
2040
  "nodeType": "ImportDirective",
2041
2041
  "scope": 3206,
2042
- "sourceUnit": 37362,
2042
+ "sourceUnit": 37366,
2043
2043
  "src": "654:69:7",
2044
2044
  "symbolAliases": [
2045
2045
  {
@@ -2050,7 +2050,7 @@
2050
2050
  "unitAlias": ""
2051
2051
  },
2052
2052
  {
2053
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
2053
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol",
2054
2054
  "file": "../../protocol/interfaces/IInterestSetter.sol",
2055
2055
  "id": 3073,
2056
2056
  "nodeType": "ImportDirective",
@@ -2066,7 +2066,7 @@
2066
2066
  "unitAlias": ""
2067
2067
  },
2068
2068
  {
2069
- "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
2069
+ "absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol",
2070
2070
  "file": "../../protocol/lib/Interest.sol",
2071
2071
  "id": 3075,
2072
2072
  "nodeType": "ImportDirective",
@@ -2123,10 +2123,10 @@
2123
2123
  "id": 3078,
2124
2124
  "name": "SafeMath",
2125
2125
  "nodeType": "UserDefinedTypeName",
2126
- "referencedDeclaration": 37361,
2126
+ "referencedDeclaration": 37365,
2127
2127
  "src": "1216:8:7",
2128
2128
  "typeDescriptions": {
2129
- "typeIdentifier": "t_contract$_SafeMath_$37361",
2129
+ "typeIdentifier": "t_contract$_SafeMath_$37365",
2130
2130
  "typeString": "library SafeMath"
2131
2131
  }
2132
2132
  },
@@ -2927,7 +2927,7 @@
2927
2927
  "lValueRequested": false,
2928
2928
  "memberName": "mul",
2929
2929
  "nodeType": "MemberAccess",
2930
- "referencedDeclaration": 37278,
2930
+ "referencedDeclaration": 37282,
2931
2931
  "src": "2010:14:7",
2932
2932
  "typeDescriptions": {
2933
2933
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -2955,7 +2955,7 @@
2955
2955
  "lValueRequested": false,
2956
2956
  "memberName": "div",
2957
2957
  "nodeType": "MemberAccess",
2958
- "referencedDeclaration": 37294,
2958
+ "referencedDeclaration": 37298,
2959
2959
  "src": "2010:39:7",
2960
2960
  "typeDescriptions": {
2961
2961
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3172,7 +3172,7 @@
3172
3172
  "lValueRequested": false,
3173
3173
  "memberName": "mul",
3174
3174
  "nodeType": "MemberAccess",
3175
- "referencedDeclaration": 37278,
3175
+ "referencedDeclaration": 37282,
3176
3176
  "src": "2664:17:7",
3177
3177
  "typeDescriptions": {
3178
3178
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3200,7 +3200,7 @@
3200
3200
  "lValueRequested": false,
3201
3201
  "memberName": "div",
3202
3202
  "nodeType": "MemberAccess",
3203
- "referencedDeclaration": 37294,
3203
+ "referencedDeclaration": 37298,
3204
3204
  "src": "2664:34:7",
3205
3205
  "typeDescriptions": {
3206
3206
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3228,7 +3228,7 @@
3228
3228
  "lValueRequested": false,
3229
3229
  "memberName": "div",
3230
3230
  "nodeType": "MemberAccess",
3231
- "referencedDeclaration": 37294,
3231
+ "referencedDeclaration": 37298,
3232
3232
  "src": "2664:54:7",
3233
3233
  "typeDescriptions": {
3234
3234
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3419,7 +3419,7 @@
3419
3419
  "lValueRequested": false,
3420
3420
  "memberName": "sub",
3421
3421
  "nodeType": "MemberAccess",
3422
- "referencedDeclaration": 37217,
3422
+ "referencedDeclaration": 37221,
3423
3423
  "src": "2408:15:7",
3424
3424
  "typeDescriptions": {
3425
3425
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3468,7 +3468,7 @@
3468
3468
  "lValueRequested": false,
3469
3469
  "memberName": "mul",
3470
3470
  "nodeType": "MemberAccess",
3471
- "referencedDeclaration": 37278,
3471
+ "referencedDeclaration": 37282,
3472
3472
  "src": "2383:24:7",
3473
3473
  "typeDescriptions": {
3474
3474
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3496,7 +3496,7 @@
3496
3496
  "lValueRequested": false,
3497
3497
  "memberName": "div",
3498
3498
  "nodeType": "MemberAccess",
3499
- "referencedDeclaration": 37294,
3499
+ "referencedDeclaration": 37298,
3500
3500
  "src": "2383:61:7",
3501
3501
  "typeDescriptions": {
3502
3502
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3592,7 +3592,7 @@
3592
3592
  "lValueRequested": false,
3593
3593
  "memberName": "add",
3594
3594
  "nodeType": "MemberAccess",
3595
- "referencedDeclaration": 37201,
3595
+ "referencedDeclaration": 37205,
3596
3596
  "src": "2517:17:7",
3597
3597
  "typeDescriptions": {
3598
3598
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3620,7 +3620,7 @@
3620
3620
  "lValueRequested": false,
3621
3621
  "memberName": "div",
3622
3622
  "nodeType": "MemberAccess",
3623
- "referencedDeclaration": 37294,
3623
+ "referencedDeclaration": 37298,
3624
3624
  "src": "2517:36:7",
3625
3625
  "typeDescriptions": {
3626
3626
  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
@@ -3965,7 +3965,7 @@
3965
3965
  },
3966
3966
  "networks": {},
3967
3967
  "schemaVersion": "3.0.23",
3968
- "updatedAt": "2025-02-23T09:28:57.063Z",
3968
+ "updatedAt": "2026-02-11T18:39:45.201Z",
3969
3969
  "devdoc": {
3970
3970
  "author": "Dolomite",
3971
3971
  "methods": {},