@underscore-finance/sdk 1.2.20-next.1 → 1.2.20-next.2

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 (284) hide show
  1. package/AGENTS.md +172 -0
  2. package/README.md +17 -116
  3. package/abis.json +193056 -0
  4. package/addresses.json +76 -0
  5. package/dist/contracts/AaveV3.d.ts +2594 -0
  6. package/dist/contracts/AaveV3.d.ts.map +1 -0
  7. package/dist/contracts/AaveV3.js +3272 -0
  8. package/dist/contracts/Addys.d.ts +124 -0
  9. package/dist/contracts/Addys.d.ts.map +1 -0
  10. package/dist/contracts/Addys.js +134 -0
  11. package/dist/contracts/AeroClassic.d.ts +2118 -0
  12. package/dist/contracts/AeroClassic.d.ts.map +1 -0
  13. package/dist/contracts/AeroClassic.js +2679 -0
  14. package/dist/contracts/AeroSlipstream.d.ts +2256 -0
  15. package/dist/contracts/AeroSlipstream.d.ts.map +1 -0
  16. package/dist/contracts/AeroSlipstream.js +2848 -0
  17. package/dist/contracts/AgentSenderGeneric.d.ts +4771 -0
  18. package/dist/contracts/AgentSenderGeneric.d.ts.map +1 -0
  19. package/dist/contracts/AgentSenderGeneric.js +6192 -0
  20. package/dist/contracts/AgentSenderSpecial.d.ts +2124 -0
  21. package/dist/contracts/AgentSenderSpecial.d.ts.map +1 -0
  22. package/dist/contracts/AgentSenderSpecial.js +2671 -0
  23. package/dist/contracts/AgentSenderSpecialAdmin.d.ts +984 -0
  24. package/dist/contracts/AgentSenderSpecialAdmin.d.ts.map +1 -0
  25. package/dist/contracts/AgentSenderSpecialAdmin.js +1185 -0
  26. package/dist/contracts/AgentSenderSpecialSigHelper.d.ts +3180 -0
  27. package/dist/contracts/AgentSenderSpecialSigHelper.d.ts.map +1 -0
  28. package/dist/contracts/AgentSenderSpecialSigHelper.js +4211 -0
  29. package/dist/contracts/AgentWrapper.d.ts +2678 -0
  30. package/dist/contracts/AgentWrapper.d.ts.map +1 -0
  31. package/dist/contracts/AgentWrapper.js +3602 -0
  32. package/dist/contracts/AgentWrapperV1.d.ts +3789 -0
  33. package/dist/contracts/AgentWrapperV1.d.ts.map +1 -0
  34. package/dist/contracts/AgentWrapperV1.js +4945 -0
  35. package/dist/contracts/AgentWrapperV2.d.ts +2494 -0
  36. package/dist/contracts/AgentWrapperV2.d.ts.map +1 -0
  37. package/dist/contracts/AgentWrapperV2.js +3354 -0
  38. package/dist/contracts/Appraiser.d.ts +577 -0
  39. package/dist/contracts/Appraiser.d.ts.map +1 -0
  40. package/dist/contracts/Appraiser.js +735 -0
  41. package/dist/contracts/Avantis.d.ts +2606 -0
  42. package/dist/contracts/Avantis.d.ts.map +1 -0
  43. package/dist/contracts/Avantis.js +3282 -0
  44. package/dist/contracts/Billing.d.ts +381 -0
  45. package/dist/contracts/Billing.d.ts.map +1 -0
  46. package/dist/contracts/Billing.js +451 -0
  47. package/dist/contracts/ChequeBook.d.ts +1860 -0
  48. package/dist/contracts/ChequeBook.d.ts.map +1 -0
  49. package/dist/contracts/ChequeBook.js +2131 -0
  50. package/dist/contracts/CompoundV3.d.ts +2622 -0
  51. package/dist/contracts/CompoundV3.d.ts.map +1 -0
  52. package/dist/contracts/CompoundV3.js +3304 -0
  53. package/dist/contracts/ConvertVaultToken.d.ts +64 -0
  54. package/dist/contracts/ConvertVaultToken.d.ts.map +1 -0
  55. package/dist/contracts/ConvertVaultToken.js +75 -0
  56. package/dist/contracts/Curve.d.ts +1107 -0
  57. package/dist/contracts/Curve.d.ts.map +1 -0
  58. package/dist/contracts/Curve.js +1379 -0
  59. package/dist/contracts/DefaultsBase.d.ts +306 -0
  60. package/dist/contracts/DefaultsBase.d.ts.map +1 -0
  61. package/dist/contracts/DefaultsBase.js +331 -0
  62. package/dist/contracts/DefaultsLocal.d.ts +320 -0
  63. package/dist/contracts/DefaultsLocal.d.ts.map +1 -0
  64. package/dist/contracts/DefaultsLocal.js +350 -0
  65. package/dist/contracts/ERC20.d.ts +813 -0
  66. package/dist/contracts/ERC20.d.ts.map +1 -0
  67. package/dist/contracts/ERC20.js +1006 -0
  68. package/dist/contracts/EarnVault.d.ts +1762 -0
  69. package/dist/contracts/EarnVault.d.ts.map +1 -0
  70. package/dist/contracts/EarnVault.js +2267 -0
  71. package/dist/contracts/EarnVaultAgent.d.ts +1160 -0
  72. package/dist/contracts/EarnVaultAgent.d.ts.map +1 -0
  73. package/dist/contracts/EarnVaultAgent.js +1435 -0
  74. package/dist/contracts/EarnVaultAgentSigHelper.d.ts +905 -0
  75. package/dist/contracts/EarnVaultAgentSigHelper.d.ts.map +1 -0
  76. package/dist/contracts/EarnVaultAgentSigHelper.js +1198 -0
  77. package/dist/contracts/EarnVaultWallet.d.ts +777 -0
  78. package/dist/contracts/EarnVaultWallet.d.ts.map +1 -0
  79. package/dist/contracts/EarnVaultWallet.js +987 -0
  80. package/dist/contracts/Erc20Token.d.ts +813 -0
  81. package/dist/contracts/Erc20Token.d.ts.map +1 -0
  82. package/dist/contracts/Erc20Token.js +1006 -0
  83. package/dist/contracts/Euler.d.ts +2662 -0
  84. package/dist/contracts/Euler.d.ts.map +1 -0
  85. package/dist/contracts/Euler.js +3350 -0
  86. package/dist/contracts/ExtraFi.d.ts +2637 -0
  87. package/dist/contracts/ExtraFi.d.ts.map +1 -0
  88. package/dist/contracts/ExtraFi.js +3323 -0
  89. package/dist/contracts/Fluid.d.ts +2634 -0
  90. package/dist/contracts/Fluid.d.ts.map +1 -0
  91. package/dist/contracts/Fluid.js +3318 -0
  92. package/dist/contracts/FortyAcres.d.ts +2620 -0
  93. package/dist/contracts/FortyAcres.d.ts.map +1 -0
  94. package/dist/contracts/FortyAcres.js +3300 -0
  95. package/dist/contracts/Hatchery.d.ts +392 -0
  96. package/dist/contracts/Hatchery.d.ts.map +1 -0
  97. package/dist/contracts/Hatchery.js +472 -0
  98. package/dist/contracts/Helpers.d.ts +1463 -0
  99. package/dist/contracts/Helpers.d.ts.map +1 -0
  100. package/dist/contracts/Helpers.js +1763 -0
  101. package/dist/contracts/HighCommand.d.ts +2169 -0
  102. package/dist/contracts/HighCommand.d.ts.map +1 -0
  103. package/dist/contracts/HighCommand.js +2474 -0
  104. package/dist/contracts/Kernel.d.ts +391 -0
  105. package/dist/contracts/Kernel.d.ts.map +1 -0
  106. package/dist/contracts/Kernel.js +446 -0
  107. package/dist/contracts/Ledger.d.ts +637 -0
  108. package/dist/contracts/Ledger.d.ts.map +1 -0
  109. package/dist/contracts/Ledger.js +759 -0
  110. package/dist/contracts/LegoBook.d.ts +1463 -0
  111. package/dist/contracts/LegoBook.d.ts.map +1 -0
  112. package/dist/contracts/LegoBook.js +1763 -0
  113. package/dist/contracts/LegoTools.d.ts +1913 -0
  114. package/dist/contracts/LegoTools.d.ts.map +1 -0
  115. package/dist/contracts/LegoTools.js +2402 -0
  116. package/dist/contracts/LevgVault.d.ts +2115 -0
  117. package/dist/contracts/LevgVault.d.ts.map +1 -0
  118. package/dist/contracts/LevgVault.js +2733 -0
  119. package/dist/contracts/LevgVaultAgent.d.ts +2013 -0
  120. package/dist/contracts/LevgVaultAgent.d.ts.map +1 -0
  121. package/dist/contracts/LevgVaultAgent.js +2563 -0
  122. package/dist/contracts/LevgVaultAgentSigHelper.d.ts +2221 -0
  123. package/dist/contracts/LevgVaultAgentSigHelper.d.ts.map +1 -0
  124. package/dist/contracts/LevgVaultAgentSigHelper.js +2963 -0
  125. package/dist/contracts/LevgVaultHelper.d.ts +977 -0
  126. package/dist/contracts/LevgVaultHelper.d.ts.map +1 -0
  127. package/dist/contracts/LevgVaultHelper.js +1289 -0
  128. package/dist/contracts/LevgVaultTools.d.ts +2629 -0
  129. package/dist/contracts/LevgVaultTools.d.ts.map +1 -0
  130. package/dist/contracts/LevgVaultTools.js +3560 -0
  131. package/dist/contracts/LevgVaultWallet.d.ts +1119 -0
  132. package/dist/contracts/LevgVaultWallet.d.ts.map +1 -0
  133. package/dist/contracts/LevgVaultWallet.js +1439 -0
  134. package/dist/contracts/LocalGov.d.ts +427 -0
  135. package/dist/contracts/LocalGov.d.ts.map +1 -0
  136. package/dist/contracts/LocalGov.js +507 -0
  137. package/dist/contracts/LootDistributor.d.ts +1053 -0
  138. package/dist/contracts/LootDistributor.d.ts.map +1 -0
  139. package/dist/contracts/LootDistributor.js +1291 -0
  140. package/dist/contracts/Migrator.d.ts +449 -0
  141. package/dist/contracts/Migrator.d.ts.map +1 -0
  142. package/dist/contracts/Migrator.js +535 -0
  143. package/dist/contracts/MissionControl.d.ts +1405 -0
  144. package/dist/contracts/MissionControl.d.ts.map +1 -0
  145. package/dist/contracts/MissionControl.js +1592 -0
  146. package/dist/contracts/Moonwell.d.ts +2623 -0
  147. package/dist/contracts/Moonwell.d.ts.map +1 -0
  148. package/dist/contracts/Moonwell.js +3304 -0
  149. package/dist/contracts/Morpho.d.ts +2662 -0
  150. package/dist/contracts/Morpho.d.ts.map +1 -0
  151. package/dist/contracts/Morpho.js +3350 -0
  152. package/dist/contracts/Ownership.d.ts +414 -0
  153. package/dist/contracts/Ownership.d.ts.map +1 -0
  154. package/dist/contracts/Ownership.js +472 -0
  155. package/dist/contracts/Paymaster.d.ts +1511 -0
  156. package/dist/contracts/Paymaster.d.ts.map +1 -0
  157. package/dist/contracts/Paymaster.js +1812 -0
  158. package/dist/contracts/RipeLego.d.ts +2913 -0
  159. package/dist/contracts/RipeLego.d.ts.map +1 -0
  160. package/dist/contracts/RipeLego.js +3643 -0
  161. package/dist/contracts/Sentinel.d.ts +2067 -0
  162. package/dist/contracts/Sentinel.d.ts.map +1 -0
  163. package/dist/contracts/Sentinel.js +2480 -0
  164. package/dist/contracts/SignatureHelper.d.ts +4250 -0
  165. package/dist/contracts/SignatureHelper.d.ts.map +1 -0
  166. package/dist/contracts/SignatureHelper.js +5714 -0
  167. package/dist/contracts/SignatureHelperV1.d.ts +4250 -0
  168. package/dist/contracts/SignatureHelperV1.d.ts.map +1 -0
  169. package/dist/contracts/SignatureHelperV1.js +5714 -0
  170. package/dist/contracts/SkyPsm.d.ts +2667 -0
  171. package/dist/contracts/SkyPsm.d.ts.map +1 -0
  172. package/dist/contracts/SkyPsm.js +3356 -0
  173. package/dist/contracts/Switchboard.d.ts +1483 -0
  174. package/dist/contracts/Switchboard.d.ts.map +1 -0
  175. package/dist/contracts/Switchboard.js +1790 -0
  176. package/dist/contracts/SwitchboardAlpha.d.ts +3161 -0
  177. package/dist/contracts/SwitchboardAlpha.d.ts.map +1 -0
  178. package/dist/contracts/SwitchboardAlpha.js +3771 -0
  179. package/dist/contracts/SwitchboardBravo.d.ts +1591 -0
  180. package/dist/contracts/SwitchboardBravo.d.ts.map +1 -0
  181. package/dist/contracts/SwitchboardBravo.js +1872 -0
  182. package/dist/contracts/SwitchboardCharlie.d.ts +3172 -0
  183. package/dist/contracts/SwitchboardCharlie.d.ts.map +1 -0
  184. package/dist/contracts/SwitchboardCharlie.js +3713 -0
  185. package/dist/contracts/UnderscoreLego.d.ts +2592 -0
  186. package/dist/contracts/UnderscoreLego.d.ts.map +1 -0
  187. package/dist/contracts/UnderscoreLego.js +3264 -0
  188. package/dist/contracts/UndyAero.d.ts +1733 -0
  189. package/dist/contracts/UndyAero.d.ts.map +1 -0
  190. package/dist/contracts/UndyAero.js +2235 -0
  191. package/dist/contracts/UndyBtc.d.ts +1733 -0
  192. package/dist/contracts/UndyBtc.d.ts.map +1 -0
  193. package/dist/contracts/UndyBtc.js +2235 -0
  194. package/dist/contracts/UndyCbeth.d.ts +1733 -0
  195. package/dist/contracts/UndyCbeth.d.ts.map +1 -0
  196. package/dist/contracts/UndyCbeth.js +2235 -0
  197. package/dist/contracts/UndyEth.d.ts +1733 -0
  198. package/dist/contracts/UndyEth.d.ts.map +1 -0
  199. package/dist/contracts/UndyEth.js +2235 -0
  200. package/dist/contracts/UndyEurc.d.ts +1733 -0
  201. package/dist/contracts/UndyEurc.d.ts.map +1 -0
  202. package/dist/contracts/UndyEurc.js +2235 -0
  203. package/dist/contracts/UndyGho.d.ts +1733 -0
  204. package/dist/contracts/UndyGho.d.ts.map +1 -0
  205. package/dist/contracts/UndyGho.js +2235 -0
  206. package/dist/contracts/UndyHq.d.ts +1677 -0
  207. package/dist/contracts/UndyHq.d.ts.map +1 -0
  208. package/dist/contracts/UndyHq.js +2026 -0
  209. package/dist/contracts/UndyRewardsLego.d.ts +1572 -0
  210. package/dist/contracts/UndyRewardsLego.d.ts.map +1 -0
  211. package/dist/contracts/UndyRewardsLego.js +1994 -0
  212. package/dist/contracts/UndyToken.d.ts +821 -0
  213. package/dist/contracts/UndyToken.d.ts.map +1 -0
  214. package/dist/contracts/UndyToken.js +1017 -0
  215. package/dist/contracts/UndyUsd.d.ts +1733 -0
  216. package/dist/contracts/UndyUsd.d.ts.map +1 -0
  217. package/dist/contracts/UndyUsd.js +2235 -0
  218. package/dist/contracts/UndyUsdV2.d.ts +1762 -0
  219. package/dist/contracts/UndyUsdV2.d.ts.map +1 -0
  220. package/dist/contracts/UndyUsdV2.js +2267 -0
  221. package/dist/contracts/UndyUsds.d.ts +1733 -0
  222. package/dist/contracts/UndyUsds.d.ts.map +1 -0
  223. package/dist/contracts/UndyUsds.js +2235 -0
  224. package/dist/contracts/UndyVirtual.d.ts +1762 -0
  225. package/dist/contracts/UndyVirtual.d.ts.map +1 -0
  226. package/dist/contracts/UndyVirtual.js +2267 -0
  227. package/dist/contracts/UniswapV2.d.ts +2118 -0
  228. package/dist/contracts/UniswapV2.d.ts.map +1 -0
  229. package/dist/contracts/UniswapV2.js +2679 -0
  230. package/dist/contracts/UniswapV3.d.ts +2256 -0
  231. package/dist/contracts/UniswapV3.d.ts.map +1 -0
  232. package/dist/contracts/UniswapV3.js +2848 -0
  233. package/dist/contracts/UserWallet.d.ts +2650 -0
  234. package/dist/contracts/UserWallet.d.ts.map +1 -0
  235. package/dist/contracts/UserWallet.js +3520 -0
  236. package/dist/contracts/UserWalletConfig.d.ts +3918 -0
  237. package/dist/contracts/UserWalletConfig.d.ts.map +1 -0
  238. package/dist/contracts/UserWalletConfig.js +4527 -0
  239. package/dist/contracts/UserWalletConfigV1.d.ts +3692 -0
  240. package/dist/contracts/UserWalletConfigV1.d.ts.map +1 -0
  241. package/dist/contracts/UserWalletConfigV1.js +4276 -0
  242. package/dist/contracts/UserWalletSignatureHelper.d.ts +5558 -0
  243. package/dist/contracts/UserWalletSignatureHelper.d.ts.map +1 -0
  244. package/dist/contracts/UserWalletSignatureHelper.js +7480 -0
  245. package/dist/contracts/UserWalletV1.d.ts +2650 -0
  246. package/dist/contracts/UserWalletV1.d.ts.map +1 -0
  247. package/dist/contracts/UserWalletV1.js +3520 -0
  248. package/dist/contracts/VaultErc20Token.d.ts +522 -0
  249. package/dist/contracts/VaultErc20Token.d.ts.map +1 -0
  250. package/dist/contracts/VaultErc20Token.js +658 -0
  251. package/dist/contracts/VaultRegistry.d.ts +3162 -0
  252. package/dist/contracts/VaultRegistry.d.ts.map +1 -0
  253. package/dist/contracts/VaultRegistry.js +3893 -0
  254. package/dist/contracts/WalletBackpack.d.ts +1248 -0
  255. package/dist/contracts/WalletBackpack.d.ts.map +1 -0
  256. package/dist/contracts/WalletBackpack.js +1519 -0
  257. package/dist/contracts/Wasabi.d.ts +2620 -0
  258. package/dist/contracts/Wasabi.d.ts.map +1 -0
  259. package/dist/contracts/Wasabi.js +3300 -0
  260. package/dist/contracts/index.d.ts +86 -0
  261. package/dist/contracts/index.d.ts.map +1 -0
  262. package/dist/contracts/index.js +89 -0
  263. package/dist/contracts/sdk.d.ts +176 -0
  264. package/dist/contracts/sdk.d.ts.map +1 -0
  265. package/dist/contracts/sdk.js +178 -0
  266. package/dist/getSwapInstructions.d.ts +34 -0
  267. package/dist/getSwapInstructions.d.ts.map +1 -0
  268. package/dist/getSwapInstructions.js +21 -0
  269. package/dist/index.d.ts +135 -0
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +137 -0
  272. package/package.json +44 -17
  273. package/.claude/settings.local.json +0 -31
  274. package/.eslintrc.json +0 -27
  275. package/.prettierrc +0 -9
  276. package/.tool-versions +0 -1
  277. package/LICENSE +0 -41
  278. package/LICENSE_DATE.md +0 -34
  279. package/LICENSE_GRANTS.md +0 -33
  280. package/LICENSE_INFO.md +0 -90
  281. package/dapp.config.js +0 -154
  282. package/src/getSwapInstructions.ts +0 -55
  283. package/src/index.ts +0 -192
  284. package/tsconfig.json +0 -18
@@ -0,0 +1,3350 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /* @ts-nocheck */
5
+ import { singleQuery, mutate } from '@dappql/async';
6
+ import { encodeEventTopics, parseEventLogs } from 'viem';
7
+ export const abi = [
8
+ {
9
+ "name": "MorphoDeposit",
10
+ "inputs": [
11
+ {
12
+ "name": "sender",
13
+ "type": "address",
14
+ "indexed": true
15
+ },
16
+ {
17
+ "name": "asset",
18
+ "type": "address",
19
+ "indexed": true
20
+ },
21
+ {
22
+ "name": "vaultToken",
23
+ "type": "address",
24
+ "indexed": true
25
+ },
26
+ {
27
+ "name": "assetAmountDeposited",
28
+ "type": "uint256",
29
+ "indexed": false
30
+ },
31
+ {
32
+ "name": "usdValue",
33
+ "type": "uint256",
34
+ "indexed": false
35
+ },
36
+ {
37
+ "name": "vaultTokenAmountReceived",
38
+ "type": "uint256",
39
+ "indexed": false
40
+ },
41
+ {
42
+ "name": "recipient",
43
+ "type": "address",
44
+ "indexed": false
45
+ }
46
+ ],
47
+ "anonymous": false,
48
+ "type": "event"
49
+ },
50
+ {
51
+ "name": "MorphoWithdrawal",
52
+ "inputs": [
53
+ {
54
+ "name": "sender",
55
+ "type": "address",
56
+ "indexed": true
57
+ },
58
+ {
59
+ "name": "asset",
60
+ "type": "address",
61
+ "indexed": true
62
+ },
63
+ {
64
+ "name": "vaultToken",
65
+ "type": "address",
66
+ "indexed": true
67
+ },
68
+ {
69
+ "name": "assetAmountReceived",
70
+ "type": "uint256",
71
+ "indexed": false
72
+ },
73
+ {
74
+ "name": "usdValue",
75
+ "type": "uint256",
76
+ "indexed": false
77
+ },
78
+ {
79
+ "name": "vaultTokenAmountBurned",
80
+ "type": "uint256",
81
+ "indexed": false
82
+ },
83
+ {
84
+ "name": "recipient",
85
+ "type": "address",
86
+ "indexed": false
87
+ }
88
+ ],
89
+ "anonymous": false,
90
+ "type": "event"
91
+ },
92
+ {
93
+ "name": "MorphoRewardsAddrSet",
94
+ "inputs": [
95
+ {
96
+ "name": "addr",
97
+ "type": "address",
98
+ "indexed": false
99
+ }
100
+ ],
101
+ "anonymous": false,
102
+ "type": "event"
103
+ },
104
+ {
105
+ "name": "LegoPauseModified",
106
+ "inputs": [
107
+ {
108
+ "name": "isPaused",
109
+ "type": "bool",
110
+ "indexed": false
111
+ }
112
+ ],
113
+ "anonymous": false,
114
+ "type": "event"
115
+ },
116
+ {
117
+ "name": "LegoFundsRecovered",
118
+ "inputs": [
119
+ {
120
+ "name": "asset",
121
+ "type": "address",
122
+ "indexed": true
123
+ },
124
+ {
125
+ "name": "recipient",
126
+ "type": "address",
127
+ "indexed": true
128
+ },
129
+ {
130
+ "name": "balance",
131
+ "type": "uint256",
132
+ "indexed": false
133
+ }
134
+ ],
135
+ "anonymous": false,
136
+ "type": "event"
137
+ },
138
+ {
139
+ "name": "SnapShotPriceConfigSet",
140
+ "inputs": [
141
+ {
142
+ "name": "minSnapshotDelay",
143
+ "type": "uint256",
144
+ "indexed": false
145
+ },
146
+ {
147
+ "name": "maxNumSnapshots",
148
+ "type": "uint256",
149
+ "indexed": false
150
+ },
151
+ {
152
+ "name": "maxUpsideDeviation",
153
+ "type": "uint256",
154
+ "indexed": false
155
+ },
156
+ {
157
+ "name": "staleTime",
158
+ "type": "uint256",
159
+ "indexed": false
160
+ }
161
+ ],
162
+ "anonymous": false,
163
+ "type": "event"
164
+ },
165
+ {
166
+ "name": "AssetOpportunityAdded",
167
+ "inputs": [
168
+ {
169
+ "name": "asset",
170
+ "type": "address",
171
+ "indexed": true
172
+ },
173
+ {
174
+ "name": "vaultAddr",
175
+ "type": "address",
176
+ "indexed": true
177
+ }
178
+ ],
179
+ "anonymous": false,
180
+ "type": "event"
181
+ },
182
+ {
183
+ "name": "AssetOpportunityRemoved",
184
+ "inputs": [
185
+ {
186
+ "name": "asset",
187
+ "type": "address",
188
+ "indexed": true
189
+ },
190
+ {
191
+ "name": "vaultAddr",
192
+ "type": "address",
193
+ "indexed": true
194
+ }
195
+ ],
196
+ "anonymous": false,
197
+ "type": "event"
198
+ },
199
+ {
200
+ "name": "PricePerShareSnapShotAdded",
201
+ "inputs": [
202
+ {
203
+ "name": "vaultToken",
204
+ "type": "address",
205
+ "indexed": true
206
+ },
207
+ {
208
+ "name": "totalSupply",
209
+ "type": "uint256",
210
+ "indexed": false
211
+ },
212
+ {
213
+ "name": "pricePerShare",
214
+ "type": "uint256",
215
+ "indexed": false
216
+ },
217
+ {
218
+ "name": "lastAveragePricePerShare",
219
+ "type": "uint256",
220
+ "indexed": false
221
+ }
222
+ ],
223
+ "anonymous": false,
224
+ "type": "event"
225
+ },
226
+ {
227
+ "stateMutability": "view",
228
+ "type": "function",
229
+ "name": "getAddys",
230
+ "inputs": [],
231
+ "outputs": [
232
+ {
233
+ "name": "",
234
+ "type": "tuple",
235
+ "components": [
236
+ {
237
+ "name": "hq",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "name": "undyToken",
242
+ "type": "address"
243
+ },
244
+ {
245
+ "name": "ledger",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "name": "missionControl",
250
+ "type": "address"
251
+ },
252
+ {
253
+ "name": "legoBook",
254
+ "type": "address"
255
+ },
256
+ {
257
+ "name": "switchboard",
258
+ "type": "address"
259
+ },
260
+ {
261
+ "name": "hatchery",
262
+ "type": "address"
263
+ },
264
+ {
265
+ "name": "lootDistributor",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "name": "appraiser",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "name": "walletBackpack",
274
+ "type": "address"
275
+ },
276
+ {
277
+ "name": "billing",
278
+ "type": "address"
279
+ },
280
+ {
281
+ "name": "vaultRegistry",
282
+ "type": "address"
283
+ }
284
+ ]
285
+ }
286
+ ]
287
+ },
288
+ {
289
+ "stateMutability": "view",
290
+ "type": "function",
291
+ "name": "getUndyHq",
292
+ "inputs": [],
293
+ "outputs": [
294
+ {
295
+ "name": "",
296
+ "type": "address"
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "stateMutability": "view",
302
+ "type": "function",
303
+ "name": "isLegoAsset",
304
+ "inputs": [
305
+ {
306
+ "name": "_asset",
307
+ "type": "address"
308
+ }
309
+ ],
310
+ "outputs": [
311
+ {
312
+ "name": "",
313
+ "type": "bool"
314
+ }
315
+ ]
316
+ },
317
+ {
318
+ "stateMutability": "view",
319
+ "type": "function",
320
+ "name": "getAssetOpportunities",
321
+ "inputs": [
322
+ {
323
+ "name": "_asset",
324
+ "type": "address"
325
+ }
326
+ ],
327
+ "outputs": [
328
+ {
329
+ "name": "",
330
+ "type": "address[]"
331
+ }
332
+ ]
333
+ },
334
+ {
335
+ "stateMutability": "view",
336
+ "type": "function",
337
+ "name": "getAssets",
338
+ "inputs": [],
339
+ "outputs": [
340
+ {
341
+ "name": "",
342
+ "type": "address[]"
343
+ }
344
+ ]
345
+ },
346
+ {
347
+ "stateMutability": "view",
348
+ "type": "function",
349
+ "name": "isAssetOpportunity",
350
+ "inputs": [
351
+ {
352
+ "name": "_asset",
353
+ "type": "address"
354
+ },
355
+ {
356
+ "name": "_vaultAddr",
357
+ "type": "address"
358
+ }
359
+ ],
360
+ "outputs": [
361
+ {
362
+ "name": "",
363
+ "type": "bool"
364
+ }
365
+ ]
366
+ },
367
+ {
368
+ "stateMutability": "view",
369
+ "type": "function",
370
+ "name": "getNumLegoAssets",
371
+ "inputs": [],
372
+ "outputs": [
373
+ {
374
+ "name": "",
375
+ "type": "uint256"
376
+ }
377
+ ]
378
+ },
379
+ {
380
+ "stateMutability": "nonpayable",
381
+ "type": "function",
382
+ "name": "pause",
383
+ "inputs": [
384
+ {
385
+ "name": "_shouldPause",
386
+ "type": "bool"
387
+ }
388
+ ],
389
+ "outputs": []
390
+ },
391
+ {
392
+ "stateMutability": "nonpayable",
393
+ "type": "function",
394
+ "name": "recoverFunds",
395
+ "inputs": [
396
+ {
397
+ "name": "_recipient",
398
+ "type": "address"
399
+ },
400
+ {
401
+ "name": "_asset",
402
+ "type": "address"
403
+ }
404
+ ],
405
+ "outputs": []
406
+ },
407
+ {
408
+ "stateMutability": "nonpayable",
409
+ "type": "function",
410
+ "name": "recoverFundsMany",
411
+ "inputs": [
412
+ {
413
+ "name": "_recipient",
414
+ "type": "address"
415
+ },
416
+ {
417
+ "name": "_assets",
418
+ "type": "address[]"
419
+ }
420
+ ],
421
+ "outputs": []
422
+ },
423
+ {
424
+ "stateMutability": "view",
425
+ "type": "function",
426
+ "name": "getWeightedPricePerShare",
427
+ "inputs": [
428
+ {
429
+ "name": "_vaultToken",
430
+ "type": "address"
431
+ }
432
+ ],
433
+ "outputs": [
434
+ {
435
+ "name": "",
436
+ "type": "uint256"
437
+ }
438
+ ]
439
+ },
440
+ {
441
+ "stateMutability": "view",
442
+ "type": "function",
443
+ "name": "getLatestSnapshot",
444
+ "inputs": [
445
+ {
446
+ "name": "_vaultToken",
447
+ "type": "address"
448
+ },
449
+ {
450
+ "name": "_pricePerShare",
451
+ "type": "uint256"
452
+ }
453
+ ],
454
+ "outputs": [
455
+ {
456
+ "name": "",
457
+ "type": "tuple",
458
+ "components": [
459
+ {
460
+ "name": "totalSupply",
461
+ "type": "uint256"
462
+ },
463
+ {
464
+ "name": "pricePerShare",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "name": "lastUpdate",
469
+ "type": "uint256"
470
+ }
471
+ ]
472
+ }
473
+ ]
474
+ },
475
+ {
476
+ "stateMutability": "nonpayable",
477
+ "type": "function",
478
+ "name": "setSnapShotPriceConfig",
479
+ "inputs": [
480
+ {
481
+ "name": "_config",
482
+ "type": "tuple",
483
+ "components": [
484
+ {
485
+ "name": "minSnapshotDelay",
486
+ "type": "uint256"
487
+ },
488
+ {
489
+ "name": "maxNumSnapshots",
490
+ "type": "uint256"
491
+ },
492
+ {
493
+ "name": "maxUpsideDeviation",
494
+ "type": "uint256"
495
+ },
496
+ {
497
+ "name": "staleTime",
498
+ "type": "uint256"
499
+ }
500
+ ]
501
+ }
502
+ ],
503
+ "outputs": []
504
+ },
505
+ {
506
+ "stateMutability": "view",
507
+ "type": "function",
508
+ "name": "isValidPriceConfig",
509
+ "inputs": [
510
+ {
511
+ "name": "_config",
512
+ "type": "tuple",
513
+ "components": [
514
+ {
515
+ "name": "minSnapshotDelay",
516
+ "type": "uint256"
517
+ },
518
+ {
519
+ "name": "maxNumSnapshots",
520
+ "type": "uint256"
521
+ },
522
+ {
523
+ "name": "maxUpsideDeviation",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "name": "staleTime",
528
+ "type": "uint256"
529
+ }
530
+ ]
531
+ }
532
+ ],
533
+ "outputs": [
534
+ {
535
+ "name": "",
536
+ "type": "bool"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "stateMutability": "view",
542
+ "type": "function",
543
+ "name": "vaultToAsset",
544
+ "inputs": [
545
+ {
546
+ "name": "arg0",
547
+ "type": "address"
548
+ }
549
+ ],
550
+ "outputs": [
551
+ {
552
+ "name": "",
553
+ "type": "tuple",
554
+ "components": [
555
+ {
556
+ "name": "underlyingAsset",
557
+ "type": "address"
558
+ },
559
+ {
560
+ "name": "decimals",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "name": "lastAveragePricePerShare",
565
+ "type": "uint256"
566
+ }
567
+ ]
568
+ }
569
+ ]
570
+ },
571
+ {
572
+ "stateMutability": "view",
573
+ "type": "function",
574
+ "name": "assetOpportunities",
575
+ "inputs": [
576
+ {
577
+ "name": "arg0",
578
+ "type": "address"
579
+ },
580
+ {
581
+ "name": "arg1",
582
+ "type": "uint256"
583
+ }
584
+ ],
585
+ "outputs": [
586
+ {
587
+ "name": "",
588
+ "type": "address"
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "stateMutability": "view",
594
+ "type": "function",
595
+ "name": "indexOfAssetOpportunity",
596
+ "inputs": [
597
+ {
598
+ "name": "arg0",
599
+ "type": "address"
600
+ },
601
+ {
602
+ "name": "arg1",
603
+ "type": "address"
604
+ }
605
+ ],
606
+ "outputs": [
607
+ {
608
+ "name": "",
609
+ "type": "uint256"
610
+ }
611
+ ]
612
+ },
613
+ {
614
+ "stateMutability": "view",
615
+ "type": "function",
616
+ "name": "numAssetOpportunities",
617
+ "inputs": [
618
+ {
619
+ "name": "arg0",
620
+ "type": "address"
621
+ }
622
+ ],
623
+ "outputs": [
624
+ {
625
+ "name": "",
626
+ "type": "uint256"
627
+ }
628
+ ]
629
+ },
630
+ {
631
+ "stateMutability": "view",
632
+ "type": "function",
633
+ "name": "assets",
634
+ "inputs": [
635
+ {
636
+ "name": "arg0",
637
+ "type": "uint256"
638
+ }
639
+ ],
640
+ "outputs": [
641
+ {
642
+ "name": "",
643
+ "type": "address"
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "stateMutability": "view",
649
+ "type": "function",
650
+ "name": "indexOfAsset",
651
+ "inputs": [
652
+ {
653
+ "name": "arg0",
654
+ "type": "address"
655
+ }
656
+ ],
657
+ "outputs": [
658
+ {
659
+ "name": "",
660
+ "type": "uint256"
661
+ }
662
+ ]
663
+ },
664
+ {
665
+ "stateMutability": "view",
666
+ "type": "function",
667
+ "name": "numAssets",
668
+ "inputs": [],
669
+ "outputs": [
670
+ {
671
+ "name": "",
672
+ "type": "uint256"
673
+ }
674
+ ]
675
+ },
676
+ {
677
+ "stateMutability": "view",
678
+ "type": "function",
679
+ "name": "snapShotData",
680
+ "inputs": [
681
+ {
682
+ "name": "arg0",
683
+ "type": "address"
684
+ }
685
+ ],
686
+ "outputs": [
687
+ {
688
+ "name": "",
689
+ "type": "tuple",
690
+ "components": [
691
+ {
692
+ "name": "lastSnapShot",
693
+ "type": "tuple",
694
+ "components": [
695
+ {
696
+ "name": "totalSupply",
697
+ "type": "uint256"
698
+ },
699
+ {
700
+ "name": "pricePerShare",
701
+ "type": "uint256"
702
+ },
703
+ {
704
+ "name": "lastUpdate",
705
+ "type": "uint256"
706
+ }
707
+ ]
708
+ },
709
+ {
710
+ "name": "nextIndex",
711
+ "type": "uint256"
712
+ }
713
+ ]
714
+ }
715
+ ]
716
+ },
717
+ {
718
+ "stateMutability": "view",
719
+ "type": "function",
720
+ "name": "snapShots",
721
+ "inputs": [
722
+ {
723
+ "name": "arg0",
724
+ "type": "address"
725
+ },
726
+ {
727
+ "name": "arg1",
728
+ "type": "uint256"
729
+ }
730
+ ],
731
+ "outputs": [
732
+ {
733
+ "name": "",
734
+ "type": "tuple",
735
+ "components": [
736
+ {
737
+ "name": "totalSupply",
738
+ "type": "uint256"
739
+ },
740
+ {
741
+ "name": "pricePerShare",
742
+ "type": "uint256"
743
+ },
744
+ {
745
+ "name": "lastUpdate",
746
+ "type": "uint256"
747
+ }
748
+ ]
749
+ }
750
+ ]
751
+ },
752
+ {
753
+ "stateMutability": "view",
754
+ "type": "function",
755
+ "name": "snapShotPriceConfig",
756
+ "inputs": [],
757
+ "outputs": [
758
+ {
759
+ "name": "",
760
+ "type": "tuple",
761
+ "components": [
762
+ {
763
+ "name": "minSnapshotDelay",
764
+ "type": "uint256"
765
+ },
766
+ {
767
+ "name": "maxNumSnapshots",
768
+ "type": "uint256"
769
+ },
770
+ {
771
+ "name": "maxUpsideDeviation",
772
+ "type": "uint256"
773
+ },
774
+ {
775
+ "name": "staleTime",
776
+ "type": "uint256"
777
+ }
778
+ ]
779
+ }
780
+ ]
781
+ },
782
+ {
783
+ "stateMutability": "view",
784
+ "type": "function",
785
+ "name": "isPaused",
786
+ "inputs": [],
787
+ "outputs": [
788
+ {
789
+ "name": "",
790
+ "type": "bool"
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "stateMutability": "view",
796
+ "type": "function",
797
+ "name": "hasCapability",
798
+ "inputs": [
799
+ {
800
+ "name": "_action",
801
+ "type": "uint256"
802
+ }
803
+ ],
804
+ "outputs": [
805
+ {
806
+ "name": "",
807
+ "type": "bool"
808
+ }
809
+ ]
810
+ },
811
+ {
812
+ "stateMutability": "view",
813
+ "type": "function",
814
+ "name": "getRegistries",
815
+ "inputs": [],
816
+ "outputs": [
817
+ {
818
+ "name": "",
819
+ "type": "address[]"
820
+ }
821
+ ]
822
+ },
823
+ {
824
+ "stateMutability": "view",
825
+ "type": "function",
826
+ "name": "isYieldLego",
827
+ "inputs": [],
828
+ "outputs": [
829
+ {
830
+ "name": "",
831
+ "type": "bool"
832
+ }
833
+ ]
834
+ },
835
+ {
836
+ "stateMutability": "view",
837
+ "type": "function",
838
+ "name": "isDexLego",
839
+ "inputs": [],
840
+ "outputs": [
841
+ {
842
+ "name": "",
843
+ "type": "bool"
844
+ }
845
+ ]
846
+ },
847
+ {
848
+ "stateMutability": "view",
849
+ "type": "function",
850
+ "name": "getUnderlyingAsset",
851
+ "inputs": [
852
+ {
853
+ "name": "_vaultToken",
854
+ "type": "address"
855
+ }
856
+ ],
857
+ "outputs": [
858
+ {
859
+ "name": "",
860
+ "type": "address"
861
+ }
862
+ ]
863
+ },
864
+ {
865
+ "stateMutability": "view",
866
+ "type": "function",
867
+ "name": "getUnderlyingBalances",
868
+ "inputs": [
869
+ {
870
+ "name": "_vaultToken",
871
+ "type": "address"
872
+ },
873
+ {
874
+ "name": "_vaultTokenBalance",
875
+ "type": "uint256"
876
+ }
877
+ ],
878
+ "outputs": [
879
+ {
880
+ "name": "",
881
+ "type": "uint256"
882
+ },
883
+ {
884
+ "name": "",
885
+ "type": "uint256"
886
+ }
887
+ ]
888
+ },
889
+ {
890
+ "stateMutability": "view",
891
+ "type": "function",
892
+ "name": "getUnderlyingAmount",
893
+ "inputs": [
894
+ {
895
+ "name": "_vaultToken",
896
+ "type": "address"
897
+ },
898
+ {
899
+ "name": "_vaultTokenAmount",
900
+ "type": "uint256"
901
+ }
902
+ ],
903
+ "outputs": [
904
+ {
905
+ "name": "",
906
+ "type": "uint256"
907
+ }
908
+ ]
909
+ },
910
+ {
911
+ "stateMutability": "view",
912
+ "type": "function",
913
+ "name": "getUnderlyingAmountSafe",
914
+ "inputs": [
915
+ {
916
+ "name": "_vaultToken",
917
+ "type": "address"
918
+ },
919
+ {
920
+ "name": "_vaultTokenBalance",
921
+ "type": "uint256"
922
+ }
923
+ ],
924
+ "outputs": [
925
+ {
926
+ "name": "",
927
+ "type": "uint256"
928
+ }
929
+ ]
930
+ },
931
+ {
932
+ "stateMutability": "view",
933
+ "type": "function",
934
+ "name": "getUnderlyingData",
935
+ "inputs": [
936
+ {
937
+ "name": "_vaultToken",
938
+ "type": "address"
939
+ },
940
+ {
941
+ "name": "_vaultTokenAmount",
942
+ "type": "uint256"
943
+ }
944
+ ],
945
+ "outputs": [
946
+ {
947
+ "name": "",
948
+ "type": "address"
949
+ },
950
+ {
951
+ "name": "",
952
+ "type": "uint256"
953
+ },
954
+ {
955
+ "name": "",
956
+ "type": "uint256"
957
+ }
958
+ ]
959
+ },
960
+ {
961
+ "stateMutability": "view",
962
+ "type": "function",
963
+ "name": "getUnderlyingData",
964
+ "inputs": [
965
+ {
966
+ "name": "_vaultToken",
967
+ "type": "address"
968
+ },
969
+ {
970
+ "name": "_vaultTokenAmount",
971
+ "type": "uint256"
972
+ },
973
+ {
974
+ "name": "_appraiser",
975
+ "type": "address"
976
+ }
977
+ ],
978
+ "outputs": [
979
+ {
980
+ "name": "",
981
+ "type": "address"
982
+ },
983
+ {
984
+ "name": "",
985
+ "type": "uint256"
986
+ },
987
+ {
988
+ "name": "",
989
+ "type": "uint256"
990
+ }
991
+ ]
992
+ },
993
+ {
994
+ "stateMutability": "view",
995
+ "type": "function",
996
+ "name": "getUsdValueOfVaultToken",
997
+ "inputs": [
998
+ {
999
+ "name": "_vaultToken",
1000
+ "type": "address"
1001
+ },
1002
+ {
1003
+ "name": "_vaultTokenAmount",
1004
+ "type": "uint256"
1005
+ }
1006
+ ],
1007
+ "outputs": [
1008
+ {
1009
+ "name": "",
1010
+ "type": "uint256"
1011
+ }
1012
+ ]
1013
+ },
1014
+ {
1015
+ "stateMutability": "view",
1016
+ "type": "function",
1017
+ "name": "getUsdValueOfVaultToken",
1018
+ "inputs": [
1019
+ {
1020
+ "name": "_vaultToken",
1021
+ "type": "address"
1022
+ },
1023
+ {
1024
+ "name": "_vaultTokenAmount",
1025
+ "type": "uint256"
1026
+ },
1027
+ {
1028
+ "name": "_appraiser",
1029
+ "type": "address"
1030
+ }
1031
+ ],
1032
+ "outputs": [
1033
+ {
1034
+ "name": "",
1035
+ "type": "uint256"
1036
+ }
1037
+ ]
1038
+ },
1039
+ {
1040
+ "stateMutability": "view",
1041
+ "type": "function",
1042
+ "name": "isRebasing",
1043
+ "inputs": [],
1044
+ "outputs": [
1045
+ {
1046
+ "name": "",
1047
+ "type": "bool"
1048
+ }
1049
+ ]
1050
+ },
1051
+ {
1052
+ "stateMutability": "view",
1053
+ "type": "function",
1054
+ "name": "getPricePerShare",
1055
+ "inputs": [
1056
+ {
1057
+ "name": "_vaultToken",
1058
+ "type": "address"
1059
+ }
1060
+ ],
1061
+ "outputs": [
1062
+ {
1063
+ "name": "",
1064
+ "type": "uint256"
1065
+ }
1066
+ ]
1067
+ },
1068
+ {
1069
+ "stateMutability": "view",
1070
+ "type": "function",
1071
+ "name": "getPricePerShare",
1072
+ "inputs": [
1073
+ {
1074
+ "name": "_vaultToken",
1075
+ "type": "address"
1076
+ },
1077
+ {
1078
+ "name": "_decimals",
1079
+ "type": "uint256"
1080
+ }
1081
+ ],
1082
+ "outputs": [
1083
+ {
1084
+ "name": "",
1085
+ "type": "uint256"
1086
+ }
1087
+ ]
1088
+ },
1089
+ {
1090
+ "stateMutability": "view",
1091
+ "type": "function",
1092
+ "name": "getVaultTokenAmount",
1093
+ "inputs": [
1094
+ {
1095
+ "name": "_asset",
1096
+ "type": "address"
1097
+ },
1098
+ {
1099
+ "name": "_assetAmount",
1100
+ "type": "uint256"
1101
+ },
1102
+ {
1103
+ "name": "_vaultToken",
1104
+ "type": "address"
1105
+ }
1106
+ ],
1107
+ "outputs": [
1108
+ {
1109
+ "name": "",
1110
+ "type": "uint256"
1111
+ }
1112
+ ]
1113
+ },
1114
+ {
1115
+ "stateMutability": "view",
1116
+ "type": "function",
1117
+ "name": "totalAssets",
1118
+ "inputs": [
1119
+ {
1120
+ "name": "_vaultToken",
1121
+ "type": "address"
1122
+ }
1123
+ ],
1124
+ "outputs": [
1125
+ {
1126
+ "name": "",
1127
+ "type": "uint256"
1128
+ }
1129
+ ]
1130
+ },
1131
+ {
1132
+ "stateMutability": "view",
1133
+ "type": "function",
1134
+ "name": "totalBorrows",
1135
+ "inputs": [
1136
+ {
1137
+ "name": "_vaultToken",
1138
+ "type": "address"
1139
+ }
1140
+ ],
1141
+ "outputs": [
1142
+ {
1143
+ "name": "",
1144
+ "type": "uint256"
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "stateMutability": "view",
1150
+ "type": "function",
1151
+ "name": "getAvailLiquidity",
1152
+ "inputs": [
1153
+ {
1154
+ "name": "_vaultToken",
1155
+ "type": "address"
1156
+ }
1157
+ ],
1158
+ "outputs": [
1159
+ {
1160
+ "name": "",
1161
+ "type": "uint256"
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "stateMutability": "view",
1167
+ "type": "function",
1168
+ "name": "getUtilizationRatio",
1169
+ "inputs": [
1170
+ {
1171
+ "name": "_vaultToken",
1172
+ "type": "address"
1173
+ }
1174
+ ],
1175
+ "outputs": [
1176
+ {
1177
+ "name": "",
1178
+ "type": "uint256"
1179
+ }
1180
+ ]
1181
+ },
1182
+ {
1183
+ "stateMutability": "view",
1184
+ "type": "function",
1185
+ "name": "isEligibleForYieldBonus",
1186
+ "inputs": [
1187
+ {
1188
+ "name": "_asset",
1189
+ "type": "address"
1190
+ }
1191
+ ],
1192
+ "outputs": [
1193
+ {
1194
+ "name": "",
1195
+ "type": "bool"
1196
+ }
1197
+ ]
1198
+ },
1199
+ {
1200
+ "stateMutability": "view",
1201
+ "type": "function",
1202
+ "name": "getWithdrawalFees",
1203
+ "inputs": [
1204
+ {
1205
+ "name": "_vaultToken",
1206
+ "type": "address"
1207
+ },
1208
+ {
1209
+ "name": "_vaultTokenAmount",
1210
+ "type": "uint256"
1211
+ }
1212
+ ],
1213
+ "outputs": [
1214
+ {
1215
+ "name": "",
1216
+ "type": "uint256"
1217
+ }
1218
+ ]
1219
+ },
1220
+ {
1221
+ "stateMutability": "view",
1222
+ "type": "function",
1223
+ "name": "canRegisterVaultToken",
1224
+ "inputs": [
1225
+ {
1226
+ "name": "_asset",
1227
+ "type": "address"
1228
+ },
1229
+ {
1230
+ "name": "_vaultToken",
1231
+ "type": "address"
1232
+ }
1233
+ ],
1234
+ "outputs": [
1235
+ {
1236
+ "name": "",
1237
+ "type": "bool"
1238
+ }
1239
+ ]
1240
+ },
1241
+ {
1242
+ "stateMutability": "nonpayable",
1243
+ "type": "function",
1244
+ "name": "registerVaultTokenLocally",
1245
+ "inputs": [
1246
+ {
1247
+ "name": "_asset",
1248
+ "type": "address"
1249
+ },
1250
+ {
1251
+ "name": "_vaultAddr",
1252
+ "type": "address"
1253
+ }
1254
+ ],
1255
+ "outputs": [
1256
+ {
1257
+ "name": "",
1258
+ "type": "tuple",
1259
+ "components": [
1260
+ {
1261
+ "name": "underlyingAsset",
1262
+ "type": "address"
1263
+ },
1264
+ {
1265
+ "name": "decimals",
1266
+ "type": "uint256"
1267
+ },
1268
+ {
1269
+ "name": "lastAveragePricePerShare",
1270
+ "type": "uint256"
1271
+ }
1272
+ ]
1273
+ }
1274
+ ]
1275
+ },
1276
+ {
1277
+ "stateMutability": "nonpayable",
1278
+ "type": "function",
1279
+ "name": "deregisterVaultTokenLocally",
1280
+ "inputs": [
1281
+ {
1282
+ "name": "_asset",
1283
+ "type": "address"
1284
+ },
1285
+ {
1286
+ "name": "_vaultAddr",
1287
+ "type": "address"
1288
+ }
1289
+ ],
1290
+ "outputs": []
1291
+ },
1292
+ {
1293
+ "stateMutability": "nonpayable",
1294
+ "type": "function",
1295
+ "name": "addPriceSnapshot",
1296
+ "inputs": [
1297
+ {
1298
+ "name": "_vaultToken",
1299
+ "type": "address"
1300
+ }
1301
+ ],
1302
+ "outputs": [
1303
+ {
1304
+ "name": "",
1305
+ "type": "bool"
1306
+ }
1307
+ ]
1308
+ },
1309
+ {
1310
+ "stateMutability": "nonpayable",
1311
+ "type": "function",
1312
+ "name": "depositForYield",
1313
+ "inputs": [
1314
+ {
1315
+ "name": "_asset",
1316
+ "type": "address"
1317
+ },
1318
+ {
1319
+ "name": "_amount",
1320
+ "type": "uint256"
1321
+ },
1322
+ {
1323
+ "name": "_vaultAddr",
1324
+ "type": "address"
1325
+ },
1326
+ {
1327
+ "name": "_extraData",
1328
+ "type": "bytes32"
1329
+ },
1330
+ {
1331
+ "name": "_recipient",
1332
+ "type": "address"
1333
+ }
1334
+ ],
1335
+ "outputs": [
1336
+ {
1337
+ "name": "",
1338
+ "type": "uint256"
1339
+ },
1340
+ {
1341
+ "name": "",
1342
+ "type": "address"
1343
+ },
1344
+ {
1345
+ "name": "",
1346
+ "type": "uint256"
1347
+ },
1348
+ {
1349
+ "name": "",
1350
+ "type": "uint256"
1351
+ }
1352
+ ]
1353
+ },
1354
+ {
1355
+ "stateMutability": "nonpayable",
1356
+ "type": "function",
1357
+ "name": "depositForYield",
1358
+ "inputs": [
1359
+ {
1360
+ "name": "_asset",
1361
+ "type": "address"
1362
+ },
1363
+ {
1364
+ "name": "_amount",
1365
+ "type": "uint256"
1366
+ },
1367
+ {
1368
+ "name": "_vaultAddr",
1369
+ "type": "address"
1370
+ },
1371
+ {
1372
+ "name": "_extraData",
1373
+ "type": "bytes32"
1374
+ },
1375
+ {
1376
+ "name": "_recipient",
1377
+ "type": "address"
1378
+ },
1379
+ {
1380
+ "name": "_miniAddys",
1381
+ "type": "tuple",
1382
+ "components": [
1383
+ {
1384
+ "name": "ledger",
1385
+ "type": "address"
1386
+ },
1387
+ {
1388
+ "name": "missionControl",
1389
+ "type": "address"
1390
+ },
1391
+ {
1392
+ "name": "legoBook",
1393
+ "type": "address"
1394
+ },
1395
+ {
1396
+ "name": "appraiser",
1397
+ "type": "address"
1398
+ }
1399
+ ]
1400
+ }
1401
+ ],
1402
+ "outputs": [
1403
+ {
1404
+ "name": "",
1405
+ "type": "uint256"
1406
+ },
1407
+ {
1408
+ "name": "",
1409
+ "type": "address"
1410
+ },
1411
+ {
1412
+ "name": "",
1413
+ "type": "uint256"
1414
+ },
1415
+ {
1416
+ "name": "",
1417
+ "type": "uint256"
1418
+ }
1419
+ ]
1420
+ },
1421
+ {
1422
+ "stateMutability": "nonpayable",
1423
+ "type": "function",
1424
+ "name": "withdrawFromYield",
1425
+ "inputs": [
1426
+ {
1427
+ "name": "_vaultToken",
1428
+ "type": "address"
1429
+ },
1430
+ {
1431
+ "name": "_amount",
1432
+ "type": "uint256"
1433
+ },
1434
+ {
1435
+ "name": "_extraData",
1436
+ "type": "bytes32"
1437
+ },
1438
+ {
1439
+ "name": "_recipient",
1440
+ "type": "address"
1441
+ }
1442
+ ],
1443
+ "outputs": [
1444
+ {
1445
+ "name": "",
1446
+ "type": "uint256"
1447
+ },
1448
+ {
1449
+ "name": "",
1450
+ "type": "address"
1451
+ },
1452
+ {
1453
+ "name": "",
1454
+ "type": "uint256"
1455
+ },
1456
+ {
1457
+ "name": "",
1458
+ "type": "uint256"
1459
+ }
1460
+ ]
1461
+ },
1462
+ {
1463
+ "stateMutability": "nonpayable",
1464
+ "type": "function",
1465
+ "name": "withdrawFromYield",
1466
+ "inputs": [
1467
+ {
1468
+ "name": "_vaultToken",
1469
+ "type": "address"
1470
+ },
1471
+ {
1472
+ "name": "_amount",
1473
+ "type": "uint256"
1474
+ },
1475
+ {
1476
+ "name": "_extraData",
1477
+ "type": "bytes32"
1478
+ },
1479
+ {
1480
+ "name": "_recipient",
1481
+ "type": "address"
1482
+ },
1483
+ {
1484
+ "name": "_miniAddys",
1485
+ "type": "tuple",
1486
+ "components": [
1487
+ {
1488
+ "name": "ledger",
1489
+ "type": "address"
1490
+ },
1491
+ {
1492
+ "name": "missionControl",
1493
+ "type": "address"
1494
+ },
1495
+ {
1496
+ "name": "legoBook",
1497
+ "type": "address"
1498
+ },
1499
+ {
1500
+ "name": "appraiser",
1501
+ "type": "address"
1502
+ }
1503
+ ]
1504
+ }
1505
+ ],
1506
+ "outputs": [
1507
+ {
1508
+ "name": "",
1509
+ "type": "uint256"
1510
+ },
1511
+ {
1512
+ "name": "",
1513
+ "type": "address"
1514
+ },
1515
+ {
1516
+ "name": "",
1517
+ "type": "uint256"
1518
+ },
1519
+ {
1520
+ "name": "",
1521
+ "type": "uint256"
1522
+ }
1523
+ ]
1524
+ },
1525
+ {
1526
+ "stateMutability": "nonpayable",
1527
+ "type": "function",
1528
+ "name": "claimIncentives",
1529
+ "inputs": [
1530
+ {
1531
+ "name": "_user",
1532
+ "type": "address"
1533
+ },
1534
+ {
1535
+ "name": "_rewardToken",
1536
+ "type": "address"
1537
+ },
1538
+ {
1539
+ "name": "_rewardAmount",
1540
+ "type": "uint256"
1541
+ },
1542
+ {
1543
+ "name": "_proofs",
1544
+ "type": "bytes32[]"
1545
+ }
1546
+ ],
1547
+ "outputs": [
1548
+ {
1549
+ "name": "",
1550
+ "type": "uint256"
1551
+ },
1552
+ {
1553
+ "name": "",
1554
+ "type": "uint256"
1555
+ }
1556
+ ]
1557
+ },
1558
+ {
1559
+ "stateMutability": "nonpayable",
1560
+ "type": "function",
1561
+ "name": "claimIncentives",
1562
+ "inputs": [
1563
+ {
1564
+ "name": "_user",
1565
+ "type": "address"
1566
+ },
1567
+ {
1568
+ "name": "_rewardToken",
1569
+ "type": "address"
1570
+ },
1571
+ {
1572
+ "name": "_rewardAmount",
1573
+ "type": "uint256"
1574
+ },
1575
+ {
1576
+ "name": "_proofs",
1577
+ "type": "bytes32[]"
1578
+ },
1579
+ {
1580
+ "name": "_miniAddys",
1581
+ "type": "tuple",
1582
+ "components": [
1583
+ {
1584
+ "name": "ledger",
1585
+ "type": "address"
1586
+ },
1587
+ {
1588
+ "name": "missionControl",
1589
+ "type": "address"
1590
+ },
1591
+ {
1592
+ "name": "legoBook",
1593
+ "type": "address"
1594
+ },
1595
+ {
1596
+ "name": "appraiser",
1597
+ "type": "address"
1598
+ }
1599
+ ]
1600
+ }
1601
+ ],
1602
+ "outputs": [
1603
+ {
1604
+ "name": "",
1605
+ "type": "uint256"
1606
+ },
1607
+ {
1608
+ "name": "",
1609
+ "type": "uint256"
1610
+ }
1611
+ ]
1612
+ },
1613
+ {
1614
+ "stateMutability": "nonpayable",
1615
+ "type": "function",
1616
+ "name": "claimRewards",
1617
+ "inputs": [
1618
+ {
1619
+ "name": "_user",
1620
+ "type": "address"
1621
+ },
1622
+ {
1623
+ "name": "_rewardToken",
1624
+ "type": "address"
1625
+ },
1626
+ {
1627
+ "name": "_rewardAmount",
1628
+ "type": "uint256"
1629
+ },
1630
+ {
1631
+ "name": "_extraData",
1632
+ "type": "bytes32"
1633
+ }
1634
+ ],
1635
+ "outputs": [
1636
+ {
1637
+ "name": "",
1638
+ "type": "uint256"
1639
+ },
1640
+ {
1641
+ "name": "",
1642
+ "type": "uint256"
1643
+ }
1644
+ ]
1645
+ },
1646
+ {
1647
+ "stateMutability": "nonpayable",
1648
+ "type": "function",
1649
+ "name": "claimRewards",
1650
+ "inputs": [
1651
+ {
1652
+ "name": "_user",
1653
+ "type": "address"
1654
+ },
1655
+ {
1656
+ "name": "_rewardToken",
1657
+ "type": "address"
1658
+ },
1659
+ {
1660
+ "name": "_rewardAmount",
1661
+ "type": "uint256"
1662
+ },
1663
+ {
1664
+ "name": "_extraData",
1665
+ "type": "bytes32"
1666
+ },
1667
+ {
1668
+ "name": "_miniAddys",
1669
+ "type": "tuple",
1670
+ "components": [
1671
+ {
1672
+ "name": "ledger",
1673
+ "type": "address"
1674
+ },
1675
+ {
1676
+ "name": "missionControl",
1677
+ "type": "address"
1678
+ },
1679
+ {
1680
+ "name": "legoBook",
1681
+ "type": "address"
1682
+ },
1683
+ {
1684
+ "name": "appraiser",
1685
+ "type": "address"
1686
+ }
1687
+ ]
1688
+ }
1689
+ ],
1690
+ "outputs": [
1691
+ {
1692
+ "name": "",
1693
+ "type": "uint256"
1694
+ },
1695
+ {
1696
+ "name": "",
1697
+ "type": "uint256"
1698
+ }
1699
+ ]
1700
+ },
1701
+ {
1702
+ "stateMutability": "view",
1703
+ "type": "function",
1704
+ "name": "hasClaimableRewards",
1705
+ "inputs": [
1706
+ {
1707
+ "name": "_user",
1708
+ "type": "address"
1709
+ }
1710
+ ],
1711
+ "outputs": [
1712
+ {
1713
+ "name": "",
1714
+ "type": "bool"
1715
+ }
1716
+ ]
1717
+ },
1718
+ {
1719
+ "stateMutability": "nonpayable",
1720
+ "type": "function",
1721
+ "name": "setMorphoRewardsAddr",
1722
+ "inputs": [
1723
+ {
1724
+ "name": "_addr",
1725
+ "type": "address"
1726
+ }
1727
+ ],
1728
+ "outputs": [
1729
+ {
1730
+ "name": "",
1731
+ "type": "bool"
1732
+ }
1733
+ ]
1734
+ },
1735
+ {
1736
+ "stateMutability": "view",
1737
+ "type": "function",
1738
+ "name": "getAccessForLego",
1739
+ "inputs": [
1740
+ {
1741
+ "name": "_user",
1742
+ "type": "address"
1743
+ },
1744
+ {
1745
+ "name": "_action",
1746
+ "type": "uint256"
1747
+ }
1748
+ ],
1749
+ "outputs": [
1750
+ {
1751
+ "name": "",
1752
+ "type": "address"
1753
+ },
1754
+ {
1755
+ "name": "",
1756
+ "type": "string"
1757
+ },
1758
+ {
1759
+ "name": "",
1760
+ "type": "uint256"
1761
+ }
1762
+ ]
1763
+ },
1764
+ {
1765
+ "stateMutability": "nonpayable",
1766
+ "type": "function",
1767
+ "name": "swapTokens",
1768
+ "inputs": [
1769
+ {
1770
+ "name": "_amountIn",
1771
+ "type": "uint256"
1772
+ },
1773
+ {
1774
+ "name": "_minAmountOut",
1775
+ "type": "uint256"
1776
+ },
1777
+ {
1778
+ "name": "_tokenPath",
1779
+ "type": "address[]"
1780
+ },
1781
+ {
1782
+ "name": "_poolPath",
1783
+ "type": "address[]"
1784
+ },
1785
+ {
1786
+ "name": "_recipient",
1787
+ "type": "address"
1788
+ }
1789
+ ],
1790
+ "outputs": [
1791
+ {
1792
+ "name": "",
1793
+ "type": "uint256"
1794
+ },
1795
+ {
1796
+ "name": "",
1797
+ "type": "uint256"
1798
+ },
1799
+ {
1800
+ "name": "",
1801
+ "type": "uint256"
1802
+ }
1803
+ ]
1804
+ },
1805
+ {
1806
+ "stateMutability": "nonpayable",
1807
+ "type": "function",
1808
+ "name": "swapTokens",
1809
+ "inputs": [
1810
+ {
1811
+ "name": "_amountIn",
1812
+ "type": "uint256"
1813
+ },
1814
+ {
1815
+ "name": "_minAmountOut",
1816
+ "type": "uint256"
1817
+ },
1818
+ {
1819
+ "name": "_tokenPath",
1820
+ "type": "address[]"
1821
+ },
1822
+ {
1823
+ "name": "_poolPath",
1824
+ "type": "address[]"
1825
+ },
1826
+ {
1827
+ "name": "_recipient",
1828
+ "type": "address"
1829
+ },
1830
+ {
1831
+ "name": "_miniAddys",
1832
+ "type": "tuple",
1833
+ "components": [
1834
+ {
1835
+ "name": "ledger",
1836
+ "type": "address"
1837
+ },
1838
+ {
1839
+ "name": "missionControl",
1840
+ "type": "address"
1841
+ },
1842
+ {
1843
+ "name": "legoBook",
1844
+ "type": "address"
1845
+ },
1846
+ {
1847
+ "name": "appraiser",
1848
+ "type": "address"
1849
+ }
1850
+ ]
1851
+ }
1852
+ ],
1853
+ "outputs": [
1854
+ {
1855
+ "name": "",
1856
+ "type": "uint256"
1857
+ },
1858
+ {
1859
+ "name": "",
1860
+ "type": "uint256"
1861
+ },
1862
+ {
1863
+ "name": "",
1864
+ "type": "uint256"
1865
+ }
1866
+ ]
1867
+ },
1868
+ {
1869
+ "stateMutability": "nonpayable",
1870
+ "type": "function",
1871
+ "name": "mintOrRedeemAsset",
1872
+ "inputs": [
1873
+ {
1874
+ "name": "_tokenIn",
1875
+ "type": "address"
1876
+ },
1877
+ {
1878
+ "name": "_tokenOut",
1879
+ "type": "address"
1880
+ },
1881
+ {
1882
+ "name": "_tokenInAmount",
1883
+ "type": "uint256"
1884
+ },
1885
+ {
1886
+ "name": "_minAmountOut",
1887
+ "type": "uint256"
1888
+ },
1889
+ {
1890
+ "name": "_extraData",
1891
+ "type": "bytes32"
1892
+ },
1893
+ {
1894
+ "name": "_recipient",
1895
+ "type": "address"
1896
+ }
1897
+ ],
1898
+ "outputs": [
1899
+ {
1900
+ "name": "",
1901
+ "type": "uint256"
1902
+ },
1903
+ {
1904
+ "name": "",
1905
+ "type": "uint256"
1906
+ },
1907
+ {
1908
+ "name": "",
1909
+ "type": "bool"
1910
+ },
1911
+ {
1912
+ "name": "",
1913
+ "type": "uint256"
1914
+ }
1915
+ ]
1916
+ },
1917
+ {
1918
+ "stateMutability": "nonpayable",
1919
+ "type": "function",
1920
+ "name": "mintOrRedeemAsset",
1921
+ "inputs": [
1922
+ {
1923
+ "name": "_tokenIn",
1924
+ "type": "address"
1925
+ },
1926
+ {
1927
+ "name": "_tokenOut",
1928
+ "type": "address"
1929
+ },
1930
+ {
1931
+ "name": "_tokenInAmount",
1932
+ "type": "uint256"
1933
+ },
1934
+ {
1935
+ "name": "_minAmountOut",
1936
+ "type": "uint256"
1937
+ },
1938
+ {
1939
+ "name": "_extraData",
1940
+ "type": "bytes32"
1941
+ },
1942
+ {
1943
+ "name": "_recipient",
1944
+ "type": "address"
1945
+ },
1946
+ {
1947
+ "name": "_miniAddys",
1948
+ "type": "tuple",
1949
+ "components": [
1950
+ {
1951
+ "name": "ledger",
1952
+ "type": "address"
1953
+ },
1954
+ {
1955
+ "name": "missionControl",
1956
+ "type": "address"
1957
+ },
1958
+ {
1959
+ "name": "legoBook",
1960
+ "type": "address"
1961
+ },
1962
+ {
1963
+ "name": "appraiser",
1964
+ "type": "address"
1965
+ }
1966
+ ]
1967
+ }
1968
+ ],
1969
+ "outputs": [
1970
+ {
1971
+ "name": "",
1972
+ "type": "uint256"
1973
+ },
1974
+ {
1975
+ "name": "",
1976
+ "type": "uint256"
1977
+ },
1978
+ {
1979
+ "name": "",
1980
+ "type": "bool"
1981
+ },
1982
+ {
1983
+ "name": "",
1984
+ "type": "uint256"
1985
+ }
1986
+ ]
1987
+ },
1988
+ {
1989
+ "stateMutability": "nonpayable",
1990
+ "type": "function",
1991
+ "name": "confirmMintOrRedeemAsset",
1992
+ "inputs": [
1993
+ {
1994
+ "name": "_tokenIn",
1995
+ "type": "address"
1996
+ },
1997
+ {
1998
+ "name": "_tokenOut",
1999
+ "type": "address"
2000
+ },
2001
+ {
2002
+ "name": "_extraData",
2003
+ "type": "bytes32"
2004
+ },
2005
+ {
2006
+ "name": "_recipient",
2007
+ "type": "address"
2008
+ }
2009
+ ],
2010
+ "outputs": [
2011
+ {
2012
+ "name": "",
2013
+ "type": "uint256"
2014
+ },
2015
+ {
2016
+ "name": "",
2017
+ "type": "uint256"
2018
+ }
2019
+ ]
2020
+ },
2021
+ {
2022
+ "stateMutability": "nonpayable",
2023
+ "type": "function",
2024
+ "name": "confirmMintOrRedeemAsset",
2025
+ "inputs": [
2026
+ {
2027
+ "name": "_tokenIn",
2028
+ "type": "address"
2029
+ },
2030
+ {
2031
+ "name": "_tokenOut",
2032
+ "type": "address"
2033
+ },
2034
+ {
2035
+ "name": "_extraData",
2036
+ "type": "bytes32"
2037
+ },
2038
+ {
2039
+ "name": "_recipient",
2040
+ "type": "address"
2041
+ },
2042
+ {
2043
+ "name": "_miniAddys",
2044
+ "type": "tuple",
2045
+ "components": [
2046
+ {
2047
+ "name": "ledger",
2048
+ "type": "address"
2049
+ },
2050
+ {
2051
+ "name": "missionControl",
2052
+ "type": "address"
2053
+ },
2054
+ {
2055
+ "name": "legoBook",
2056
+ "type": "address"
2057
+ },
2058
+ {
2059
+ "name": "appraiser",
2060
+ "type": "address"
2061
+ }
2062
+ ]
2063
+ }
2064
+ ],
2065
+ "outputs": [
2066
+ {
2067
+ "name": "",
2068
+ "type": "uint256"
2069
+ },
2070
+ {
2071
+ "name": "",
2072
+ "type": "uint256"
2073
+ }
2074
+ ]
2075
+ },
2076
+ {
2077
+ "stateMutability": "nonpayable",
2078
+ "type": "function",
2079
+ "name": "addCollateral",
2080
+ "inputs": [
2081
+ {
2082
+ "name": "_asset",
2083
+ "type": "address"
2084
+ },
2085
+ {
2086
+ "name": "_amount",
2087
+ "type": "uint256"
2088
+ },
2089
+ {
2090
+ "name": "_extraData",
2091
+ "type": "bytes32"
2092
+ },
2093
+ {
2094
+ "name": "_recipient",
2095
+ "type": "address"
2096
+ }
2097
+ ],
2098
+ "outputs": [
2099
+ {
2100
+ "name": "",
2101
+ "type": "uint256"
2102
+ },
2103
+ {
2104
+ "name": "",
2105
+ "type": "uint256"
2106
+ }
2107
+ ]
2108
+ },
2109
+ {
2110
+ "stateMutability": "nonpayable",
2111
+ "type": "function",
2112
+ "name": "addCollateral",
2113
+ "inputs": [
2114
+ {
2115
+ "name": "_asset",
2116
+ "type": "address"
2117
+ },
2118
+ {
2119
+ "name": "_amount",
2120
+ "type": "uint256"
2121
+ },
2122
+ {
2123
+ "name": "_extraData",
2124
+ "type": "bytes32"
2125
+ },
2126
+ {
2127
+ "name": "_recipient",
2128
+ "type": "address"
2129
+ },
2130
+ {
2131
+ "name": "_miniAddys",
2132
+ "type": "tuple",
2133
+ "components": [
2134
+ {
2135
+ "name": "ledger",
2136
+ "type": "address"
2137
+ },
2138
+ {
2139
+ "name": "missionControl",
2140
+ "type": "address"
2141
+ },
2142
+ {
2143
+ "name": "legoBook",
2144
+ "type": "address"
2145
+ },
2146
+ {
2147
+ "name": "appraiser",
2148
+ "type": "address"
2149
+ }
2150
+ ]
2151
+ }
2152
+ ],
2153
+ "outputs": [
2154
+ {
2155
+ "name": "",
2156
+ "type": "uint256"
2157
+ },
2158
+ {
2159
+ "name": "",
2160
+ "type": "uint256"
2161
+ }
2162
+ ]
2163
+ },
2164
+ {
2165
+ "stateMutability": "nonpayable",
2166
+ "type": "function",
2167
+ "name": "removeCollateral",
2168
+ "inputs": [
2169
+ {
2170
+ "name": "_asset",
2171
+ "type": "address"
2172
+ },
2173
+ {
2174
+ "name": "_amount",
2175
+ "type": "uint256"
2176
+ },
2177
+ {
2178
+ "name": "_extraData",
2179
+ "type": "bytes32"
2180
+ },
2181
+ {
2182
+ "name": "_recipient",
2183
+ "type": "address"
2184
+ }
2185
+ ],
2186
+ "outputs": [
2187
+ {
2188
+ "name": "",
2189
+ "type": "uint256"
2190
+ },
2191
+ {
2192
+ "name": "",
2193
+ "type": "uint256"
2194
+ }
2195
+ ]
2196
+ },
2197
+ {
2198
+ "stateMutability": "nonpayable",
2199
+ "type": "function",
2200
+ "name": "removeCollateral",
2201
+ "inputs": [
2202
+ {
2203
+ "name": "_asset",
2204
+ "type": "address"
2205
+ },
2206
+ {
2207
+ "name": "_amount",
2208
+ "type": "uint256"
2209
+ },
2210
+ {
2211
+ "name": "_extraData",
2212
+ "type": "bytes32"
2213
+ },
2214
+ {
2215
+ "name": "_recipient",
2216
+ "type": "address"
2217
+ },
2218
+ {
2219
+ "name": "_miniAddys",
2220
+ "type": "tuple",
2221
+ "components": [
2222
+ {
2223
+ "name": "ledger",
2224
+ "type": "address"
2225
+ },
2226
+ {
2227
+ "name": "missionControl",
2228
+ "type": "address"
2229
+ },
2230
+ {
2231
+ "name": "legoBook",
2232
+ "type": "address"
2233
+ },
2234
+ {
2235
+ "name": "appraiser",
2236
+ "type": "address"
2237
+ }
2238
+ ]
2239
+ }
2240
+ ],
2241
+ "outputs": [
2242
+ {
2243
+ "name": "",
2244
+ "type": "uint256"
2245
+ },
2246
+ {
2247
+ "name": "",
2248
+ "type": "uint256"
2249
+ }
2250
+ ]
2251
+ },
2252
+ {
2253
+ "stateMutability": "nonpayable",
2254
+ "type": "function",
2255
+ "name": "borrow",
2256
+ "inputs": [
2257
+ {
2258
+ "name": "_borrowAsset",
2259
+ "type": "address"
2260
+ },
2261
+ {
2262
+ "name": "_amount",
2263
+ "type": "uint256"
2264
+ },
2265
+ {
2266
+ "name": "_extraData",
2267
+ "type": "bytes32"
2268
+ },
2269
+ {
2270
+ "name": "_recipient",
2271
+ "type": "address"
2272
+ }
2273
+ ],
2274
+ "outputs": [
2275
+ {
2276
+ "name": "",
2277
+ "type": "uint256"
2278
+ },
2279
+ {
2280
+ "name": "",
2281
+ "type": "uint256"
2282
+ }
2283
+ ]
2284
+ },
2285
+ {
2286
+ "stateMutability": "nonpayable",
2287
+ "type": "function",
2288
+ "name": "borrow",
2289
+ "inputs": [
2290
+ {
2291
+ "name": "_borrowAsset",
2292
+ "type": "address"
2293
+ },
2294
+ {
2295
+ "name": "_amount",
2296
+ "type": "uint256"
2297
+ },
2298
+ {
2299
+ "name": "_extraData",
2300
+ "type": "bytes32"
2301
+ },
2302
+ {
2303
+ "name": "_recipient",
2304
+ "type": "address"
2305
+ },
2306
+ {
2307
+ "name": "_miniAddys",
2308
+ "type": "tuple",
2309
+ "components": [
2310
+ {
2311
+ "name": "ledger",
2312
+ "type": "address"
2313
+ },
2314
+ {
2315
+ "name": "missionControl",
2316
+ "type": "address"
2317
+ },
2318
+ {
2319
+ "name": "legoBook",
2320
+ "type": "address"
2321
+ },
2322
+ {
2323
+ "name": "appraiser",
2324
+ "type": "address"
2325
+ }
2326
+ ]
2327
+ }
2328
+ ],
2329
+ "outputs": [
2330
+ {
2331
+ "name": "",
2332
+ "type": "uint256"
2333
+ },
2334
+ {
2335
+ "name": "",
2336
+ "type": "uint256"
2337
+ }
2338
+ ]
2339
+ },
2340
+ {
2341
+ "stateMutability": "nonpayable",
2342
+ "type": "function",
2343
+ "name": "repayDebt",
2344
+ "inputs": [
2345
+ {
2346
+ "name": "_paymentAsset",
2347
+ "type": "address"
2348
+ },
2349
+ {
2350
+ "name": "_paymentAmount",
2351
+ "type": "uint256"
2352
+ },
2353
+ {
2354
+ "name": "_extraData",
2355
+ "type": "bytes32"
2356
+ },
2357
+ {
2358
+ "name": "_recipient",
2359
+ "type": "address"
2360
+ }
2361
+ ],
2362
+ "outputs": [
2363
+ {
2364
+ "name": "",
2365
+ "type": "uint256"
2366
+ },
2367
+ {
2368
+ "name": "",
2369
+ "type": "uint256"
2370
+ }
2371
+ ]
2372
+ },
2373
+ {
2374
+ "stateMutability": "nonpayable",
2375
+ "type": "function",
2376
+ "name": "repayDebt",
2377
+ "inputs": [
2378
+ {
2379
+ "name": "_paymentAsset",
2380
+ "type": "address"
2381
+ },
2382
+ {
2383
+ "name": "_paymentAmount",
2384
+ "type": "uint256"
2385
+ },
2386
+ {
2387
+ "name": "_extraData",
2388
+ "type": "bytes32"
2389
+ },
2390
+ {
2391
+ "name": "_recipient",
2392
+ "type": "address"
2393
+ },
2394
+ {
2395
+ "name": "_miniAddys",
2396
+ "type": "tuple",
2397
+ "components": [
2398
+ {
2399
+ "name": "ledger",
2400
+ "type": "address"
2401
+ },
2402
+ {
2403
+ "name": "missionControl",
2404
+ "type": "address"
2405
+ },
2406
+ {
2407
+ "name": "legoBook",
2408
+ "type": "address"
2409
+ },
2410
+ {
2411
+ "name": "appraiser",
2412
+ "type": "address"
2413
+ }
2414
+ ]
2415
+ }
2416
+ ],
2417
+ "outputs": [
2418
+ {
2419
+ "name": "",
2420
+ "type": "uint256"
2421
+ },
2422
+ {
2423
+ "name": "",
2424
+ "type": "uint256"
2425
+ }
2426
+ ]
2427
+ },
2428
+ {
2429
+ "stateMutability": "nonpayable",
2430
+ "type": "function",
2431
+ "name": "addLiquidity",
2432
+ "inputs": [
2433
+ {
2434
+ "name": "_pool",
2435
+ "type": "address"
2436
+ },
2437
+ {
2438
+ "name": "_tokenA",
2439
+ "type": "address"
2440
+ },
2441
+ {
2442
+ "name": "_tokenB",
2443
+ "type": "address"
2444
+ },
2445
+ {
2446
+ "name": "_amountA",
2447
+ "type": "uint256"
2448
+ },
2449
+ {
2450
+ "name": "_amountB",
2451
+ "type": "uint256"
2452
+ },
2453
+ {
2454
+ "name": "_minAmountA",
2455
+ "type": "uint256"
2456
+ },
2457
+ {
2458
+ "name": "_minAmountB",
2459
+ "type": "uint256"
2460
+ },
2461
+ {
2462
+ "name": "_minLpAmount",
2463
+ "type": "uint256"
2464
+ },
2465
+ {
2466
+ "name": "_extraData",
2467
+ "type": "bytes32"
2468
+ },
2469
+ {
2470
+ "name": "_recipient",
2471
+ "type": "address"
2472
+ }
2473
+ ],
2474
+ "outputs": [
2475
+ {
2476
+ "name": "",
2477
+ "type": "address"
2478
+ },
2479
+ {
2480
+ "name": "",
2481
+ "type": "uint256"
2482
+ },
2483
+ {
2484
+ "name": "",
2485
+ "type": "uint256"
2486
+ },
2487
+ {
2488
+ "name": "",
2489
+ "type": "uint256"
2490
+ },
2491
+ {
2492
+ "name": "",
2493
+ "type": "uint256"
2494
+ }
2495
+ ]
2496
+ },
2497
+ {
2498
+ "stateMutability": "nonpayable",
2499
+ "type": "function",
2500
+ "name": "addLiquidity",
2501
+ "inputs": [
2502
+ {
2503
+ "name": "_pool",
2504
+ "type": "address"
2505
+ },
2506
+ {
2507
+ "name": "_tokenA",
2508
+ "type": "address"
2509
+ },
2510
+ {
2511
+ "name": "_tokenB",
2512
+ "type": "address"
2513
+ },
2514
+ {
2515
+ "name": "_amountA",
2516
+ "type": "uint256"
2517
+ },
2518
+ {
2519
+ "name": "_amountB",
2520
+ "type": "uint256"
2521
+ },
2522
+ {
2523
+ "name": "_minAmountA",
2524
+ "type": "uint256"
2525
+ },
2526
+ {
2527
+ "name": "_minAmountB",
2528
+ "type": "uint256"
2529
+ },
2530
+ {
2531
+ "name": "_minLpAmount",
2532
+ "type": "uint256"
2533
+ },
2534
+ {
2535
+ "name": "_extraData",
2536
+ "type": "bytes32"
2537
+ },
2538
+ {
2539
+ "name": "_recipient",
2540
+ "type": "address"
2541
+ },
2542
+ {
2543
+ "name": "_miniAddys",
2544
+ "type": "tuple",
2545
+ "components": [
2546
+ {
2547
+ "name": "ledger",
2548
+ "type": "address"
2549
+ },
2550
+ {
2551
+ "name": "missionControl",
2552
+ "type": "address"
2553
+ },
2554
+ {
2555
+ "name": "legoBook",
2556
+ "type": "address"
2557
+ },
2558
+ {
2559
+ "name": "appraiser",
2560
+ "type": "address"
2561
+ }
2562
+ ]
2563
+ }
2564
+ ],
2565
+ "outputs": [
2566
+ {
2567
+ "name": "",
2568
+ "type": "address"
2569
+ },
2570
+ {
2571
+ "name": "",
2572
+ "type": "uint256"
2573
+ },
2574
+ {
2575
+ "name": "",
2576
+ "type": "uint256"
2577
+ },
2578
+ {
2579
+ "name": "",
2580
+ "type": "uint256"
2581
+ },
2582
+ {
2583
+ "name": "",
2584
+ "type": "uint256"
2585
+ }
2586
+ ]
2587
+ },
2588
+ {
2589
+ "stateMutability": "nonpayable",
2590
+ "type": "function",
2591
+ "name": "removeLiquidity",
2592
+ "inputs": [
2593
+ {
2594
+ "name": "_pool",
2595
+ "type": "address"
2596
+ },
2597
+ {
2598
+ "name": "_tokenA",
2599
+ "type": "address"
2600
+ },
2601
+ {
2602
+ "name": "_tokenB",
2603
+ "type": "address"
2604
+ },
2605
+ {
2606
+ "name": "_lpToken",
2607
+ "type": "address"
2608
+ },
2609
+ {
2610
+ "name": "_lpAmount",
2611
+ "type": "uint256"
2612
+ },
2613
+ {
2614
+ "name": "_minAmountA",
2615
+ "type": "uint256"
2616
+ },
2617
+ {
2618
+ "name": "_minAmountB",
2619
+ "type": "uint256"
2620
+ },
2621
+ {
2622
+ "name": "_extraData",
2623
+ "type": "bytes32"
2624
+ },
2625
+ {
2626
+ "name": "_recipient",
2627
+ "type": "address"
2628
+ }
2629
+ ],
2630
+ "outputs": [
2631
+ {
2632
+ "name": "",
2633
+ "type": "uint256"
2634
+ },
2635
+ {
2636
+ "name": "",
2637
+ "type": "uint256"
2638
+ },
2639
+ {
2640
+ "name": "",
2641
+ "type": "uint256"
2642
+ },
2643
+ {
2644
+ "name": "",
2645
+ "type": "uint256"
2646
+ }
2647
+ ]
2648
+ },
2649
+ {
2650
+ "stateMutability": "nonpayable",
2651
+ "type": "function",
2652
+ "name": "removeLiquidity",
2653
+ "inputs": [
2654
+ {
2655
+ "name": "_pool",
2656
+ "type": "address"
2657
+ },
2658
+ {
2659
+ "name": "_tokenA",
2660
+ "type": "address"
2661
+ },
2662
+ {
2663
+ "name": "_tokenB",
2664
+ "type": "address"
2665
+ },
2666
+ {
2667
+ "name": "_lpToken",
2668
+ "type": "address"
2669
+ },
2670
+ {
2671
+ "name": "_lpAmount",
2672
+ "type": "uint256"
2673
+ },
2674
+ {
2675
+ "name": "_minAmountA",
2676
+ "type": "uint256"
2677
+ },
2678
+ {
2679
+ "name": "_minAmountB",
2680
+ "type": "uint256"
2681
+ },
2682
+ {
2683
+ "name": "_extraData",
2684
+ "type": "bytes32"
2685
+ },
2686
+ {
2687
+ "name": "_recipient",
2688
+ "type": "address"
2689
+ },
2690
+ {
2691
+ "name": "_miniAddys",
2692
+ "type": "tuple",
2693
+ "components": [
2694
+ {
2695
+ "name": "ledger",
2696
+ "type": "address"
2697
+ },
2698
+ {
2699
+ "name": "missionControl",
2700
+ "type": "address"
2701
+ },
2702
+ {
2703
+ "name": "legoBook",
2704
+ "type": "address"
2705
+ },
2706
+ {
2707
+ "name": "appraiser",
2708
+ "type": "address"
2709
+ }
2710
+ ]
2711
+ }
2712
+ ],
2713
+ "outputs": [
2714
+ {
2715
+ "name": "",
2716
+ "type": "uint256"
2717
+ },
2718
+ {
2719
+ "name": "",
2720
+ "type": "uint256"
2721
+ },
2722
+ {
2723
+ "name": "",
2724
+ "type": "uint256"
2725
+ },
2726
+ {
2727
+ "name": "",
2728
+ "type": "uint256"
2729
+ }
2730
+ ]
2731
+ },
2732
+ {
2733
+ "stateMutability": "nonpayable",
2734
+ "type": "function",
2735
+ "name": "addLiquidityConcentrated",
2736
+ "inputs": [
2737
+ {
2738
+ "name": "_nftTokenId",
2739
+ "type": "uint256"
2740
+ },
2741
+ {
2742
+ "name": "_pool",
2743
+ "type": "address"
2744
+ },
2745
+ {
2746
+ "name": "_tokenA",
2747
+ "type": "address"
2748
+ },
2749
+ {
2750
+ "name": "_tokenB",
2751
+ "type": "address"
2752
+ },
2753
+ {
2754
+ "name": "_tickLower",
2755
+ "type": "int24"
2756
+ },
2757
+ {
2758
+ "name": "_tickUpper",
2759
+ "type": "int24"
2760
+ },
2761
+ {
2762
+ "name": "_amountA",
2763
+ "type": "uint256"
2764
+ },
2765
+ {
2766
+ "name": "_amountB",
2767
+ "type": "uint256"
2768
+ },
2769
+ {
2770
+ "name": "_minAmountA",
2771
+ "type": "uint256"
2772
+ },
2773
+ {
2774
+ "name": "_minAmountB",
2775
+ "type": "uint256"
2776
+ },
2777
+ {
2778
+ "name": "_extraData",
2779
+ "type": "bytes32"
2780
+ },
2781
+ {
2782
+ "name": "_recipient",
2783
+ "type": "address"
2784
+ }
2785
+ ],
2786
+ "outputs": [
2787
+ {
2788
+ "name": "",
2789
+ "type": "uint256"
2790
+ },
2791
+ {
2792
+ "name": "",
2793
+ "type": "uint256"
2794
+ },
2795
+ {
2796
+ "name": "",
2797
+ "type": "uint256"
2798
+ },
2799
+ {
2800
+ "name": "",
2801
+ "type": "uint256"
2802
+ },
2803
+ {
2804
+ "name": "",
2805
+ "type": "uint256"
2806
+ }
2807
+ ]
2808
+ },
2809
+ {
2810
+ "stateMutability": "nonpayable",
2811
+ "type": "function",
2812
+ "name": "addLiquidityConcentrated",
2813
+ "inputs": [
2814
+ {
2815
+ "name": "_nftTokenId",
2816
+ "type": "uint256"
2817
+ },
2818
+ {
2819
+ "name": "_pool",
2820
+ "type": "address"
2821
+ },
2822
+ {
2823
+ "name": "_tokenA",
2824
+ "type": "address"
2825
+ },
2826
+ {
2827
+ "name": "_tokenB",
2828
+ "type": "address"
2829
+ },
2830
+ {
2831
+ "name": "_tickLower",
2832
+ "type": "int24"
2833
+ },
2834
+ {
2835
+ "name": "_tickUpper",
2836
+ "type": "int24"
2837
+ },
2838
+ {
2839
+ "name": "_amountA",
2840
+ "type": "uint256"
2841
+ },
2842
+ {
2843
+ "name": "_amountB",
2844
+ "type": "uint256"
2845
+ },
2846
+ {
2847
+ "name": "_minAmountA",
2848
+ "type": "uint256"
2849
+ },
2850
+ {
2851
+ "name": "_minAmountB",
2852
+ "type": "uint256"
2853
+ },
2854
+ {
2855
+ "name": "_extraData",
2856
+ "type": "bytes32"
2857
+ },
2858
+ {
2859
+ "name": "_recipient",
2860
+ "type": "address"
2861
+ },
2862
+ {
2863
+ "name": "_miniAddys",
2864
+ "type": "tuple",
2865
+ "components": [
2866
+ {
2867
+ "name": "ledger",
2868
+ "type": "address"
2869
+ },
2870
+ {
2871
+ "name": "missionControl",
2872
+ "type": "address"
2873
+ },
2874
+ {
2875
+ "name": "legoBook",
2876
+ "type": "address"
2877
+ },
2878
+ {
2879
+ "name": "appraiser",
2880
+ "type": "address"
2881
+ }
2882
+ ]
2883
+ }
2884
+ ],
2885
+ "outputs": [
2886
+ {
2887
+ "name": "",
2888
+ "type": "uint256"
2889
+ },
2890
+ {
2891
+ "name": "",
2892
+ "type": "uint256"
2893
+ },
2894
+ {
2895
+ "name": "",
2896
+ "type": "uint256"
2897
+ },
2898
+ {
2899
+ "name": "",
2900
+ "type": "uint256"
2901
+ },
2902
+ {
2903
+ "name": "",
2904
+ "type": "uint256"
2905
+ }
2906
+ ]
2907
+ },
2908
+ {
2909
+ "stateMutability": "nonpayable",
2910
+ "type": "function",
2911
+ "name": "removeLiquidityConcentrated",
2912
+ "inputs": [
2913
+ {
2914
+ "name": "_nftTokenId",
2915
+ "type": "uint256"
2916
+ },
2917
+ {
2918
+ "name": "_pool",
2919
+ "type": "address"
2920
+ },
2921
+ {
2922
+ "name": "_tokenA",
2923
+ "type": "address"
2924
+ },
2925
+ {
2926
+ "name": "_tokenB",
2927
+ "type": "address"
2928
+ },
2929
+ {
2930
+ "name": "_liqToRemove",
2931
+ "type": "uint256"
2932
+ },
2933
+ {
2934
+ "name": "_minAmountA",
2935
+ "type": "uint256"
2936
+ },
2937
+ {
2938
+ "name": "_minAmountB",
2939
+ "type": "uint256"
2940
+ },
2941
+ {
2942
+ "name": "_extraData",
2943
+ "type": "bytes32"
2944
+ },
2945
+ {
2946
+ "name": "_recipient",
2947
+ "type": "address"
2948
+ }
2949
+ ],
2950
+ "outputs": [
2951
+ {
2952
+ "name": "",
2953
+ "type": "uint256"
2954
+ },
2955
+ {
2956
+ "name": "",
2957
+ "type": "uint256"
2958
+ },
2959
+ {
2960
+ "name": "",
2961
+ "type": "uint256"
2962
+ },
2963
+ {
2964
+ "name": "",
2965
+ "type": "bool"
2966
+ },
2967
+ {
2968
+ "name": "",
2969
+ "type": "uint256"
2970
+ }
2971
+ ]
2972
+ },
2973
+ {
2974
+ "stateMutability": "nonpayable",
2975
+ "type": "function",
2976
+ "name": "removeLiquidityConcentrated",
2977
+ "inputs": [
2978
+ {
2979
+ "name": "_nftTokenId",
2980
+ "type": "uint256"
2981
+ },
2982
+ {
2983
+ "name": "_pool",
2984
+ "type": "address"
2985
+ },
2986
+ {
2987
+ "name": "_tokenA",
2988
+ "type": "address"
2989
+ },
2990
+ {
2991
+ "name": "_tokenB",
2992
+ "type": "address"
2993
+ },
2994
+ {
2995
+ "name": "_liqToRemove",
2996
+ "type": "uint256"
2997
+ },
2998
+ {
2999
+ "name": "_minAmountA",
3000
+ "type": "uint256"
3001
+ },
3002
+ {
3003
+ "name": "_minAmountB",
3004
+ "type": "uint256"
3005
+ },
3006
+ {
3007
+ "name": "_extraData",
3008
+ "type": "bytes32"
3009
+ },
3010
+ {
3011
+ "name": "_recipient",
3012
+ "type": "address"
3013
+ },
3014
+ {
3015
+ "name": "_miniAddys",
3016
+ "type": "tuple",
3017
+ "components": [
3018
+ {
3019
+ "name": "ledger",
3020
+ "type": "address"
3021
+ },
3022
+ {
3023
+ "name": "missionControl",
3024
+ "type": "address"
3025
+ },
3026
+ {
3027
+ "name": "legoBook",
3028
+ "type": "address"
3029
+ },
3030
+ {
3031
+ "name": "appraiser",
3032
+ "type": "address"
3033
+ }
3034
+ ]
3035
+ }
3036
+ ],
3037
+ "outputs": [
3038
+ {
3039
+ "name": "",
3040
+ "type": "uint256"
3041
+ },
3042
+ {
3043
+ "name": "",
3044
+ "type": "uint256"
3045
+ },
3046
+ {
3047
+ "name": "",
3048
+ "type": "uint256"
3049
+ },
3050
+ {
3051
+ "name": "",
3052
+ "type": "bool"
3053
+ },
3054
+ {
3055
+ "name": "",
3056
+ "type": "uint256"
3057
+ }
3058
+ ]
3059
+ },
3060
+ {
3061
+ "stateMutability": "view",
3062
+ "type": "function",
3063
+ "name": "morphoRewards",
3064
+ "inputs": [],
3065
+ "outputs": [
3066
+ {
3067
+ "name": "",
3068
+ "type": "address"
3069
+ }
3070
+ ]
3071
+ },
3072
+ {
3073
+ "stateMutability": "view",
3074
+ "type": "function",
3075
+ "name": "MORPHO_FACTORY",
3076
+ "inputs": [],
3077
+ "outputs": [
3078
+ {
3079
+ "name": "",
3080
+ "type": "address"
3081
+ }
3082
+ ]
3083
+ },
3084
+ {
3085
+ "stateMutability": "view",
3086
+ "type": "function",
3087
+ "name": "MORPHO_FACTORY_LEGACY",
3088
+ "inputs": [],
3089
+ "outputs": [
3090
+ {
3091
+ "name": "",
3092
+ "type": "address"
3093
+ }
3094
+ ]
3095
+ },
3096
+ {
3097
+ "stateMutability": "view",
3098
+ "type": "function",
3099
+ "name": "RIPE_REGISTRY",
3100
+ "inputs": [],
3101
+ "outputs": [
3102
+ {
3103
+ "name": "",
3104
+ "type": "address"
3105
+ }
3106
+ ]
3107
+ },
3108
+ {
3109
+ "stateMutability": "nonpayable",
3110
+ "type": "constructor",
3111
+ "inputs": [
3112
+ {
3113
+ "name": "_undyHq",
3114
+ "type": "address"
3115
+ },
3116
+ {
3117
+ "name": "_morphoFactory",
3118
+ "type": "address"
3119
+ },
3120
+ {
3121
+ "name": "_morphoFactoryLegacy",
3122
+ "type": "address"
3123
+ },
3124
+ {
3125
+ "name": "_morphoRewardsAddr",
3126
+ "type": "address"
3127
+ },
3128
+ {
3129
+ "name": "_ripeRegistry",
3130
+ "type": "address"
3131
+ }
3132
+ ],
3133
+ "outputs": []
3134
+ }
3135
+ ];
3136
+ export const deployAddress = '0x14852dcEEA98d5E781335bA8ea8d4B3a14508868';
3137
+ function getRequest(method, args, contractAddressOrOptions) {
3138
+ const address = typeof contractAddressOrOptions === 'string' ? contractAddressOrOptions : contractAddressOrOptions?.contractAddress;
3139
+ const defaultValue = typeof contractAddressOrOptions === 'string' ? undefined : contractAddressOrOptions?.defaultValue;
3140
+ const call = {
3141
+ contractName: 'Morpho',
3142
+ method,
3143
+ args,
3144
+ address,
3145
+ deployAddress,
3146
+ defaultValue,
3147
+ getAbi: () => abi,
3148
+ with: (options) => {
3149
+ call.address = options.contractAddress;
3150
+ call.defaultValue = options.defaultValue;
3151
+ return call;
3152
+ },
3153
+ defaultTo: (defaultValue) => {
3154
+ call.defaultValue = defaultValue;
3155
+ return call;
3156
+ },
3157
+ at: (address) => {
3158
+ call.address = address;
3159
+ return call;
3160
+ },
3161
+ };
3162
+ return call;
3163
+ }
3164
+ export const call = {
3165
+ getAddys: (...args) => getRequest('getAddys', args),
3166
+ getUndyHq: (...args) => getRequest('getUndyHq', args),
3167
+ isLegoAsset: (...args) => getRequest('isLegoAsset', args),
3168
+ getAssetOpportunities: (...args) => getRequest('getAssetOpportunities', args),
3169
+ getAssets: (...args) => getRequest('getAssets', args),
3170
+ isAssetOpportunity: (...args) => getRequest('isAssetOpportunity', args),
3171
+ getNumLegoAssets: (...args) => getRequest('getNumLegoAssets', args),
3172
+ getWeightedPricePerShare: (...args) => getRequest('getWeightedPricePerShare', args),
3173
+ getLatestSnapshot: (...args) => getRequest('getLatestSnapshot', args),
3174
+ isValidPriceConfig: (...args) => getRequest('isValidPriceConfig', args),
3175
+ vaultToAsset: (...args) => getRequest('vaultToAsset', args),
3176
+ assetOpportunities: (...args) => getRequest('assetOpportunities', args),
3177
+ indexOfAssetOpportunity: (...args) => getRequest('indexOfAssetOpportunity', args),
3178
+ numAssetOpportunities: (...args) => getRequest('numAssetOpportunities', args),
3179
+ assets: (...args) => getRequest('assets', args),
3180
+ indexOfAsset: (...args) => getRequest('indexOfAsset', args),
3181
+ numAssets: (...args) => getRequest('numAssets', args),
3182
+ snapShotData: (...args) => getRequest('snapShotData', args),
3183
+ snapShots: (...args) => getRequest('snapShots', args),
3184
+ snapShotPriceConfig: (...args) => getRequest('snapShotPriceConfig', args),
3185
+ isPaused: (...args) => getRequest('isPaused', args),
3186
+ hasCapability: (...args) => getRequest('hasCapability', args),
3187
+ getRegistries: (...args) => getRequest('getRegistries', args),
3188
+ isYieldLego: (...args) => getRequest('isYieldLego', args),
3189
+ isDexLego: (...args) => getRequest('isDexLego', args),
3190
+ getUnderlyingAsset: (...args) => getRequest('getUnderlyingAsset', args),
3191
+ getUnderlyingBalances: (...args) => getRequest('getUnderlyingBalances', args),
3192
+ getUnderlyingAmount: (...args) => getRequest('getUnderlyingAmount', args),
3193
+ getUnderlyingAmountSafe: (...args) => getRequest('getUnderlyingAmountSafe', args),
3194
+ getUnderlyingData: (...args) => getRequest('getUnderlyingData', args),
3195
+ getUsdValueOfVaultToken: (...args) => getRequest('getUsdValueOfVaultToken', args),
3196
+ isRebasing: (...args) => getRequest('isRebasing', args),
3197
+ getPricePerShare: (...args) => getRequest('getPricePerShare', args),
3198
+ getVaultTokenAmount: (...args) => getRequest('getVaultTokenAmount', args),
3199
+ totalAssets: (...args) => getRequest('totalAssets', args),
3200
+ totalBorrows: (...args) => getRequest('totalBorrows', args),
3201
+ getAvailLiquidity: (...args) => getRequest('getAvailLiquidity', args),
3202
+ getUtilizationRatio: (...args) => getRequest('getUtilizationRatio', args),
3203
+ isEligibleForYieldBonus: (...args) => getRequest('isEligibleForYieldBonus', args),
3204
+ getWithdrawalFees: (...args) => getRequest('getWithdrawalFees', args),
3205
+ canRegisterVaultToken: (...args) => getRequest('canRegisterVaultToken', args),
3206
+ hasClaimableRewards: (...args) => getRequest('hasClaimableRewards', args),
3207
+ getAccessForLego: (...args) => getRequest('getAccessForLego', args),
3208
+ morphoRewards: (...args) => getRequest('morphoRewards', args),
3209
+ MORPHO_FACTORY: (...args) => getRequest('MORPHO_FACTORY', args),
3210
+ MORPHO_FACTORY_LEGACY: (...args) => getRequest('MORPHO_FACTORY_LEGACY', args),
3211
+ RIPE_REGISTRY: (...args) => getRequest('RIPE_REGISTRY', args),
3212
+ };
3213
+ function getMutation(functionName) {
3214
+ return {
3215
+ contractName: 'Morpho',
3216
+ functionName,
3217
+ deployAddress,
3218
+ argsType: undefined,
3219
+ getAbi: () => abi,
3220
+ };
3221
+ }
3222
+ export const mutation = {
3223
+ pause: getMutation('pause'),
3224
+ recoverFunds: getMutation('recoverFunds'),
3225
+ recoverFundsMany: getMutation('recoverFundsMany'),
3226
+ setSnapShotPriceConfig: getMutation('setSnapShotPriceConfig'),
3227
+ registerVaultTokenLocally: getMutation('registerVaultTokenLocally'),
3228
+ deregisterVaultTokenLocally: getMutation('deregisterVaultTokenLocally'),
3229
+ addPriceSnapshot: getMutation('addPriceSnapshot'),
3230
+ depositForYield: getMutation('depositForYield'),
3231
+ withdrawFromYield: getMutation('withdrawFromYield'),
3232
+ claimIncentives: getMutation('claimIncentives'),
3233
+ claimRewards: getMutation('claimRewards'),
3234
+ setMorphoRewardsAddr: getMutation('setMorphoRewardsAddr'),
3235
+ swapTokens: getMutation('swapTokens'),
3236
+ mintOrRedeemAsset: getMutation('mintOrRedeemAsset'),
3237
+ confirmMintOrRedeemAsset: getMutation('confirmMintOrRedeemAsset'),
3238
+ addCollateral: getMutation('addCollateral'),
3239
+ removeCollateral: getMutation('removeCollateral'),
3240
+ borrow: getMutation('borrow'),
3241
+ repayDebt: getMutation('repayDebt'),
3242
+ addLiquidity: getMutation('addLiquidity'),
3243
+ removeLiquidity: getMutation('removeLiquidity'),
3244
+ addLiquidityConcentrated: getMutation('addLiquidityConcentrated'),
3245
+ removeLiquidityConcentrated: getMutation('removeLiquidityConcentrated'),
3246
+ };
3247
+ export function parseEvents(eventName, events) {
3248
+ return events.map((event) => {
3249
+ return {
3250
+ event,
3251
+ parsed: parseEventLogs({
3252
+ abi,
3253
+ eventName,
3254
+ logs: [event],
3255
+ }),
3256
+ };
3257
+ });
3258
+ }
3259
+ export function getEventTopic(eventName) {
3260
+ return encodeEventTopics({ abi, eventName })[0];
3261
+ }
3262
+ export function toSdk(publicClient, walletClient, addressResolver) {
3263
+ return {
3264
+ deployAddress,
3265
+ abi,
3266
+ events: {
3267
+ MorphoDeposit: { topic: getEventTopic('MorphoDeposit'), parse: (events) => parseEvents('MorphoDeposit', events) },
3268
+ MorphoWithdrawal: { topic: getEventTopic('MorphoWithdrawal'), parse: (events) => parseEvents('MorphoWithdrawal', events) },
3269
+ MorphoRewardsAddrSet: { topic: getEventTopic('MorphoRewardsAddrSet'), parse: (events) => parseEvents('MorphoRewardsAddrSet', events) },
3270
+ LegoPauseModified: { topic: getEventTopic('LegoPauseModified'), parse: (events) => parseEvents('LegoPauseModified', events) },
3271
+ LegoFundsRecovered: { topic: getEventTopic('LegoFundsRecovered'), parse: (events) => parseEvents('LegoFundsRecovered', events) },
3272
+ SnapShotPriceConfigSet: { topic: getEventTopic('SnapShotPriceConfigSet'), parse: (events) => parseEvents('SnapShotPriceConfigSet', events) },
3273
+ AssetOpportunityAdded: { topic: getEventTopic('AssetOpportunityAdded'), parse: (events) => parseEvents('AssetOpportunityAdded', events) },
3274
+ AssetOpportunityRemoved: { topic: getEventTopic('AssetOpportunityRemoved'), parse: (events) => parseEvents('AssetOpportunityRemoved', events) },
3275
+ PricePerShareSnapShotAdded: { topic: getEventTopic('PricePerShareSnapShotAdded'), parse: (events) => parseEvents('PricePerShareSnapShotAdded', events) },
3276
+ },
3277
+ // Queries
3278
+ getAddys: (...args) => singleQuery(publicClient, call.getAddys(...args), {}, addressResolver),
3279
+ getUndyHq: (...args) => singleQuery(publicClient, call.getUndyHq(...args), {}, addressResolver),
3280
+ isLegoAsset: (...args) => singleQuery(publicClient, call.isLegoAsset(...args), {}, addressResolver),
3281
+ getAssetOpportunities: (...args) => singleQuery(publicClient, call.getAssetOpportunities(...args), {}, addressResolver),
3282
+ getAssets: (...args) => singleQuery(publicClient, call.getAssets(...args), {}, addressResolver),
3283
+ isAssetOpportunity: (...args) => singleQuery(publicClient, call.isAssetOpportunity(...args), {}, addressResolver),
3284
+ getNumLegoAssets: (...args) => singleQuery(publicClient, call.getNumLegoAssets(...args), {}, addressResolver),
3285
+ getWeightedPricePerShare: (...args) => singleQuery(publicClient, call.getWeightedPricePerShare(...args), {}, addressResolver),
3286
+ getLatestSnapshot: (...args) => singleQuery(publicClient, call.getLatestSnapshot(...args), {}, addressResolver),
3287
+ isValidPriceConfig: (...args) => singleQuery(publicClient, call.isValidPriceConfig(...args), {}, addressResolver),
3288
+ vaultToAsset: (...args) => singleQuery(publicClient, call.vaultToAsset(...args), {}, addressResolver),
3289
+ assetOpportunities: (...args) => singleQuery(publicClient, call.assetOpportunities(...args), {}, addressResolver),
3290
+ indexOfAssetOpportunity: (...args) => singleQuery(publicClient, call.indexOfAssetOpportunity(...args), {}, addressResolver),
3291
+ numAssetOpportunities: (...args) => singleQuery(publicClient, call.numAssetOpportunities(...args), {}, addressResolver),
3292
+ assets: (...args) => singleQuery(publicClient, call.assets(...args), {}, addressResolver),
3293
+ indexOfAsset: (...args) => singleQuery(publicClient, call.indexOfAsset(...args), {}, addressResolver),
3294
+ numAssets: (...args) => singleQuery(publicClient, call.numAssets(...args), {}, addressResolver),
3295
+ snapShotData: (...args) => singleQuery(publicClient, call.snapShotData(...args), {}, addressResolver),
3296
+ snapShots: (...args) => singleQuery(publicClient, call.snapShots(...args), {}, addressResolver),
3297
+ snapShotPriceConfig: (...args) => singleQuery(publicClient, call.snapShotPriceConfig(...args), {}, addressResolver),
3298
+ isPaused: (...args) => singleQuery(publicClient, call.isPaused(...args), {}, addressResolver),
3299
+ hasCapability: (...args) => singleQuery(publicClient, call.hasCapability(...args), {}, addressResolver),
3300
+ getRegistries: (...args) => singleQuery(publicClient, call.getRegistries(...args), {}, addressResolver),
3301
+ isYieldLego: (...args) => singleQuery(publicClient, call.isYieldLego(...args), {}, addressResolver),
3302
+ isDexLego: (...args) => singleQuery(publicClient, call.isDexLego(...args), {}, addressResolver),
3303
+ getUnderlyingAsset: (...args) => singleQuery(publicClient, call.getUnderlyingAsset(...args), {}, addressResolver),
3304
+ getUnderlyingBalances: (...args) => singleQuery(publicClient, call.getUnderlyingBalances(...args), {}, addressResolver),
3305
+ getUnderlyingAmount: (...args) => singleQuery(publicClient, call.getUnderlyingAmount(...args), {}, addressResolver),
3306
+ getUnderlyingAmountSafe: (...args) => singleQuery(publicClient, call.getUnderlyingAmountSafe(...args), {}, addressResolver),
3307
+ getUnderlyingData: (...args) => singleQuery(publicClient, call.getUnderlyingData(...args), {}, addressResolver),
3308
+ getUsdValueOfVaultToken: (...args) => singleQuery(publicClient, call.getUsdValueOfVaultToken(...args), {}, addressResolver),
3309
+ isRebasing: (...args) => singleQuery(publicClient, call.isRebasing(...args), {}, addressResolver),
3310
+ getPricePerShare: (...args) => singleQuery(publicClient, call.getPricePerShare(...args), {}, addressResolver),
3311
+ getVaultTokenAmount: (...args) => singleQuery(publicClient, call.getVaultTokenAmount(...args), {}, addressResolver),
3312
+ totalAssets: (...args) => singleQuery(publicClient, call.totalAssets(...args), {}, addressResolver),
3313
+ totalBorrows: (...args) => singleQuery(publicClient, call.totalBorrows(...args), {}, addressResolver),
3314
+ getAvailLiquidity: (...args) => singleQuery(publicClient, call.getAvailLiquidity(...args), {}, addressResolver),
3315
+ getUtilizationRatio: (...args) => singleQuery(publicClient, call.getUtilizationRatio(...args), {}, addressResolver),
3316
+ isEligibleForYieldBonus: (...args) => singleQuery(publicClient, call.isEligibleForYieldBonus(...args), {}, addressResolver),
3317
+ getWithdrawalFees: (...args) => singleQuery(publicClient, call.getWithdrawalFees(...args), {}, addressResolver),
3318
+ canRegisterVaultToken: (...args) => singleQuery(publicClient, call.canRegisterVaultToken(...args), {}, addressResolver),
3319
+ hasClaimableRewards: (...args) => singleQuery(publicClient, call.hasClaimableRewards(...args), {}, addressResolver),
3320
+ getAccessForLego: (...args) => singleQuery(publicClient, call.getAccessForLego(...args), {}, addressResolver),
3321
+ morphoRewards: (...args) => singleQuery(publicClient, call.morphoRewards(...args), {}, addressResolver),
3322
+ MORPHO_FACTORY: (...args) => singleQuery(publicClient, call.MORPHO_FACTORY(...args), {}, addressResolver),
3323
+ MORPHO_FACTORY_LEGACY: (...args) => singleQuery(publicClient, call.MORPHO_FACTORY_LEGACY(...args), {}, addressResolver),
3324
+ RIPE_REGISTRY: (...args) => singleQuery(publicClient, call.RIPE_REGISTRY(...args), {}, addressResolver),
3325
+ // Mutations
3326
+ pause: (...args) => mutate(walletClient, mutation.pause, { addressResolver })(...args),
3327
+ recoverFunds: (...args) => mutate(walletClient, mutation.recoverFunds, { addressResolver })(...args),
3328
+ recoverFundsMany: (...args) => mutate(walletClient, mutation.recoverFundsMany, { addressResolver })(...args),
3329
+ setSnapShotPriceConfig: (...args) => mutate(walletClient, mutation.setSnapShotPriceConfig, { addressResolver })(...args),
3330
+ registerVaultTokenLocally: (...args) => mutate(walletClient, mutation.registerVaultTokenLocally, { addressResolver })(...args),
3331
+ deregisterVaultTokenLocally: (...args) => mutate(walletClient, mutation.deregisterVaultTokenLocally, { addressResolver })(...args),
3332
+ addPriceSnapshot: (...args) => mutate(walletClient, mutation.addPriceSnapshot, { addressResolver })(...args),
3333
+ depositForYield: (...args) => mutate(walletClient, mutation.depositForYield, { addressResolver })(...args),
3334
+ withdrawFromYield: (...args) => mutate(walletClient, mutation.withdrawFromYield, { addressResolver })(...args),
3335
+ claimIncentives: (...args) => mutate(walletClient, mutation.claimIncentives, { addressResolver })(...args),
3336
+ claimRewards: (...args) => mutate(walletClient, mutation.claimRewards, { addressResolver })(...args),
3337
+ setMorphoRewardsAddr: (...args) => mutate(walletClient, mutation.setMorphoRewardsAddr, { addressResolver })(...args),
3338
+ swapTokens: (...args) => mutate(walletClient, mutation.swapTokens, { addressResolver })(...args),
3339
+ mintOrRedeemAsset: (...args) => mutate(walletClient, mutation.mintOrRedeemAsset, { addressResolver })(...args),
3340
+ confirmMintOrRedeemAsset: (...args) => mutate(walletClient, mutation.confirmMintOrRedeemAsset, { addressResolver })(...args),
3341
+ addCollateral: (...args) => mutate(walletClient, mutation.addCollateral, { addressResolver })(...args),
3342
+ removeCollateral: (...args) => mutate(walletClient, mutation.removeCollateral, { addressResolver })(...args),
3343
+ borrow: (...args) => mutate(walletClient, mutation.borrow, { addressResolver })(...args),
3344
+ repayDebt: (...args) => mutate(walletClient, mutation.repayDebt, { addressResolver })(...args),
3345
+ addLiquidity: (...args) => mutate(walletClient, mutation.addLiquidity, { addressResolver })(...args),
3346
+ removeLiquidity: (...args) => mutate(walletClient, mutation.removeLiquidity, { addressResolver })(...args),
3347
+ addLiquidityConcentrated: (...args) => mutate(walletClient, mutation.addLiquidityConcentrated, { addressResolver })(...args),
3348
+ removeLiquidityConcentrated: (...args) => mutate(walletClient, mutation.removeLiquidityConcentrated, { addressResolver })(...args),
3349
+ };
3350
+ }