@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,957 @@
1
+ /// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2
+ // IDataCompressorV3
3
+ /// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4
+
5
+ export const iDataCompressorV3Abi = [
6
+ {
7
+ type: "function",
8
+ inputs: [
9
+ { name: "creditAccount", internalType: "address", type: "address" },
10
+ {
11
+ name: "priceUpdates",
12
+ internalType: "struct PriceOnDemand[]",
13
+ type: "tuple[]",
14
+ components: [
15
+ { name: "token", internalType: "address", type: "address" },
16
+ { name: "callData", internalType: "bytes", type: "bytes" },
17
+ ],
18
+ },
19
+ ],
20
+ name: "getCreditAccountData",
21
+ outputs: [
22
+ {
23
+ name: "",
24
+ internalType: "struct CreditAccountData",
25
+ type: "tuple",
26
+ components: [
27
+ { name: "isSuccessful", internalType: "bool", type: "bool" },
28
+ {
29
+ name: "priceFeedsNeeded",
30
+ internalType: "address[]",
31
+ type: "address[]",
32
+ },
33
+ { name: "addr", internalType: "address", type: "address" },
34
+ { name: "borrower", internalType: "address", type: "address" },
35
+ { name: "creditManager", internalType: "address", type: "address" },
36
+ { name: "cmName", internalType: "string", type: "string" },
37
+ { name: "creditFacade", internalType: "address", type: "address" },
38
+ { name: "underlying", internalType: "address", type: "address" },
39
+ { name: "debt", internalType: "uint256", type: "uint256" },
40
+ {
41
+ name: "cumulativeIndexLastUpdate",
42
+ internalType: "uint256",
43
+ type: "uint256",
44
+ },
45
+ {
46
+ name: "cumulativeQuotaInterest",
47
+ internalType: "uint128",
48
+ type: "uint128",
49
+ },
50
+ { name: "accruedInterest", internalType: "uint256", type: "uint256" },
51
+ { name: "accruedFees", internalType: "uint256", type: "uint256" },
52
+ { name: "totalDebtUSD", internalType: "uint256", type: "uint256" },
53
+ { name: "totalValue", internalType: "uint256", type: "uint256" },
54
+ { name: "totalValueUSD", internalType: "uint256", type: "uint256" },
55
+ { name: "twvUSD", internalType: "uint256", type: "uint256" },
56
+ {
57
+ name: "enabledTokensMask",
58
+ internalType: "uint256",
59
+ type: "uint256",
60
+ },
61
+ { name: "healthFactor", internalType: "uint256", type: "uint256" },
62
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
63
+ {
64
+ name: "aggregatedBorrowRate",
65
+ internalType: "uint256",
66
+ type: "uint256",
67
+ },
68
+ {
69
+ name: "balances",
70
+ internalType: "struct TokenBalance[]",
71
+ type: "tuple[]",
72
+ components: [
73
+ { name: "token", internalType: "address", type: "address" },
74
+ { name: "balance", internalType: "uint256", type: "uint256" },
75
+ { name: "isForbidden", internalType: "bool", type: "bool" },
76
+ { name: "isEnabled", internalType: "bool", type: "bool" },
77
+ { name: "isQuoted", internalType: "bool", type: "bool" },
78
+ { name: "quota", internalType: "uint256", type: "uint256" },
79
+ { name: "quotaRate", internalType: "uint16", type: "uint16" },
80
+ {
81
+ name: "quotaCumulativeIndexLU",
82
+ internalType: "uint256",
83
+ type: "uint256",
84
+ },
85
+ ],
86
+ },
87
+ { name: "since", internalType: "uint64", type: "uint64" },
88
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
89
+ { name: "expirationDate", internalType: "uint40", type: "uint40" },
90
+ { name: "activeBots", internalType: "address[]", type: "address[]" },
91
+ ],
92
+ },
93
+ ],
94
+ stateMutability: "nonpayable",
95
+ },
96
+ {
97
+ type: "function",
98
+ inputs: [
99
+ { name: "borrower", internalType: "address", type: "address" },
100
+ {
101
+ name: "priceUpdates",
102
+ internalType: "struct PriceOnDemand[]",
103
+ type: "tuple[]",
104
+ components: [
105
+ { name: "token", internalType: "address", type: "address" },
106
+ { name: "callData", internalType: "bytes", type: "bytes" },
107
+ ],
108
+ },
109
+ ],
110
+ name: "getCreditAccountsByBorrower",
111
+ outputs: [
112
+ {
113
+ name: "",
114
+ internalType: "struct CreditAccountData[]",
115
+ type: "tuple[]",
116
+ components: [
117
+ { name: "isSuccessful", internalType: "bool", type: "bool" },
118
+ {
119
+ name: "priceFeedsNeeded",
120
+ internalType: "address[]",
121
+ type: "address[]",
122
+ },
123
+ { name: "addr", internalType: "address", type: "address" },
124
+ { name: "borrower", internalType: "address", type: "address" },
125
+ { name: "creditManager", internalType: "address", type: "address" },
126
+ { name: "cmName", internalType: "string", type: "string" },
127
+ { name: "creditFacade", internalType: "address", type: "address" },
128
+ { name: "underlying", internalType: "address", type: "address" },
129
+ { name: "debt", internalType: "uint256", type: "uint256" },
130
+ {
131
+ name: "cumulativeIndexLastUpdate",
132
+ internalType: "uint256",
133
+ type: "uint256",
134
+ },
135
+ {
136
+ name: "cumulativeQuotaInterest",
137
+ internalType: "uint128",
138
+ type: "uint128",
139
+ },
140
+ { name: "accruedInterest", internalType: "uint256", type: "uint256" },
141
+ { name: "accruedFees", internalType: "uint256", type: "uint256" },
142
+ { name: "totalDebtUSD", internalType: "uint256", type: "uint256" },
143
+ { name: "totalValue", internalType: "uint256", type: "uint256" },
144
+ { name: "totalValueUSD", internalType: "uint256", type: "uint256" },
145
+ { name: "twvUSD", internalType: "uint256", type: "uint256" },
146
+ {
147
+ name: "enabledTokensMask",
148
+ internalType: "uint256",
149
+ type: "uint256",
150
+ },
151
+ { name: "healthFactor", internalType: "uint256", type: "uint256" },
152
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
153
+ {
154
+ name: "aggregatedBorrowRate",
155
+ internalType: "uint256",
156
+ type: "uint256",
157
+ },
158
+ {
159
+ name: "balances",
160
+ internalType: "struct TokenBalance[]",
161
+ type: "tuple[]",
162
+ components: [
163
+ { name: "token", internalType: "address", type: "address" },
164
+ { name: "balance", internalType: "uint256", type: "uint256" },
165
+ { name: "isForbidden", internalType: "bool", type: "bool" },
166
+ { name: "isEnabled", internalType: "bool", type: "bool" },
167
+ { name: "isQuoted", internalType: "bool", type: "bool" },
168
+ { name: "quota", internalType: "uint256", type: "uint256" },
169
+ { name: "quotaRate", internalType: "uint16", type: "uint16" },
170
+ {
171
+ name: "quotaCumulativeIndexLU",
172
+ internalType: "uint256",
173
+ type: "uint256",
174
+ },
175
+ ],
176
+ },
177
+ { name: "since", internalType: "uint64", type: "uint64" },
178
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
179
+ { name: "expirationDate", internalType: "uint40", type: "uint40" },
180
+ { name: "activeBots", internalType: "address[]", type: "address[]" },
181
+ ],
182
+ },
183
+ ],
184
+ stateMutability: "nonpayable",
185
+ },
186
+ {
187
+ type: "function",
188
+ inputs: [
189
+ { name: "creditManager", internalType: "address", type: "address" },
190
+ {
191
+ name: "priceUpdates",
192
+ internalType: "struct PriceOnDemand[]",
193
+ type: "tuple[]",
194
+ components: [
195
+ { name: "token", internalType: "address", type: "address" },
196
+ { name: "callData", internalType: "bytes", type: "bytes" },
197
+ ],
198
+ },
199
+ ],
200
+ name: "getCreditAccountsByCreditManager",
201
+ outputs: [
202
+ {
203
+ name: "",
204
+ internalType: "struct CreditAccountData[]",
205
+ type: "tuple[]",
206
+ components: [
207
+ { name: "isSuccessful", internalType: "bool", type: "bool" },
208
+ {
209
+ name: "priceFeedsNeeded",
210
+ internalType: "address[]",
211
+ type: "address[]",
212
+ },
213
+ { name: "addr", internalType: "address", type: "address" },
214
+ { name: "borrower", internalType: "address", type: "address" },
215
+ { name: "creditManager", internalType: "address", type: "address" },
216
+ { name: "cmName", internalType: "string", type: "string" },
217
+ { name: "creditFacade", internalType: "address", type: "address" },
218
+ { name: "underlying", internalType: "address", type: "address" },
219
+ { name: "debt", internalType: "uint256", type: "uint256" },
220
+ {
221
+ name: "cumulativeIndexLastUpdate",
222
+ internalType: "uint256",
223
+ type: "uint256",
224
+ },
225
+ {
226
+ name: "cumulativeQuotaInterest",
227
+ internalType: "uint128",
228
+ type: "uint128",
229
+ },
230
+ { name: "accruedInterest", internalType: "uint256", type: "uint256" },
231
+ { name: "accruedFees", internalType: "uint256", type: "uint256" },
232
+ { name: "totalDebtUSD", internalType: "uint256", type: "uint256" },
233
+ { name: "totalValue", internalType: "uint256", type: "uint256" },
234
+ { name: "totalValueUSD", internalType: "uint256", type: "uint256" },
235
+ { name: "twvUSD", internalType: "uint256", type: "uint256" },
236
+ {
237
+ name: "enabledTokensMask",
238
+ internalType: "uint256",
239
+ type: "uint256",
240
+ },
241
+ { name: "healthFactor", internalType: "uint256", type: "uint256" },
242
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
243
+ {
244
+ name: "aggregatedBorrowRate",
245
+ internalType: "uint256",
246
+ type: "uint256",
247
+ },
248
+ {
249
+ name: "balances",
250
+ internalType: "struct TokenBalance[]",
251
+ type: "tuple[]",
252
+ components: [
253
+ { name: "token", internalType: "address", type: "address" },
254
+ { name: "balance", internalType: "uint256", type: "uint256" },
255
+ { name: "isForbidden", internalType: "bool", type: "bool" },
256
+ { name: "isEnabled", internalType: "bool", type: "bool" },
257
+ { name: "isQuoted", internalType: "bool", type: "bool" },
258
+ { name: "quota", internalType: "uint256", type: "uint256" },
259
+ { name: "quotaRate", internalType: "uint16", type: "uint16" },
260
+ {
261
+ name: "quotaCumulativeIndexLU",
262
+ internalType: "uint256",
263
+ type: "uint256",
264
+ },
265
+ ],
266
+ },
267
+ { name: "since", internalType: "uint64", type: "uint64" },
268
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
269
+ { name: "expirationDate", internalType: "uint40", type: "uint40" },
270
+ { name: "activeBots", internalType: "address[]", type: "address[]" },
271
+ ],
272
+ },
273
+ ],
274
+ stateMutability: "nonpayable",
275
+ },
276
+ {
277
+ type: "function",
278
+ inputs: [
279
+ { name: "creditManager", internalType: "address", type: "address" },
280
+ ],
281
+ name: "getCreditManagerData",
282
+ outputs: [
283
+ {
284
+ name: "",
285
+ internalType: "struct CreditManagerData",
286
+ type: "tuple",
287
+ components: [
288
+ { name: "addr", internalType: "address", type: "address" },
289
+ { name: "name", internalType: "string", type: "string" },
290
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
291
+ { name: "creditFacade", internalType: "address", type: "address" },
292
+ {
293
+ name: "creditConfigurator",
294
+ internalType: "address",
295
+ type: "address",
296
+ },
297
+ { name: "underlying", internalType: "address", type: "address" },
298
+ { name: "pool", internalType: "address", type: "address" },
299
+ { name: "totalDebt", internalType: "uint256", type: "uint256" },
300
+ { name: "totalDebtLimit", internalType: "uint256", type: "uint256" },
301
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
302
+ { name: "minDebt", internalType: "uint256", type: "uint256" },
303
+ { name: "maxDebt", internalType: "uint256", type: "uint256" },
304
+ {
305
+ name: "availableToBorrow",
306
+ internalType: "uint256",
307
+ type: "uint256",
308
+ },
309
+ {
310
+ name: "collateralTokens",
311
+ internalType: "address[]",
312
+ type: "address[]",
313
+ },
314
+ {
315
+ name: "adapters",
316
+ internalType: "struct ContractAdapter[]",
317
+ type: "tuple[]",
318
+ components: [
319
+ {
320
+ name: "targetContract",
321
+ internalType: "address",
322
+ type: "address",
323
+ },
324
+ { name: "adapter", internalType: "address", type: "address" },
325
+ ],
326
+ },
327
+ {
328
+ name: "liquidationThresholds",
329
+ internalType: "uint256[]",
330
+ type: "uint256[]",
331
+ },
332
+ { name: "isDegenMode", internalType: "bool", type: "bool" },
333
+ { name: "degenNFT", internalType: "address", type: "address" },
334
+ {
335
+ name: "forbiddenTokenMask",
336
+ internalType: "uint256",
337
+ type: "uint256",
338
+ },
339
+ {
340
+ name: "maxEnabledTokensLength",
341
+ internalType: "uint8",
342
+ type: "uint8",
343
+ },
344
+ { name: "feeInterest", internalType: "uint16", type: "uint16" },
345
+ { name: "feeLiquidation", internalType: "uint16", type: "uint16" },
346
+ {
347
+ name: "liquidationDiscount",
348
+ internalType: "uint16",
349
+ type: "uint16",
350
+ },
351
+ {
352
+ name: "feeLiquidationExpired",
353
+ internalType: "uint16",
354
+ type: "uint16",
355
+ },
356
+ {
357
+ name: "liquidationDiscountExpired",
358
+ internalType: "uint16",
359
+ type: "uint16",
360
+ },
361
+ {
362
+ name: "quotas",
363
+ internalType: "struct QuotaInfo[]",
364
+ type: "tuple[]",
365
+ components: [
366
+ { name: "token", internalType: "address", type: "address" },
367
+ { name: "rate", internalType: "uint16", type: "uint16" },
368
+ {
369
+ name: "quotaIncreaseFee",
370
+ internalType: "uint16",
371
+ type: "uint16",
372
+ },
373
+ { name: "totalQuoted", internalType: "uint96", type: "uint96" },
374
+ { name: "limit", internalType: "uint96", type: "uint96" },
375
+ { name: "isActive", internalType: "bool", type: "bool" },
376
+ ],
377
+ },
378
+ {
379
+ name: "lirm",
380
+ internalType: "struct LinearModel",
381
+ type: "tuple",
382
+ components: [
383
+ {
384
+ name: "interestModel",
385
+ internalType: "address",
386
+ type: "address",
387
+ },
388
+ { name: "version", internalType: "uint256", type: "uint256" },
389
+ { name: "U_1", internalType: "uint16", type: "uint16" },
390
+ { name: "U_2", internalType: "uint16", type: "uint16" },
391
+ { name: "R_base", internalType: "uint16", type: "uint16" },
392
+ { name: "R_slope1", internalType: "uint16", type: "uint16" },
393
+ { name: "R_slope2", internalType: "uint16", type: "uint16" },
394
+ { name: "R_slope3", internalType: "uint16", type: "uint16" },
395
+ {
396
+ name: "isBorrowingMoreU2Forbidden",
397
+ internalType: "bool",
398
+ type: "bool",
399
+ },
400
+ ],
401
+ },
402
+ { name: "isPaused", internalType: "bool", type: "bool" },
403
+ ],
404
+ },
405
+ ],
406
+ stateMutability: "view",
407
+ },
408
+ {
409
+ type: "function",
410
+ inputs: [],
411
+ name: "getCreditManagersV3List",
412
+ outputs: [
413
+ {
414
+ name: "",
415
+ internalType: "struct CreditManagerData[]",
416
+ type: "tuple[]",
417
+ components: [
418
+ { name: "addr", internalType: "address", type: "address" },
419
+ { name: "name", internalType: "string", type: "string" },
420
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
421
+ { name: "creditFacade", internalType: "address", type: "address" },
422
+ {
423
+ name: "creditConfigurator",
424
+ internalType: "address",
425
+ type: "address",
426
+ },
427
+ { name: "underlying", internalType: "address", type: "address" },
428
+ { name: "pool", internalType: "address", type: "address" },
429
+ { name: "totalDebt", internalType: "uint256", type: "uint256" },
430
+ { name: "totalDebtLimit", internalType: "uint256", type: "uint256" },
431
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
432
+ { name: "minDebt", internalType: "uint256", type: "uint256" },
433
+ { name: "maxDebt", internalType: "uint256", type: "uint256" },
434
+ {
435
+ name: "availableToBorrow",
436
+ internalType: "uint256",
437
+ type: "uint256",
438
+ },
439
+ {
440
+ name: "collateralTokens",
441
+ internalType: "address[]",
442
+ type: "address[]",
443
+ },
444
+ {
445
+ name: "adapters",
446
+ internalType: "struct ContractAdapter[]",
447
+ type: "tuple[]",
448
+ components: [
449
+ {
450
+ name: "targetContract",
451
+ internalType: "address",
452
+ type: "address",
453
+ },
454
+ { name: "adapter", internalType: "address", type: "address" },
455
+ ],
456
+ },
457
+ {
458
+ name: "liquidationThresholds",
459
+ internalType: "uint256[]",
460
+ type: "uint256[]",
461
+ },
462
+ { name: "isDegenMode", internalType: "bool", type: "bool" },
463
+ { name: "degenNFT", internalType: "address", type: "address" },
464
+ {
465
+ name: "forbiddenTokenMask",
466
+ internalType: "uint256",
467
+ type: "uint256",
468
+ },
469
+ {
470
+ name: "maxEnabledTokensLength",
471
+ internalType: "uint8",
472
+ type: "uint8",
473
+ },
474
+ { name: "feeInterest", internalType: "uint16", type: "uint16" },
475
+ { name: "feeLiquidation", internalType: "uint16", type: "uint16" },
476
+ {
477
+ name: "liquidationDiscount",
478
+ internalType: "uint16",
479
+ type: "uint16",
480
+ },
481
+ {
482
+ name: "feeLiquidationExpired",
483
+ internalType: "uint16",
484
+ type: "uint16",
485
+ },
486
+ {
487
+ name: "liquidationDiscountExpired",
488
+ internalType: "uint16",
489
+ type: "uint16",
490
+ },
491
+ {
492
+ name: "quotas",
493
+ internalType: "struct QuotaInfo[]",
494
+ type: "tuple[]",
495
+ components: [
496
+ { name: "token", internalType: "address", type: "address" },
497
+ { name: "rate", internalType: "uint16", type: "uint16" },
498
+ {
499
+ name: "quotaIncreaseFee",
500
+ internalType: "uint16",
501
+ type: "uint16",
502
+ },
503
+ { name: "totalQuoted", internalType: "uint96", type: "uint96" },
504
+ { name: "limit", internalType: "uint96", type: "uint96" },
505
+ { name: "isActive", internalType: "bool", type: "bool" },
506
+ ],
507
+ },
508
+ {
509
+ name: "lirm",
510
+ internalType: "struct LinearModel",
511
+ type: "tuple",
512
+ components: [
513
+ {
514
+ name: "interestModel",
515
+ internalType: "address",
516
+ type: "address",
517
+ },
518
+ { name: "version", internalType: "uint256", type: "uint256" },
519
+ { name: "U_1", internalType: "uint16", type: "uint16" },
520
+ { name: "U_2", internalType: "uint16", type: "uint16" },
521
+ { name: "R_base", internalType: "uint16", type: "uint16" },
522
+ { name: "R_slope1", internalType: "uint16", type: "uint16" },
523
+ { name: "R_slope2", internalType: "uint16", type: "uint16" },
524
+ { name: "R_slope3", internalType: "uint16", type: "uint16" },
525
+ {
526
+ name: "isBorrowingMoreU2Forbidden",
527
+ internalType: "bool",
528
+ type: "bool",
529
+ },
530
+ ],
531
+ },
532
+ { name: "isPaused", internalType: "bool", type: "bool" },
533
+ ],
534
+ },
535
+ ],
536
+ stateMutability: "view",
537
+ },
538
+ {
539
+ type: "function",
540
+ inputs: [{ name: "staker", internalType: "address", type: "address" }],
541
+ name: "getGaugesV3Data",
542
+ outputs: [
543
+ {
544
+ name: "result",
545
+ internalType: "struct GaugeInfo[]",
546
+ type: "tuple[]",
547
+ components: [
548
+ { name: "addr", internalType: "address", type: "address" },
549
+ { name: "pool", internalType: "address", type: "address" },
550
+ { name: "symbol", internalType: "string", type: "string" },
551
+ { name: "name", internalType: "string", type: "string" },
552
+ { name: "underlying", internalType: "address", type: "address" },
553
+ { name: "currentEpoch", internalType: "uint16", type: "uint16" },
554
+ { name: "epochFrozen", internalType: "bool", type: "bool" },
555
+ {
556
+ name: "quotaParams",
557
+ internalType: "struct GaugeQuotaParams[]",
558
+ type: "tuple[]",
559
+ components: [
560
+ { name: "token", internalType: "address", type: "address" },
561
+ { name: "minRate", internalType: "uint16", type: "uint16" },
562
+ { name: "maxRate", internalType: "uint16", type: "uint16" },
563
+ {
564
+ name: "totalVotesLpSide",
565
+ internalType: "uint96",
566
+ type: "uint96",
567
+ },
568
+ {
569
+ name: "totalVotesCaSide",
570
+ internalType: "uint96",
571
+ type: "uint96",
572
+ },
573
+ { name: "rate", internalType: "uint16", type: "uint16" },
574
+ {
575
+ name: "quotaIncreaseFee",
576
+ internalType: "uint16",
577
+ type: "uint16",
578
+ },
579
+ { name: "totalQuoted", internalType: "uint96", type: "uint96" },
580
+ { name: "limit", internalType: "uint96", type: "uint96" },
581
+ { name: "isActive", internalType: "bool", type: "bool" },
582
+ {
583
+ name: "stakerVotesLpSide",
584
+ internalType: "uint96",
585
+ type: "uint96",
586
+ },
587
+ {
588
+ name: "stakerVotesCaSide",
589
+ internalType: "uint96",
590
+ type: "uint96",
591
+ },
592
+ ],
593
+ },
594
+ ],
595
+ },
596
+ ],
597
+ stateMutability: "view",
598
+ },
599
+ {
600
+ type: "function",
601
+ inputs: [
602
+ {
603
+ name: "priceUpdates",
604
+ internalType: "struct PriceOnDemand[]",
605
+ type: "tuple[]",
606
+ components: [
607
+ { name: "token", internalType: "address", type: "address" },
608
+ { name: "callData", internalType: "bytes", type: "bytes" },
609
+ ],
610
+ },
611
+ ],
612
+ name: "getLiquidatableCreditAccounts",
613
+ outputs: [
614
+ {
615
+ name: "result",
616
+ internalType: "struct CreditAccountData[]",
617
+ type: "tuple[]",
618
+ components: [
619
+ { name: "isSuccessful", internalType: "bool", type: "bool" },
620
+ {
621
+ name: "priceFeedsNeeded",
622
+ internalType: "address[]",
623
+ type: "address[]",
624
+ },
625
+ { name: "addr", internalType: "address", type: "address" },
626
+ { name: "borrower", internalType: "address", type: "address" },
627
+ { name: "creditManager", internalType: "address", type: "address" },
628
+ { name: "cmName", internalType: "string", type: "string" },
629
+ { name: "creditFacade", internalType: "address", type: "address" },
630
+ { name: "underlying", internalType: "address", type: "address" },
631
+ { name: "debt", internalType: "uint256", type: "uint256" },
632
+ {
633
+ name: "cumulativeIndexLastUpdate",
634
+ internalType: "uint256",
635
+ type: "uint256",
636
+ },
637
+ {
638
+ name: "cumulativeQuotaInterest",
639
+ internalType: "uint128",
640
+ type: "uint128",
641
+ },
642
+ { name: "accruedInterest", internalType: "uint256", type: "uint256" },
643
+ { name: "accruedFees", internalType: "uint256", type: "uint256" },
644
+ { name: "totalDebtUSD", internalType: "uint256", type: "uint256" },
645
+ { name: "totalValue", internalType: "uint256", type: "uint256" },
646
+ { name: "totalValueUSD", internalType: "uint256", type: "uint256" },
647
+ { name: "twvUSD", internalType: "uint256", type: "uint256" },
648
+ {
649
+ name: "enabledTokensMask",
650
+ internalType: "uint256",
651
+ type: "uint256",
652
+ },
653
+ { name: "healthFactor", internalType: "uint256", type: "uint256" },
654
+ { name: "baseBorrowRate", internalType: "uint256", type: "uint256" },
655
+ {
656
+ name: "aggregatedBorrowRate",
657
+ internalType: "uint256",
658
+ type: "uint256",
659
+ },
660
+ {
661
+ name: "balances",
662
+ internalType: "struct TokenBalance[]",
663
+ type: "tuple[]",
664
+ components: [
665
+ { name: "token", internalType: "address", type: "address" },
666
+ { name: "balance", internalType: "uint256", type: "uint256" },
667
+ { name: "isForbidden", internalType: "bool", type: "bool" },
668
+ { name: "isEnabled", internalType: "bool", type: "bool" },
669
+ { name: "isQuoted", internalType: "bool", type: "bool" },
670
+ { name: "quota", internalType: "uint256", type: "uint256" },
671
+ { name: "quotaRate", internalType: "uint16", type: "uint16" },
672
+ {
673
+ name: "quotaCumulativeIndexLU",
674
+ internalType: "uint256",
675
+ type: "uint256",
676
+ },
677
+ ],
678
+ },
679
+ { name: "since", internalType: "uint64", type: "uint64" },
680
+ { name: "cfVersion", internalType: "uint256", type: "uint256" },
681
+ { name: "expirationDate", internalType: "uint40", type: "uint40" },
682
+ { name: "activeBots", internalType: "address[]", type: "address[]" },
683
+ ],
684
+ },
685
+ ],
686
+ stateMutability: "nonpayable",
687
+ },
688
+ {
689
+ type: "function",
690
+ inputs: [{ name: "_pool", internalType: "address", type: "address" }],
691
+ name: "getPoolData",
692
+ outputs: [
693
+ {
694
+ name: "",
695
+ internalType: "struct PoolData",
696
+ type: "tuple",
697
+ components: [
698
+ { name: "addr", internalType: "address", type: "address" },
699
+ { name: "underlying", internalType: "address", type: "address" },
700
+ { name: "dieselToken", internalType: "address", type: "address" },
701
+ { name: "symbol", internalType: "string", type: "string" },
702
+ { name: "name", internalType: "string", type: "string" },
703
+ {
704
+ name: "baseInterestIndex",
705
+ internalType: "uint256",
706
+ type: "uint256",
707
+ },
708
+ {
709
+ name: "availableLiquidity",
710
+ internalType: "uint256",
711
+ type: "uint256",
712
+ },
713
+ {
714
+ name: "expectedLiquidity",
715
+ internalType: "uint256",
716
+ type: "uint256",
717
+ },
718
+ { name: "totalBorrowed", internalType: "uint256", type: "uint256" },
719
+ { name: "totalDebtLimit", internalType: "uint256", type: "uint256" },
720
+ {
721
+ name: "creditManagerDebtParams",
722
+ internalType: "struct CreditManagerDebtParams[]",
723
+ type: "tuple[]",
724
+ components: [
725
+ {
726
+ name: "creditManager",
727
+ internalType: "address",
728
+ type: "address",
729
+ },
730
+ { name: "borrowed", internalType: "uint256", type: "uint256" },
731
+ { name: "limit", internalType: "uint256", type: "uint256" },
732
+ {
733
+ name: "availableToBorrow",
734
+ internalType: "uint256",
735
+ type: "uint256",
736
+ },
737
+ ],
738
+ },
739
+ { name: "totalAssets", internalType: "uint256", type: "uint256" },
740
+ { name: "totalSupply", internalType: "uint256", type: "uint256" },
741
+ { name: "supplyRate", internalType: "uint256", type: "uint256" },
742
+ {
743
+ name: "baseInterestRate",
744
+ internalType: "uint256",
745
+ type: "uint256",
746
+ },
747
+ { name: "dieselRate_RAY", internalType: "uint256", type: "uint256" },
748
+ { name: "withdrawFee", internalType: "uint256", type: "uint256" },
749
+ {
750
+ name: "lastBaseInterestUpdate",
751
+ internalType: "uint256",
752
+ type: "uint256",
753
+ },
754
+ {
755
+ name: "baseInterestIndexLU",
756
+ internalType: "uint256",
757
+ type: "uint256",
758
+ },
759
+ { name: "version", internalType: "uint256", type: "uint256" },
760
+ { name: "poolQuotaKeeper", internalType: "address", type: "address" },
761
+ { name: "gauge", internalType: "address", type: "address" },
762
+ {
763
+ name: "quotas",
764
+ internalType: "struct QuotaInfo[]",
765
+ type: "tuple[]",
766
+ components: [
767
+ { name: "token", internalType: "address", type: "address" },
768
+ { name: "rate", internalType: "uint16", type: "uint16" },
769
+ {
770
+ name: "quotaIncreaseFee",
771
+ internalType: "uint16",
772
+ type: "uint16",
773
+ },
774
+ { name: "totalQuoted", internalType: "uint96", type: "uint96" },
775
+ { name: "limit", internalType: "uint96", type: "uint96" },
776
+ { name: "isActive", internalType: "bool", type: "bool" },
777
+ ],
778
+ },
779
+ {
780
+ name: "zappers",
781
+ internalType: "struct ZapperInfo[]",
782
+ type: "tuple[]",
783
+ components: [
784
+ { name: "zapper", internalType: "address", type: "address" },
785
+ { name: "tokenIn", internalType: "address", type: "address" },
786
+ { name: "tokenOut", internalType: "address", type: "address" },
787
+ ],
788
+ },
789
+ {
790
+ name: "lirm",
791
+ internalType: "struct LinearModel",
792
+ type: "tuple",
793
+ components: [
794
+ {
795
+ name: "interestModel",
796
+ internalType: "address",
797
+ type: "address",
798
+ },
799
+ { name: "version", internalType: "uint256", type: "uint256" },
800
+ { name: "U_1", internalType: "uint16", type: "uint16" },
801
+ { name: "U_2", internalType: "uint16", type: "uint16" },
802
+ { name: "R_base", internalType: "uint16", type: "uint16" },
803
+ { name: "R_slope1", internalType: "uint16", type: "uint16" },
804
+ { name: "R_slope2", internalType: "uint16", type: "uint16" },
805
+ { name: "R_slope3", internalType: "uint16", type: "uint16" },
806
+ {
807
+ name: "isBorrowingMoreU2Forbidden",
808
+ internalType: "bool",
809
+ type: "bool",
810
+ },
811
+ ],
812
+ },
813
+ { name: "isPaused", internalType: "bool", type: "bool" },
814
+ ],
815
+ },
816
+ ],
817
+ stateMutability: "view",
818
+ },
819
+ {
820
+ type: "function",
821
+ inputs: [],
822
+ name: "getPoolsV3List",
823
+ outputs: [
824
+ {
825
+ name: "",
826
+ internalType: "struct PoolData[]",
827
+ type: "tuple[]",
828
+ components: [
829
+ { name: "addr", internalType: "address", type: "address" },
830
+ { name: "underlying", internalType: "address", type: "address" },
831
+ { name: "dieselToken", internalType: "address", type: "address" },
832
+ { name: "symbol", internalType: "string", type: "string" },
833
+ { name: "name", internalType: "string", type: "string" },
834
+ {
835
+ name: "baseInterestIndex",
836
+ internalType: "uint256",
837
+ type: "uint256",
838
+ },
839
+ {
840
+ name: "availableLiquidity",
841
+ internalType: "uint256",
842
+ type: "uint256",
843
+ },
844
+ {
845
+ name: "expectedLiquidity",
846
+ internalType: "uint256",
847
+ type: "uint256",
848
+ },
849
+ { name: "totalBorrowed", internalType: "uint256", type: "uint256" },
850
+ { name: "totalDebtLimit", internalType: "uint256", type: "uint256" },
851
+ {
852
+ name: "creditManagerDebtParams",
853
+ internalType: "struct CreditManagerDebtParams[]",
854
+ type: "tuple[]",
855
+ components: [
856
+ {
857
+ name: "creditManager",
858
+ internalType: "address",
859
+ type: "address",
860
+ },
861
+ { name: "borrowed", internalType: "uint256", type: "uint256" },
862
+ { name: "limit", internalType: "uint256", type: "uint256" },
863
+ {
864
+ name: "availableToBorrow",
865
+ internalType: "uint256",
866
+ type: "uint256",
867
+ },
868
+ ],
869
+ },
870
+ { name: "totalAssets", internalType: "uint256", type: "uint256" },
871
+ { name: "totalSupply", internalType: "uint256", type: "uint256" },
872
+ { name: "supplyRate", internalType: "uint256", type: "uint256" },
873
+ {
874
+ name: "baseInterestRate",
875
+ internalType: "uint256",
876
+ type: "uint256",
877
+ },
878
+ { name: "dieselRate_RAY", internalType: "uint256", type: "uint256" },
879
+ { name: "withdrawFee", internalType: "uint256", type: "uint256" },
880
+ {
881
+ name: "lastBaseInterestUpdate",
882
+ internalType: "uint256",
883
+ type: "uint256",
884
+ },
885
+ {
886
+ name: "baseInterestIndexLU",
887
+ internalType: "uint256",
888
+ type: "uint256",
889
+ },
890
+ { name: "version", internalType: "uint256", type: "uint256" },
891
+ { name: "poolQuotaKeeper", internalType: "address", type: "address" },
892
+ { name: "gauge", internalType: "address", type: "address" },
893
+ {
894
+ name: "quotas",
895
+ internalType: "struct QuotaInfo[]",
896
+ type: "tuple[]",
897
+ components: [
898
+ { name: "token", internalType: "address", type: "address" },
899
+ { name: "rate", internalType: "uint16", type: "uint16" },
900
+ {
901
+ name: "quotaIncreaseFee",
902
+ internalType: "uint16",
903
+ type: "uint16",
904
+ },
905
+ { name: "totalQuoted", internalType: "uint96", type: "uint96" },
906
+ { name: "limit", internalType: "uint96", type: "uint96" },
907
+ { name: "isActive", internalType: "bool", type: "bool" },
908
+ ],
909
+ },
910
+ {
911
+ name: "zappers",
912
+ internalType: "struct ZapperInfo[]",
913
+ type: "tuple[]",
914
+ components: [
915
+ { name: "zapper", internalType: "address", type: "address" },
916
+ { name: "tokenIn", internalType: "address", type: "address" },
917
+ { name: "tokenOut", internalType: "address", type: "address" },
918
+ ],
919
+ },
920
+ {
921
+ name: "lirm",
922
+ internalType: "struct LinearModel",
923
+ type: "tuple",
924
+ components: [
925
+ {
926
+ name: "interestModel",
927
+ internalType: "address",
928
+ type: "address",
929
+ },
930
+ { name: "version", internalType: "uint256", type: "uint256" },
931
+ { name: "U_1", internalType: "uint16", type: "uint16" },
932
+ { name: "U_2", internalType: "uint16", type: "uint16" },
933
+ { name: "R_base", internalType: "uint16", type: "uint16" },
934
+ { name: "R_slope1", internalType: "uint16", type: "uint16" },
935
+ { name: "R_slope2", internalType: "uint16", type: "uint16" },
936
+ { name: "R_slope3", internalType: "uint16", type: "uint16" },
937
+ {
938
+ name: "isBorrowingMoreU2Forbidden",
939
+ internalType: "bool",
940
+ type: "bool",
941
+ },
942
+ ],
943
+ },
944
+ { name: "isPaused", internalType: "bool", type: "bool" },
945
+ ],
946
+ },
947
+ ],
948
+ stateMutability: "view",
949
+ },
950
+ {
951
+ type: "function",
952
+ inputs: [],
953
+ name: "version",
954
+ outputs: [{ name: "", internalType: "uint256", type: "uint256" }],
955
+ stateMutability: "view",
956
+ },
957
+ ] as const;