@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
package/AGENTS.md ADDED
@@ -0,0 +1,172 @@
1
+ <!-- dappql:start -->
2
+ <!-- Autogenerated by `dappql` from dapp.config.js — don't hand-edit between the dappql markers. Re-run `dappql` after config changes. -->
3
+
4
+ # DappQL — project context for AI agents
5
+
6
+ This project reads and writes on-chain state via **[DappQL](https://github.com/dappql/core)**, an agent-native data layer on wagmi + viem that makes smart contracts fluent for humans and agents. Use it for every contract interaction; don't reach for raw wagmi/viem primitives when a DappQL hook exists.
7
+
8
+ Full agent reference: https://github.com/dappql/core/blob/main/AGENTS.md
9
+
10
+ ## Generated setup
11
+
12
+ - Contracts directory: `./src/contracts`
13
+ - Module system: ESM
14
+ - SDK factory: yes — `./src/contracts/sdk` exports `createSdk(publicClient, walletClient, addressResolver)`
15
+ - Chain ID: 8453
16
+
17
+ ## Contracts in this project
18
+
19
+ | Contract | Shape | Reads | Writes | Events |
20
+ | --- | --- | --- | --- | --- |
21
+ | `AaveV3` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `depositForYield`, `withdrawFromYield`, … (+14) | `AaveV3Deposit`, `AaveV3Withdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved` |
22
+ | `Addys` | template | `getAddys`, `getUndyHq` | — | — |
23
+ | `AeroClassic` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `getRegistries`, `isYieldLego`, `isDexLego`, … (+17) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `addLiquidity`, `removeLiquidity`, `depositForYield`, `withdrawFromYield`, … (+10) | `AerodromeSwap`, `AerodromeLiquidityAdded`, `AerodromeLiquidityRemoved`, `LegoPauseModified`, `LegoFundsRecovered` |
24
+ | `AeroSlipstream` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `onERC721Received`, `getRegistries`, `isYieldLego`, … (+15) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `uniswapV3SwapCallback`, `addLiquidityConcentrated`, `removeLiquidityConcentrated`, `getBestSwapAmountOut`, … (+16) | `AeroSlipStreamSwap`, `AeroSlipStreamLiquidityAdded`, `AeroSlipStreamLiquidityRemoved`, `AeroSlipStreamNftRecovered`, `AeroSlipstreamFeesCollected`, `LegoPauseModified`, `LegoFundsRecovered` |
25
+ | `AgentSenderGeneric` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `canClaimLootFor`, … (+2) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `transferFunds`, `createAndPayCheque`, … (+28) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed` |
26
+ | `AgentSenderSpecial` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, … (+4) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `addCollateralAndBorrow`, `repayAndWithdraw`, … (+3) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed` |
27
+ | `AgentSenderSpecialAdmin` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, … (+1) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `issuePullCheques`, `whitelistMaintenance`, … (+2) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed` |
28
+ | `AgentSenderSpecialSigHelper` | template | `getAddCollateralAndBorrowHash`, `getRepayAndWithdrawHash`, `getRebalanceYieldPositionsWithSwapHash`, `getClaimIncentivesAndSwapHash`, `getIssuePullChequesHash`, `getWhitelistMaintenanceHash`, `getHarvestAndIssueChequeHash` | — | — |
29
+ | `AgentWrapper` | template | `canClaimLootFor`, `isSender`, `groupId`, `senders`, `indexOfSender`, `numSenders` | `transferFunds`, `createAndPayCheque`, `createCheque`, `payCheque`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, … (+22) | `AgentAction` |
30
+ | `AgentWrapperV1` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, `groupId`, … (+1) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, … (+16) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
31
+ | `AgentWrapperV2` | template | `isSender`, `groupId`, `senders`, `indexOfSender`, `numSenders` | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+12) | `AgentAction` |
32
+ | `Appraiser` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `calculateYieldProfitsNoUpdate`, `lastPricePerShare`, `getUsdValue`, `getUnderlyingUsdValue`, … (+2) | `pause`, `recoverFunds`, `recoverFundsMany`, `calculateYieldProfits`, `updatePriceAndGetUsdValue`, `updatePriceAndGetUsdValueAndIsYieldAsset` | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
33
+ | `Avantis` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+37) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `AvantisDeposit`, `AvantisWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
34
+ | `Billing` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `canPullPaymentAsCheque`, `canPullPaymentAsPayee` | `pause`, `recoverFunds`, `recoverFundsMany`, `pullPaymentAsCheque`, `pullPaymentAsPayee` | `ChequePaymentPulled`, `PayeePaymentPulled`, `DepartmentPauseModified`, `DepartmentFundsRecovered` |
35
+ | `ChequeBook` | singleton | `canCreateCheque`, `isValidNewCheque`, `hasPendingChequeSettings`, `pendingChequeSettingsMeta`, `isValidChequeSettings`, `getChequeConfig`, `createDefaultChequeSettings`, `UNDY_HQ`, … (+6) | `createCheque`, `cancelCheque`, `setChequeSettings`, `confirmPendingChequeSettings`, `cancelPendingChequeSettings` | `ChequeCreated`, `ChequeCancelled`, `ChequeSettingsModified`, `ChequeSettingsPending`, `ChequeSettingsPendingConfirmed`, `ChequeSettingsPendingCancelled` |
36
+ | `CompoundV3` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+37) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `depositForYield`, `withdrawFromYield`, … (+16) | `CompoundV3Deposit`, `CompoundV3Withdrawal`, `CompoundV3RewardsAddrSet`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved` |
37
+ | `ConvertVaultToken` | singleton | — | `convertVaultToken` | — |
38
+ | `Curve` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `getRegistries`, `isYieldLego`, `isDexLego`, … (+16) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `addLiquidity`, `removeLiquidity` | `CurveSwap`, `CurveLiquidityAdded`, `CurveLiquidityRemoved`, `LegoPauseModified`, `LegoFundsRecovered` |
39
+ | `DefaultsBase` | singleton | `userWalletConfig`, `agentConfig`, `managerConfig`, `payeeConfig`, `chequeConfig`, `ripeRewardsConfig`, `securitySigners`, `whitelistedCreators` | — | — |
40
+ | `DefaultsLocal` | template | `userWalletConfig`, `agentConfig`, `managerConfig`, `payeeConfig`, `chequeConfig`, `ripeRewardsConfig`, `securitySigners`, `whitelistedCreators` | — | — |
41
+ | `ERC20` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `hasPendingHqChange`, `isValidNewUndyHq`, `isValidHqChangeTimeLock`, `minHqTimeLock`, … (+14) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+7) | `Transfer`, `Approval`, `BlacklistModified`, `HqChangeInitiated`, `HqChangeConfirmed`, `HqChangeCancelled`, `TokenPauseModified`, `InitialUndyHqSet`, … (+1) |
42
+ | `EarnVault` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+17) | `Deposit`, `Withdraw`, `LeftoversSwept`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, … (+4) |
43
+ | `EarnVaultAgent` | singleton | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, … (+2) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `depositForYield`, `withdrawFromYield`, … (+4) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed` |
44
+ | `EarnVaultAgentSigHelper` | singleton | `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getSwapTokensHash`, `getClaimIncentivesHash`, `getBatchActionsHash` | — | — |
45
+ | `EarnVaultWallet` | template | `getClaimablePerformanceFees`, `lastUnderlyingBal`, `pendingYieldRealized`, `vaultToLegoId`, `assets`, `indexOfAsset`, `numAssets`, `managers`, … (+2) | `depositForYield`, `withdrawFromYield`, `swapTokens`, `claimIncentives`, `claimPerformanceFees`, `updateYieldPosition`, `addManager`, `removeManager` | `EarnVaultDeposit`, `EarnVaultWithdrawal`, `EarnVaultSwap`, `EarnVaultRewardsClaim`, `PerformanceFeesClaimed` |
46
+ | `Erc20Token` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `hasPendingHqChange`, `isValidNewUndyHq`, `isValidHqChangeTimeLock`, `minHqTimeLock`, … (+14) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+7) | `Transfer`, `Approval`, `BlacklistModified`, `HqChangeInitiated`, `HqChangeConfirmed`, `HqChangeCancelled`, `TokenPauseModified`, `InitialUndyHqSet`, … (+1) |
47
+ | `Euler` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+39) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+15) | `EulerDeposit`, `EulerWithdrawal`, `EulerRewardsAddrSet`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, … (+1) |
48
+ | `ExtraFi` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `registerVaultTokensGlobally`, `addPriceSnapshot`, … (+15) | `ExtraFiDeposit`, `ExtraFiWithdrawal`, `AssetOpportunityAdded`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
49
+ | `Fluid` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+39) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `FluidDeposit`, `FluidWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
50
+ | `FortyAcres` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `FortyAcresDeposit`, `FortyAcresWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
51
+ | `Hatchery` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `doesWalletStillHaveTrialFundsWithAddys`, `WETH`, `ETH` | `pause`, `recoverFunds`, `recoverFundsMany`, `createUserWallet` | `UserWalletCreated`, `DepartmentPauseModified`, `DepartmentFundsRecovered` |
52
+ | `Helpers` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+31) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setRegistryTimeLock`, `setRegistryTimeLockAfterSetup`, … (+12) | `GovChangeTimeLockModified`, `RegistryTimeLockModified`, `GovChangeStarted`, `GovChangeConfirmed`, `GovChangeCancelled`, `GovRelinquished`, `UndyHqSetupFinished`, `DepartmentPauseModified`, … (+10) |
53
+ | `HighCommand` | singleton | `isValidNewManager`, `validateManagerOnUpdate`, `validateGlobalManagerSettings`, `createDefaultGlobalManagerSettings`, `createStarterAgentSettings`, `getManagerSettingsBundle`, `UNDY_HQ`, `MIN_MANAGER_PERIOD`, … (+4) | `addManager`, `updateManager`, `removeManager`, `neuterStarterAgent`, `adjustManagerActivationLength`, `setGlobalManagerSettings` | `GlobalManagerSettingsModified`, `ManagerSettingsModified`, `ManagerRemoved`, `ManagerActivationLengthAdjusted`, `StarterAgentNeutered` |
54
+ | `Kernel` | singleton | `canManageWhitelist`, `getWhitelistConfig`, `UNDY_HQ` | `addPendingWhitelistAddr`, `confirmWhitelistAddr`, `cancelPendingWhitelistAddr`, `removeWhitelistAddr` | `WhitelistAddrPending`, `WhitelistAddrConfirmed`, `WhitelistAddrCancelled`, `WhitelistAddrRemoved` |
55
+ | `Ledger` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `getNumUserWallets`, `isUserWallet`, `getLastTotalUsdValue`, `getUserAndGlobalPoints`, … (+9) | `pause`, `recoverFunds`, `recoverFundsMany`, `createUserWallet`, `setUserPoints`, `setGlobalPoints`, `setUserAndGlobalPoints`, `setVaultToken`, … (+1) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
56
+ | `LegoBook` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+31) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setRegistryTimeLock`, `setRegistryTimeLockAfterSetup`, … (+12) | `GovChangeTimeLockModified`, `RegistryTimeLockModified`, `GovChangeStarted`, `GovChangeConfirmed`, `GovChangeCancelled`, `GovRelinquished`, `UndyHqSetupFinished`, `DepartmentPauseModified`, … (+10) |
57
+ | `LegoTools` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `aaveV3`, `aaveV3Id`, `compoundV3`, `compoundV3Id`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `getRoutesAndSwapInstructionsAmountOut`, `getRoutesAndSwapInstructionsAmountIn`, `prepareSwapInstructionsAmountOut`, `getBestSwapRoutesAmountOut`, `getBestSwapAmountOutWithRouterPool`, … (+6) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
58
+ | `LevgVault` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+35) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+24) | `Deposit`, `Withdraw`, `LeftoversSwept`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `LevgVaultAction`, … (+5) |
59
+ | `LevgVaultAgent` | singleton | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `currentNonce` | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `borrowAndEarnYield`, `deleverage`, … (+2) | `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed` |
60
+ | `LevgVaultAgentSigHelper` | singleton | `getBorrowAndEarnYieldHash`, `getDeleverageHash`, `getCompoundYieldGainsHash` | — | — |
61
+ | `LevgVaultHelper` | template | `getAddys`, `getUndyHq`, `getSwappableUsdcAmount`, `getMaxBorrowAmount`, `performPostSwapValidation`, `getTotalAssetsForUsdcVault`, `getTotalAssetsForNonUsdcVault`, `getCollateralBalance`, … (+8) | — | — |
62
+ | `LevgVaultTools` | singleton | `getAddys`, `getUndyHq`, `getTotalUnderlyingAmount`, `getAmountForAsset`, `getUnderlyingAmountForVaultToken`, `getRipeCollateralBalance`, `getUnderlyingGreenAmount`, `getSavingsGreenBalances`, … (+18) | — | — |
63
+ | `LevgVaultWallet` | template | `vaultToLegoId`, `levgVaultHelper`, `collateralAsset`, `leverageAsset`, `isRawAssetCollateral`, `managers`, `indexOfManager`, `numManagers`, … (+4) | `depositForYield`, `withdrawFromYield`, `swapTokens`, `addCollateral`, `removeCollateral`, `borrow`, `repayDebt`, `claimIncentives`, … (+7) | `LevgVaultAction`, `CollateralVaultTokenSet`, `LeverageVaultTokenSet`, `SlippagesSet`, `LevgVaultHelperSet`, `MaxDebtRatioSet` |
64
+ | `LocalGov` | template | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+3) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup` | `GovChangeStarted`, `GovChangeConfirmed`, `GovChangeCancelled`, `GovRelinquished`, `GovChangeTimeLockModified`, `UndyHqSetupFinished` |
65
+ | `LootDistributor` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `getClaimableLootForAsset`, `getTotalClaimableAssets`, `getLatestDepositPoints`, `isValidWalletConfig`, … (+13) | `pause`, `recoverFunds`, `recoverFundsMany`, `addLootFromSwapOrRewards`, `addLootFromYieldProfit`, `claimRevShareAndBonusLoot`, `adjustLoot`, `updateDepositPoints`, … (+6) | `TransactionFeePaid`, `RevenueTransferredToGov`, `YieldPerformanceFeePaid`, `AmbassadorTxFeePaid`, `YieldBonusPaid`, `LootAdjusted`, `LootClaimed`, `DepositRewardsAdded`, … (+4) |
66
+ | `Migrator` | singleton | `canMigrateFundsToNewWallet`, `canCopyWalletConfig`, `getMigrationConfigBundle`, `UNDY_HQ`, `instantMigrationEnabled` | `setInstantMigrationEnabled`, `initiateMigration`, `cancelPendingMigration`, `migrateAll`, `migrateFunds`, `cloneConfig` | `FundsMigrated`, `ConfigCloned`, `InstantMigrationEnabledSet`, `PendingMigrationInitiated`, `PendingMigrationConfirmed`, `PendingMigrationCancelled` |
67
+ | `MissionControl` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `getUserWalletCreationConfig`, `getDepositRewardsAsset`, `getLootClaimCoolOffPeriod`, `getRipeRewardsConfig`, … (+22) | `pause`, `recoverFunds`, `recoverFundsMany`, `setUserWalletConfig`, `setManagerConfig`, `setPayeeConfig`, `setChequeConfig`, `setRipeRewardsConfig`, … (+7) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
68
+ | `Moonwell` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `MoonwellDeposit`, `MoonwellWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
69
+ | `Morpho` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+39) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+15) | `MorphoDeposit`, `MorphoWithdrawal`, `MorphoRewardsAddrSet`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, … (+1) |
70
+ | `Ownership` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK` | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock` | `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet`, `PendingOwnershipTimeLockSet`, `PendingOwnershipTimeLockConfirmed`, `PendingOwnershipTimeLockCancelled` |
71
+ | `Paymaster` | singleton | `isValidNewPayee`, `isValidPayeeUpdate`, `isValidGlobalPayeeSettings`, `getPayeeConfig`, `createDefaultGlobalPayeeSettings`, `UNDY_HQ`, `MIN_PAYEE_PERIOD`, `MAX_PAYEE_PERIOD`, … (+4) | `setGlobalPayeeSettings`, `confirmPendingGlobalPayeeSettings`, `cancelPendingGlobalPayeeSettings`, `addPayee`, `updatePayee`, `removePayee` | `PayeeAdded`, `PayeeUpdated`, `PayeeRemoved`, `GlobalPayeeSettingsModified`, `PendingGlobalPayeeSettingsSet`, `PendingGlobalPayeeSettingsConfirmed`, `PendingGlobalPayeeSettingsCancelled` |
72
+ | `RipeLego` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+41) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+16) | `RipeCollateralDeposit`, `RipeCollateralWithdrawal`, `RipeBorrow`, `RipeRepay`, `RipeClaimRewards`, `RipeSavingsGreenDeposit`, `RipeSavingsGreenWithdrawal`, `RipeEndaomentPsmSwap`, … (+6) |
73
+ | `Sentinel` | singleton | `canSignerPerformAction`, `canSignerPerformActionWithConfig`, `canManagerFinishTx`, `checkManagerLimitsPostTx`, `isValidPayee`, `isValidPayeeAndGetData`, `isValidChequeAndGetData` | — | — |
74
+ | `SignatureHelper` | singleton | `getTransferFundsHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, `getMintOrRedeemAssetHash`, `getConfirmMintOrRedeemAssetHash`, `getAddCollateralHash`, … (+11) | — | — |
75
+ | `SignatureHelperV1` | template | `getTransferFundsHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, `getMintOrRedeemAssetHash`, `getConfirmMintOrRedeemAssetHash`, `getAddCollateralHash`, … (+11) | — | — |
76
+ | `SkyPsm` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+40) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+15) | `SkyPsmDeposit`, `SkyPsmWithdrawal`, `SlippageSet`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, … (+1) |
77
+ | `Switchboard` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+31) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setRegistryTimeLock`, `setRegistryTimeLockAfterSetup`, … (+13) | `GovChangeTimeLockModified`, `RegistryTimeLockModified`, `GovChangeStarted`, `GovChangeConfirmed`, `GovChangeCancelled`, `GovRelinquished`, `UndyHqSetupFinished`, `DepartmentPauseModified`, … (+10) |
78
+ | `SwitchboardAlpha` | singleton | `getAddys`, `getUndyHq`, `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, … (+29) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setActionTimeLock`, `setExpiration`, … (+23) | `PendingUserWalletTemplatesChange`, `UserWalletTemplatesSet`, `PendingWalletCreationLimitsChange`, `WalletCreationLimitsSet`, `PendingKeyActionTimelockBoundsChange`, `KeyActionTimelockBoundsSet`, `PendingTxFeesChange`, `TxFeesSet`, … (+39) |
79
+ | `SwitchboardBravo` | singleton | `getAddys`, `getUndyHq`, `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, … (+24) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setActionTimeLock`, `setExpiration`, … (+15) | `PendingRecoverFundsAction`, `PendingRecoverFundsManyAction`, `PendingRecoverNftAction`, `PendingLootAdjustAction`, `PendingRecoverDepositRewardsAction`, `AssetDataUpdated`, `AllAssetDataUpdated`, `PendingSetEjectionModeAction`, … (+18) |
80
+ | `SwitchboardCharlie` | singleton | `getAddys`, `getUndyHq`, `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, … (+37) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setActionTimeLock`, `setExpiration`, … (+35) | `PendingRedemptionBufferChange`, `RedemptionBufferSet`, `PendingMinYieldWithdrawAmountChange`, `MinYieldWithdrawAmountSet`, `PendingSnapShotPriceConfigChange`, `SnapShotPriceConfigSet`, `PendingApprovedVaultTokenChange`, `ApprovedVaultTokenSet`, … (+52) |
81
+ | `UnderscoreLego` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+36) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `UnderscoreEarnVaultDeposit`, `UnderscoreEarnVaultWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
82
+ | `UndyAero` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
83
+ | `UndyBtc` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
84
+ | `UndyCbeth` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
85
+ | `UndyEth` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
86
+ | `UndyEurc` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
87
+ | `UndyGho` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
88
+ | `UndyHq` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+34) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setRegistryTimeLock`, `setRegistryTimeLockAfterSetup`, … (+16) | `HqConfigChangeInitiated`, `HqConfigChangeConfirmed`, `HqConfigChangeCancelled`, `UndyHqFundsRecovered`, `UndyTokenSet`, `MintingEnabled`, `GovChangeTimeLockModified`, `RegistryTimeLockModified`, … (+14) |
89
+ | `UndyRewardsLego` | singleton | `getAddys`, `getUndyHq`, `hasClaimableRewards`, `hasCapability`, `getRegistries`, `isDexLego`, `isYieldLego`, `isPaused`, … (+3) | `claimRewards`, `pause`, `recoverFunds`, `recoverFundsMany`, `depositForYield`, `withdrawFromYield`, `swapTokens`, `mintOrRedeemAsset`, … (+9) | — |
90
+ | `UndyToken` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `hasPendingHqChange`, `isValidNewUndyHq`, `isValidHqChangeTimeLock`, `minHqTimeLock`, … (+14) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+8) | `Transfer`, `Approval`, `BlacklistModified`, `HqChangeInitiated`, `HqChangeConfirmed`, `HqChangeCancelled`, `HqChangeTimeLockModified`, `TokenPauseModified`, … (+1) |
91
+ | `UndyUsd` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
92
+ | `UndyUsdV2` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+17) | `Deposit`, `Withdraw`, `LeftoversSwept`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, … (+4) |
93
+ | `UndyUsds` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+16) | `Deposit`, `Withdraw`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, `EarnVaultWithdrawal`, … (+3) |
94
+ | `UndyVirtual` | singleton | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+32) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+17) | `Deposit`, `Withdraw`, `LeftoversSwept`, `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified`, `EarnVaultDeposit`, … (+4) |
95
+ | `UniswapV2` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `getRegistries`, `isYieldLego`, `isDexLego`, … (+17) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `addLiquidity`, `removeLiquidity`, `depositForYield`, `withdrawFromYield`, … (+10) | `UniswapV2Swap`, `UniswapV2LiquidityAdded`, `UniswapV2LiquidityRemoved`, `LegoPauseModified`, `LegoFundsRecovered` |
96
+ | `UniswapV3` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `onERC721Received`, `getRegistries`, `isYieldLego`, … (+15) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `uniswapV3SwapCallback`, `addLiquidityConcentrated`, `removeLiquidityConcentrated`, `getBestSwapAmountOut`, … (+16) | `UniswapV3Swap`, `UniswapV3LiquidityAdded`, `UniswapV3LiquidityRemoved`, `UniswapV3NftRecovered`, `UniswapV3FeesCollected`, `LegoPauseModified`, `LegoFundsRecovered` |
97
+ | `UserWallet` | template | `onERC721Received`, `apiVersion`, `walletConfig`, `assetData`, `assets`, `indexOfAsset`, `numAssets`, `WETH`, … (+1) | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+14) | `WalletAction`, `WalletActionExt` |
98
+ | `UserWalletConfig` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `pendingOwnershipTimeLock`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `checkSignerPermissionsAndGetBundle`, … (+41) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `confirmPendingOwnershipTimeLock`, `cancelPendingOwnershipTimeLock`, `setWallet`, `setTimeLock`, … (+40) | `EjectionModeSet`, `FrozenSet`, `NftRecovered`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `PendingOwnershipTimeLockCancelled`, `OwnershipTimeLockSet`, … (+2) |
99
+ | `UserWalletConfigV1` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `apiVersion`, `checkSignerPermissionsAndGetBundle`, … (+43) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `setWallet`, `checkManagerUsdLimitsAndUpdateData`, `checkRecipientLimitsAndUpdateData`, `validateCheque`, … (+35) | `EjectionModeSet`, `FrozenSet`, `NftRecovered`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
100
+ | `UserWalletSignatureHelper` | template | `getTransferFundsHash`, `getCreateAndPayChequeHash`, `getCreateChequeHash`, `getPayChequeHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, … (+21) | — | — |
101
+ | `UserWalletV1` | template | `onERC721Received`, `apiVersion`, `walletConfig`, `assetData`, `assets`, `indexOfAsset`, `numAssets`, `WETH`, … (+1) | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+14) | `WalletAction`, `WalletActionExt` |
102
+ | `VaultErc20Token` | template | `name`, `symbol`, `decimals`, `DOMAIN_SEPARATOR`, `undyHq`, `blacklisted`, `isPaused`, `balanceOf`, … (+7) | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `burn`, `permit`, `setBlacklist`, … (+2) | `Transfer`, `Approval`, `BlacklistModified`, `TokenPauseModified` |
103
+ | `VaultRegistry` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+74) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `setRegistryTimeLock`, `setRegistryTimeLockAfterSetup`, … (+24) | `CanDepositSet`, `CanWithdrawSet`, `MaxDepositAmountSet`, `VaultOpsFrozenSet`, `RedemptionBufferSet`, `MinYieldWithdrawAmountSet`, `PerformanceFeeSet`, `DefaultTargetVaultTokenSet`, … (+24) |
104
+ | `WalletBackpack` | singleton | `getUndyHqFromGov`, `canGovern`, `getGovernors`, `hasPendingGovChange`, `isValidGovTimeLock`, `minGovChangeTimeLock`, `maxGovChangeTimeLock`, `governance`, … (+27) | `startGovernanceChange`, `confirmGovernanceChange`, `cancelGovernanceChange`, `relinquishGov`, `setGovTimeLock`, `finishUndyHqSetup`, `pause`, `recoverFunds`, … (+22) | `PendingBackpackItemAdded`, `BackpackItemConfirmed`, `PendingBackpackItemCancelled`, `GovChangeTimeLockModified`, `ExpirationSet`, `ActionTimeLockSet`, `GovChangeStarted`, `GovChangeConfirmed`, … (+5) |
105
+ | `Wasabi` | singleton | `getAddys`, `getUndyHq`, `isLegoAsset`, `getAssetOpportunities`, `getAssets`, `isAssetOpportunity`, `getNumLegoAssets`, `getWeightedPricePerShare`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `setSnapShotPriceConfig`, `registerVaultTokenLocally`, `deregisterVaultTokenLocally`, `addPriceSnapshot`, `depositForYield`, … (+14) | `WasabiDeposit`, `WasabiWithdrawal`, `LegoPauseModified`, `LegoFundsRecovered`, `SnapShotPriceConfigSet`, `AssetOpportunityAdded`, `AssetOpportunityRemoved`, `PricePerShareSnapShotAdded` |
106
+
107
+ *singleton = fixed `deployAddress` baked in. template = pass the address per use via `.at(addr)` in React or `sdk.Contract(addr)` in the SDK factory.*
108
+
109
+ ## Use it
110
+
111
+ ### React — prefer `useContextQuery` (batches across the whole tree)
112
+
113
+ ```tsx
114
+ import { AaveV3 } from './src/contracts'
115
+ import { useContextQuery } from '@dappql/react'
116
+
117
+ const { data, isLoading } = useContextQuery({
118
+ getAddys: AaveV3.call.getAddys(),
119
+ getUndyHq: AaveV3.call.getUndyHq(),
120
+ })
121
+ ```
122
+
123
+ ### React — mutations
124
+
125
+ ```tsx
126
+ import { AeroClassic } from './src/contracts'
127
+ import { useMutation } from '@dappql/react'
128
+
129
+ const tx = useMutation(AeroClassic.mutation.pause, 'pause')
130
+ tx.send(/* _shouldPause */)
131
+ ```
132
+
133
+ ### Template contracts
134
+
135
+ ```ts
136
+ // Template contract — bind the address per call
137
+ Addys.call.getAddys().at(contractAddress)
138
+ ```
139
+
140
+ ### Non-React — generated SDK factory
141
+
142
+ ```ts
143
+ import createSdk from './src/contracts/sdk'
144
+
145
+ const sdk = createSdk(publicClient, walletClient)
146
+ const value = await sdk.AaveV3.getAddys()
147
+ const bound = sdk.Addys('0x...') // template: pass address
148
+ const result = await bound.getAddys()
149
+ ```
150
+
151
+ ### Non-React — ad-hoc multicall
152
+
153
+ ```ts
154
+ import { query } from '@dappql/async'
155
+ import { AaveV3 } from './src/contracts'
156
+
157
+ const { data } = await query(publicClient, {
158
+ value: AaveV3.call.getAddys(),
159
+ })
160
+ ```
161
+
162
+ ## Non-negotiables
163
+
164
+ - **Always import from `./src/contracts`.** Never hand-craft ABIs or hardcode addresses already in the config. Re-run `dappql` after editing `dapp.config.js`.
165
+ - **Never use `useReadContract` / `useReadContracts` / `useWriteContract` directly** when you can use `useContextQuery` / `useQuery` / `useMutation`. The batching and typing layer is the whole point.
166
+ - **Default to `useContextQuery`** over `useQuery` — it fuses calls across the component tree into one RPC.
167
+ - **`uint256` is `bigint`.** Use `0n`, `1n`, `BigInt(n)`. Never pass plain numbers where `bigint` is expected.
168
+ - **Addresses are `\`0x${string}\``.** Checksum untrusted input via viem's `getAddress`.
169
+ - **Mutation `send` takes spread args**: `tx.send(a, b, c)`, not `tx.send([a, b, c])`.
170
+ - **Template contracts require an address** per use — use `.at(addr)` on the call builder or `sdk.Contract(addr)` in the SDK factory.
171
+
172
+ <!-- dappql:end -->
package/README.md CHANGED
@@ -1,131 +1,32 @@
1
- # Underscore Smart Contracts SDK
1
+ # @underscore-finance/sdk
2
2
 
3
- A TypeScript SDK for interacting with Underscore's AI-driven smart contracts on Base network. Underscore enables trustless AI agents to operate on your behalf in DeFi—securely, transparently, and within boundaries you define.
3
+ SDK for interacting with Underscore Finance Smart Contracts with TypeScript
4
4
 
5
- ## Key Features
6
-
7
- - **Non-Custodial**: Retain full control of your assets; only you can transfer or withdraw funds
8
- - **Granular Control**: Define precise boundaries for AI agent operations
9
- - **Rule-Based Autonomy**: Smart contracts strictly enforce your parameters
10
- - **Minimal Trust**: Built on open-source, immutable code
11
- - **Extensible**: Add new DeFi protocol integrations without migrating funds
12
- - **Auditability**: Fully transparent, verifiable code
13
-
14
- ## Installation
5
+ ## Install
15
6
 
16
7
  ```bash
17
- npm install @underscore-finance/sdk viem
18
- # or
19
- yarn add @underscore-finance/sdk viem
20
- ```
21
-
22
- ## Quick Start
23
-
24
- ```typescript
25
- import Underscore from '@underscore-finance/sdk'
26
- import { createWalletClient, custom } from 'viem'
27
- import { base } from 'viem/chains'
28
-
29
- // Initialize SDK = Read mode only
30
- const underscore = new Underscore()
31
-
32
- // For AI agent operations, initialize with a wallet client
33
- const underscore = new Underscore({
34
- walletClient: createWalletClient({
35
- chain: base,
36
- transport: custom(window.ethereum),
37
- }),
38
- })
39
-
40
- // Create an AI Wallet
41
- const createWallet = async (owner: string, aiAgent: string) => {
42
- return await underscore.Factory.createUserWallet(
43
- owner, // Your wallet address
44
- aiAgent, // AI agent's address
45
- )
46
- }
47
-
48
- // Configure AI permissions
49
- const configureAgent = async (agent: string, allowedAssets: string[]) => {
50
- for (const asset of allowedAssets) {
51
- await underscore.UserWalletConfig.at('0xWalletAddress').addAssetForAgent(agent, asset)
52
- }
53
- }
8
+ pnpm add @underscore-finance/sdk
54
9
  ```
55
10
 
56
- ## Core Components
57
-
58
- ### AI Agent System
59
-
60
- - `AgentFactory` - Deploy and manage AI wallets
61
- - `AgentTemplate` - Access to AI agent templates
62
- - `WalletConfig` - Set AI agent permissions and rules
63
- - `WalletFunds` - Manage wallet assets
64
- - `LegoHelper` - Set of helper functions to interact with legos
65
- - `OracleRegistry` - Registry for price feeds
66
-
67
- ### Protocol Integrations ("Legos")
11
+ ## Use with DappQL MCP
68
12
 
69
- Modular DeFi integrations your AI can interact with:
13
+ Once installed, `@dappql/mcp` auto-discovers this package as a plugin and exposes its contracts, ABIs, and SDK to your AI coding agent.
70
14
 
71
- - `LegoAaveV3` - Aave V3 lending/borrowing
72
- - `LegoCompoundV3` - Compound V3 operations
73
- - `LegoUniswapV3` - Uniswap V3 swaps
74
- - `LegoCurve` - Curve pool interactions
75
- - And many more protocol integrations
15
+ ## Use the SDK directly
76
16
 
77
- ### Price Feed Systems
17
+ ```ts
18
+ import createSdk from '@underscore-finance/sdk/sdk'
19
+ import { createPublicClient, http } from 'viem'
78
20
 
79
- Price oracles your AI can reference:
80
-
81
- - `ChainlinkFeeds` - Chainlink oracle data
82
- - `PythFeeds` - Pyth Network feeds
83
- - `StorkFeeds` - Stork protocol data
84
-
85
- ## Use Cases
86
-
87
- 1. **Autonomous Yield Farming**
88
-
89
- - AI monitors lending rates across protocols
90
- - Automatically shifts funds to optimal yields
91
- - Operates within your risk parameters
92
-
93
- 2. **Smart Portfolio Rebalancing**
94
-
95
- - AI maintains your desired asset ratios
96
- - Executes trades based on market conditions
97
- - Respects your defined boundaries
98
-
99
- 3. **Risk Management**
100
- - AI monitors on-chain risk indicators
101
- - Automatically adjusts positions
102
- - Follows your pre-set safety rules
103
-
104
- ## Configuration
105
-
106
- ```typescript
107
- interface UnderscoreConfig {
108
- rpcUrl?: string // Custom RPC URL for Base network
109
- publicClient?: PublicClient // Custom viem public client
110
- walletClient?: WalletClient // Required for transactions
111
- }
21
+ const publicClient = createPublicClient({ transport: http() })
22
+ const sdk = createSdk(publicClient)
112
23
  ```
113
24
 
114
- ## Best Practices
115
-
116
- 1. Always initialize with a wallet client for AI agent operations
117
- 2. Use custom RPC URLs in production
118
- 3. Implement comprehensive error handling
119
- 4. Set clear boundaries for AI agent actions
120
-
121
- ## Support
122
-
123
- - GitHub Issues: Technical support and bug reports
124
- - Discord Community: [Join our Discord](https://discord.gg/Y6PWmndNaC)
125
- - Developer Support: [Contact our team](https://underscore.fi)
25
+ ## Links
126
26
 
127
- ## License
27
+ - Website: https://underscore.finance
28
+ - Repo: https://github.com/underscore-finance/typescript-sdk
128
29
 
129
- Business Source License 1.1 - This SDK is provided under a commercial license. All rights reserved. Unauthorized copying, modification, distribution, or use of this software is strictly prohibited without a valid license agreement.
30
+ ---
130
31
 
131
- Built by the team at [Hightop](http://hightop.com) + [Ripe](http://ripe.finance)
32
+ Built with [DappQL](https://dappql.com).