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