@gearbox-protocol/sdk 3.0.0-vfourabi.1 → 3.0.0-vfourabi.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 (275) hide show
  1. package/.eslintignore +3 -0
  2. package/.github/workflows/lint_pr.yml +18 -0
  3. package/.github/workflows/pr.yml +39 -0
  4. package/.github/workflows/release.yml +47 -0
  5. package/.gitignore +19 -0
  6. package/.husky/commit-msg +1 -0
  7. package/.husky/pre-commit +1 -0
  8. package/.nvmrc +1 -0
  9. package/.releaserc.json +34 -0
  10. package/.vscode/extensions.json +7 -0
  11. package/.vscode/settings.json +16 -0
  12. package/.yarn/install-state.gz +0 -0
  13. package/.yarnrc.yml +1 -0
  14. package/ContributionAgreement +72 -0
  15. package/dist/cjs/abi/iZapper.cjs +85 -0
  16. package/dist/cjs/abi/iZapper.d.ts +123 -0
  17. package/dist/cjs/sdk/index.cjs +19830 -19764
  18. package/dist/cjs/sdk/index.d.ts +3746 -3061
  19. package/dist/esm/abi/iZapper.d.mts +123 -0
  20. package/dist/esm/abi/iZapper.mjs +83 -0
  21. package/dist/esm/sdk/index.d.mts +3746 -3061
  22. package/dist/esm/sdk/index.mjs +19807 -19765
  23. package/jest.config.js +7 -0
  24. package/package.json +32 -2
  25. package/scripts/example.ts +30 -0
  26. package/src/abi/compressors.ts +3962 -0
  27. package/src/abi/errors.ts +196 -0
  28. package/src/abi/iERC20.ts +122 -0
  29. package/src/abi/iPausable.ts +35 -0
  30. package/src/abi/iPriceFeedStore.ts +227 -0
  31. package/src/abi/iUpdatablePriceFeed.ts +16 -0
  32. package/src/abi/iVersion.ts +28 -0
  33. package/src/abi/iZapper.ts +84 -0
  34. package/src/abi/routerV300.ts +378 -0
  35. package/src/abi/v300.ts +4151 -0
  36. package/src/abi/v310.ts +5179 -0
  37. package/src/adapters/AbstractAdapter.ts +28 -0
  38. package/src/adapters/BalancerV2VaultAdapterContract.ts +19 -0
  39. package/src/adapters/BalancerV3RouterAdapterContract.ts +19 -0
  40. package/src/adapters/CamelotV3AdapterContract.ts +20 -0
  41. package/src/adapters/ConvexV1BaseRewardPoolAdapterContract.ts +20 -0
  42. package/src/adapters/ConvexV1BoosterAdapterContract.ts +20 -0
  43. package/src/adapters/Curve2AssetsAdapterContract.ts +20 -0
  44. package/src/adapters/Curve3AssetsAdapterContract.ts +20 -0
  45. package/src/adapters/Curve4AssetsAdapterContract.ts +20 -0
  46. package/src/adapters/CurveV1AdapterStETHContract.ts +20 -0
  47. package/src/adapters/CurveV1StableNGAdapterContract.ts +20 -0
  48. package/src/adapters/DaiUsdsAdapterContract.ts +21 -0
  49. package/src/adapters/ERC4626AdapterContract.ts +20 -0
  50. package/src/adapters/MellowERC4626VaultAdapterContract.ts +20 -0
  51. package/src/adapters/MellowVaultAdapterContract.ts +20 -0
  52. package/src/adapters/PendleRouterAdapterContract.ts +21 -0
  53. package/src/adapters/StakingRewardsAdapterContract.ts +21 -0
  54. package/src/adapters/UniswapV2AdapterContract.ts +20 -0
  55. package/src/adapters/UniswapV3AdapterContract.ts +170 -0
  56. package/src/adapters/VelodromeV2AdapterContract.ts +20 -0
  57. package/src/adapters/WstETHV1AdapterContract.ts +20 -0
  58. package/src/adapters/YearnV2AdapterContract.ts +20 -0
  59. package/src/adapters/abi/adapters.ts +4325 -0
  60. package/src/adapters/abi/iBalancerV3RouterAdapter.ts +126 -0
  61. package/src/adapters/abi/index.ts +2 -0
  62. package/src/adapters/index.ts +2 -0
  63. package/src/adapters/plugin.ts +90 -0
  64. package/src/adapters/types.ts +62 -0
  65. package/src/dev/AccountOpener.ts +611 -0
  66. package/src/dev/PriceFeedStore.ts +95 -0
  67. package/src/dev/SDKExample.ts +167 -0
  68. package/src/dev/abi.ts +14 -0
  69. package/src/dev/calcLiquidatableLTs.ts +77 -0
  70. package/src/dev/createAnvilClient.ts +155 -0
  71. package/src/dev/index.ts +7 -0
  72. package/src/dev/setLTZero.ts +127 -0
  73. package/src/dev/setLTs.ts +68 -0
  74. package/src/sdk/GearboxSDK.ts +488 -0
  75. package/src/sdk/abi/index.ts +1 -0
  76. package/src/sdk/abi/oracles.ts +4614 -0
  77. package/src/sdk/accounts/CreditAccountsService.ts +1123 -0
  78. package/src/sdk/accounts/index.ts +1 -0
  79. package/src/sdk/base/AddressLabeller.ts +35 -0
  80. package/src/sdk/base/BaseContract.ts +237 -0
  81. package/src/sdk/base/IAddressLabeller.ts +13 -0
  82. package/src/sdk/base/PlaceholderContract.ts +12 -0
  83. package/src/sdk/base/SDKConstruct.ts +35 -0
  84. package/src/sdk/base/TokensMeta.ts +45 -0
  85. package/src/sdk/base/index.ts +6 -0
  86. package/src/sdk/base/types.ts +102 -0
  87. package/src/sdk/bots/BotsService.ts +92 -0
  88. package/src/sdk/bots/index.ts +2 -0
  89. package/src/sdk/bots/utils.ts +19 -0
  90. package/src/sdk/chain/Provider.ts +99 -0
  91. package/src/sdk/chain/chains.ts +41 -0
  92. package/src/sdk/chain/detectChain.ts +21 -0
  93. package/src/sdk/chain/index.ts +3 -0
  94. package/src/sdk/constants/address-provider.ts +47 -0
  95. package/src/sdk/constants/addresses.ts +82 -0
  96. package/src/sdk/constants/bot-permissions.ts +36 -0
  97. package/src/sdk/constants/index.ts +6 -0
  98. package/src/sdk/constants/math.ts +23 -0
  99. package/src/sdk/constants/networks.ts +38 -0
  100. package/src/sdk/constants/periphery.ts +7 -0
  101. package/src/sdk/core/BotListV3Contract.ts +103 -0
  102. package/src/sdk/core/GearStakingV3Contract.ts +84 -0
  103. package/src/sdk/core/address-provider/AbstractAddressProviderContract.ts +101 -0
  104. package/src/sdk/core/address-provider/AddressProviderV3Contract.ts +105 -0
  105. package/src/sdk/core/address-provider/AddressProviderV3_1Contract.ts +92 -0
  106. package/src/sdk/core/address-provider/getAddressProvider.ts +45 -0
  107. package/src/sdk/core/address-provider/index.ts +4 -0
  108. package/src/sdk/core/address-provider/types.ts +17 -0
  109. package/src/sdk/core/index.ts +3 -0
  110. package/src/sdk/gauges/GaugeStakingService.ts +100 -0
  111. package/src/sdk/gauges/index.ts +2 -0
  112. package/src/sdk/gauges/utils.ts +25 -0
  113. package/src/sdk/index.ts +17 -0
  114. package/src/sdk/market/MarketConfiguratorContract.ts +78 -0
  115. package/src/sdk/market/MarketRegister.ts +330 -0
  116. package/src/sdk/market/MarketSuite.ts +83 -0
  117. package/src/sdk/market/adapters/PlaceholderAdapterContracts.ts +18 -0
  118. package/src/sdk/market/adapters/factory.ts +34 -0
  119. package/src/sdk/market/adapters/index.ts +3 -0
  120. package/src/sdk/market/adapters/types.ts +7 -0
  121. package/src/sdk/market/credit/CreditConfiguratorV300Contract.ts +164 -0
  122. package/src/sdk/market/credit/CreditConfiguratorV310Contract.ts +139 -0
  123. package/src/sdk/market/credit/CreditFacadeV300Contract.ts +206 -0
  124. package/src/sdk/market/credit/CreditFacadeV310Contract.ts +190 -0
  125. package/src/sdk/market/credit/CreditManagerV300Contract.ts +122 -0
  126. package/src/sdk/market/credit/CreditManagerV310Contract.ts +122 -0
  127. package/src/sdk/market/credit/CreditSuite.ts +65 -0
  128. package/src/sdk/market/credit/createCreditConfigurator.ts +18 -0
  129. package/src/sdk/market/credit/createCreditFacade.ts +18 -0
  130. package/src/sdk/market/credit/createCreditManager.ts +18 -0
  131. package/src/sdk/market/credit/index.ts +8 -0
  132. package/src/sdk/market/credit/types.ts +42 -0
  133. package/src/sdk/market/index.ts +7 -0
  134. package/src/sdk/market/oracle/PriceOracleBaseContract.ts +376 -0
  135. package/src/sdk/market/oracle/PriceOracleV300Contract.ts +71 -0
  136. package/src/sdk/market/oracle/PriceOracleV310Contract.ts +43 -0
  137. package/src/sdk/market/oracle/createPriceOracle.ts +22 -0
  138. package/src/sdk/market/oracle/index.ts +4 -0
  139. package/src/sdk/market/oracle/types.ts +48 -0
  140. package/src/sdk/market/pool/GaugeContract.ts +120 -0
  141. package/src/sdk/market/pool/LinearInterestRateModelContract.ts +75 -0
  142. package/src/sdk/market/pool/PoolQuotaKeeperV300Contract.ts +89 -0
  143. package/src/sdk/market/pool/PoolQuotaKeeperV310Contract.ts +89 -0
  144. package/src/sdk/market/pool/PoolSuite.ts +76 -0
  145. package/src/sdk/market/pool/PoolV300Contract.ts +144 -0
  146. package/src/sdk/market/pool/PoolV310Contract.ts +144 -0
  147. package/src/sdk/market/pool/TumblerContract.ts +73 -0
  148. package/src/sdk/market/pool/createInterestRateModel.ts +33 -0
  149. package/src/sdk/market/pool/createPool.ts +19 -0
  150. package/src/sdk/market/pool/createPoolQuotaKeeper.ts +20 -0
  151. package/src/sdk/market/pool/createRateKeeper.ts +25 -0
  152. package/src/sdk/market/pool/index.ts +6 -0
  153. package/src/sdk/market/pool/types.ts +28 -0
  154. package/src/sdk/market/pricefeeds/AbstractLPPriceFeed.ts +71 -0
  155. package/src/sdk/market/pricefeeds/AbstractPriceFeed.ts +137 -0
  156. package/src/sdk/market/pricefeeds/BalancerStablePriceFeed.ts +24 -0
  157. package/src/sdk/market/pricefeeds/BalancerWeightedPriceFeed.ts +70 -0
  158. package/src/sdk/market/pricefeeds/BoundedPriceFeed.ts +34 -0
  159. package/src/sdk/market/pricefeeds/ChainlinkPriceFeed.ts +16 -0
  160. package/src/sdk/market/pricefeeds/CompositePriceFeed.ts +25 -0
  161. package/src/sdk/market/pricefeeds/CurveCryptoPriceFeed.ts +24 -0
  162. package/src/sdk/market/pricefeeds/CurveStablePriceFeed.ts +24 -0
  163. package/src/sdk/market/pricefeeds/CurveUSDPriceFeed.ts +24 -0
  164. package/src/sdk/market/pricefeeds/Erc4626PriceFeed.ts +36 -0
  165. package/src/sdk/market/pricefeeds/MellowLRTPriceFeed.ts +26 -0
  166. package/src/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.ts +44 -0
  167. package/src/sdk/market/pricefeeds/PriceFeedRef.ts +34 -0
  168. package/src/sdk/market/pricefeeds/PriceFeedsRegister.ts +293 -0
  169. package/src/sdk/market/pricefeeds/RedstonePriceFeed.ts +65 -0
  170. package/src/sdk/market/pricefeeds/RedstoneUpdater.ts +304 -0
  171. package/src/sdk/market/pricefeeds/WstETHPriceFeed.ts +24 -0
  172. package/src/sdk/market/pricefeeds/YearnPriceFeed.ts +24 -0
  173. package/src/sdk/market/pricefeeds/ZeroPriceFeed.ts +17 -0
  174. package/src/sdk/market/pricefeeds/index.ts +20 -0
  175. package/src/sdk/market/pricefeeds/types.ts +82 -0
  176. package/src/sdk/market/pricefeeds/utils.ts +24 -0
  177. package/src/sdk/plugins/index.ts +10 -0
  178. package/src/sdk/router/PathOptionFactory.ts +147 -0
  179. package/src/sdk/router/RouterV3Contract.ts +558 -0
  180. package/src/sdk/router/index.ts +2 -0
  181. package/src/sdk/router/types.ts +48 -0
  182. package/src/sdk/sdk-gov-legacy/contracts/adapters.ts +39 -0
  183. package/src/sdk/sdk-gov-legacy/contracts/contracts.ts +647 -0
  184. package/src/sdk/sdk-gov-legacy/contracts/index.ts +2 -0
  185. package/src/sdk/sdk-gov-legacy/core/constants.ts +11 -0
  186. package/src/sdk/sdk-gov-legacy/index.ts +4 -0
  187. package/src/sdk/sdk-gov-legacy/oracles/PriceFeedType.ts +24 -0
  188. package/src/sdk/sdk-gov-legacy/oracles/index.ts +1 -0
  189. package/src/sdk/sdk-gov-legacy/tokens/aave.ts +101 -0
  190. package/src/sdk/sdk-gov-legacy/tokens/aura.ts +284 -0
  191. package/src/sdk/sdk-gov-legacy/tokens/balancer.ts +421 -0
  192. package/src/sdk/sdk-gov-legacy/tokens/compound.ts +79 -0
  193. package/src/sdk/sdk-gov-legacy/tokens/convex.ts +561 -0
  194. package/src/sdk/sdk-gov-legacy/tokens/curveLP.ts +480 -0
  195. package/src/sdk/sdk-gov-legacy/tokens/decimals.ts +301 -0
  196. package/src/sdk/sdk-gov-legacy/tokens/erc4626.ts +75 -0
  197. package/src/sdk/sdk-gov-legacy/tokens/gear.ts +273 -0
  198. package/src/sdk/sdk-gov-legacy/tokens/index.ts +18 -0
  199. package/src/sdk/sdk-gov-legacy/tokens/normal.ts +613 -0
  200. package/src/sdk/sdk-gov-legacy/tokens/quoted.ts +10 -0
  201. package/src/sdk/sdk-gov-legacy/tokens/stakingRewards.ts +41 -0
  202. package/src/sdk/sdk-gov-legacy/tokens/token.ts +2354 -0
  203. package/src/sdk/sdk-gov-legacy/tokens/tokenData.ts +44 -0
  204. package/src/sdk/sdk-gov-legacy/tokens/tokenType.ts +33 -0
  205. package/src/sdk/sdk-gov-legacy/tokens/wrapped.ts +28 -0
  206. package/src/sdk/sdk-gov-legacy/tokens/yearn.ts +122 -0
  207. package/src/sdk/sdk-gov-legacy/tokens/zircuit.ts +44 -0
  208. package/src/sdk/sdk-legacy/apy/index.ts +149 -0
  209. package/src/sdk/sdk-legacy/core/assets.ts +200 -0
  210. package/src/sdk/sdk-legacy/core/creditAccount.spec.ts +1966 -0
  211. package/src/sdk/sdk-legacy/core/creditAccount.ts +816 -0
  212. package/src/sdk/sdk-legacy/core/creditManager.ts +316 -0
  213. package/src/sdk/sdk-legacy/core/creditSession.ts +352 -0
  214. package/src/sdk/sdk-legacy/core/endpoint.ts +131 -0
  215. package/src/sdk/sdk-legacy/core/eventOrTx.ts +101 -0
  216. package/src/sdk/sdk-legacy/core/pool.ts +439 -0
  217. package/src/sdk/sdk-legacy/core/strategy.ts +82 -0
  218. package/src/sdk/sdk-legacy/core/transactions.ts +865 -0
  219. package/src/sdk/sdk-legacy/gearboxRewards/api.ts +704 -0
  220. package/src/sdk/sdk-legacy/gearboxRewards/apy.ts +267 -0
  221. package/src/sdk/sdk-legacy/gearboxRewards/extraAPY.ts +165 -0
  222. package/src/sdk/sdk-legacy/gearboxRewards/index.ts +3 -0
  223. package/src/sdk/sdk-legacy/gearboxRewards/merklAPI.ts +151 -0
  224. package/src/sdk/sdk-legacy/index.ts +21 -0
  225. package/src/sdk/sdk-legacy/pathfinder/core.ts +18 -0
  226. package/src/sdk/sdk-legacy/pathfinder/index.ts +1 -0
  227. package/src/sdk/sdk-legacy/payload/creditAccount.ts +48 -0
  228. package/src/sdk/sdk-legacy/payload/creditManager.ts +133 -0
  229. package/src/sdk/sdk-legacy/payload/creditSession.ts +143 -0
  230. package/src/sdk/sdk-legacy/payload/graphPayload.ts +10 -0
  231. package/src/sdk/sdk-legacy/payload/pool.ts +198 -0
  232. package/src/sdk/sdk-legacy/payload/token.ts +13 -0
  233. package/src/sdk/sdk-legacy/tokens/tokenData.ts +57 -0
  234. package/src/sdk/sdk-legacy/types/IAirdropDistributor.ts +103 -0
  235. package/src/sdk/sdk-legacy/types/IBaseRewardPool.ts +249 -0
  236. package/src/sdk/sdk-legacy/types/IDataCompressorV3.ts +957 -0
  237. package/src/sdk/sdk-legacy/types/IDegenDistributor.ts +70 -0
  238. package/src/sdk/sdk-legacy/types/IERC20Permit.ts +35 -0
  239. package/src/sdk/sdk-legacy/types/IERC20ZapperDeposits.ts +99 -0
  240. package/src/sdk/sdk-legacy/types/IETHZapperDeposits.ts +27 -0
  241. package/src/sdk/sdk-legacy/types/IFarmingPool.ts +229 -0
  242. package/src/sdk/sdk-legacy/types/IInterestRateModel.ts +23 -0
  243. package/src/sdk/sdk-legacy/types/IMulticall3.ts +242 -0
  244. package/src/sdk/sdk-legacy/types/IOffchainOracle.ts +31 -0
  245. package/src/sdk/sdk-legacy/types/index.ts +11 -0
  246. package/src/sdk/sdk-legacy/utils/formatter.ts +46 -0
  247. package/src/sdk/sdk-legacy/utils/index.ts +3 -0
  248. package/src/sdk/sdk-legacy/utils/math.ts +6 -0
  249. package/src/sdk/sdk-legacy/utils/price.ts +27 -0
  250. package/src/sdk/types/index.ts +5 -0
  251. package/src/sdk/types/logger.ts +13 -0
  252. package/src/sdk/types/state-human.ts +224 -0
  253. package/src/sdk/types/state.ts +8 -0
  254. package/src/sdk/types/transactions.ts +22 -0
  255. package/src/sdk/types/tvl.ts +4 -0
  256. package/src/sdk/utils/AddressMap.ts +111 -0
  257. package/src/sdk/utils/bytes32ToString.ts +6 -0
  258. package/src/sdk/utils/childLogger.ts +8 -0
  259. package/src/sdk/utils/createRawTx.ts +86 -0
  260. package/src/sdk/utils/etherscan.ts +42 -0
  261. package/src/sdk/utils/filterDust.ts +20 -0
  262. package/src/sdk/utils/formatter.ts +124 -0
  263. package/src/sdk/utils/index.ts +10 -0
  264. package/src/sdk/utils/internal/Hooks.ts +51 -0
  265. package/src/sdk/utils/internal/index.ts +1 -0
  266. package/src/sdk/utils/json.ts +27 -0
  267. package/src/sdk/utils/mappers.ts +38 -0
  268. package/src/sdk/utils/retry.ts +24 -0
  269. package/src/sdk/utils/viem/detectNetwork.ts +27 -0
  270. package/src/sdk/utils/viem/index.ts +3 -0
  271. package/src/sdk/utils/viem/sendRawTx.ts +36 -0
  272. package/src/sdk/utils/viem/simulateMulticall.ts +262 -0
  273. package/tsconfig.build.json +4 -0
  274. package/tsconfig.json +16 -0
  275. package/tsup.config.ts +77 -0
@@ -0,0 +1,4151 @@
1
+ export const iAddressProviderV300Abi = [
2
+ {
3
+ type: "function",
4
+ name: "addresses",
5
+ inputs: [
6
+ { name: "key", type: "bytes32", internalType: "bytes32" },
7
+ { name: "_version", type: "uint256", internalType: "uint256" },
8
+ ],
9
+ outputs: [{ name: "", type: "address", internalType: "address" }],
10
+ stateMutability: "view",
11
+ },
12
+ {
13
+ type: "function",
14
+ name: "getAddressOrRevert",
15
+ inputs: [
16
+ { name: "key", type: "bytes32", internalType: "bytes32" },
17
+ { name: "_version", type: "uint256", internalType: "uint256" },
18
+ ],
19
+ outputs: [{ name: "result", type: "address", internalType: "address" }],
20
+ stateMutability: "view",
21
+ },
22
+ {
23
+ type: "function",
24
+ name: "setAddress",
25
+ inputs: [
26
+ { name: "key", type: "bytes32", internalType: "bytes32" },
27
+ { name: "value", type: "address", internalType: "address" },
28
+ { name: "saveVersion", type: "bool", internalType: "bool" },
29
+ ],
30
+ outputs: [],
31
+ stateMutability: "nonpayable",
32
+ },
33
+ {
34
+ type: "function",
35
+ name: "version",
36
+ inputs: [],
37
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
38
+ stateMutability: "view",
39
+ },
40
+ {
41
+ type: "event",
42
+ name: "SetAddress",
43
+ inputs: [
44
+ { name: "key", type: "bytes32", indexed: true, internalType: "bytes32" },
45
+ {
46
+ name: "value",
47
+ type: "address",
48
+ indexed: true,
49
+ internalType: "address",
50
+ },
51
+ {
52
+ name: "version",
53
+ type: "uint256",
54
+ indexed: true,
55
+ internalType: "uint256",
56
+ },
57
+ ],
58
+ anonymous: false,
59
+ },
60
+ ] as const;
61
+
62
+ export const iBotListV300Abi = [
63
+ {
64
+ type: "function",
65
+ name: "activeBots",
66
+ inputs: [
67
+ { name: "creditManager", type: "address", internalType: "address" },
68
+ { name: "creditAccount", type: "address", internalType: "address" },
69
+ ],
70
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
71
+ stateMutability: "view",
72
+ },
73
+ {
74
+ type: "function",
75
+ name: "approvedCreditManager",
76
+ inputs: [
77
+ { name: "creditManager", type: "address", internalType: "address" },
78
+ ],
79
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
80
+ stateMutability: "view",
81
+ },
82
+ {
83
+ type: "function",
84
+ name: "botForbiddenStatus",
85
+ inputs: [{ name: "bot", type: "address", internalType: "address" }],
86
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
87
+ stateMutability: "view",
88
+ },
89
+ {
90
+ type: "function",
91
+ name: "botPermissions",
92
+ inputs: [
93
+ { name: "bot", type: "address", internalType: "address" },
94
+ { name: "creditManager", type: "address", internalType: "address" },
95
+ { name: "creditAccount", type: "address", internalType: "address" },
96
+ ],
97
+ outputs: [{ name: "", type: "uint192", internalType: "uint192" }],
98
+ stateMutability: "view",
99
+ },
100
+ {
101
+ type: "function",
102
+ name: "botSpecialPermissions",
103
+ inputs: [
104
+ { name: "bot", type: "address", internalType: "address" },
105
+ { name: "creditManager", type: "address", internalType: "address" },
106
+ ],
107
+ outputs: [{ name: "", type: "uint192", internalType: "uint192" }],
108
+ stateMutability: "view",
109
+ },
110
+ {
111
+ type: "function",
112
+ name: "eraseAllBotPermissions",
113
+ inputs: [
114
+ { name: "creditManager", type: "address", internalType: "address" },
115
+ { name: "creditAccount", type: "address", internalType: "address" },
116
+ ],
117
+ outputs: [],
118
+ stateMutability: "nonpayable",
119
+ },
120
+ {
121
+ type: "function",
122
+ name: "getBotStatus",
123
+ inputs: [
124
+ { name: "bot", type: "address", internalType: "address" },
125
+ { name: "creditManager", type: "address", internalType: "address" },
126
+ { name: "creditAccount", type: "address", internalType: "address" },
127
+ ],
128
+ outputs: [
129
+ { name: "permissions", type: "uint192", internalType: "uint192" },
130
+ { name: "forbidden", type: "bool", internalType: "bool" },
131
+ { name: "hasSpecialPermissions", type: "bool", internalType: "bool" },
132
+ ],
133
+ stateMutability: "view",
134
+ },
135
+ {
136
+ type: "function",
137
+ name: "setBotForbiddenStatus",
138
+ inputs: [
139
+ { name: "bot", type: "address", internalType: "address" },
140
+ { name: "forbidden", type: "bool", internalType: "bool" },
141
+ ],
142
+ outputs: [],
143
+ stateMutability: "nonpayable",
144
+ },
145
+ {
146
+ type: "function",
147
+ name: "setBotPermissions",
148
+ inputs: [
149
+ { name: "bot", type: "address", internalType: "address" },
150
+ { name: "creditManager", type: "address", internalType: "address" },
151
+ { name: "creditAccount", type: "address", internalType: "address" },
152
+ { name: "permissions", type: "uint192", internalType: "uint192" },
153
+ ],
154
+ outputs: [
155
+ { name: "activeBotsRemaining", type: "uint256", internalType: "uint256" },
156
+ ],
157
+ stateMutability: "nonpayable",
158
+ },
159
+ {
160
+ type: "function",
161
+ name: "setBotSpecialPermissions",
162
+ inputs: [
163
+ { name: "bot", type: "address", internalType: "address" },
164
+ { name: "creditManager", type: "address", internalType: "address" },
165
+ { name: "permissions", type: "uint192", internalType: "uint192" },
166
+ ],
167
+ outputs: [],
168
+ stateMutability: "nonpayable",
169
+ },
170
+ {
171
+ type: "function",
172
+ name: "setCreditManagerApprovedStatus",
173
+ inputs: [
174
+ { name: "creditManager", type: "address", internalType: "address" },
175
+ { name: "approved", type: "bool", internalType: "bool" },
176
+ ],
177
+ outputs: [],
178
+ stateMutability: "nonpayable",
179
+ },
180
+ {
181
+ type: "function",
182
+ name: "version",
183
+ inputs: [],
184
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
185
+ stateMutability: "view",
186
+ },
187
+ {
188
+ type: "event",
189
+ name: "EraseBot",
190
+ inputs: [
191
+ { name: "bot", type: "address", indexed: true, internalType: "address" },
192
+ {
193
+ name: "creditManager",
194
+ type: "address",
195
+ indexed: true,
196
+ internalType: "address",
197
+ },
198
+ {
199
+ name: "creditAccount",
200
+ type: "address",
201
+ indexed: true,
202
+ internalType: "address",
203
+ },
204
+ ],
205
+ anonymous: false,
206
+ },
207
+ {
208
+ type: "event",
209
+ name: "SetBotForbiddenStatus",
210
+ inputs: [
211
+ { name: "bot", type: "address", indexed: true, internalType: "address" },
212
+ { name: "forbidden", type: "bool", indexed: false, internalType: "bool" },
213
+ ],
214
+ anonymous: false,
215
+ },
216
+ {
217
+ type: "event",
218
+ name: "SetBotPermissions",
219
+ inputs: [
220
+ { name: "bot", type: "address", indexed: true, internalType: "address" },
221
+ {
222
+ name: "creditManager",
223
+ type: "address",
224
+ indexed: true,
225
+ internalType: "address",
226
+ },
227
+ {
228
+ name: "creditAccount",
229
+ type: "address",
230
+ indexed: true,
231
+ internalType: "address",
232
+ },
233
+ {
234
+ name: "permissions",
235
+ type: "uint192",
236
+ indexed: false,
237
+ internalType: "uint192",
238
+ },
239
+ ],
240
+ anonymous: false,
241
+ },
242
+ {
243
+ type: "event",
244
+ name: "SetBotSpecialPermissions",
245
+ inputs: [
246
+ { name: "bot", type: "address", indexed: true, internalType: "address" },
247
+ {
248
+ name: "creditManager",
249
+ type: "address",
250
+ indexed: true,
251
+ internalType: "address",
252
+ },
253
+ {
254
+ name: "permissions",
255
+ type: "uint192",
256
+ indexed: false,
257
+ internalType: "uint192",
258
+ },
259
+ ],
260
+ anonymous: false,
261
+ },
262
+ {
263
+ type: "event",
264
+ name: "SetCreditManagerApprovedStatus",
265
+ inputs: [
266
+ {
267
+ name: "creditManager",
268
+ type: "address",
269
+ indexed: true,
270
+ internalType: "address",
271
+ },
272
+ { name: "approved", type: "bool", indexed: false, internalType: "bool" },
273
+ ],
274
+ anonymous: false,
275
+ },
276
+ ] as const;
277
+
278
+ export const iCreditConfiguratorV300Abi = [
279
+ {
280
+ type: "function",
281
+ name: "addCollateralToken",
282
+ inputs: [
283
+ { name: "token", type: "address", internalType: "address" },
284
+ { name: "liquidationThreshold", type: "uint16", internalType: "uint16" },
285
+ ],
286
+ outputs: [],
287
+ stateMutability: "nonpayable",
288
+ },
289
+ {
290
+ type: "function",
291
+ name: "addEmergencyLiquidator",
292
+ inputs: [{ name: "liquidator", type: "address", internalType: "address" }],
293
+ outputs: [],
294
+ stateMutability: "nonpayable",
295
+ },
296
+ {
297
+ type: "function",
298
+ name: "addressProvider",
299
+ inputs: [],
300
+ outputs: [{ name: "", type: "address", internalType: "address" }],
301
+ stateMutability: "view",
302
+ },
303
+ {
304
+ type: "function",
305
+ name: "allowAdapter",
306
+ inputs: [{ name: "adapter", type: "address", internalType: "address" }],
307
+ outputs: [],
308
+ stateMutability: "nonpayable",
309
+ },
310
+ {
311
+ type: "function",
312
+ name: "allowToken",
313
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
314
+ outputs: [],
315
+ stateMutability: "nonpayable",
316
+ },
317
+ {
318
+ type: "function",
319
+ name: "allowedAdapters",
320
+ inputs: [],
321
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
322
+ stateMutability: "view",
323
+ },
324
+ {
325
+ type: "function",
326
+ name: "creditFacade",
327
+ inputs: [],
328
+ outputs: [{ name: "", type: "address", internalType: "address" }],
329
+ stateMutability: "view",
330
+ },
331
+ {
332
+ type: "function",
333
+ name: "creditManager",
334
+ inputs: [],
335
+ outputs: [{ name: "", type: "address", internalType: "address" }],
336
+ stateMutability: "view",
337
+ },
338
+ {
339
+ type: "function",
340
+ name: "emergencyLiquidators",
341
+ inputs: [],
342
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
343
+ stateMutability: "view",
344
+ },
345
+ {
346
+ type: "function",
347
+ name: "forbidAdapter",
348
+ inputs: [{ name: "adapter", type: "address", internalType: "address" }],
349
+ outputs: [],
350
+ stateMutability: "nonpayable",
351
+ },
352
+ {
353
+ type: "function",
354
+ name: "forbidBorrowing",
355
+ inputs: [],
356
+ outputs: [],
357
+ stateMutability: "nonpayable",
358
+ },
359
+ {
360
+ type: "function",
361
+ name: "forbidToken",
362
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
363
+ outputs: [],
364
+ stateMutability: "nonpayable",
365
+ },
366
+ {
367
+ type: "function",
368
+ name: "makeTokenQuoted",
369
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
370
+ outputs: [],
371
+ stateMutability: "nonpayable",
372
+ },
373
+ {
374
+ type: "function",
375
+ name: "rampLiquidationThreshold",
376
+ inputs: [
377
+ { name: "token", type: "address", internalType: "address" },
378
+ {
379
+ name: "liquidationThresholdFinal",
380
+ type: "uint16",
381
+ internalType: "uint16",
382
+ },
383
+ { name: "rampStart", type: "uint40", internalType: "uint40" },
384
+ { name: "rampDuration", type: "uint24", internalType: "uint24" },
385
+ ],
386
+ outputs: [],
387
+ stateMutability: "nonpayable",
388
+ },
389
+ {
390
+ type: "function",
391
+ name: "removeEmergencyLiquidator",
392
+ inputs: [{ name: "liquidator", type: "address", internalType: "address" }],
393
+ outputs: [],
394
+ stateMutability: "nonpayable",
395
+ },
396
+ {
397
+ type: "function",
398
+ name: "resetCumulativeLoss",
399
+ inputs: [],
400
+ outputs: [],
401
+ stateMutability: "nonpayable",
402
+ },
403
+ {
404
+ type: "function",
405
+ name: "setBotList",
406
+ inputs: [{ name: "newVersion", type: "uint256", internalType: "uint256" }],
407
+ outputs: [],
408
+ stateMutability: "nonpayable",
409
+ },
410
+ {
411
+ type: "function",
412
+ name: "setCreditFacade",
413
+ inputs: [
414
+ { name: "newCreditFacade", type: "address", internalType: "address" },
415
+ { name: "migrateParams", type: "bool", internalType: "bool" },
416
+ ],
417
+ outputs: [],
418
+ stateMutability: "nonpayable",
419
+ },
420
+ {
421
+ type: "function",
422
+ name: "setExpirationDate",
423
+ inputs: [
424
+ { name: "newExpirationDate", type: "uint40", internalType: "uint40" },
425
+ ],
426
+ outputs: [],
427
+ stateMutability: "nonpayable",
428
+ },
429
+ {
430
+ type: "function",
431
+ name: "setFees",
432
+ inputs: [
433
+ { name: "feeInterest", type: "uint16", internalType: "uint16" },
434
+ { name: "feeLiquidation", type: "uint16", internalType: "uint16" },
435
+ { name: "liquidationPremium", type: "uint16", internalType: "uint16" },
436
+ { name: "feeLiquidationExpired", type: "uint16", internalType: "uint16" },
437
+ {
438
+ name: "liquidationPremiumExpired",
439
+ type: "uint16",
440
+ internalType: "uint16",
441
+ },
442
+ ],
443
+ outputs: [],
444
+ stateMutability: "nonpayable",
445
+ },
446
+ {
447
+ type: "function",
448
+ name: "setLiquidationThreshold",
449
+ inputs: [
450
+ { name: "token", type: "address", internalType: "address" },
451
+ { name: "liquidationThreshold", type: "uint16", internalType: "uint16" },
452
+ ],
453
+ outputs: [],
454
+ stateMutability: "nonpayable",
455
+ },
456
+ {
457
+ type: "function",
458
+ name: "setMaxCumulativeLoss",
459
+ inputs: [
460
+ {
461
+ name: "newMaxCumulativeLoss",
462
+ type: "uint128",
463
+ internalType: "uint128",
464
+ },
465
+ ],
466
+ outputs: [],
467
+ stateMutability: "nonpayable",
468
+ },
469
+ {
470
+ type: "function",
471
+ name: "setMaxDebtLimit",
472
+ inputs: [{ name: "newMaxDebt", type: "uint128", internalType: "uint128" }],
473
+ outputs: [],
474
+ stateMutability: "nonpayable",
475
+ },
476
+ {
477
+ type: "function",
478
+ name: "setMaxDebtPerBlockMultiplier",
479
+ inputs: [
480
+ {
481
+ name: "newMaxDebtLimitPerBlockMultiplier",
482
+ type: "uint8",
483
+ internalType: "uint8",
484
+ },
485
+ ],
486
+ outputs: [],
487
+ stateMutability: "nonpayable",
488
+ },
489
+ {
490
+ type: "function",
491
+ name: "setMaxEnabledTokens",
492
+ inputs: [
493
+ { name: "newMaxEnabledTokens", type: "uint8", internalType: "uint8" },
494
+ ],
495
+ outputs: [],
496
+ stateMutability: "nonpayable",
497
+ },
498
+ {
499
+ type: "function",
500
+ name: "setMinDebtLimit",
501
+ inputs: [{ name: "newMinDebt", type: "uint128", internalType: "uint128" }],
502
+ outputs: [],
503
+ stateMutability: "nonpayable",
504
+ },
505
+ {
506
+ type: "function",
507
+ name: "setPriceOracle",
508
+ inputs: [{ name: "newVersion", type: "uint256", internalType: "uint256" }],
509
+ outputs: [],
510
+ stateMutability: "nonpayable",
511
+ },
512
+ {
513
+ type: "function",
514
+ name: "underlying",
515
+ inputs: [],
516
+ outputs: [{ name: "", type: "address", internalType: "address" }],
517
+ stateMutability: "view",
518
+ },
519
+ {
520
+ type: "function",
521
+ name: "upgradeCreditConfigurator",
522
+ inputs: [
523
+ {
524
+ name: "newCreditConfigurator",
525
+ type: "address",
526
+ internalType: "address",
527
+ },
528
+ ],
529
+ outputs: [],
530
+ stateMutability: "nonpayable",
531
+ },
532
+ {
533
+ type: "function",
534
+ name: "version",
535
+ inputs: [],
536
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
537
+ stateMutability: "view",
538
+ },
539
+ {
540
+ type: "event",
541
+ name: "AddCollateralToken",
542
+ inputs: [
543
+ {
544
+ name: "token",
545
+ type: "address",
546
+ indexed: true,
547
+ internalType: "address",
548
+ },
549
+ ],
550
+ anonymous: false,
551
+ },
552
+ {
553
+ type: "event",
554
+ name: "AddEmergencyLiquidator",
555
+ inputs: [
556
+ {
557
+ name: "liquidator",
558
+ type: "address",
559
+ indexed: true,
560
+ internalType: "address",
561
+ },
562
+ ],
563
+ anonymous: false,
564
+ },
565
+ {
566
+ type: "event",
567
+ name: "AllowAdapter",
568
+ inputs: [
569
+ {
570
+ name: "targetContract",
571
+ type: "address",
572
+ indexed: true,
573
+ internalType: "address",
574
+ },
575
+ {
576
+ name: "adapter",
577
+ type: "address",
578
+ indexed: true,
579
+ internalType: "address",
580
+ },
581
+ ],
582
+ anonymous: false,
583
+ },
584
+ {
585
+ type: "event",
586
+ name: "AllowToken",
587
+ inputs: [
588
+ {
589
+ name: "token",
590
+ type: "address",
591
+ indexed: true,
592
+ internalType: "address",
593
+ },
594
+ ],
595
+ anonymous: false,
596
+ },
597
+ {
598
+ type: "event",
599
+ name: "CreditConfiguratorUpgraded",
600
+ inputs: [
601
+ {
602
+ name: "creditConfigurator",
603
+ type: "address",
604
+ indexed: true,
605
+ internalType: "address",
606
+ },
607
+ ],
608
+ anonymous: false,
609
+ },
610
+ {
611
+ type: "event",
612
+ name: "ForbidAdapter",
613
+ inputs: [
614
+ {
615
+ name: "targetContract",
616
+ type: "address",
617
+ indexed: true,
618
+ internalType: "address",
619
+ },
620
+ {
621
+ name: "adapter",
622
+ type: "address",
623
+ indexed: true,
624
+ internalType: "address",
625
+ },
626
+ ],
627
+ anonymous: false,
628
+ },
629
+ {
630
+ type: "event",
631
+ name: "ForbidToken",
632
+ inputs: [
633
+ {
634
+ name: "token",
635
+ type: "address",
636
+ indexed: true,
637
+ internalType: "address",
638
+ },
639
+ ],
640
+ anonymous: false,
641
+ },
642
+ {
643
+ type: "event",
644
+ name: "QuoteToken",
645
+ inputs: [
646
+ {
647
+ name: "token",
648
+ type: "address",
649
+ indexed: true,
650
+ internalType: "address",
651
+ },
652
+ ],
653
+ anonymous: false,
654
+ },
655
+ {
656
+ type: "event",
657
+ name: "RemoveEmergencyLiquidator",
658
+ inputs: [
659
+ {
660
+ name: "liquidator",
661
+ type: "address",
662
+ indexed: true,
663
+ internalType: "address",
664
+ },
665
+ ],
666
+ anonymous: false,
667
+ },
668
+ { type: "event", name: "ResetCumulativeLoss", inputs: [], anonymous: false },
669
+ {
670
+ type: "event",
671
+ name: "ScheduleTokenLiquidationThresholdRamp",
672
+ inputs: [
673
+ {
674
+ name: "token",
675
+ type: "address",
676
+ indexed: true,
677
+ internalType: "address",
678
+ },
679
+ {
680
+ name: "liquidationThresholdInitial",
681
+ type: "uint16",
682
+ indexed: false,
683
+ internalType: "uint16",
684
+ },
685
+ {
686
+ name: "liquidationThresholdFinal",
687
+ type: "uint16",
688
+ indexed: false,
689
+ internalType: "uint16",
690
+ },
691
+ {
692
+ name: "timestampRampStart",
693
+ type: "uint40",
694
+ indexed: false,
695
+ internalType: "uint40",
696
+ },
697
+ {
698
+ name: "timestampRampEnd",
699
+ type: "uint40",
700
+ indexed: false,
701
+ internalType: "uint40",
702
+ },
703
+ ],
704
+ anonymous: false,
705
+ },
706
+ {
707
+ type: "event",
708
+ name: "SetBorrowingLimits",
709
+ inputs: [
710
+ {
711
+ name: "minDebt",
712
+ type: "uint256",
713
+ indexed: false,
714
+ internalType: "uint256",
715
+ },
716
+ {
717
+ name: "maxDebt",
718
+ type: "uint256",
719
+ indexed: false,
720
+ internalType: "uint256",
721
+ },
722
+ ],
723
+ anonymous: false,
724
+ },
725
+ {
726
+ type: "event",
727
+ name: "SetBotList",
728
+ inputs: [
729
+ {
730
+ name: "botList",
731
+ type: "address",
732
+ indexed: true,
733
+ internalType: "address",
734
+ },
735
+ ],
736
+ anonymous: false,
737
+ },
738
+ {
739
+ type: "event",
740
+ name: "SetCreditFacade",
741
+ inputs: [
742
+ {
743
+ name: "creditFacade",
744
+ type: "address",
745
+ indexed: true,
746
+ internalType: "address",
747
+ },
748
+ ],
749
+ anonymous: false,
750
+ },
751
+ {
752
+ type: "event",
753
+ name: "SetExpirationDate",
754
+ inputs: [
755
+ {
756
+ name: "expirationDate",
757
+ type: "uint40",
758
+ indexed: false,
759
+ internalType: "uint40",
760
+ },
761
+ ],
762
+ anonymous: false,
763
+ },
764
+ {
765
+ type: "event",
766
+ name: "SetMaxCumulativeLoss",
767
+ inputs: [
768
+ {
769
+ name: "maxCumulativeLoss",
770
+ type: "uint128",
771
+ indexed: false,
772
+ internalType: "uint128",
773
+ },
774
+ ],
775
+ anonymous: false,
776
+ },
777
+ {
778
+ type: "event",
779
+ name: "SetMaxDebtPerBlockMultiplier",
780
+ inputs: [
781
+ {
782
+ name: "maxDebtPerBlockMultiplier",
783
+ type: "uint8",
784
+ indexed: false,
785
+ internalType: "uint8",
786
+ },
787
+ ],
788
+ anonymous: false,
789
+ },
790
+ {
791
+ type: "event",
792
+ name: "SetMaxEnabledTokens",
793
+ inputs: [
794
+ {
795
+ name: "maxEnabledTokens",
796
+ type: "uint8",
797
+ indexed: false,
798
+ internalType: "uint8",
799
+ },
800
+ ],
801
+ anonymous: false,
802
+ },
803
+ {
804
+ type: "event",
805
+ name: "SetPriceOracle",
806
+ inputs: [
807
+ {
808
+ name: "priceOracle",
809
+ type: "address",
810
+ indexed: true,
811
+ internalType: "address",
812
+ },
813
+ ],
814
+ anonymous: false,
815
+ },
816
+ {
817
+ type: "event",
818
+ name: "SetTokenLiquidationThreshold",
819
+ inputs: [
820
+ {
821
+ name: "token",
822
+ type: "address",
823
+ indexed: true,
824
+ internalType: "address",
825
+ },
826
+ {
827
+ name: "liquidationThreshold",
828
+ type: "uint16",
829
+ indexed: false,
830
+ internalType: "uint16",
831
+ },
832
+ ],
833
+ anonymous: false,
834
+ },
835
+ {
836
+ type: "event",
837
+ name: "UpdateFees",
838
+ inputs: [
839
+ {
840
+ name: "feeInterest",
841
+ type: "uint16",
842
+ indexed: false,
843
+ internalType: "uint16",
844
+ },
845
+ {
846
+ name: "feeLiquidation",
847
+ type: "uint16",
848
+ indexed: false,
849
+ internalType: "uint16",
850
+ },
851
+ {
852
+ name: "liquidationPremium",
853
+ type: "uint16",
854
+ indexed: false,
855
+ internalType: "uint16",
856
+ },
857
+ {
858
+ name: "feeLiquidationExpired",
859
+ type: "uint16",
860
+ indexed: false,
861
+ internalType: "uint16",
862
+ },
863
+ {
864
+ name: "liquidationPremiumExpired",
865
+ type: "uint16",
866
+ indexed: false,
867
+ internalType: "uint16",
868
+ },
869
+ ],
870
+ anonymous: false,
871
+ },
872
+ ] as const;
873
+
874
+ export const iCreditFacadeV300Abi = [
875
+ {
876
+ type: "function",
877
+ name: "botList",
878
+ inputs: [],
879
+ outputs: [{ name: "", type: "address", internalType: "address" }],
880
+ stateMutability: "view",
881
+ },
882
+ {
883
+ type: "function",
884
+ name: "botMulticall",
885
+ inputs: [
886
+ { name: "creditAccount", type: "address", internalType: "address" },
887
+ {
888
+ name: "calls",
889
+ type: "tuple[]",
890
+ internalType: "struct MultiCall[]",
891
+ components: [
892
+ { name: "target", type: "address", internalType: "address" },
893
+ { name: "callData", type: "bytes", internalType: "bytes" },
894
+ ],
895
+ },
896
+ ],
897
+ outputs: [],
898
+ stateMutability: "nonpayable",
899
+ },
900
+ {
901
+ type: "function",
902
+ name: "canLiquidateWhilePaused",
903
+ inputs: [{ name: "", type: "address", internalType: "address" }],
904
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
905
+ stateMutability: "view",
906
+ },
907
+ {
908
+ type: "function",
909
+ name: "closeCreditAccount",
910
+ inputs: [
911
+ { name: "creditAccount", type: "address", internalType: "address" },
912
+ {
913
+ name: "calls",
914
+ type: "tuple[]",
915
+ internalType: "struct MultiCall[]",
916
+ components: [
917
+ { name: "target", type: "address", internalType: "address" },
918
+ { name: "callData", type: "bytes", internalType: "bytes" },
919
+ ],
920
+ },
921
+ ],
922
+ outputs: [],
923
+ stateMutability: "payable",
924
+ },
925
+ {
926
+ type: "function",
927
+ name: "creditManager",
928
+ inputs: [],
929
+ outputs: [{ name: "", type: "address", internalType: "address" }],
930
+ stateMutability: "view",
931
+ },
932
+ {
933
+ type: "function",
934
+ name: "debtLimits",
935
+ inputs: [],
936
+ outputs: [
937
+ { name: "minDebt", type: "uint128", internalType: "uint128" },
938
+ { name: "maxDebt", type: "uint128", internalType: "uint128" },
939
+ ],
940
+ stateMutability: "view",
941
+ },
942
+ {
943
+ type: "function",
944
+ name: "degenNFT",
945
+ inputs: [],
946
+ outputs: [{ name: "", type: "address", internalType: "address" }],
947
+ stateMutability: "view",
948
+ },
949
+ {
950
+ type: "function",
951
+ name: "expirable",
952
+ inputs: [],
953
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
954
+ stateMutability: "view",
955
+ },
956
+ {
957
+ type: "function",
958
+ name: "expirationDate",
959
+ inputs: [],
960
+ outputs: [{ name: "", type: "uint40", internalType: "uint40" }],
961
+ stateMutability: "view",
962
+ },
963
+ {
964
+ type: "function",
965
+ name: "forbiddenTokenMask",
966
+ inputs: [],
967
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
968
+ stateMutability: "view",
969
+ },
970
+ {
971
+ type: "function",
972
+ name: "liquidateCreditAccount",
973
+ inputs: [
974
+ { name: "creditAccount", type: "address", internalType: "address" },
975
+ { name: "to", type: "address", internalType: "address" },
976
+ {
977
+ name: "calls",
978
+ type: "tuple[]",
979
+ internalType: "struct MultiCall[]",
980
+ components: [
981
+ { name: "target", type: "address", internalType: "address" },
982
+ { name: "callData", type: "bytes", internalType: "bytes" },
983
+ ],
984
+ },
985
+ ],
986
+ outputs: [],
987
+ stateMutability: "nonpayable",
988
+ },
989
+ {
990
+ type: "function",
991
+ name: "lossParams",
992
+ inputs: [],
993
+ outputs: [
994
+ {
995
+ name: "currentCumulativeLoss",
996
+ type: "uint128",
997
+ internalType: "uint128",
998
+ },
999
+ { name: "maxCumulativeLoss", type: "uint128", internalType: "uint128" },
1000
+ ],
1001
+ stateMutability: "view",
1002
+ },
1003
+ {
1004
+ type: "function",
1005
+ name: "maxDebtPerBlockMultiplier",
1006
+ inputs: [],
1007
+ outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
1008
+ stateMutability: "view",
1009
+ },
1010
+ {
1011
+ type: "function",
1012
+ name: "maxQuotaMultiplier",
1013
+ inputs: [],
1014
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1015
+ stateMutability: "view",
1016
+ },
1017
+ {
1018
+ type: "function",
1019
+ name: "multicall",
1020
+ inputs: [
1021
+ { name: "creditAccount", type: "address", internalType: "address" },
1022
+ {
1023
+ name: "calls",
1024
+ type: "tuple[]",
1025
+ internalType: "struct MultiCall[]",
1026
+ components: [
1027
+ { name: "target", type: "address", internalType: "address" },
1028
+ { name: "callData", type: "bytes", internalType: "bytes" },
1029
+ ],
1030
+ },
1031
+ ],
1032
+ outputs: [],
1033
+ stateMutability: "payable",
1034
+ },
1035
+ {
1036
+ type: "function",
1037
+ name: "openCreditAccount",
1038
+ inputs: [
1039
+ { name: "onBehalfOf", type: "address", internalType: "address" },
1040
+ {
1041
+ name: "calls",
1042
+ type: "tuple[]",
1043
+ internalType: "struct MultiCall[]",
1044
+ components: [
1045
+ { name: "target", type: "address", internalType: "address" },
1046
+ { name: "callData", type: "bytes", internalType: "bytes" },
1047
+ ],
1048
+ },
1049
+ { name: "referralCode", type: "uint256", internalType: "uint256" },
1050
+ ],
1051
+ outputs: [
1052
+ { name: "creditAccount", type: "address", internalType: "address" },
1053
+ ],
1054
+ stateMutability: "payable",
1055
+ },
1056
+ {
1057
+ type: "function",
1058
+ name: "setBotList",
1059
+ inputs: [{ name: "newBotList", type: "address", internalType: "address" }],
1060
+ outputs: [],
1061
+ stateMutability: "nonpayable",
1062
+ },
1063
+ {
1064
+ type: "function",
1065
+ name: "setBotPermissions",
1066
+ inputs: [
1067
+ { name: "creditAccount", type: "address", internalType: "address" },
1068
+ { name: "bot", type: "address", internalType: "address" },
1069
+ { name: "permissions", type: "uint192", internalType: "uint192" },
1070
+ ],
1071
+ outputs: [],
1072
+ stateMutability: "nonpayable",
1073
+ },
1074
+ {
1075
+ type: "function",
1076
+ name: "setCumulativeLossParams",
1077
+ inputs: [
1078
+ {
1079
+ name: "newMaxCumulativeLoss",
1080
+ type: "uint128",
1081
+ internalType: "uint128",
1082
+ },
1083
+ { name: "resetCumulativeLoss", type: "bool", internalType: "bool" },
1084
+ ],
1085
+ outputs: [],
1086
+ stateMutability: "nonpayable",
1087
+ },
1088
+ {
1089
+ type: "function",
1090
+ name: "setDebtLimits",
1091
+ inputs: [
1092
+ { name: "newMinDebt", type: "uint128", internalType: "uint128" },
1093
+ { name: "newMaxDebt", type: "uint128", internalType: "uint128" },
1094
+ {
1095
+ name: "newMaxDebtPerBlockMultiplier",
1096
+ type: "uint8",
1097
+ internalType: "uint8",
1098
+ },
1099
+ ],
1100
+ outputs: [],
1101
+ stateMutability: "nonpayable",
1102
+ },
1103
+ {
1104
+ type: "function",
1105
+ name: "setEmergencyLiquidator",
1106
+ inputs: [
1107
+ { name: "liquidator", type: "address", internalType: "address" },
1108
+ {
1109
+ name: "allowance",
1110
+ type: "uint8",
1111
+ internalType: "enum AllowanceAction",
1112
+ },
1113
+ ],
1114
+ outputs: [],
1115
+ stateMutability: "nonpayable",
1116
+ },
1117
+ {
1118
+ type: "function",
1119
+ name: "setExpirationDate",
1120
+ inputs: [
1121
+ { name: "newExpirationDate", type: "uint40", internalType: "uint40" },
1122
+ ],
1123
+ outputs: [],
1124
+ stateMutability: "nonpayable",
1125
+ },
1126
+ {
1127
+ type: "function",
1128
+ name: "setTokenAllowance",
1129
+ inputs: [
1130
+ { name: "token", type: "address", internalType: "address" },
1131
+ {
1132
+ name: "allowance",
1133
+ type: "uint8",
1134
+ internalType: "enum AllowanceAction",
1135
+ },
1136
+ ],
1137
+ outputs: [],
1138
+ stateMutability: "nonpayable",
1139
+ },
1140
+ {
1141
+ type: "function",
1142
+ name: "version",
1143
+ inputs: [],
1144
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1145
+ stateMutability: "view",
1146
+ },
1147
+ {
1148
+ type: "function",
1149
+ name: "weth",
1150
+ inputs: [],
1151
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1152
+ stateMutability: "view",
1153
+ },
1154
+ {
1155
+ type: "event",
1156
+ name: "AddCollateral",
1157
+ inputs: [
1158
+ {
1159
+ name: "creditAccount",
1160
+ type: "address",
1161
+ indexed: true,
1162
+ internalType: "address",
1163
+ },
1164
+ {
1165
+ name: "token",
1166
+ type: "address",
1167
+ indexed: true,
1168
+ internalType: "address",
1169
+ },
1170
+ {
1171
+ name: "amount",
1172
+ type: "uint256",
1173
+ indexed: false,
1174
+ internalType: "uint256",
1175
+ },
1176
+ ],
1177
+ anonymous: false,
1178
+ },
1179
+ {
1180
+ type: "event",
1181
+ name: "CloseCreditAccount",
1182
+ inputs: [
1183
+ {
1184
+ name: "creditAccount",
1185
+ type: "address",
1186
+ indexed: true,
1187
+ internalType: "address",
1188
+ },
1189
+ {
1190
+ name: "borrower",
1191
+ type: "address",
1192
+ indexed: true,
1193
+ internalType: "address",
1194
+ },
1195
+ ],
1196
+ anonymous: false,
1197
+ },
1198
+ {
1199
+ type: "event",
1200
+ name: "DecreaseDebt",
1201
+ inputs: [
1202
+ {
1203
+ name: "creditAccount",
1204
+ type: "address",
1205
+ indexed: true,
1206
+ internalType: "address",
1207
+ },
1208
+ {
1209
+ name: "amount",
1210
+ type: "uint256",
1211
+ indexed: false,
1212
+ internalType: "uint256",
1213
+ },
1214
+ ],
1215
+ anonymous: false,
1216
+ },
1217
+ {
1218
+ type: "event",
1219
+ name: "Execute",
1220
+ inputs: [
1221
+ {
1222
+ name: "creditAccount",
1223
+ type: "address",
1224
+ indexed: true,
1225
+ internalType: "address",
1226
+ },
1227
+ {
1228
+ name: "targetContract",
1229
+ type: "address",
1230
+ indexed: true,
1231
+ internalType: "address",
1232
+ },
1233
+ ],
1234
+ anonymous: false,
1235
+ },
1236
+ { type: "event", name: "FinishMultiCall", inputs: [], anonymous: false },
1237
+ {
1238
+ type: "event",
1239
+ name: "IncreaseDebt",
1240
+ inputs: [
1241
+ {
1242
+ name: "creditAccount",
1243
+ type: "address",
1244
+ indexed: true,
1245
+ internalType: "address",
1246
+ },
1247
+ {
1248
+ name: "amount",
1249
+ type: "uint256",
1250
+ indexed: false,
1251
+ internalType: "uint256",
1252
+ },
1253
+ ],
1254
+ anonymous: false,
1255
+ },
1256
+ {
1257
+ type: "event",
1258
+ name: "LiquidateCreditAccount",
1259
+ inputs: [
1260
+ {
1261
+ name: "creditAccount",
1262
+ type: "address",
1263
+ indexed: true,
1264
+ internalType: "address",
1265
+ },
1266
+ {
1267
+ name: "liquidator",
1268
+ type: "address",
1269
+ indexed: true,
1270
+ internalType: "address",
1271
+ },
1272
+ { name: "to", type: "address", indexed: false, internalType: "address" },
1273
+ {
1274
+ name: "remainingFunds",
1275
+ type: "uint256",
1276
+ indexed: false,
1277
+ internalType: "uint256",
1278
+ },
1279
+ ],
1280
+ anonymous: false,
1281
+ },
1282
+ {
1283
+ type: "event",
1284
+ name: "OpenCreditAccount",
1285
+ inputs: [
1286
+ {
1287
+ name: "creditAccount",
1288
+ type: "address",
1289
+ indexed: true,
1290
+ internalType: "address",
1291
+ },
1292
+ {
1293
+ name: "onBehalfOf",
1294
+ type: "address",
1295
+ indexed: true,
1296
+ internalType: "address",
1297
+ },
1298
+ {
1299
+ name: "caller",
1300
+ type: "address",
1301
+ indexed: true,
1302
+ internalType: "address",
1303
+ },
1304
+ {
1305
+ name: "referralCode",
1306
+ type: "uint256",
1307
+ indexed: false,
1308
+ internalType: "uint256",
1309
+ },
1310
+ ],
1311
+ anonymous: false,
1312
+ },
1313
+ {
1314
+ type: "event",
1315
+ name: "StartMultiCall",
1316
+ inputs: [
1317
+ {
1318
+ name: "creditAccount",
1319
+ type: "address",
1320
+ indexed: true,
1321
+ internalType: "address",
1322
+ },
1323
+ {
1324
+ name: "caller",
1325
+ type: "address",
1326
+ indexed: true,
1327
+ internalType: "address",
1328
+ },
1329
+ ],
1330
+ anonymous: false,
1331
+ },
1332
+ {
1333
+ type: "event",
1334
+ name: "WithdrawCollateral",
1335
+ inputs: [
1336
+ {
1337
+ name: "creditAccount",
1338
+ type: "address",
1339
+ indexed: true,
1340
+ internalType: "address",
1341
+ },
1342
+ {
1343
+ name: "token",
1344
+ type: "address",
1345
+ indexed: true,
1346
+ internalType: "address",
1347
+ },
1348
+ {
1349
+ name: "amount",
1350
+ type: "uint256",
1351
+ indexed: false,
1352
+ internalType: "uint256",
1353
+ },
1354
+ { name: "to", type: "address", indexed: false, internalType: "address" },
1355
+ ],
1356
+ anonymous: false,
1357
+ },
1358
+ ] as const;
1359
+
1360
+ export const iCreditFacadeV300MulticallAbi = [
1361
+ {
1362
+ type: "function",
1363
+ name: "addCollateral",
1364
+ inputs: [
1365
+ { name: "token", type: "address", internalType: "address" },
1366
+ { name: "amount", type: "uint256", internalType: "uint256" },
1367
+ ],
1368
+ outputs: [],
1369
+ stateMutability: "nonpayable",
1370
+ },
1371
+ {
1372
+ type: "function",
1373
+ name: "addCollateralWithPermit",
1374
+ inputs: [
1375
+ { name: "token", type: "address", internalType: "address" },
1376
+ { name: "amount", type: "uint256", internalType: "uint256" },
1377
+ { name: "deadline", type: "uint256", internalType: "uint256" },
1378
+ { name: "v", type: "uint8", internalType: "uint8" },
1379
+ { name: "r", type: "bytes32", internalType: "bytes32" },
1380
+ { name: "s", type: "bytes32", internalType: "bytes32" },
1381
+ ],
1382
+ outputs: [],
1383
+ stateMutability: "nonpayable",
1384
+ },
1385
+ {
1386
+ type: "function",
1387
+ name: "compareBalances",
1388
+ inputs: [],
1389
+ outputs: [],
1390
+ stateMutability: "nonpayable",
1391
+ },
1392
+ {
1393
+ type: "function",
1394
+ name: "decreaseDebt",
1395
+ inputs: [{ name: "amount", type: "uint256", internalType: "uint256" }],
1396
+ outputs: [],
1397
+ stateMutability: "nonpayable",
1398
+ },
1399
+ {
1400
+ type: "function",
1401
+ name: "disableToken",
1402
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1403
+ outputs: [],
1404
+ stateMutability: "nonpayable",
1405
+ },
1406
+ {
1407
+ type: "function",
1408
+ name: "enableToken",
1409
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1410
+ outputs: [],
1411
+ stateMutability: "nonpayable",
1412
+ },
1413
+ {
1414
+ type: "function",
1415
+ name: "increaseDebt",
1416
+ inputs: [{ name: "amount", type: "uint256", internalType: "uint256" }],
1417
+ outputs: [],
1418
+ stateMutability: "nonpayable",
1419
+ },
1420
+ {
1421
+ type: "function",
1422
+ name: "onDemandPriceUpdate",
1423
+ inputs: [
1424
+ { name: "token", type: "address", internalType: "address" },
1425
+ { name: "reserve", type: "bool", internalType: "bool" },
1426
+ { name: "data", type: "bytes", internalType: "bytes" },
1427
+ ],
1428
+ outputs: [],
1429
+ stateMutability: "nonpayable",
1430
+ },
1431
+ {
1432
+ type: "function",
1433
+ name: "revokeAdapterAllowances",
1434
+ inputs: [
1435
+ {
1436
+ name: "revocations",
1437
+ type: "tuple[]",
1438
+ internalType: "struct RevocationPair[]",
1439
+ components: [
1440
+ { name: "spender", type: "address", internalType: "address" },
1441
+ { name: "token", type: "address", internalType: "address" },
1442
+ ],
1443
+ },
1444
+ ],
1445
+ outputs: [],
1446
+ stateMutability: "nonpayable",
1447
+ },
1448
+ {
1449
+ type: "function",
1450
+ name: "setFullCheckParams",
1451
+ inputs: [
1452
+ { name: "collateralHints", type: "uint256[]", internalType: "uint256[]" },
1453
+ { name: "minHealthFactor", type: "uint16", internalType: "uint16" },
1454
+ ],
1455
+ outputs: [],
1456
+ stateMutability: "nonpayable",
1457
+ },
1458
+ {
1459
+ type: "function",
1460
+ name: "storeExpectedBalances",
1461
+ inputs: [
1462
+ {
1463
+ name: "balanceDeltas",
1464
+ type: "tuple[]",
1465
+ internalType: "struct BalanceDelta[]",
1466
+ components: [
1467
+ { name: "token", type: "address", internalType: "address" },
1468
+ { name: "amount", type: "int256", internalType: "int256" },
1469
+ ],
1470
+ },
1471
+ ],
1472
+ outputs: [],
1473
+ stateMutability: "nonpayable",
1474
+ },
1475
+ {
1476
+ type: "function",
1477
+ name: "updateQuota",
1478
+ inputs: [
1479
+ { name: "token", type: "address", internalType: "address" },
1480
+ { name: "quotaChange", type: "int96", internalType: "int96" },
1481
+ { name: "minQuota", type: "uint96", internalType: "uint96" },
1482
+ ],
1483
+ outputs: [],
1484
+ stateMutability: "nonpayable",
1485
+ },
1486
+ {
1487
+ type: "function",
1488
+ name: "withdrawCollateral",
1489
+ inputs: [
1490
+ { name: "token", type: "address", internalType: "address" },
1491
+ { name: "amount", type: "uint256", internalType: "uint256" },
1492
+ { name: "to", type: "address", internalType: "address" },
1493
+ ],
1494
+ outputs: [],
1495
+ stateMutability: "nonpayable",
1496
+ },
1497
+ ] as const;
1498
+
1499
+ export const iCreditManagerV300Abi = [
1500
+ {
1501
+ type: "function",
1502
+ name: "accountFactory",
1503
+ inputs: [],
1504
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1505
+ stateMutability: "view",
1506
+ },
1507
+ {
1508
+ type: "function",
1509
+ name: "adapterToContract",
1510
+ inputs: [{ name: "adapter", type: "address", internalType: "address" }],
1511
+ outputs: [
1512
+ { name: "targetContract", type: "address", internalType: "address" },
1513
+ ],
1514
+ stateMutability: "view",
1515
+ },
1516
+ {
1517
+ type: "function",
1518
+ name: "addCollateral",
1519
+ inputs: [
1520
+ { name: "payer", type: "address", internalType: "address" },
1521
+ { name: "creditAccount", type: "address", internalType: "address" },
1522
+ { name: "token", type: "address", internalType: "address" },
1523
+ { name: "amount", type: "uint256", internalType: "uint256" },
1524
+ ],
1525
+ outputs: [
1526
+ { name: "tokensToEnable", type: "uint256", internalType: "uint256" },
1527
+ ],
1528
+ stateMutability: "nonpayable",
1529
+ },
1530
+ {
1531
+ type: "function",
1532
+ name: "addToken",
1533
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1534
+ outputs: [],
1535
+ stateMutability: "nonpayable",
1536
+ },
1537
+ {
1538
+ type: "function",
1539
+ name: "addressProvider",
1540
+ inputs: [],
1541
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1542
+ stateMutability: "view",
1543
+ },
1544
+ {
1545
+ type: "function",
1546
+ name: "approveCreditAccount",
1547
+ inputs: [
1548
+ { name: "token", type: "address", internalType: "address" },
1549
+ { name: "amount", type: "uint256", internalType: "uint256" },
1550
+ ],
1551
+ outputs: [],
1552
+ stateMutability: "nonpayable",
1553
+ },
1554
+ {
1555
+ type: "function",
1556
+ name: "approveToken",
1557
+ inputs: [
1558
+ { name: "creditAccount", type: "address", internalType: "address" },
1559
+ { name: "token", type: "address", internalType: "address" },
1560
+ { name: "spender", type: "address", internalType: "address" },
1561
+ { name: "amount", type: "uint256", internalType: "uint256" },
1562
+ ],
1563
+ outputs: [],
1564
+ stateMutability: "nonpayable",
1565
+ },
1566
+ {
1567
+ type: "function",
1568
+ name: "calcDebtAndCollateral",
1569
+ inputs: [
1570
+ { name: "creditAccount", type: "address", internalType: "address" },
1571
+ { name: "task", type: "uint8", internalType: "enum CollateralCalcTask" },
1572
+ ],
1573
+ outputs: [
1574
+ {
1575
+ name: "cdd",
1576
+ type: "tuple",
1577
+ internalType: "struct CollateralDebtData",
1578
+ components: [
1579
+ { name: "debt", type: "uint256", internalType: "uint256" },
1580
+ {
1581
+ name: "cumulativeIndexNow",
1582
+ type: "uint256",
1583
+ internalType: "uint256",
1584
+ },
1585
+ {
1586
+ name: "cumulativeIndexLastUpdate",
1587
+ type: "uint256",
1588
+ internalType: "uint256",
1589
+ },
1590
+ {
1591
+ name: "cumulativeQuotaInterest",
1592
+ type: "uint128",
1593
+ internalType: "uint128",
1594
+ },
1595
+ { name: "accruedInterest", type: "uint256", internalType: "uint256" },
1596
+ { name: "accruedFees", type: "uint256", internalType: "uint256" },
1597
+ { name: "totalDebtUSD", type: "uint256", internalType: "uint256" },
1598
+ { name: "totalValue", type: "uint256", internalType: "uint256" },
1599
+ { name: "totalValueUSD", type: "uint256", internalType: "uint256" },
1600
+ { name: "twvUSD", type: "uint256", internalType: "uint256" },
1601
+ {
1602
+ name: "enabledTokensMask",
1603
+ type: "uint256",
1604
+ internalType: "uint256",
1605
+ },
1606
+ {
1607
+ name: "quotedTokensMask",
1608
+ type: "uint256",
1609
+ internalType: "uint256",
1610
+ },
1611
+ {
1612
+ name: "quotedTokens",
1613
+ type: "address[]",
1614
+ internalType: "address[]",
1615
+ },
1616
+ {
1617
+ name: "_poolQuotaKeeper",
1618
+ type: "address",
1619
+ internalType: "address",
1620
+ },
1621
+ ],
1622
+ },
1623
+ ],
1624
+ stateMutability: "view",
1625
+ },
1626
+ {
1627
+ type: "function",
1628
+ name: "closeCreditAccount",
1629
+ inputs: [
1630
+ { name: "creditAccount", type: "address", internalType: "address" },
1631
+ ],
1632
+ outputs: [],
1633
+ stateMutability: "nonpayable",
1634
+ },
1635
+ {
1636
+ type: "function",
1637
+ name: "collateralTokenByMask",
1638
+ inputs: [{ name: "tokenMask", type: "uint256", internalType: "uint256" }],
1639
+ outputs: [
1640
+ { name: "token", type: "address", internalType: "address" },
1641
+ { name: "liquidationThreshold", type: "uint16", internalType: "uint16" },
1642
+ ],
1643
+ stateMutability: "view",
1644
+ },
1645
+ {
1646
+ type: "function",
1647
+ name: "collateralTokensCount",
1648
+ inputs: [],
1649
+ outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
1650
+ stateMutability: "view",
1651
+ },
1652
+ {
1653
+ type: "function",
1654
+ name: "contractToAdapter",
1655
+ inputs: [
1656
+ { name: "targetContract", type: "address", internalType: "address" },
1657
+ ],
1658
+ outputs: [{ name: "adapter", type: "address", internalType: "address" }],
1659
+ stateMutability: "view",
1660
+ },
1661
+ {
1662
+ type: "function",
1663
+ name: "creditAccountInfo",
1664
+ inputs: [
1665
+ { name: "creditAccount", type: "address", internalType: "address" },
1666
+ ],
1667
+ outputs: [
1668
+ { name: "debt", type: "uint256", internalType: "uint256" },
1669
+ {
1670
+ name: "cumulativeIndexLastUpdate",
1671
+ type: "uint256",
1672
+ internalType: "uint256",
1673
+ },
1674
+ {
1675
+ name: "cumulativeQuotaInterest",
1676
+ type: "uint128",
1677
+ internalType: "uint128",
1678
+ },
1679
+ { name: "quotaFees", type: "uint128", internalType: "uint128" },
1680
+ { name: "enabledTokensMask", type: "uint256", internalType: "uint256" },
1681
+ { name: "flags", type: "uint16", internalType: "uint16" },
1682
+ { name: "lastDebtUpdate", type: "uint64", internalType: "uint64" },
1683
+ { name: "borrower", type: "address", internalType: "address" },
1684
+ ],
1685
+ stateMutability: "view",
1686
+ },
1687
+ {
1688
+ type: "function",
1689
+ name: "creditAccounts",
1690
+ inputs: [
1691
+ { name: "offset", type: "uint256", internalType: "uint256" },
1692
+ { name: "limit", type: "uint256", internalType: "uint256" },
1693
+ ],
1694
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
1695
+ stateMutability: "view",
1696
+ },
1697
+ {
1698
+ type: "function",
1699
+ name: "creditAccounts",
1700
+ inputs: [],
1701
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
1702
+ stateMutability: "view",
1703
+ },
1704
+ {
1705
+ type: "function",
1706
+ name: "creditAccountsLen",
1707
+ inputs: [],
1708
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1709
+ stateMutability: "view",
1710
+ },
1711
+ {
1712
+ type: "function",
1713
+ name: "creditConfigurator",
1714
+ inputs: [],
1715
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1716
+ stateMutability: "view",
1717
+ },
1718
+ {
1719
+ type: "function",
1720
+ name: "creditFacade",
1721
+ inputs: [],
1722
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1723
+ stateMutability: "view",
1724
+ },
1725
+ {
1726
+ type: "function",
1727
+ name: "enabledTokensMaskOf",
1728
+ inputs: [
1729
+ { name: "creditAccount", type: "address", internalType: "address" },
1730
+ ],
1731
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1732
+ stateMutability: "view",
1733
+ },
1734
+ {
1735
+ type: "function",
1736
+ name: "execute",
1737
+ inputs: [{ name: "data", type: "bytes", internalType: "bytes" }],
1738
+ outputs: [{ name: "result", type: "bytes", internalType: "bytes" }],
1739
+ stateMutability: "nonpayable",
1740
+ },
1741
+ {
1742
+ type: "function",
1743
+ name: "externalCall",
1744
+ inputs: [
1745
+ { name: "creditAccount", type: "address", internalType: "address" },
1746
+ { name: "target", type: "address", internalType: "address" },
1747
+ { name: "callData", type: "bytes", internalType: "bytes" },
1748
+ ],
1749
+ outputs: [{ name: "result", type: "bytes", internalType: "bytes" }],
1750
+ stateMutability: "nonpayable",
1751
+ },
1752
+ {
1753
+ type: "function",
1754
+ name: "fees",
1755
+ inputs: [],
1756
+ outputs: [
1757
+ { name: "feeInterest", type: "uint16", internalType: "uint16" },
1758
+ { name: "feeLiquidation", type: "uint16", internalType: "uint16" },
1759
+ { name: "liquidationDiscount", type: "uint16", internalType: "uint16" },
1760
+ { name: "feeLiquidationExpired", type: "uint16", internalType: "uint16" },
1761
+ {
1762
+ name: "liquidationDiscountExpired",
1763
+ type: "uint16",
1764
+ internalType: "uint16",
1765
+ },
1766
+ ],
1767
+ stateMutability: "view",
1768
+ },
1769
+ {
1770
+ type: "function",
1771
+ name: "flagsOf",
1772
+ inputs: [
1773
+ { name: "creditAccount", type: "address", internalType: "address" },
1774
+ ],
1775
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
1776
+ stateMutability: "view",
1777
+ },
1778
+ {
1779
+ type: "function",
1780
+ name: "fullCollateralCheck",
1781
+ inputs: [
1782
+ { name: "creditAccount", type: "address", internalType: "address" },
1783
+ { name: "enabledTokensMask", type: "uint256", internalType: "uint256" },
1784
+ { name: "collateralHints", type: "uint256[]", internalType: "uint256[]" },
1785
+ { name: "minHealthFactor", type: "uint16", internalType: "uint16" },
1786
+ { name: "useSafePrices", type: "bool", internalType: "bool" },
1787
+ ],
1788
+ outputs: [
1789
+ {
1790
+ name: "enabledTokensMaskAfter",
1791
+ type: "uint256",
1792
+ internalType: "uint256",
1793
+ },
1794
+ ],
1795
+ stateMutability: "nonpayable",
1796
+ },
1797
+ {
1798
+ type: "function",
1799
+ name: "getActiveCreditAccountOrRevert",
1800
+ inputs: [],
1801
+ outputs: [
1802
+ { name: "creditAccount", type: "address", internalType: "address" },
1803
+ ],
1804
+ stateMutability: "view",
1805
+ },
1806
+ {
1807
+ type: "function",
1808
+ name: "getBorrowerOrRevert",
1809
+ inputs: [
1810
+ { name: "creditAccount", type: "address", internalType: "address" },
1811
+ ],
1812
+ outputs: [{ name: "borrower", type: "address", internalType: "address" }],
1813
+ stateMutability: "view",
1814
+ },
1815
+ {
1816
+ type: "function",
1817
+ name: "getTokenByMask",
1818
+ inputs: [{ name: "tokenMask", type: "uint256", internalType: "uint256" }],
1819
+ outputs: [{ name: "token", type: "address", internalType: "address" }],
1820
+ stateMutability: "view",
1821
+ },
1822
+ {
1823
+ type: "function",
1824
+ name: "getTokenMaskOrRevert",
1825
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1826
+ outputs: [{ name: "tokenMask", type: "uint256", internalType: "uint256" }],
1827
+ stateMutability: "view",
1828
+ },
1829
+ {
1830
+ type: "function",
1831
+ name: "isLiquidatable",
1832
+ inputs: [
1833
+ { name: "creditAccount", type: "address", internalType: "address" },
1834
+ { name: "minHealthFactor", type: "uint16", internalType: "uint16" },
1835
+ ],
1836
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
1837
+ stateMutability: "view",
1838
+ },
1839
+ {
1840
+ type: "function",
1841
+ name: "liquidateCreditAccount",
1842
+ inputs: [
1843
+ { name: "creditAccount", type: "address", internalType: "address" },
1844
+ {
1845
+ name: "collateralDebtData",
1846
+ type: "tuple",
1847
+ internalType: "struct CollateralDebtData",
1848
+ components: [
1849
+ { name: "debt", type: "uint256", internalType: "uint256" },
1850
+ {
1851
+ name: "cumulativeIndexNow",
1852
+ type: "uint256",
1853
+ internalType: "uint256",
1854
+ },
1855
+ {
1856
+ name: "cumulativeIndexLastUpdate",
1857
+ type: "uint256",
1858
+ internalType: "uint256",
1859
+ },
1860
+ {
1861
+ name: "cumulativeQuotaInterest",
1862
+ type: "uint128",
1863
+ internalType: "uint128",
1864
+ },
1865
+ { name: "accruedInterest", type: "uint256", internalType: "uint256" },
1866
+ { name: "accruedFees", type: "uint256", internalType: "uint256" },
1867
+ { name: "totalDebtUSD", type: "uint256", internalType: "uint256" },
1868
+ { name: "totalValue", type: "uint256", internalType: "uint256" },
1869
+ { name: "totalValueUSD", type: "uint256", internalType: "uint256" },
1870
+ { name: "twvUSD", type: "uint256", internalType: "uint256" },
1871
+ {
1872
+ name: "enabledTokensMask",
1873
+ type: "uint256",
1874
+ internalType: "uint256",
1875
+ },
1876
+ {
1877
+ name: "quotedTokensMask",
1878
+ type: "uint256",
1879
+ internalType: "uint256",
1880
+ },
1881
+ {
1882
+ name: "quotedTokens",
1883
+ type: "address[]",
1884
+ internalType: "address[]",
1885
+ },
1886
+ {
1887
+ name: "_poolQuotaKeeper",
1888
+ type: "address",
1889
+ internalType: "address",
1890
+ },
1891
+ ],
1892
+ },
1893
+ { name: "to", type: "address", internalType: "address" },
1894
+ { name: "isExpired", type: "bool", internalType: "bool" },
1895
+ ],
1896
+ outputs: [
1897
+ { name: "remainingFunds", type: "uint256", internalType: "uint256" },
1898
+ { name: "loss", type: "uint256", internalType: "uint256" },
1899
+ ],
1900
+ stateMutability: "nonpayable",
1901
+ },
1902
+ {
1903
+ type: "function",
1904
+ name: "liquidationThresholds",
1905
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1906
+ outputs: [{ name: "lt", type: "uint16", internalType: "uint16" }],
1907
+ stateMutability: "view",
1908
+ },
1909
+ {
1910
+ type: "function",
1911
+ name: "ltParams",
1912
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
1913
+ outputs: [
1914
+ { name: "ltInitial", type: "uint16", internalType: "uint16" },
1915
+ { name: "ltFinal", type: "uint16", internalType: "uint16" },
1916
+ { name: "timestampRampStart", type: "uint40", internalType: "uint40" },
1917
+ { name: "rampDuration", type: "uint24", internalType: "uint24" },
1918
+ ],
1919
+ stateMutability: "view",
1920
+ },
1921
+ {
1922
+ type: "function",
1923
+ name: "manageDebt",
1924
+ inputs: [
1925
+ { name: "creditAccount", type: "address", internalType: "address" },
1926
+ { name: "amount", type: "uint256", internalType: "uint256" },
1927
+ { name: "enabledTokensMask", type: "uint256", internalType: "uint256" },
1928
+ { name: "action", type: "uint8", internalType: "enum ManageDebtAction" },
1929
+ ],
1930
+ outputs: [
1931
+ { name: "newDebt", type: "uint256", internalType: "uint256" },
1932
+ { name: "tokensToEnable", type: "uint256", internalType: "uint256" },
1933
+ { name: "tokensToDisable", type: "uint256", internalType: "uint256" },
1934
+ ],
1935
+ stateMutability: "nonpayable",
1936
+ },
1937
+ {
1938
+ type: "function",
1939
+ name: "maxEnabledTokens",
1940
+ inputs: [],
1941
+ outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
1942
+ stateMutability: "view",
1943
+ },
1944
+ {
1945
+ type: "function",
1946
+ name: "name",
1947
+ inputs: [],
1948
+ outputs: [{ name: "", type: "string", internalType: "string" }],
1949
+ stateMutability: "view",
1950
+ },
1951
+ {
1952
+ type: "function",
1953
+ name: "openCreditAccount",
1954
+ inputs: [{ name: "onBehalfOf", type: "address", internalType: "address" }],
1955
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1956
+ stateMutability: "nonpayable",
1957
+ },
1958
+ {
1959
+ type: "function",
1960
+ name: "pool",
1961
+ inputs: [],
1962
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1963
+ stateMutability: "view",
1964
+ },
1965
+ {
1966
+ type: "function",
1967
+ name: "poolQuotaKeeper",
1968
+ inputs: [],
1969
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1970
+ stateMutability: "view",
1971
+ },
1972
+ {
1973
+ type: "function",
1974
+ name: "priceOracle",
1975
+ inputs: [],
1976
+ outputs: [{ name: "", type: "address", internalType: "address" }],
1977
+ stateMutability: "view",
1978
+ },
1979
+ {
1980
+ type: "function",
1981
+ name: "quotedTokensMask",
1982
+ inputs: [],
1983
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1984
+ stateMutability: "view",
1985
+ },
1986
+ {
1987
+ type: "function",
1988
+ name: "revokeAdapterAllowances",
1989
+ inputs: [
1990
+ { name: "creditAccount", type: "address", internalType: "address" },
1991
+ {
1992
+ name: "revocations",
1993
+ type: "tuple[]",
1994
+ internalType: "struct RevocationPair[]",
1995
+ components: [
1996
+ { name: "spender", type: "address", internalType: "address" },
1997
+ { name: "token", type: "address", internalType: "address" },
1998
+ ],
1999
+ },
2000
+ ],
2001
+ outputs: [],
2002
+ stateMutability: "nonpayable",
2003
+ },
2004
+ {
2005
+ type: "function",
2006
+ name: "setActiveCreditAccount",
2007
+ inputs: [
2008
+ { name: "creditAccount", type: "address", internalType: "address" },
2009
+ ],
2010
+ outputs: [],
2011
+ stateMutability: "nonpayable",
2012
+ },
2013
+ {
2014
+ type: "function",
2015
+ name: "setCollateralTokenData",
2016
+ inputs: [
2017
+ { name: "token", type: "address", internalType: "address" },
2018
+ { name: "ltInitial", type: "uint16", internalType: "uint16" },
2019
+ { name: "ltFinal", type: "uint16", internalType: "uint16" },
2020
+ { name: "timestampRampStart", type: "uint40", internalType: "uint40" },
2021
+ { name: "rampDuration", type: "uint24", internalType: "uint24" },
2022
+ ],
2023
+ outputs: [],
2024
+ stateMutability: "nonpayable",
2025
+ },
2026
+ {
2027
+ type: "function",
2028
+ name: "setContractAllowance",
2029
+ inputs: [
2030
+ { name: "adapter", type: "address", internalType: "address" },
2031
+ { name: "targetContract", type: "address", internalType: "address" },
2032
+ ],
2033
+ outputs: [],
2034
+ stateMutability: "nonpayable",
2035
+ },
2036
+ {
2037
+ type: "function",
2038
+ name: "setCreditConfigurator",
2039
+ inputs: [
2040
+ { name: "creditConfigurator", type: "address", internalType: "address" },
2041
+ ],
2042
+ outputs: [],
2043
+ stateMutability: "nonpayable",
2044
+ },
2045
+ {
2046
+ type: "function",
2047
+ name: "setCreditFacade",
2048
+ inputs: [
2049
+ { name: "creditFacade", type: "address", internalType: "address" },
2050
+ ],
2051
+ outputs: [],
2052
+ stateMutability: "nonpayable",
2053
+ },
2054
+ {
2055
+ type: "function",
2056
+ name: "setFees",
2057
+ inputs: [
2058
+ { name: "feeInterest", type: "uint16", internalType: "uint16" },
2059
+ { name: "feeLiquidation", type: "uint16", internalType: "uint16" },
2060
+ { name: "liquidationDiscount", type: "uint16", internalType: "uint16" },
2061
+ { name: "feeLiquidationExpired", type: "uint16", internalType: "uint16" },
2062
+ {
2063
+ name: "liquidationDiscountExpired",
2064
+ type: "uint16",
2065
+ internalType: "uint16",
2066
+ },
2067
+ ],
2068
+ outputs: [],
2069
+ stateMutability: "nonpayable",
2070
+ },
2071
+ {
2072
+ type: "function",
2073
+ name: "setFlagFor",
2074
+ inputs: [
2075
+ { name: "creditAccount", type: "address", internalType: "address" },
2076
+ { name: "flag", type: "uint16", internalType: "uint16" },
2077
+ { name: "value", type: "bool", internalType: "bool" },
2078
+ ],
2079
+ outputs: [],
2080
+ stateMutability: "nonpayable",
2081
+ },
2082
+ {
2083
+ type: "function",
2084
+ name: "setMaxEnabledTokens",
2085
+ inputs: [
2086
+ { name: "maxEnabledTokens", type: "uint8", internalType: "uint8" },
2087
+ ],
2088
+ outputs: [],
2089
+ stateMutability: "nonpayable",
2090
+ },
2091
+ {
2092
+ type: "function",
2093
+ name: "setPriceOracle",
2094
+ inputs: [{ name: "priceOracle", type: "address", internalType: "address" }],
2095
+ outputs: [],
2096
+ stateMutability: "nonpayable",
2097
+ },
2098
+ {
2099
+ type: "function",
2100
+ name: "setQuotedMask",
2101
+ inputs: [
2102
+ { name: "quotedTokensMask", type: "uint256", internalType: "uint256" },
2103
+ ],
2104
+ outputs: [],
2105
+ stateMutability: "nonpayable",
2106
+ },
2107
+ {
2108
+ type: "function",
2109
+ name: "underlying",
2110
+ inputs: [],
2111
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2112
+ stateMutability: "view",
2113
+ },
2114
+ {
2115
+ type: "function",
2116
+ name: "updateQuota",
2117
+ inputs: [
2118
+ { name: "creditAccount", type: "address", internalType: "address" },
2119
+ { name: "token", type: "address", internalType: "address" },
2120
+ { name: "quotaChange", type: "int96", internalType: "int96" },
2121
+ { name: "minQuota", type: "uint96", internalType: "uint96" },
2122
+ { name: "maxQuota", type: "uint96", internalType: "uint96" },
2123
+ ],
2124
+ outputs: [
2125
+ { name: "tokensToEnable", type: "uint256", internalType: "uint256" },
2126
+ { name: "tokensToDisable", type: "uint256", internalType: "uint256" },
2127
+ ],
2128
+ stateMutability: "nonpayable",
2129
+ },
2130
+ {
2131
+ type: "function",
2132
+ name: "version",
2133
+ inputs: [],
2134
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2135
+ stateMutability: "view",
2136
+ },
2137
+ {
2138
+ type: "function",
2139
+ name: "withdrawCollateral",
2140
+ inputs: [
2141
+ { name: "creditAccount", type: "address", internalType: "address" },
2142
+ { name: "token", type: "address", internalType: "address" },
2143
+ { name: "amount", type: "uint256", internalType: "uint256" },
2144
+ { name: "to", type: "address", internalType: "address" },
2145
+ ],
2146
+ outputs: [
2147
+ { name: "tokensToDisable", type: "uint256", internalType: "uint256" },
2148
+ ],
2149
+ stateMutability: "nonpayable",
2150
+ },
2151
+ {
2152
+ type: "event",
2153
+ name: "SetCreditConfigurator",
2154
+ inputs: [
2155
+ {
2156
+ name: "newConfigurator",
2157
+ type: "address",
2158
+ indexed: true,
2159
+ internalType: "address",
2160
+ },
2161
+ ],
2162
+ anonymous: false,
2163
+ },
2164
+ ] as const;
2165
+
2166
+ export const iGaugeV300Abi = [
2167
+ {
2168
+ type: "function",
2169
+ name: "addQuotaToken",
2170
+ inputs: [
2171
+ { name: "token", type: "address", internalType: "address" },
2172
+ { name: "minRate", type: "uint16", internalType: "uint16" },
2173
+ { name: "maxRate", type: "uint16", internalType: "uint16" },
2174
+ ],
2175
+ outputs: [],
2176
+ stateMutability: "nonpayable",
2177
+ },
2178
+ {
2179
+ type: "function",
2180
+ name: "changeQuotaMaxRate",
2181
+ inputs: [
2182
+ { name: "token", type: "address", internalType: "address" },
2183
+ { name: "maxRate", type: "uint16", internalType: "uint16" },
2184
+ ],
2185
+ outputs: [],
2186
+ stateMutability: "nonpayable",
2187
+ },
2188
+ {
2189
+ type: "function",
2190
+ name: "changeQuotaMinRate",
2191
+ inputs: [
2192
+ { name: "token", type: "address", internalType: "address" },
2193
+ { name: "minRate", type: "uint16", internalType: "uint16" },
2194
+ ],
2195
+ outputs: [],
2196
+ stateMutability: "nonpayable",
2197
+ },
2198
+ {
2199
+ type: "function",
2200
+ name: "epochFrozen",
2201
+ inputs: [],
2202
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
2203
+ stateMutability: "view",
2204
+ },
2205
+ {
2206
+ type: "function",
2207
+ name: "epochLastUpdate",
2208
+ inputs: [],
2209
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
2210
+ stateMutability: "view",
2211
+ },
2212
+ {
2213
+ type: "function",
2214
+ name: "getRates",
2215
+ inputs: [{ name: "tokens", type: "address[]", internalType: "address[]" }],
2216
+ outputs: [{ name: "rates", type: "uint16[]", internalType: "uint16[]" }],
2217
+ stateMutability: "view",
2218
+ },
2219
+ {
2220
+ type: "function",
2221
+ name: "isTokenAdded",
2222
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2223
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
2224
+ stateMutability: "view",
2225
+ },
2226
+ {
2227
+ type: "function",
2228
+ name: "pool",
2229
+ inputs: [],
2230
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2231
+ stateMutability: "view",
2232
+ },
2233
+ {
2234
+ type: "function",
2235
+ name: "quotaRateParams",
2236
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2237
+ outputs: [
2238
+ { name: "minRate", type: "uint16", internalType: "uint16" },
2239
+ { name: "maxRate", type: "uint16", internalType: "uint16" },
2240
+ { name: "totalVotesLpSide", type: "uint96", internalType: "uint96" },
2241
+ { name: "totalVotesCaSide", type: "uint96", internalType: "uint96" },
2242
+ ],
2243
+ stateMutability: "view",
2244
+ },
2245
+ {
2246
+ type: "function",
2247
+ name: "setFrozenEpoch",
2248
+ inputs: [{ name: "status", type: "bool", internalType: "bool" }],
2249
+ outputs: [],
2250
+ stateMutability: "nonpayable",
2251
+ },
2252
+ {
2253
+ type: "function",
2254
+ name: "unvote",
2255
+ inputs: [
2256
+ { name: "user", type: "address", internalType: "address" },
2257
+ { name: "votes", type: "uint96", internalType: "uint96" },
2258
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2259
+ ],
2260
+ outputs: [],
2261
+ stateMutability: "nonpayable",
2262
+ },
2263
+ {
2264
+ type: "function",
2265
+ name: "updateEpoch",
2266
+ inputs: [],
2267
+ outputs: [],
2268
+ stateMutability: "nonpayable",
2269
+ },
2270
+ {
2271
+ type: "function",
2272
+ name: "userTokenVotes",
2273
+ inputs: [
2274
+ { name: "user", type: "address", internalType: "address" },
2275
+ { name: "token", type: "address", internalType: "address" },
2276
+ ],
2277
+ outputs: [
2278
+ { name: "votesLpSide", type: "uint96", internalType: "uint96" },
2279
+ { name: "votesCaSide", type: "uint96", internalType: "uint96" },
2280
+ ],
2281
+ stateMutability: "view",
2282
+ },
2283
+ {
2284
+ type: "function",
2285
+ name: "version",
2286
+ inputs: [],
2287
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2288
+ stateMutability: "view",
2289
+ },
2290
+ {
2291
+ type: "function",
2292
+ name: "vote",
2293
+ inputs: [
2294
+ { name: "user", type: "address", internalType: "address" },
2295
+ { name: "votes", type: "uint96", internalType: "uint96" },
2296
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2297
+ ],
2298
+ outputs: [],
2299
+ stateMutability: "nonpayable",
2300
+ },
2301
+ {
2302
+ type: "function",
2303
+ name: "voter",
2304
+ inputs: [],
2305
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2306
+ stateMutability: "view",
2307
+ },
2308
+ {
2309
+ type: "event",
2310
+ name: "AddQuotaToken",
2311
+ inputs: [
2312
+ {
2313
+ name: "token",
2314
+ type: "address",
2315
+ indexed: true,
2316
+ internalType: "address",
2317
+ },
2318
+ {
2319
+ name: "minRate",
2320
+ type: "uint16",
2321
+ indexed: false,
2322
+ internalType: "uint16",
2323
+ },
2324
+ {
2325
+ name: "maxRate",
2326
+ type: "uint16",
2327
+ indexed: false,
2328
+ internalType: "uint16",
2329
+ },
2330
+ ],
2331
+ anonymous: false,
2332
+ },
2333
+ {
2334
+ type: "event",
2335
+ name: "SetFrozenEpoch",
2336
+ inputs: [
2337
+ { name: "status", type: "bool", indexed: false, internalType: "bool" },
2338
+ ],
2339
+ anonymous: false,
2340
+ },
2341
+ {
2342
+ type: "event",
2343
+ name: "SetQuotaTokenParams",
2344
+ inputs: [
2345
+ {
2346
+ name: "token",
2347
+ type: "address",
2348
+ indexed: true,
2349
+ internalType: "address",
2350
+ },
2351
+ {
2352
+ name: "minRate",
2353
+ type: "uint16",
2354
+ indexed: false,
2355
+ internalType: "uint16",
2356
+ },
2357
+ {
2358
+ name: "maxRate",
2359
+ type: "uint16",
2360
+ indexed: false,
2361
+ internalType: "uint16",
2362
+ },
2363
+ ],
2364
+ anonymous: false,
2365
+ },
2366
+ {
2367
+ type: "event",
2368
+ name: "Unvote",
2369
+ inputs: [
2370
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2371
+ {
2372
+ name: "token",
2373
+ type: "address",
2374
+ indexed: true,
2375
+ internalType: "address",
2376
+ },
2377
+ { name: "votes", type: "uint96", indexed: false, internalType: "uint96" },
2378
+ { name: "lpSide", type: "bool", indexed: false, internalType: "bool" },
2379
+ ],
2380
+ anonymous: false,
2381
+ },
2382
+ {
2383
+ type: "event",
2384
+ name: "UpdateEpoch",
2385
+ inputs: [
2386
+ {
2387
+ name: "epochNow",
2388
+ type: "uint16",
2389
+ indexed: false,
2390
+ internalType: "uint16",
2391
+ },
2392
+ ],
2393
+ anonymous: false,
2394
+ },
2395
+ {
2396
+ type: "event",
2397
+ name: "Vote",
2398
+ inputs: [
2399
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2400
+ {
2401
+ name: "token",
2402
+ type: "address",
2403
+ indexed: true,
2404
+ internalType: "address",
2405
+ },
2406
+ { name: "votes", type: "uint96", indexed: false, internalType: "uint96" },
2407
+ { name: "lpSide", type: "bool", indexed: false, internalType: "bool" },
2408
+ ],
2409
+ anonymous: false,
2410
+ },
2411
+ ] as const;
2412
+
2413
+ export const iGearStakingV300Abi = [
2414
+ {
2415
+ type: "function",
2416
+ name: "allowedVotingContract",
2417
+ inputs: [{ name: "", type: "address", internalType: "address" }],
2418
+ outputs: [
2419
+ { name: "", type: "uint8", internalType: "enum VotingContractStatus" },
2420
+ ],
2421
+ stateMutability: "view",
2422
+ },
2423
+ {
2424
+ type: "function",
2425
+ name: "availableBalance",
2426
+ inputs: [{ name: "user", type: "address", internalType: "address" }],
2427
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2428
+ stateMutability: "view",
2429
+ },
2430
+ {
2431
+ type: "function",
2432
+ name: "balanceOf",
2433
+ inputs: [{ name: "user", type: "address", internalType: "address" }],
2434
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2435
+ stateMutability: "view",
2436
+ },
2437
+ {
2438
+ type: "function",
2439
+ name: "claimWithdrawals",
2440
+ inputs: [{ name: "to", type: "address", internalType: "address" }],
2441
+ outputs: [],
2442
+ stateMutability: "nonpayable",
2443
+ },
2444
+ {
2445
+ type: "function",
2446
+ name: "deposit",
2447
+ inputs: [
2448
+ { name: "amount", type: "uint96", internalType: "uint96" },
2449
+ {
2450
+ name: "votes",
2451
+ type: "tuple[]",
2452
+ internalType: "struct MultiVote[]",
2453
+ components: [
2454
+ { name: "votingContract", type: "address", internalType: "address" },
2455
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2456
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2457
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2458
+ ],
2459
+ },
2460
+ ],
2461
+ outputs: [],
2462
+ stateMutability: "nonpayable",
2463
+ },
2464
+ {
2465
+ type: "function",
2466
+ name: "depositOnMigration",
2467
+ inputs: [
2468
+ { name: "amount", type: "uint96", internalType: "uint96" },
2469
+ { name: "onBehalfOf", type: "address", internalType: "address" },
2470
+ {
2471
+ name: "votes",
2472
+ type: "tuple[]",
2473
+ internalType: "struct MultiVote[]",
2474
+ components: [
2475
+ { name: "votingContract", type: "address", internalType: "address" },
2476
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2477
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2478
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2479
+ ],
2480
+ },
2481
+ ],
2482
+ outputs: [],
2483
+ stateMutability: "nonpayable",
2484
+ },
2485
+ {
2486
+ type: "function",
2487
+ name: "depositWithPermit",
2488
+ inputs: [
2489
+ { name: "amount", type: "uint96", internalType: "uint96" },
2490
+ {
2491
+ name: "votes",
2492
+ type: "tuple[]",
2493
+ internalType: "struct MultiVote[]",
2494
+ components: [
2495
+ { name: "votingContract", type: "address", internalType: "address" },
2496
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2497
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2498
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2499
+ ],
2500
+ },
2501
+ { name: "deadline", type: "uint256", internalType: "uint256" },
2502
+ { name: "v", type: "uint8", internalType: "uint8" },
2503
+ { name: "r", type: "bytes32", internalType: "bytes32" },
2504
+ { name: "s", type: "bytes32", internalType: "bytes32" },
2505
+ ],
2506
+ outputs: [],
2507
+ stateMutability: "nonpayable",
2508
+ },
2509
+ {
2510
+ type: "function",
2511
+ name: "firstEpochTimestamp",
2512
+ inputs: [],
2513
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2514
+ stateMutability: "view",
2515
+ },
2516
+ {
2517
+ type: "function",
2518
+ name: "gear",
2519
+ inputs: [],
2520
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2521
+ stateMutability: "view",
2522
+ },
2523
+ {
2524
+ type: "function",
2525
+ name: "getCurrentEpoch",
2526
+ inputs: [],
2527
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
2528
+ stateMutability: "view",
2529
+ },
2530
+ {
2531
+ type: "function",
2532
+ name: "getWithdrawableAmounts",
2533
+ inputs: [{ name: "user", type: "address", internalType: "address" }],
2534
+ outputs: [
2535
+ { name: "withdrawableNow", type: "uint256", internalType: "uint256" },
2536
+ {
2537
+ name: "withdrawableInEpochs",
2538
+ type: "uint256[4]",
2539
+ internalType: "uint256[4]",
2540
+ },
2541
+ ],
2542
+ stateMutability: "view",
2543
+ },
2544
+ {
2545
+ type: "function",
2546
+ name: "migrate",
2547
+ inputs: [
2548
+ { name: "amount", type: "uint96", internalType: "uint96" },
2549
+ {
2550
+ name: "votesBefore",
2551
+ type: "tuple[]",
2552
+ internalType: "struct MultiVote[]",
2553
+ components: [
2554
+ { name: "votingContract", type: "address", internalType: "address" },
2555
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2556
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2557
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2558
+ ],
2559
+ },
2560
+ {
2561
+ name: "votesAfter",
2562
+ type: "tuple[]",
2563
+ internalType: "struct MultiVote[]",
2564
+ components: [
2565
+ { name: "votingContract", type: "address", internalType: "address" },
2566
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2567
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2568
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2569
+ ],
2570
+ },
2571
+ ],
2572
+ outputs: [],
2573
+ stateMutability: "nonpayable",
2574
+ },
2575
+ {
2576
+ type: "function",
2577
+ name: "migrator",
2578
+ inputs: [],
2579
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2580
+ stateMutability: "view",
2581
+ },
2582
+ {
2583
+ type: "function",
2584
+ name: "multivote",
2585
+ inputs: [
2586
+ {
2587
+ name: "votes",
2588
+ type: "tuple[]",
2589
+ internalType: "struct MultiVote[]",
2590
+ components: [
2591
+ { name: "votingContract", type: "address", internalType: "address" },
2592
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2593
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2594
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2595
+ ],
2596
+ },
2597
+ ],
2598
+ outputs: [],
2599
+ stateMutability: "nonpayable",
2600
+ },
2601
+ {
2602
+ type: "function",
2603
+ name: "setMigrator",
2604
+ inputs: [{ name: "newMigrator", type: "address", internalType: "address" }],
2605
+ outputs: [],
2606
+ stateMutability: "nonpayable",
2607
+ },
2608
+ {
2609
+ type: "function",
2610
+ name: "setSuccessor",
2611
+ inputs: [
2612
+ { name: "newSuccessor", type: "address", internalType: "address" },
2613
+ ],
2614
+ outputs: [],
2615
+ stateMutability: "nonpayable",
2616
+ },
2617
+ {
2618
+ type: "function",
2619
+ name: "setVotingContractStatus",
2620
+ inputs: [
2621
+ { name: "votingContract", type: "address", internalType: "address" },
2622
+ {
2623
+ name: "status",
2624
+ type: "uint8",
2625
+ internalType: "enum VotingContractStatus",
2626
+ },
2627
+ ],
2628
+ outputs: [],
2629
+ stateMutability: "nonpayable",
2630
+ },
2631
+ {
2632
+ type: "function",
2633
+ name: "successor",
2634
+ inputs: [],
2635
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2636
+ stateMutability: "view",
2637
+ },
2638
+ {
2639
+ type: "function",
2640
+ name: "version",
2641
+ inputs: [],
2642
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2643
+ stateMutability: "view",
2644
+ },
2645
+ {
2646
+ type: "function",
2647
+ name: "withdraw",
2648
+ inputs: [
2649
+ { name: "amount", type: "uint96", internalType: "uint96" },
2650
+ { name: "to", type: "address", internalType: "address" },
2651
+ {
2652
+ name: "votes",
2653
+ type: "tuple[]",
2654
+ internalType: "struct MultiVote[]",
2655
+ components: [
2656
+ { name: "votingContract", type: "address", internalType: "address" },
2657
+ { name: "voteAmount", type: "uint96", internalType: "uint96" },
2658
+ { name: "isIncrease", type: "bool", internalType: "bool" },
2659
+ { name: "extraData", type: "bytes", internalType: "bytes" },
2660
+ ],
2661
+ },
2662
+ ],
2663
+ outputs: [],
2664
+ stateMutability: "nonpayable",
2665
+ },
2666
+ {
2667
+ type: "event",
2668
+ name: "ClaimGearWithdrawal",
2669
+ inputs: [
2670
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2671
+ { name: "to", type: "address", indexed: false, internalType: "address" },
2672
+ {
2673
+ name: "amount",
2674
+ type: "uint256",
2675
+ indexed: false,
2676
+ internalType: "uint256",
2677
+ },
2678
+ ],
2679
+ anonymous: false,
2680
+ },
2681
+ {
2682
+ type: "event",
2683
+ name: "DepositGear",
2684
+ inputs: [
2685
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2686
+ {
2687
+ name: "amount",
2688
+ type: "uint256",
2689
+ indexed: false,
2690
+ internalType: "uint256",
2691
+ },
2692
+ ],
2693
+ anonymous: false,
2694
+ },
2695
+ {
2696
+ type: "event",
2697
+ name: "MigrateGear",
2698
+ inputs: [
2699
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2700
+ {
2701
+ name: "successor",
2702
+ type: "address",
2703
+ indexed: true,
2704
+ internalType: "address",
2705
+ },
2706
+ {
2707
+ name: "amount",
2708
+ type: "uint256",
2709
+ indexed: false,
2710
+ internalType: "uint256",
2711
+ },
2712
+ ],
2713
+ anonymous: false,
2714
+ },
2715
+ {
2716
+ type: "event",
2717
+ name: "ScheduleGearWithdrawal",
2718
+ inputs: [
2719
+ { name: "user", type: "address", indexed: true, internalType: "address" },
2720
+ {
2721
+ name: "amount",
2722
+ type: "uint256",
2723
+ indexed: false,
2724
+ internalType: "uint256",
2725
+ },
2726
+ ],
2727
+ anonymous: false,
2728
+ },
2729
+ {
2730
+ type: "event",
2731
+ name: "SetMigrator",
2732
+ inputs: [
2733
+ {
2734
+ name: "migrator",
2735
+ type: "address",
2736
+ indexed: true,
2737
+ internalType: "address",
2738
+ },
2739
+ ],
2740
+ anonymous: false,
2741
+ },
2742
+ {
2743
+ type: "event",
2744
+ name: "SetSuccessor",
2745
+ inputs: [
2746
+ {
2747
+ name: "successor",
2748
+ type: "address",
2749
+ indexed: true,
2750
+ internalType: "address",
2751
+ },
2752
+ ],
2753
+ anonymous: false,
2754
+ },
2755
+ {
2756
+ type: "event",
2757
+ name: "SetVotingContractStatus",
2758
+ inputs: [
2759
+ {
2760
+ name: "votingContract",
2761
+ type: "address",
2762
+ indexed: true,
2763
+ internalType: "address",
2764
+ },
2765
+ {
2766
+ name: "status",
2767
+ type: "uint8",
2768
+ indexed: false,
2769
+ internalType: "enum VotingContractStatus",
2770
+ },
2771
+ ],
2772
+ anonymous: false,
2773
+ },
2774
+ ] as const;
2775
+
2776
+ export const iLinearInterestRateModelV300Abi = [
2777
+ {
2778
+ type: "function",
2779
+ name: "availableToBorrow",
2780
+ inputs: [
2781
+ { name: "expectedLiquidity", type: "uint256", internalType: "uint256" },
2782
+ { name: "availableLiquidity", type: "uint256", internalType: "uint256" },
2783
+ ],
2784
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2785
+ stateMutability: "view",
2786
+ },
2787
+ {
2788
+ type: "function",
2789
+ name: "calcBorrowRate",
2790
+ inputs: [
2791
+ { name: "expectedLiquidity", type: "uint256", internalType: "uint256" },
2792
+ { name: "availableLiquidity", type: "uint256", internalType: "uint256" },
2793
+ { name: "checkOptimalBorrowing", type: "bool", internalType: "bool" },
2794
+ ],
2795
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2796
+ stateMutability: "view",
2797
+ },
2798
+ {
2799
+ type: "function",
2800
+ name: "getModelParameters",
2801
+ inputs: [],
2802
+ outputs: [
2803
+ { name: "U_1", type: "uint16", internalType: "uint16" },
2804
+ { name: "U_2", type: "uint16", internalType: "uint16" },
2805
+ { name: "R_base", type: "uint16", internalType: "uint16" },
2806
+ { name: "R_slope1", type: "uint16", internalType: "uint16" },
2807
+ { name: "R_slope2", type: "uint16", internalType: "uint16" },
2808
+ { name: "R_slope3", type: "uint16", internalType: "uint16" },
2809
+ ],
2810
+ stateMutability: "view",
2811
+ },
2812
+ {
2813
+ type: "function",
2814
+ name: "isBorrowingMoreU2Forbidden",
2815
+ inputs: [],
2816
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
2817
+ stateMutability: "view",
2818
+ },
2819
+ {
2820
+ type: "function",
2821
+ name: "version",
2822
+ inputs: [],
2823
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2824
+ stateMutability: "view",
2825
+ },
2826
+ ] as const;
2827
+
2828
+ export const iPoolQuotaKeeperV300Abi = [
2829
+ {
2830
+ type: "function",
2831
+ name: "accrueQuotaInterest",
2832
+ inputs: [
2833
+ { name: "creditAccount", type: "address", internalType: "address" },
2834
+ { name: "tokens", type: "address[]", internalType: "address[]" },
2835
+ ],
2836
+ outputs: [],
2837
+ stateMutability: "nonpayable",
2838
+ },
2839
+ {
2840
+ type: "function",
2841
+ name: "addCreditManager",
2842
+ inputs: [
2843
+ { name: "_creditManager", type: "address", internalType: "address" },
2844
+ ],
2845
+ outputs: [],
2846
+ stateMutability: "nonpayable",
2847
+ },
2848
+ {
2849
+ type: "function",
2850
+ name: "addQuotaToken",
2851
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2852
+ outputs: [],
2853
+ stateMutability: "nonpayable",
2854
+ },
2855
+ {
2856
+ type: "function",
2857
+ name: "creditManagers",
2858
+ inputs: [],
2859
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
2860
+ stateMutability: "view",
2861
+ },
2862
+ {
2863
+ type: "function",
2864
+ name: "cumulativeIndex",
2865
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2866
+ outputs: [{ name: "", type: "uint192", internalType: "uint192" }],
2867
+ stateMutability: "view",
2868
+ },
2869
+ {
2870
+ type: "function",
2871
+ name: "gauge",
2872
+ inputs: [],
2873
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2874
+ stateMutability: "view",
2875
+ },
2876
+ {
2877
+ type: "function",
2878
+ name: "getQuota",
2879
+ inputs: [
2880
+ { name: "creditAccount", type: "address", internalType: "address" },
2881
+ { name: "token", type: "address", internalType: "address" },
2882
+ ],
2883
+ outputs: [
2884
+ { name: "quota", type: "uint96", internalType: "uint96" },
2885
+ { name: "cumulativeIndexLU", type: "uint192", internalType: "uint192" },
2886
+ ],
2887
+ stateMutability: "view",
2888
+ },
2889
+ {
2890
+ type: "function",
2891
+ name: "getQuotaAndOutstandingInterest",
2892
+ inputs: [
2893
+ { name: "creditAccount", type: "address", internalType: "address" },
2894
+ { name: "token", type: "address", internalType: "address" },
2895
+ ],
2896
+ outputs: [
2897
+ { name: "quoted", type: "uint96", internalType: "uint96" },
2898
+ { name: "outstandingInterest", type: "uint128", internalType: "uint128" },
2899
+ ],
2900
+ stateMutability: "view",
2901
+ },
2902
+ {
2903
+ type: "function",
2904
+ name: "getQuotaRate",
2905
+ inputs: [{ name: "", type: "address", internalType: "address" }],
2906
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
2907
+ stateMutability: "view",
2908
+ },
2909
+ {
2910
+ type: "function",
2911
+ name: "getTokenQuotaParams",
2912
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2913
+ outputs: [
2914
+ { name: "rate", type: "uint16", internalType: "uint16" },
2915
+ { name: "cumulativeIndexLU", type: "uint192", internalType: "uint192" },
2916
+ { name: "quotaIncreaseFee", type: "uint16", internalType: "uint16" },
2917
+ { name: "totalQuoted", type: "uint96", internalType: "uint96" },
2918
+ { name: "limit", type: "uint96", internalType: "uint96" },
2919
+ { name: "isActive", type: "bool", internalType: "bool" },
2920
+ ],
2921
+ stateMutability: "view",
2922
+ },
2923
+ {
2924
+ type: "function",
2925
+ name: "isQuotedToken",
2926
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
2927
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
2928
+ stateMutability: "view",
2929
+ },
2930
+ {
2931
+ type: "function",
2932
+ name: "lastQuotaRateUpdate",
2933
+ inputs: [],
2934
+ outputs: [{ name: "", type: "uint40", internalType: "uint40" }],
2935
+ stateMutability: "view",
2936
+ },
2937
+ {
2938
+ type: "function",
2939
+ name: "pool",
2940
+ inputs: [],
2941
+ outputs: [{ name: "", type: "address", internalType: "address" }],
2942
+ stateMutability: "view",
2943
+ },
2944
+ {
2945
+ type: "function",
2946
+ name: "poolQuotaRevenue",
2947
+ inputs: [],
2948
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
2949
+ stateMutability: "view",
2950
+ },
2951
+ {
2952
+ type: "function",
2953
+ name: "quotedTokens",
2954
+ inputs: [],
2955
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
2956
+ stateMutability: "view",
2957
+ },
2958
+ {
2959
+ type: "function",
2960
+ name: "removeQuotas",
2961
+ inputs: [
2962
+ { name: "creditAccount", type: "address", internalType: "address" },
2963
+ { name: "tokens", type: "address[]", internalType: "address[]" },
2964
+ { name: "setLimitsToZero", type: "bool", internalType: "bool" },
2965
+ ],
2966
+ outputs: [],
2967
+ stateMutability: "nonpayable",
2968
+ },
2969
+ {
2970
+ type: "function",
2971
+ name: "setGauge",
2972
+ inputs: [{ name: "_gauge", type: "address", internalType: "address" }],
2973
+ outputs: [],
2974
+ stateMutability: "nonpayable",
2975
+ },
2976
+ {
2977
+ type: "function",
2978
+ name: "setTokenLimit",
2979
+ inputs: [
2980
+ { name: "token", type: "address", internalType: "address" },
2981
+ { name: "limit", type: "uint96", internalType: "uint96" },
2982
+ ],
2983
+ outputs: [],
2984
+ stateMutability: "nonpayable",
2985
+ },
2986
+ {
2987
+ type: "function",
2988
+ name: "setTokenQuotaIncreaseFee",
2989
+ inputs: [
2990
+ { name: "token", type: "address", internalType: "address" },
2991
+ { name: "fee", type: "uint16", internalType: "uint16" },
2992
+ ],
2993
+ outputs: [],
2994
+ stateMutability: "nonpayable",
2995
+ },
2996
+ {
2997
+ type: "function",
2998
+ name: "underlying",
2999
+ inputs: [],
3000
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3001
+ stateMutability: "view",
3002
+ },
3003
+ {
3004
+ type: "function",
3005
+ name: "updateQuota",
3006
+ inputs: [
3007
+ { name: "creditAccount", type: "address", internalType: "address" },
3008
+ { name: "token", type: "address", internalType: "address" },
3009
+ { name: "requestedChange", type: "int96", internalType: "int96" },
3010
+ { name: "minQuota", type: "uint96", internalType: "uint96" },
3011
+ { name: "maxQuota", type: "uint96", internalType: "uint96" },
3012
+ ],
3013
+ outputs: [
3014
+ {
3015
+ name: "caQuotaInterestChange",
3016
+ type: "uint128",
3017
+ internalType: "uint128",
3018
+ },
3019
+ { name: "fees", type: "uint128", internalType: "uint128" },
3020
+ { name: "enableToken", type: "bool", internalType: "bool" },
3021
+ { name: "disableToken", type: "bool", internalType: "bool" },
3022
+ ],
3023
+ stateMutability: "nonpayable",
3024
+ },
3025
+ {
3026
+ type: "function",
3027
+ name: "updateRates",
3028
+ inputs: [],
3029
+ outputs: [],
3030
+ stateMutability: "nonpayable",
3031
+ },
3032
+ {
3033
+ type: "function",
3034
+ name: "version",
3035
+ inputs: [],
3036
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3037
+ stateMutability: "view",
3038
+ },
3039
+ {
3040
+ type: "event",
3041
+ name: "AddCreditManager",
3042
+ inputs: [
3043
+ {
3044
+ name: "creditManager",
3045
+ type: "address",
3046
+ indexed: true,
3047
+ internalType: "address",
3048
+ },
3049
+ ],
3050
+ anonymous: false,
3051
+ },
3052
+ {
3053
+ type: "event",
3054
+ name: "AddQuotaToken",
3055
+ inputs: [
3056
+ {
3057
+ name: "token",
3058
+ type: "address",
3059
+ indexed: true,
3060
+ internalType: "address",
3061
+ },
3062
+ ],
3063
+ anonymous: false,
3064
+ },
3065
+ {
3066
+ type: "event",
3067
+ name: "SetGauge",
3068
+ inputs: [
3069
+ {
3070
+ name: "newGauge",
3071
+ type: "address",
3072
+ indexed: true,
3073
+ internalType: "address",
3074
+ },
3075
+ ],
3076
+ anonymous: false,
3077
+ },
3078
+ {
3079
+ type: "event",
3080
+ name: "SetQuotaIncreaseFee",
3081
+ inputs: [
3082
+ {
3083
+ name: "token",
3084
+ type: "address",
3085
+ indexed: true,
3086
+ internalType: "address",
3087
+ },
3088
+ { name: "fee", type: "uint16", indexed: false, internalType: "uint16" },
3089
+ ],
3090
+ anonymous: false,
3091
+ },
3092
+ {
3093
+ type: "event",
3094
+ name: "SetTokenLimit",
3095
+ inputs: [
3096
+ {
3097
+ name: "token",
3098
+ type: "address",
3099
+ indexed: true,
3100
+ internalType: "address",
3101
+ },
3102
+ { name: "limit", type: "uint96", indexed: false, internalType: "uint96" },
3103
+ ],
3104
+ anonymous: false,
3105
+ },
3106
+ {
3107
+ type: "event",
3108
+ name: "UpdateQuota",
3109
+ inputs: [
3110
+ {
3111
+ name: "creditAccount",
3112
+ type: "address",
3113
+ indexed: true,
3114
+ internalType: "address",
3115
+ },
3116
+ {
3117
+ name: "token",
3118
+ type: "address",
3119
+ indexed: true,
3120
+ internalType: "address",
3121
+ },
3122
+ {
3123
+ name: "quotaChange",
3124
+ type: "int96",
3125
+ indexed: false,
3126
+ internalType: "int96",
3127
+ },
3128
+ ],
3129
+ anonymous: false,
3130
+ },
3131
+ {
3132
+ type: "event",
3133
+ name: "UpdateTokenQuotaRate",
3134
+ inputs: [
3135
+ {
3136
+ name: "token",
3137
+ type: "address",
3138
+ indexed: true,
3139
+ internalType: "address",
3140
+ },
3141
+ { name: "rate", type: "uint16", indexed: false, internalType: "uint16" },
3142
+ ],
3143
+ anonymous: false,
3144
+ },
3145
+ ] as const;
3146
+
3147
+ export const iPoolV300Abi = [
3148
+ {
3149
+ type: "function",
3150
+ name: "DOMAIN_SEPARATOR",
3151
+ inputs: [],
3152
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
3153
+ stateMutability: "view",
3154
+ },
3155
+ {
3156
+ type: "function",
3157
+ name: "addressProvider",
3158
+ inputs: [],
3159
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3160
+ stateMutability: "view",
3161
+ },
3162
+ {
3163
+ type: "function",
3164
+ name: "allowance",
3165
+ inputs: [
3166
+ { name: "owner", type: "address", internalType: "address" },
3167
+ { name: "spender", type: "address", internalType: "address" },
3168
+ ],
3169
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3170
+ stateMutability: "view",
3171
+ },
3172
+ {
3173
+ type: "function",
3174
+ name: "approve",
3175
+ inputs: [
3176
+ { name: "spender", type: "address", internalType: "address" },
3177
+ { name: "amount", type: "uint256", internalType: "uint256" },
3178
+ ],
3179
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
3180
+ stateMutability: "nonpayable",
3181
+ },
3182
+ {
3183
+ type: "function",
3184
+ name: "asset",
3185
+ inputs: [],
3186
+ outputs: [
3187
+ { name: "assetTokenAddress", type: "address", internalType: "address" },
3188
+ ],
3189
+ stateMutability: "view",
3190
+ },
3191
+ {
3192
+ type: "function",
3193
+ name: "availableLiquidity",
3194
+ inputs: [],
3195
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3196
+ stateMutability: "view",
3197
+ },
3198
+ {
3199
+ type: "function",
3200
+ name: "balanceOf",
3201
+ inputs: [{ name: "account", type: "address", internalType: "address" }],
3202
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3203
+ stateMutability: "view",
3204
+ },
3205
+ {
3206
+ type: "function",
3207
+ name: "baseInterestIndex",
3208
+ inputs: [],
3209
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3210
+ stateMutability: "view",
3211
+ },
3212
+ {
3213
+ type: "function",
3214
+ name: "baseInterestIndexLU",
3215
+ inputs: [],
3216
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3217
+ stateMutability: "view",
3218
+ },
3219
+ {
3220
+ type: "function",
3221
+ name: "baseInterestRate",
3222
+ inputs: [],
3223
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3224
+ stateMutability: "view",
3225
+ },
3226
+ {
3227
+ type: "function",
3228
+ name: "convertToAssets",
3229
+ inputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3230
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3231
+ stateMutability: "view",
3232
+ },
3233
+ {
3234
+ type: "function",
3235
+ name: "convertToShares",
3236
+ inputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3237
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3238
+ stateMutability: "view",
3239
+ },
3240
+ {
3241
+ type: "function",
3242
+ name: "creditManagerBorrowable",
3243
+ inputs: [
3244
+ { name: "creditManager", type: "address", internalType: "address" },
3245
+ ],
3246
+ outputs: [{ name: "borrowable", type: "uint256", internalType: "uint256" }],
3247
+ stateMutability: "view",
3248
+ },
3249
+ {
3250
+ type: "function",
3251
+ name: "creditManagerBorrowed",
3252
+ inputs: [
3253
+ { name: "creditManager", type: "address", internalType: "address" },
3254
+ ],
3255
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3256
+ stateMutability: "view",
3257
+ },
3258
+ {
3259
+ type: "function",
3260
+ name: "creditManagerDebtLimit",
3261
+ inputs: [
3262
+ { name: "creditManager", type: "address", internalType: "address" },
3263
+ ],
3264
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3265
+ stateMutability: "view",
3266
+ },
3267
+ {
3268
+ type: "function",
3269
+ name: "creditManagers",
3270
+ inputs: [],
3271
+ outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
3272
+ stateMutability: "view",
3273
+ },
3274
+ {
3275
+ type: "function",
3276
+ name: "decimals",
3277
+ inputs: [],
3278
+ outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
3279
+ stateMutability: "view",
3280
+ },
3281
+ {
3282
+ type: "function",
3283
+ name: "deposit",
3284
+ inputs: [
3285
+ { name: "assets", type: "uint256", internalType: "uint256" },
3286
+ { name: "receiver", type: "address", internalType: "address" },
3287
+ ],
3288
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3289
+ stateMutability: "nonpayable",
3290
+ },
3291
+ {
3292
+ type: "function",
3293
+ name: "depositWithReferral",
3294
+ inputs: [
3295
+ { name: "assets", type: "uint256", internalType: "uint256" },
3296
+ { name: "receiver", type: "address", internalType: "address" },
3297
+ { name: "referralCode", type: "uint256", internalType: "uint256" },
3298
+ ],
3299
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3300
+ stateMutability: "nonpayable",
3301
+ },
3302
+ {
3303
+ type: "function",
3304
+ name: "expectedLiquidity",
3305
+ inputs: [],
3306
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3307
+ stateMutability: "view",
3308
+ },
3309
+ {
3310
+ type: "function",
3311
+ name: "expectedLiquidityLU",
3312
+ inputs: [],
3313
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3314
+ stateMutability: "view",
3315
+ },
3316
+ {
3317
+ type: "function",
3318
+ name: "interestRateModel",
3319
+ inputs: [],
3320
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3321
+ stateMutability: "view",
3322
+ },
3323
+ {
3324
+ type: "function",
3325
+ name: "lastBaseInterestUpdate",
3326
+ inputs: [],
3327
+ outputs: [{ name: "", type: "uint40", internalType: "uint40" }],
3328
+ stateMutability: "view",
3329
+ },
3330
+ {
3331
+ type: "function",
3332
+ name: "lastQuotaRevenueUpdate",
3333
+ inputs: [],
3334
+ outputs: [{ name: "", type: "uint40", internalType: "uint40" }],
3335
+ stateMutability: "view",
3336
+ },
3337
+ {
3338
+ type: "function",
3339
+ name: "lendCreditAccount",
3340
+ inputs: [
3341
+ { name: "borrowedAmount", type: "uint256", internalType: "uint256" },
3342
+ { name: "creditAccount", type: "address", internalType: "address" },
3343
+ ],
3344
+ outputs: [],
3345
+ stateMutability: "nonpayable",
3346
+ },
3347
+ {
3348
+ type: "function",
3349
+ name: "maxDeposit",
3350
+ inputs: [{ name: "receiver", type: "address", internalType: "address" }],
3351
+ outputs: [{ name: "maxAssets", type: "uint256", internalType: "uint256" }],
3352
+ stateMutability: "view",
3353
+ },
3354
+ {
3355
+ type: "function",
3356
+ name: "maxMint",
3357
+ inputs: [{ name: "receiver", type: "address", internalType: "address" }],
3358
+ outputs: [{ name: "maxShares", type: "uint256", internalType: "uint256" }],
3359
+ stateMutability: "view",
3360
+ },
3361
+ {
3362
+ type: "function",
3363
+ name: "maxRedeem",
3364
+ inputs: [{ name: "owner", type: "address", internalType: "address" }],
3365
+ outputs: [{ name: "maxShares", type: "uint256", internalType: "uint256" }],
3366
+ stateMutability: "view",
3367
+ },
3368
+ {
3369
+ type: "function",
3370
+ name: "maxWithdraw",
3371
+ inputs: [{ name: "owner", type: "address", internalType: "address" }],
3372
+ outputs: [{ name: "maxAssets", type: "uint256", internalType: "uint256" }],
3373
+ stateMutability: "view",
3374
+ },
3375
+ {
3376
+ type: "function",
3377
+ name: "mint",
3378
+ inputs: [
3379
+ { name: "shares", type: "uint256", internalType: "uint256" },
3380
+ { name: "receiver", type: "address", internalType: "address" },
3381
+ ],
3382
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3383
+ stateMutability: "nonpayable",
3384
+ },
3385
+ {
3386
+ type: "function",
3387
+ name: "mintWithReferral",
3388
+ inputs: [
3389
+ { name: "shares", type: "uint256", internalType: "uint256" },
3390
+ { name: "receiver", type: "address", internalType: "address" },
3391
+ { name: "referralCode", type: "uint256", internalType: "uint256" },
3392
+ ],
3393
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3394
+ stateMutability: "nonpayable",
3395
+ },
3396
+ {
3397
+ type: "function",
3398
+ name: "name",
3399
+ inputs: [],
3400
+ outputs: [{ name: "", type: "string", internalType: "string" }],
3401
+ stateMutability: "view",
3402
+ },
3403
+ {
3404
+ type: "function",
3405
+ name: "nonces",
3406
+ inputs: [{ name: "owner", type: "address", internalType: "address" }],
3407
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3408
+ stateMutability: "view",
3409
+ },
3410
+ {
3411
+ type: "function",
3412
+ name: "permit",
3413
+ inputs: [
3414
+ { name: "owner", type: "address", internalType: "address" },
3415
+ { name: "spender", type: "address", internalType: "address" },
3416
+ { name: "value", type: "uint256", internalType: "uint256" },
3417
+ { name: "deadline", type: "uint256", internalType: "uint256" },
3418
+ { name: "v", type: "uint8", internalType: "uint8" },
3419
+ { name: "r", type: "bytes32", internalType: "bytes32" },
3420
+ { name: "s", type: "bytes32", internalType: "bytes32" },
3421
+ ],
3422
+ outputs: [],
3423
+ stateMutability: "nonpayable",
3424
+ },
3425
+ {
3426
+ type: "function",
3427
+ name: "poolQuotaKeeper",
3428
+ inputs: [],
3429
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3430
+ stateMutability: "view",
3431
+ },
3432
+ {
3433
+ type: "function",
3434
+ name: "previewDeposit",
3435
+ inputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3436
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3437
+ stateMutability: "view",
3438
+ },
3439
+ {
3440
+ type: "function",
3441
+ name: "previewMint",
3442
+ inputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3443
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3444
+ stateMutability: "view",
3445
+ },
3446
+ {
3447
+ type: "function",
3448
+ name: "previewRedeem",
3449
+ inputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3450
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3451
+ stateMutability: "view",
3452
+ },
3453
+ {
3454
+ type: "function",
3455
+ name: "previewWithdraw",
3456
+ inputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3457
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3458
+ stateMutability: "view",
3459
+ },
3460
+ {
3461
+ type: "function",
3462
+ name: "quotaRevenue",
3463
+ inputs: [],
3464
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3465
+ stateMutability: "view",
3466
+ },
3467
+ {
3468
+ type: "function",
3469
+ name: "redeem",
3470
+ inputs: [
3471
+ { name: "shares", type: "uint256", internalType: "uint256" },
3472
+ { name: "receiver", type: "address", internalType: "address" },
3473
+ { name: "owner", type: "address", internalType: "address" },
3474
+ ],
3475
+ outputs: [{ name: "assets", type: "uint256", internalType: "uint256" }],
3476
+ stateMutability: "nonpayable",
3477
+ },
3478
+ {
3479
+ type: "function",
3480
+ name: "repayCreditAccount",
3481
+ inputs: [
3482
+ { name: "repaidAmount", type: "uint256", internalType: "uint256" },
3483
+ { name: "profit", type: "uint256", internalType: "uint256" },
3484
+ { name: "loss", type: "uint256", internalType: "uint256" },
3485
+ ],
3486
+ outputs: [],
3487
+ stateMutability: "nonpayable",
3488
+ },
3489
+ {
3490
+ type: "function",
3491
+ name: "setCreditManagerDebtLimit",
3492
+ inputs: [
3493
+ { name: "creditManager", type: "address", internalType: "address" },
3494
+ { name: "newLimit", type: "uint256", internalType: "uint256" },
3495
+ ],
3496
+ outputs: [],
3497
+ stateMutability: "nonpayable",
3498
+ },
3499
+ {
3500
+ type: "function",
3501
+ name: "setInterestRateModel",
3502
+ inputs: [
3503
+ {
3504
+ name: "newInterestRateModel",
3505
+ type: "address",
3506
+ internalType: "address",
3507
+ },
3508
+ ],
3509
+ outputs: [],
3510
+ stateMutability: "nonpayable",
3511
+ },
3512
+ {
3513
+ type: "function",
3514
+ name: "setPoolQuotaKeeper",
3515
+ inputs: [
3516
+ { name: "newPoolQuotaKeeper", type: "address", internalType: "address" },
3517
+ ],
3518
+ outputs: [],
3519
+ stateMutability: "nonpayable",
3520
+ },
3521
+ {
3522
+ type: "function",
3523
+ name: "setQuotaRevenue",
3524
+ inputs: [
3525
+ { name: "newQuotaRevenue", type: "uint256", internalType: "uint256" },
3526
+ ],
3527
+ outputs: [],
3528
+ stateMutability: "nonpayable",
3529
+ },
3530
+ {
3531
+ type: "function",
3532
+ name: "setTotalDebtLimit",
3533
+ inputs: [{ name: "newLimit", type: "uint256", internalType: "uint256" }],
3534
+ outputs: [],
3535
+ stateMutability: "nonpayable",
3536
+ },
3537
+ {
3538
+ type: "function",
3539
+ name: "setWithdrawFee",
3540
+ inputs: [
3541
+ { name: "newWithdrawFee", type: "uint256", internalType: "uint256" },
3542
+ ],
3543
+ outputs: [],
3544
+ stateMutability: "nonpayable",
3545
+ },
3546
+ {
3547
+ type: "function",
3548
+ name: "supplyRate",
3549
+ inputs: [],
3550
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3551
+ stateMutability: "view",
3552
+ },
3553
+ {
3554
+ type: "function",
3555
+ name: "symbol",
3556
+ inputs: [],
3557
+ outputs: [{ name: "", type: "string", internalType: "string" }],
3558
+ stateMutability: "view",
3559
+ },
3560
+ {
3561
+ type: "function",
3562
+ name: "totalAssets",
3563
+ inputs: [],
3564
+ outputs: [
3565
+ { name: "totalManagedAssets", type: "uint256", internalType: "uint256" },
3566
+ ],
3567
+ stateMutability: "view",
3568
+ },
3569
+ {
3570
+ type: "function",
3571
+ name: "totalBorrowed",
3572
+ inputs: [],
3573
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3574
+ stateMutability: "view",
3575
+ },
3576
+ {
3577
+ type: "function",
3578
+ name: "totalDebtLimit",
3579
+ inputs: [],
3580
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3581
+ stateMutability: "view",
3582
+ },
3583
+ {
3584
+ type: "function",
3585
+ name: "totalSupply",
3586
+ inputs: [],
3587
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3588
+ stateMutability: "view",
3589
+ },
3590
+ {
3591
+ type: "function",
3592
+ name: "transfer",
3593
+ inputs: [
3594
+ { name: "to", type: "address", internalType: "address" },
3595
+ { name: "amount", type: "uint256", internalType: "uint256" },
3596
+ ],
3597
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
3598
+ stateMutability: "nonpayable",
3599
+ },
3600
+ {
3601
+ type: "function",
3602
+ name: "transferFrom",
3603
+ inputs: [
3604
+ { name: "from", type: "address", internalType: "address" },
3605
+ { name: "to", type: "address", internalType: "address" },
3606
+ { name: "amount", type: "uint256", internalType: "uint256" },
3607
+ ],
3608
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
3609
+ stateMutability: "nonpayable",
3610
+ },
3611
+ {
3612
+ type: "function",
3613
+ name: "treasury",
3614
+ inputs: [],
3615
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3616
+ stateMutability: "view",
3617
+ },
3618
+ {
3619
+ type: "function",
3620
+ name: "underlyingToken",
3621
+ inputs: [],
3622
+ outputs: [{ name: "", type: "address", internalType: "address" }],
3623
+ stateMutability: "view",
3624
+ },
3625
+ {
3626
+ type: "function",
3627
+ name: "updateQuotaRevenue",
3628
+ inputs: [
3629
+ { name: "quotaRevenueDelta", type: "int256", internalType: "int256" },
3630
+ ],
3631
+ outputs: [],
3632
+ stateMutability: "nonpayable",
3633
+ },
3634
+ {
3635
+ type: "function",
3636
+ name: "version",
3637
+ inputs: [],
3638
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3639
+ stateMutability: "view",
3640
+ },
3641
+ {
3642
+ type: "function",
3643
+ name: "withdraw",
3644
+ inputs: [
3645
+ { name: "assets", type: "uint256", internalType: "uint256" },
3646
+ { name: "receiver", type: "address", internalType: "address" },
3647
+ { name: "owner", type: "address", internalType: "address" },
3648
+ ],
3649
+ outputs: [{ name: "shares", type: "uint256", internalType: "uint256" }],
3650
+ stateMutability: "nonpayable",
3651
+ },
3652
+ {
3653
+ type: "function",
3654
+ name: "withdrawFee",
3655
+ inputs: [],
3656
+ outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
3657
+ stateMutability: "view",
3658
+ },
3659
+ {
3660
+ type: "event",
3661
+ name: "AddCreditManager",
3662
+ inputs: [
3663
+ {
3664
+ name: "creditManager",
3665
+ type: "address",
3666
+ indexed: true,
3667
+ internalType: "address",
3668
+ },
3669
+ ],
3670
+ anonymous: false,
3671
+ },
3672
+ {
3673
+ type: "event",
3674
+ name: "Approval",
3675
+ inputs: [
3676
+ {
3677
+ name: "owner",
3678
+ type: "address",
3679
+ indexed: true,
3680
+ internalType: "address",
3681
+ },
3682
+ {
3683
+ name: "spender",
3684
+ type: "address",
3685
+ indexed: true,
3686
+ internalType: "address",
3687
+ },
3688
+ {
3689
+ name: "value",
3690
+ type: "uint256",
3691
+ indexed: false,
3692
+ internalType: "uint256",
3693
+ },
3694
+ ],
3695
+ anonymous: false,
3696
+ },
3697
+ {
3698
+ type: "event",
3699
+ name: "Borrow",
3700
+ inputs: [
3701
+ {
3702
+ name: "creditManager",
3703
+ type: "address",
3704
+ indexed: true,
3705
+ internalType: "address",
3706
+ },
3707
+ {
3708
+ name: "creditAccount",
3709
+ type: "address",
3710
+ indexed: true,
3711
+ internalType: "address",
3712
+ },
3713
+ {
3714
+ name: "amount",
3715
+ type: "uint256",
3716
+ indexed: false,
3717
+ internalType: "uint256",
3718
+ },
3719
+ ],
3720
+ anonymous: false,
3721
+ },
3722
+ {
3723
+ type: "event",
3724
+ name: "Deposit",
3725
+ inputs: [
3726
+ {
3727
+ name: "sender",
3728
+ type: "address",
3729
+ indexed: true,
3730
+ internalType: "address",
3731
+ },
3732
+ {
3733
+ name: "owner",
3734
+ type: "address",
3735
+ indexed: true,
3736
+ internalType: "address",
3737
+ },
3738
+ {
3739
+ name: "assets",
3740
+ type: "uint256",
3741
+ indexed: false,
3742
+ internalType: "uint256",
3743
+ },
3744
+ {
3745
+ name: "shares",
3746
+ type: "uint256",
3747
+ indexed: false,
3748
+ internalType: "uint256",
3749
+ },
3750
+ ],
3751
+ anonymous: false,
3752
+ },
3753
+ {
3754
+ type: "event",
3755
+ name: "IncurUncoveredLoss",
3756
+ inputs: [
3757
+ {
3758
+ name: "creditManager",
3759
+ type: "address",
3760
+ indexed: true,
3761
+ internalType: "address",
3762
+ },
3763
+ {
3764
+ name: "loss",
3765
+ type: "uint256",
3766
+ indexed: false,
3767
+ internalType: "uint256",
3768
+ },
3769
+ ],
3770
+ anonymous: false,
3771
+ },
3772
+ {
3773
+ type: "event",
3774
+ name: "Refer",
3775
+ inputs: [
3776
+ {
3777
+ name: "onBehalfOf",
3778
+ type: "address",
3779
+ indexed: true,
3780
+ internalType: "address",
3781
+ },
3782
+ {
3783
+ name: "referralCode",
3784
+ type: "uint256",
3785
+ indexed: true,
3786
+ internalType: "uint256",
3787
+ },
3788
+ {
3789
+ name: "amount",
3790
+ type: "uint256",
3791
+ indexed: false,
3792
+ internalType: "uint256",
3793
+ },
3794
+ ],
3795
+ anonymous: false,
3796
+ },
3797
+ {
3798
+ type: "event",
3799
+ name: "Repay",
3800
+ inputs: [
3801
+ {
3802
+ name: "creditManager",
3803
+ type: "address",
3804
+ indexed: true,
3805
+ internalType: "address",
3806
+ },
3807
+ {
3808
+ name: "borrowedAmount",
3809
+ type: "uint256",
3810
+ indexed: false,
3811
+ internalType: "uint256",
3812
+ },
3813
+ {
3814
+ name: "profit",
3815
+ type: "uint256",
3816
+ indexed: false,
3817
+ internalType: "uint256",
3818
+ },
3819
+ {
3820
+ name: "loss",
3821
+ type: "uint256",
3822
+ indexed: false,
3823
+ internalType: "uint256",
3824
+ },
3825
+ ],
3826
+ anonymous: false,
3827
+ },
3828
+ {
3829
+ type: "event",
3830
+ name: "SetCreditManagerDebtLimit",
3831
+ inputs: [
3832
+ {
3833
+ name: "creditManager",
3834
+ type: "address",
3835
+ indexed: true,
3836
+ internalType: "address",
3837
+ },
3838
+ {
3839
+ name: "newLimit",
3840
+ type: "uint256",
3841
+ indexed: false,
3842
+ internalType: "uint256",
3843
+ },
3844
+ ],
3845
+ anonymous: false,
3846
+ },
3847
+ {
3848
+ type: "event",
3849
+ name: "SetInterestRateModel",
3850
+ inputs: [
3851
+ {
3852
+ name: "newInterestRateModel",
3853
+ type: "address",
3854
+ indexed: true,
3855
+ internalType: "address",
3856
+ },
3857
+ ],
3858
+ anonymous: false,
3859
+ },
3860
+ {
3861
+ type: "event",
3862
+ name: "SetPoolQuotaKeeper",
3863
+ inputs: [
3864
+ {
3865
+ name: "newPoolQuotaKeeper",
3866
+ type: "address",
3867
+ indexed: true,
3868
+ internalType: "address",
3869
+ },
3870
+ ],
3871
+ anonymous: false,
3872
+ },
3873
+ {
3874
+ type: "event",
3875
+ name: "SetTotalDebtLimit",
3876
+ inputs: [
3877
+ {
3878
+ name: "limit",
3879
+ type: "uint256",
3880
+ indexed: false,
3881
+ internalType: "uint256",
3882
+ },
3883
+ ],
3884
+ anonymous: false,
3885
+ },
3886
+ {
3887
+ type: "event",
3888
+ name: "SetWithdrawFee",
3889
+ inputs: [
3890
+ { name: "fee", type: "uint256", indexed: false, internalType: "uint256" },
3891
+ ],
3892
+ anonymous: false,
3893
+ },
3894
+ {
3895
+ type: "event",
3896
+ name: "Transfer",
3897
+ inputs: [
3898
+ { name: "from", type: "address", indexed: true, internalType: "address" },
3899
+ { name: "to", type: "address", indexed: true, internalType: "address" },
3900
+ {
3901
+ name: "value",
3902
+ type: "uint256",
3903
+ indexed: false,
3904
+ internalType: "uint256",
3905
+ },
3906
+ ],
3907
+ anonymous: false,
3908
+ },
3909
+ {
3910
+ type: "event",
3911
+ name: "Withdraw",
3912
+ inputs: [
3913
+ {
3914
+ name: "sender",
3915
+ type: "address",
3916
+ indexed: true,
3917
+ internalType: "address",
3918
+ },
3919
+ {
3920
+ name: "receiver",
3921
+ type: "address",
3922
+ indexed: true,
3923
+ internalType: "address",
3924
+ },
3925
+ {
3926
+ name: "owner",
3927
+ type: "address",
3928
+ indexed: true,
3929
+ internalType: "address",
3930
+ },
3931
+ {
3932
+ name: "assets",
3933
+ type: "uint256",
3934
+ indexed: false,
3935
+ internalType: "uint256",
3936
+ },
3937
+ {
3938
+ name: "shares",
3939
+ type: "uint256",
3940
+ indexed: false,
3941
+ internalType: "uint256",
3942
+ },
3943
+ ],
3944
+ anonymous: false,
3945
+ },
3946
+ ] as const;
3947
+
3948
+ export const iPriceOracleV300Abi = [
3949
+ {
3950
+ type: "function",
3951
+ name: "convert",
3952
+ inputs: [
3953
+ { name: "amount", type: "uint256", internalType: "uint256" },
3954
+ { name: "tokenFrom", type: "address", internalType: "address" },
3955
+ { name: "tokenTo", type: "address", internalType: "address" },
3956
+ ],
3957
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3958
+ stateMutability: "view",
3959
+ },
3960
+ {
3961
+ type: "function",
3962
+ name: "convertFromUSD",
3963
+ inputs: [
3964
+ { name: "amount", type: "uint256", internalType: "uint256" },
3965
+ { name: "token", type: "address", internalType: "address" },
3966
+ ],
3967
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3968
+ stateMutability: "view",
3969
+ },
3970
+ {
3971
+ type: "function",
3972
+ name: "convertToUSD",
3973
+ inputs: [
3974
+ { name: "amount", type: "uint256", internalType: "uint256" },
3975
+ { name: "token", type: "address", internalType: "address" },
3976
+ ],
3977
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3978
+ stateMutability: "view",
3979
+ },
3980
+ {
3981
+ type: "function",
3982
+ name: "getPrice",
3983
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
3984
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3985
+ stateMutability: "view",
3986
+ },
3987
+ {
3988
+ type: "function",
3989
+ name: "getPriceRaw",
3990
+ inputs: [
3991
+ { name: "token", type: "address", internalType: "address" },
3992
+ { name: "reserve", type: "bool", internalType: "bool" },
3993
+ ],
3994
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
3995
+ stateMutability: "view",
3996
+ },
3997
+ {
3998
+ type: "function",
3999
+ name: "getPriceSafe",
4000
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
4001
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4002
+ stateMutability: "view",
4003
+ },
4004
+ {
4005
+ type: "function",
4006
+ name: "priceFeedParams",
4007
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
4008
+ outputs: [
4009
+ { name: "priceFeed", type: "address", internalType: "address" },
4010
+ { name: "stalenessPeriod", type: "uint32", internalType: "uint32" },
4011
+ { name: "skipCheck", type: "bool", internalType: "bool" },
4012
+ { name: "decimals", type: "uint8", internalType: "uint8" },
4013
+ { name: "trusted", type: "bool", internalType: "bool" },
4014
+ ],
4015
+ stateMutability: "view",
4016
+ },
4017
+ {
4018
+ type: "function",
4019
+ name: "priceFeeds",
4020
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
4021
+ outputs: [{ name: "priceFeed", type: "address", internalType: "address" }],
4022
+ stateMutability: "view",
4023
+ },
4024
+ {
4025
+ type: "function",
4026
+ name: "priceFeedsRaw",
4027
+ inputs: [
4028
+ { name: "token", type: "address", internalType: "address" },
4029
+ { name: "reserve", type: "bool", internalType: "bool" },
4030
+ ],
4031
+ outputs: [{ name: "", type: "address", internalType: "address" }],
4032
+ stateMutability: "view",
4033
+ },
4034
+ {
4035
+ type: "function",
4036
+ name: "safeConvertToUSD",
4037
+ inputs: [
4038
+ { name: "amount", type: "uint256", internalType: "uint256" },
4039
+ { name: "token", type: "address", internalType: "address" },
4040
+ ],
4041
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4042
+ stateMutability: "view",
4043
+ },
4044
+ {
4045
+ type: "function",
4046
+ name: "setPriceFeed",
4047
+ inputs: [
4048
+ { name: "token", type: "address", internalType: "address" },
4049
+ { name: "priceFeed", type: "address", internalType: "address" },
4050
+ { name: "stalenessPeriod", type: "uint32", internalType: "uint32" },
4051
+ { name: "trusted", type: "bool", internalType: "bool" },
4052
+ ],
4053
+ outputs: [],
4054
+ stateMutability: "nonpayable",
4055
+ },
4056
+ {
4057
+ type: "function",
4058
+ name: "setReservePriceFeed",
4059
+ inputs: [
4060
+ { name: "token", type: "address", internalType: "address" },
4061
+ { name: "priceFeed", type: "address", internalType: "address" },
4062
+ { name: "stalenessPeriod", type: "uint32", internalType: "uint32" },
4063
+ ],
4064
+ outputs: [],
4065
+ stateMutability: "nonpayable",
4066
+ },
4067
+ {
4068
+ type: "function",
4069
+ name: "setReservePriceFeedStatus",
4070
+ inputs: [
4071
+ { name: "token", type: "address", internalType: "address" },
4072
+ { name: "active", type: "bool", internalType: "bool" },
4073
+ ],
4074
+ outputs: [],
4075
+ stateMutability: "nonpayable",
4076
+ },
4077
+ {
4078
+ type: "function",
4079
+ name: "version",
4080
+ inputs: [],
4081
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
4082
+ stateMutability: "view",
4083
+ },
4084
+ {
4085
+ type: "event",
4086
+ name: "SetPriceFeed",
4087
+ inputs: [
4088
+ {
4089
+ name: "token",
4090
+ type: "address",
4091
+ indexed: true,
4092
+ internalType: "address",
4093
+ },
4094
+ {
4095
+ name: "priceFeed",
4096
+ type: "address",
4097
+ indexed: true,
4098
+ internalType: "address",
4099
+ },
4100
+ {
4101
+ name: "stalenessPeriod",
4102
+ type: "uint32",
4103
+ indexed: false,
4104
+ internalType: "uint32",
4105
+ },
4106
+ { name: "skipCheck", type: "bool", indexed: false, internalType: "bool" },
4107
+ { name: "trusted", type: "bool", indexed: false, internalType: "bool" },
4108
+ ],
4109
+ anonymous: false,
4110
+ },
4111
+ {
4112
+ type: "event",
4113
+ name: "SetReservePriceFeed",
4114
+ inputs: [
4115
+ {
4116
+ name: "token",
4117
+ type: "address",
4118
+ indexed: true,
4119
+ internalType: "address",
4120
+ },
4121
+ {
4122
+ name: "priceFeed",
4123
+ type: "address",
4124
+ indexed: true,
4125
+ internalType: "address",
4126
+ },
4127
+ {
4128
+ name: "stalenessPeriod",
4129
+ type: "uint32",
4130
+ indexed: false,
4131
+ internalType: "uint32",
4132
+ },
4133
+ { name: "skipCheck", type: "bool", indexed: false, internalType: "bool" },
4134
+ ],
4135
+ anonymous: false,
4136
+ },
4137
+ {
4138
+ type: "event",
4139
+ name: "SetReservePriceFeedStatus",
4140
+ inputs: [
4141
+ {
4142
+ name: "token",
4143
+ type: "address",
4144
+ indexed: true,
4145
+ internalType: "address",
4146
+ },
4147
+ { name: "active", type: "bool", indexed: false, internalType: "bool" },
4148
+ ],
4149
+ anonymous: false,
4150
+ },
4151
+ ] as const;