@underscore-finance/sdk 1.2.18 → 1.2.20-next.0
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.
- package/AGENTS.md +162 -0
- package/README.md +17 -116
- package/abis.json +181875 -0
- package/addresses.json +76 -0
- package/dist/contracts/AaveV3.d.ts.map +1 -1
- package/dist/contracts/AaveV3.js +1898 -1919
- package/dist/contracts/AeroClassic.d.ts.map +1 -1
- package/dist/contracts/AeroClassic.js +1518 -1533
- package/dist/contracts/AeroSlipstream.d.ts.map +1 -1
- package/dist/contracts/AeroSlipstream.js +1620 -1641
- package/dist/contracts/AgentSenderGeneric.d.ts.map +1 -1
- package/dist/contracts/AgentSenderGeneric.js +3059 -3074
- package/dist/contracts/AgentSenderSpecial.d.ts.map +1 -1
- package/dist/contracts/AgentSenderSpecial.js +1474 -1489
- package/dist/contracts/AgentSenderSpecialSigHelper.d.ts.map +1 -1
- package/dist/contracts/AgentSenderSpecialSigHelper.js +1728 -1728
- package/dist/contracts/AgentWrapper.d.ts.map +1 -1
- package/dist/contracts/AgentWrapper.js +1899 -1902
- package/dist/contracts/AgentWrapperV1.d.ts.map +1 -1
- package/dist/contracts/AgentWrapperV1.js +2693 -2708
- package/dist/contracts/AgentWrapperV2.d.ts.map +1 -1
- package/dist/contracts/AgentWrapperV2.js +1806 -1809
- package/dist/contracts/Appraiser.d.ts.map +1 -1
- package/dist/contracts/Appraiser.js +404 -410
- package/dist/contracts/Avantis.d.ts.map +1 -1
- package/dist/contracts/Avantis.js +1905 -1929
- package/dist/contracts/Billing.d.ts.map +1 -1
- package/dist/contracts/Billing.js +235 -247
- package/dist/contracts/ChequeBook.d.ts +294 -0
- package/dist/contracts/ChequeBook.d.ts.map +1 -1
- package/dist/contracts/ChequeBook.js +1198 -866
- package/dist/contracts/CompoundV3.d.ts.map +1 -1
- package/dist/contracts/CompoundV3.js +1919 -1943
- package/dist/contracts/ConvertVaultToken.d.ts.map +1 -1
- package/dist/contracts/ConvertVaultToken.js +31 -31
- package/dist/contracts/Curve.d.ts.map +1 -1
- package/dist/contracts/Curve.js +787 -802
- package/dist/contracts/DefaultsBase.d.ts.map +1 -1
- package/dist/contracts/DefaultsBase.js +178 -178
- package/dist/contracts/ERC20.d.ts.map +1 -1
- package/dist/contracts/ERC20.js +186 -192
- package/dist/contracts/EarnVault.d.ts.map +1 -1
- package/dist/contracts/EarnVault.js +1262 -1292
- package/dist/contracts/EarnVaultAgent.d.ts.map +1 -1
- package/dist/contracts/EarnVaultAgent.js +745 -760
- package/dist/contracts/EarnVaultAgentSigHelper.d.ts.map +1 -1
- package/dist/contracts/EarnVaultAgentSigHelper.js +665 -665
- package/dist/contracts/Euler.d.ts.map +1 -1
- package/dist/contracts/Euler.js +1948 -1975
- package/dist/contracts/ExtraFi.d.ts.map +1 -1
- package/dist/contracts/ExtraFi.js +1929 -1953
- package/dist/contracts/Fluid.d.ts.map +1 -1
- package/dist/contracts/Fluid.js +1927 -1951
- package/dist/contracts/FortyAcres.d.ts.map +1 -1
- package/dist/contracts/FortyAcres.js +1916 -1940
- package/dist/contracts/Hatchery.d.ts.map +1 -1
- package/dist/contracts/Hatchery.js +255 -264
- package/dist/contracts/Helpers.d.ts.map +1 -1
- package/dist/contracts/Helpers.js +1069 -1123
- package/dist/contracts/HighCommand.d.ts.map +1 -1
- package/dist/contracts/HighCommand.js +1395 -1407
- package/dist/contracts/Kernel.d.ts.map +1 -1
- package/dist/contracts/Kernel.js +224 -236
- package/dist/contracts/Ledger.d.ts +9 -12
- package/dist/contracts/Ledger.d.ts.map +1 -1
- package/dist/contracts/Ledger.js +480 -486
- package/dist/contracts/LegoBook.d.ts.map +1 -1
- package/dist/contracts/LegoBook.js +1069 -1123
- package/dist/contracts/LegoTools.d.ts +16 -22
- package/dist/contracts/LegoTools.d.ts.map +1 -1
- package/dist/contracts/LegoTools.js +1420 -1426
- package/dist/contracts/LevgVault.d.ts.map +1 -1
- package/dist/contracts/LevgVault.js +1544 -1580
- package/dist/contracts/LevgVaultAgent.d.ts.map +1 -1
- package/dist/contracts/LevgVaultAgent.js +1514 -1529
- package/dist/contracts/LevgVaultAgentSigHelper.d.ts.map +1 -1
- package/dist/contracts/LevgVaultAgentSigHelper.js +1769 -1769
- package/dist/contracts/LevgVaultHelper.d.ts.map +1 -1
- package/dist/contracts/LevgVaultHelper.js +732 -732
- package/dist/contracts/LevgVaultTools.d.ts.map +1 -1
- package/dist/contracts/LevgVaultTools.js +2118 -2118
- package/dist/contracts/LootDistributor.d.ts.map +1 -1
- package/dist/contracts/LootDistributor.js +754 -790
- package/dist/contracts/Migrator.d.ts.map +1 -1
- package/dist/contracts/Migrator.js +168 -174
- package/dist/contracts/MissionControl.d.ts.map +1 -1
- package/dist/contracts/MissionControl.js +956 -962
- package/dist/contracts/Moonwell.d.ts.map +1 -1
- package/dist/contracts/Moonwell.js +1918 -1942
- package/dist/contracts/Morpho.d.ts.map +1 -1
- package/dist/contracts/Morpho.js +1948 -1975
- package/dist/contracts/Paymaster.d.ts.map +1 -1
- package/dist/contracts/Paymaster.js +1203 -1224
- package/dist/contracts/RipeLego.d.ts.map +1 -1
- package/dist/contracts/RipeLego.js +2135 -2177
- package/dist/contracts/Sentinel.d.ts +32 -41
- package/dist/contracts/Sentinel.d.ts.map +1 -1
- package/dist/contracts/Sentinel.js +1398 -1398
- package/dist/contracts/SignatureHelper.d.ts.map +1 -1
- package/dist/contracts/SignatureHelper.js +3202 -3202
- package/dist/contracts/SignatureHelperV1.d.ts.map +1 -1
- package/dist/contracts/SignatureHelperV1.js +3202 -3202
- package/dist/contracts/SkyPsm.d.ts.map +1 -1
- package/dist/contracts/SkyPsm.js +1953 -1980
- package/dist/contracts/Switchboard.d.ts.map +1 -1
- package/dist/contracts/Switchboard.js +1085 -1139
- package/dist/contracts/SwitchboardAlpha.d.ts.map +1 -1
- package/dist/contracts/SwitchboardAlpha.js +2333 -2474
- package/dist/contracts/SwitchboardBravo.d.ts.map +1 -1
- package/dist/contracts/SwitchboardBravo.js +1138 -1216
- package/dist/contracts/SwitchboardCharlie.d.ts.map +1 -1
- package/dist/contracts/SwitchboardCharlie.js +2296 -2476
- package/dist/contracts/UnderscoreLego.d.ts.map +1 -1
- package/dist/contracts/UnderscoreLego.js +1894 -1918
- package/dist/contracts/UndyAero.d.ts.map +1 -1
- package/dist/contracts/UndyAero.js +1342 -1372
- package/dist/contracts/UndyBtc.d.ts.map +1 -1
- package/dist/contracts/UndyBtc.js +1342 -1372
- package/dist/contracts/UndyCbeth.d.ts.map +1 -1
- package/dist/contracts/UndyCbeth.js +1342 -1372
- package/dist/contracts/UndyEth.d.ts.map +1 -1
- package/dist/contracts/UndyEth.js +1342 -1372
- package/dist/contracts/UndyEurc.d.ts.map +1 -1
- package/dist/contracts/UndyEurc.js +1342 -1372
- package/dist/contracts/UndyGho.d.ts.map +1 -1
- package/dist/contracts/UndyGho.js +1342 -1372
- package/dist/contracts/UndyHq.d.ts.map +1 -1
- package/dist/contracts/UndyHq.js +1234 -1300
- package/dist/contracts/UndyRewardsLego.d.ts.map +1 -1
- package/dist/contracts/UndyRewardsLego.js +1120 -1120
- package/dist/contracts/UndyUsd.d.ts.map +1 -1
- package/dist/contracts/UndyUsd.js +1342 -1372
- package/dist/contracts/UndyUsdV2.d.ts +1762 -0
- package/dist/contracts/UndyUsdV2.d.ts.map +1 -0
- package/dist/contracts/UndyUsdV2.js +2267 -0
- package/dist/contracts/UndyUsds.d.ts.map +1 -1
- package/dist/contracts/UndyUsds.js +1342 -1372
- package/dist/contracts/UndyVirtual.d.ts.map +1 -1
- package/dist/contracts/UndyVirtual.js +1363 -1396
- package/dist/contracts/UniswapV2.d.ts.map +1 -1
- package/dist/contracts/UniswapV2.js +1518 -1533
- package/dist/contracts/UniswapV3.d.ts.map +1 -1
- package/dist/contracts/UniswapV3.js +1620 -1641
- package/dist/contracts/UserWallet.d.ts.map +1 -1
- package/dist/contracts/UserWallet.js +1999 -2005
- package/dist/contracts/UserWalletConfig.d.ts +67 -0
- package/dist/contracts/UserWalletConfig.d.ts.map +1 -1
- package/dist/contracts/UserWalletConfig.js +2649 -2592
- package/dist/contracts/UserWalletConfigV1.d.ts.map +1 -1
- package/dist/contracts/UserWalletConfigV1.js +2327 -2348
- package/dist/contracts/UserWalletSignatureHelper.d.ts.map +1 -1
- package/dist/contracts/UserWalletSignatureHelper.js +3436 -3436
- package/dist/contracts/UserWalletV1.d.ts.map +1 -1
- package/dist/contracts/UserWalletV1.js +1914 -1920
- package/dist/contracts/VaultRegistry.d.ts +11 -14
- package/dist/contracts/VaultRegistry.d.ts.map +1 -1
- package/dist/contracts/VaultRegistry.js +2343 -2439
- package/dist/contracts/WalletBackpack.d.ts.map +1 -1
- package/dist/contracts/WalletBackpack.js +926 -965
- package/dist/contracts/Wasabi.d.ts.map +1 -1
- package/dist/contracts/Wasabi.js +1917 -1941
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/sdk.d.ts +2 -0
- package/dist/contracts/sdk.d.ts.map +1 -1
- package/dist/contracts/sdk.js +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/package.json +44 -24
- package/LICENSE +0 -41
- package/dist/contracts/Agent.d.ts +0 -3773
- package/dist/contracts/Agent.d.ts.map +0 -1
- package/dist/contracts/Agent.js +0 -4942
- package/dist/getContracts.d.ts +0 -77
- package/dist/getContracts.d.ts.map +0 -1
- package/dist/getContracts.js +0 -64
package/AGENTS.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
| `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` |
|
|
23
|
+
| `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` |
|
|
24
|
+
| `AgentSenderGeneric` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, `currentNonce` | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `transferFunds`, `createAndPayCheque`, `depositForYield`, `withdrawFromYield`, … (+17) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
|
|
25
|
+
| `AgentSenderSpecial` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, `currentNonce`, … (+3) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `addCollateralAndBorrow`, `repayAndWithdraw`, `rebalanceYieldPositionsWithSwap`, `claimIncentivesAndSwap`, … (+1) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
|
|
26
|
+
| `AgentSenderSpecialSigHelper` | template | `getAddCollateralAndBorrowHash`, `getRepayAndWithdrawHash`, `getRebalanceYieldPositionsWithSwapHash`, `getClaimIncentivesAndSwapHash` | — | — |
|
|
27
|
+
| `AgentWrapper` | template | `isSender`, `groupId`, `senders`, `indexOfSender`, `numSenders` | `transferFunds`, `createAndPayCheque`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, … (+13) | `AgentAction` |
|
|
28
|
+
| `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` |
|
|
29
|
+
| `AgentWrapperV2` | template | `isSender`, `groupId`, `senders`, `indexOfSender`, `numSenders` | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+12) | `AgentAction` |
|
|
30
|
+
| `Appraiser` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `calculateYieldProfitsNoUpdate`, `lastPricePerShare`, `getUsdValue`, `getUnderlyingUsdValue`, … (+2) | `pause`, `recoverFunds`, `recoverFundsMany`, `calculateYieldProfits`, `updatePriceAndGetUsdValue`, `updatePriceAndGetUsdValueAndIsYieldAsset` | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
31
|
+
| `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` |
|
|
32
|
+
| `Billing` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `canPullPaymentAsCheque`, `canPullPaymentAsPayee` | `pause`, `recoverFunds`, `recoverFundsMany`, `pullPaymentAsCheque`, `pullPaymentAsPayee` | `ChequePaymentPulled`, `PayeePaymentPulled`, `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
33
|
+
| `ChequeBook` | singleton | `canCreateCheque`, `isValidNewCheque`, `isValidChequeSettings`, `getChequeConfig`, `createDefaultChequeSettings`, `UNDY_HQ`, `MIN_CHEQUE_PERIOD`, `MAX_CHEQUE_PERIOD`, … (+6) | `createCheque`, `cancelCheque`, `setChequeSettings`, `confirmPendingChequeSettings`, `cancelPendingChequeSettings` | `ChequeCreated`, `ChequeCancelled`, `ChequeSettingsModified`, `ChequeSettingsPending`, `ChequeSettingsPendingConfirmed`, `ChequeSettingsPendingCancelled` |
|
|
34
|
+
| `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` |
|
|
35
|
+
| `ConvertVaultToken` | singleton | — | `convertVaultToken` | — |
|
|
36
|
+
| `Curve` | singleton | `getAddys`, `getUndyHq`, `legoId`, `isPaused`, `hasCapability`, `getRegistries`, `isYieldLego`, `isDexLego`, … (+16) | `pause`, `recoverFunds`, `recoverFundsMany`, `swapTokens`, `addLiquidity`, `removeLiquidity` | `CurveSwap`, `CurveLiquidityAdded`, `CurveLiquidityRemoved`, `LegoPauseModified`, `LegoFundsRecovered` |
|
|
37
|
+
| `DefaultsBase` | singleton | `userWalletConfig`, `agentConfig`, `managerConfig`, `payeeConfig`, `chequeConfig`, `ripeRewardsConfig`, `securitySigners`, `whitelistedCreators` | — | — |
|
|
38
|
+
| `ERC20` | template | `name`, `symbol`, `decimals`, `totalSupply`, `balanceOf`, `allowance`, `nonces`, `DOMAIN_SEPARATOR` | `transfer`, `transferFrom`, `approve`, `permit` | `Transfer`, `Approval` |
|
|
39
|
+
| `EarnVault` | template | `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) |
|
|
40
|
+
| `EarnVaultAgent` | singleton | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, `groupId`, … (+1) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `depositForYield`, `withdrawFromYield`, `swapTokens`, `claimIncentives`, … (+2) | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
|
|
41
|
+
| `EarnVaultAgentSigHelper` | singleton | `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getSwapTokensHash`, `getClaimIncentivesHash`, `getBatchActionsHash` | — | — |
|
|
42
|
+
| `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) |
|
|
43
|
+
| `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` |
|
|
44
|
+
| `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` |
|
|
45
|
+
| `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` |
|
|
46
|
+
| `Hatchery` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `doesWalletStillHaveTrialFundsWithAddys`, `WETH`, `ETH` | `pause`, `recoverFunds`, `recoverFundsMany`, `createUserWallet` | `UserWalletCreated`, `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
47
|
+
| `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) |
|
|
48
|
+
| `HighCommand` | singleton | `isValidNewManager`, `validateManagerOnUpdate`, `validateGlobalManagerSettings`, `createDefaultGlobalManagerSettings`, `createStarterAgentSettings`, `getManagerSettingsBundle`, `UNDY_HQ`, `MIN_MANAGER_PERIOD`, … (+4) | `addManager`, `updateManager`, `removeManager`, `adjustManagerActivationLength`, `setGlobalManagerSettings` | `GlobalManagerSettingsModified`, `ManagerSettingsModified`, `ManagerRemoved`, `ManagerActivationLengthAdjusted` |
|
|
49
|
+
| `Kernel` | singleton | `canManageWhitelist`, `getWhitelistConfig`, `UNDY_HQ` | `addPendingWhitelistAddr`, `confirmWhitelistAddr`, `cancelPendingWhitelistAddr`, `removeWhitelistAddr` | `WhitelistAddrPending`, `WhitelistAddrConfirmed`, `WhitelistAddrCancelled`, `WhitelistAddrRemoved` |
|
|
50
|
+
| `Ledger` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `getNumUserWallets`, `isUserWallet`, `getLastTotalUsdValue`, `getUserAndGlobalPoints`, … (+14) | `pause`, `recoverFunds`, `recoverFundsMany`, `createUserWallet`, `setUserPoints`, `setGlobalPoints`, `setUserAndGlobalPoints`, `setVaultToken`, … (+2) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
51
|
+
| `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) |
|
|
52
|
+
| `LegoTools` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `aaveV3`, `aaveV3Id`, `compoundV3`, `compoundV3Id`, … (+38) | `pause`, `recoverFunds`, `recoverFundsMany`, `getRoutesAndSwapInstructionsAmountOut`, `getRoutesAndSwapInstructionsAmountIn`, `prepareSwapInstructionsAmountOut`, `getBestSwapRoutesAmountOut`, `getBestSwapAmountOutWithRouterPool`, … (+6) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
53
|
+
| `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) |
|
|
54
|
+
| `LevgVaultAgent` | singleton | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `getNonce`, `UNDY_HQ`, … (+3) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `borrowAndEarnYield`, `deleverage`, `compoundYieldGains`, `incrementNonce` | `NonceIncremented`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
|
|
55
|
+
| `LevgVaultAgentSigHelper` | singleton | `getBorrowAndEarnYieldHash`, `getDeleverageHash`, `getCompoundYieldGainsHash` | — | — |
|
|
56
|
+
| `LevgVaultHelper` | template | `getAddys`, `getUndyHq`, `getSwappableUsdcAmount`, `getMaxBorrowAmount`, `performPostSwapValidation`, `getTotalAssetsForUsdcVault`, `getTotalAssetsForNonUsdcVault`, `getCollateralBalance`, … (+8) | — | — |
|
|
57
|
+
| `LevgVaultTools` | singleton | `getAddys`, `getUndyHq`, `getTotalUnderlyingAmount`, `getAmountForAsset`, `getUnderlyingAmountForVaultToken`, `getRipeCollateralBalance`, `getUnderlyingGreenAmount`, `getSavingsGreenBalances`, … (+18) | — | — |
|
|
58
|
+
| `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) |
|
|
59
|
+
| `Migrator` | singleton | `canMigrateFundsToNewWallet`, `canCopyWalletConfig`, `getMigrationConfigBundle`, `UNDY_HQ` | `migrateAll`, `migrateFunds`, `cloneConfig` | `FundsMigrated`, `ConfigCloned` |
|
|
60
|
+
| `MissionControl` | singleton | `getAddys`, `getUndyHq`, `canMintUndy`, `isPaused`, `getUserWalletCreationConfig`, `getDepositRewardsAsset`, `getLootClaimCoolOffPeriod`, `getRipeRewardsConfig`, … (+22) | `pause`, `recoverFunds`, `recoverFundsMany`, `setUserWalletConfig`, `setManagerConfig`, `setPayeeConfig`, `setChequeConfig`, `setRipeRewardsConfig`, … (+7) | `DepartmentPauseModified`, `DepartmentFundsRecovered` |
|
|
61
|
+
| `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` |
|
|
62
|
+
| `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) |
|
|
63
|
+
| `Paymaster` | singleton | `isValidNewPayee`, `isValidPayeeUpdate`, `canAddPendingPayee`, `isValidGlobalPayeeSettings`, `getPayeeConfig`, `createDefaultGlobalPayeeSettings`, `UNDY_HQ`, `MIN_PAYEE_PERIOD`, … (+4) | `setGlobalPayeeSettings`, `addPayee`, `updatePayee`, `removePayee`, `addPendingPayee`, `confirmPendingPayee`, `cancelPendingPayee` | `PayeeAdded`, `PayeeUpdated`, `PayeeRemoved`, `GlobalPayeeSettingsModified`, `PayeePending`, `PayeePendingConfirmed`, `PayeePendingCancelled` |
|
|
64
|
+
| `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) |
|
|
65
|
+
| `Sentinel` | singleton | `canSignerPerformAction`, `canSignerPerformActionWithConfig`, `canManagerFinishTx`, `checkManagerLimitsPostTx`, `isValidPayee`, `isValidPayeeAndGetData`, `isValidChequeAndGetData` | — | — |
|
|
66
|
+
| `SignatureHelper` | singleton | `getTransferFundsHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, `getMintOrRedeemAssetHash`, `getConfirmMintOrRedeemAssetHash`, `getAddCollateralHash`, … (+11) | — | — |
|
|
67
|
+
| `SignatureHelperV1` | template | `getTransferFundsHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, `getMintOrRedeemAssetHash`, `getConfirmMintOrRedeemAssetHash`, `getAddCollateralHash`, … (+11) | — | — |
|
|
68
|
+
| `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) |
|
|
69
|
+
| `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) |
|
|
70
|
+
| `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) |
|
|
71
|
+
| `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) |
|
|
72
|
+
| `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) |
|
|
73
|
+
| `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` |
|
|
74
|
+
| `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) |
|
|
75
|
+
| `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) |
|
|
76
|
+
| `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) |
|
|
77
|
+
| `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) |
|
|
78
|
+
| `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) |
|
|
79
|
+
| `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) |
|
|
80
|
+
| `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) |
|
|
81
|
+
| `UndyRewardsLego` | singleton | `getAddys`, `getUndyHq`, `hasClaimableRewards`, `hasCapability`, `getRegistries`, `isDexLego`, `isYieldLego`, `isPaused`, … (+3) | `claimRewards`, `pause`, `recoverFunds`, `recoverFundsMany`, `depositForYield`, `withdrawFromYield`, `swapTokens`, `mintOrRedeemAsset`, … (+9) | — |
|
|
82
|
+
| `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) |
|
|
83
|
+
| `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) |
|
|
84
|
+
| `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) |
|
|
85
|
+
| `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) |
|
|
86
|
+
| `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` |
|
|
87
|
+
| `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` |
|
|
88
|
+
| `UserWallet` | template | `onERC721Received`, `apiVersion`, `walletConfig`, `assetData`, `assets`, `indexOfAsset`, `numAssets`, `WETH`, … (+1) | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+14) | `WalletAction`, `WalletActionExt` |
|
|
89
|
+
| `UserWalletConfig` | template | `hasPendingOwnerChange`, `owner`, `ownershipTimeLock`, `pendingOwner`, `MIN_OWNERSHIP_TIMELOCK`, `MAX_OWNERSHIP_TIMELOCK`, `apiVersion`, `checkSignerPermissionsAndGetBundle`, … (+42) | `changeOwnership`, `confirmOwnershipChange`, `cancelOwnershipChange`, `setOwnershipTimeLock`, `setWallet`, `checkManagerLimitsPostTx`, `checkRecipientLimitsAndUpdateData`, `validateCheque`, … (+38) | `EjectionModeSet`, `FrozenSet`, `NftRecovered`, `OwnershipChangeInitiated`, `OwnershipChangeConfirmed`, `OwnershipChangeCancelled`, `OwnershipTimeLockSet` |
|
|
90
|
+
| `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` |
|
|
91
|
+
| `UserWalletSignatureHelper` | template | `getTransferFundsHash`, `getCreateAndPayChequeHash`, `getDepositForYieldHash`, `getWithdrawFromYieldHash`, `getRebalanceYieldPositionHash`, `getSwapTokensHash`, `getMintOrRedeemAssetHash`, `getConfirmMintOrRedeemAssetHash`, … (+13) | — | — |
|
|
92
|
+
| `UserWalletV1` | template | `onERC721Received`, `apiVersion`, `walletConfig`, `assetData`, `assets`, `indexOfAsset`, `numAssets`, `WETH`, … (+1) | `transferFunds`, `depositForYield`, `withdrawFromYield`, `rebalanceYieldPosition`, `swapTokens`, `mintOrRedeemAsset`, `confirmMintOrRedeemAsset`, `addCollateral`, … (+14) | `WalletAction`, `WalletActionExt` |
|
|
93
|
+
| `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) |
|
|
94
|
+
| `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) |
|
|
95
|
+
| `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` |
|
|
96
|
+
|
|
97
|
+
*singleton = fixed `deployAddress` baked in. template = pass the address per use via `.at(addr)` in React or `sdk.Contract(addr)` in the SDK factory.*
|
|
98
|
+
|
|
99
|
+
## Use it
|
|
100
|
+
|
|
101
|
+
### React — prefer `useContextQuery` (batches across the whole tree)
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import { AaveV3 } from './src/contracts'
|
|
105
|
+
import { useContextQuery } from '@dappql/react'
|
|
106
|
+
|
|
107
|
+
const { data, isLoading } = useContextQuery({
|
|
108
|
+
getAddys: AaveV3.call.getAddys(),
|
|
109
|
+
getUndyHq: AaveV3.call.getUndyHq(),
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### React — mutations
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
import { AeroClassic } from './src/contracts'
|
|
117
|
+
import { useMutation } from '@dappql/react'
|
|
118
|
+
|
|
119
|
+
const tx = useMutation(AeroClassic.mutation.pause, 'pause')
|
|
120
|
+
tx.send(/* _shouldPause */)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Template contracts
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
// Template contract — bind the address per call
|
|
127
|
+
AgentSenderGeneric.call.hasPendingOwnerChange().at(contractAddress)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Non-React — generated SDK factory
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
import createSdk from './src/contracts/sdk'
|
|
134
|
+
|
|
135
|
+
const sdk = createSdk(publicClient, walletClient)
|
|
136
|
+
const value = await sdk.AaveV3.getAddys()
|
|
137
|
+
const bound = sdk.AgentSenderGeneric('0x...') // template: pass address
|
|
138
|
+
const result = await bound.hasPendingOwnerChange()
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Non-React — ad-hoc multicall
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
import { query } from '@dappql/async'
|
|
145
|
+
import { AaveV3 } from './src/contracts'
|
|
146
|
+
|
|
147
|
+
const { data } = await query(publicClient, {
|
|
148
|
+
value: AaveV3.call.getAddys(),
|
|
149
|
+
})
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Non-negotiables
|
|
153
|
+
|
|
154
|
+
- **Always import from `./src/contracts`.** Never hand-craft ABIs or hardcode addresses already in the config. Re-run `dappql` after editing `dapp.config.js`.
|
|
155
|
+
- **Never use `useReadContract` / `useReadContracts` / `useWriteContract` directly** when you can use `useContextQuery` / `useQuery` / `useMutation`. The batching and typing layer is the whole point.
|
|
156
|
+
- **Default to `useContextQuery`** over `useQuery` — it fuses calls across the component tree into one RPC.
|
|
157
|
+
- **`uint256` is `bigint`.** Use `0n`, `1n`, `BigInt(n)`. Never pass plain numbers where `bigint` is expected.
|
|
158
|
+
- **Addresses are `\`0x${string}\``.** Checksum untrusted input via viem's `getAddress`.
|
|
159
|
+
- **Mutation `send` takes spread args**: `tx.send(a, b, c)`, not `tx.send([a, b, c])`.
|
|
160
|
+
- **Template contracts require an address** per use — use `.at(addr)` on the call builder or `sdk.Contract(addr)` in the SDK factory.
|
|
161
|
+
|
|
162
|
+
<!-- dappql:end -->
|
package/README.md
CHANGED
|
@@ -1,131 +1,32 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @underscore-finance/sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SDK for interacting with Underscore Finance Smart Contracts with TypeScript
|
|
4
4
|
|
|
5
|
-
##
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
17
|
+
```ts
|
|
18
|
+
import createSdk from '@underscore-finance/sdk/sdk'
|
|
19
|
+
import { createPublicClient, http } from 'viem'
|
|
78
20
|
|
|
79
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
27
|
+
- Website: https://underscore.finance
|
|
28
|
+
- Repo: https://github.com/underscore-finance/typescript-sdk
|
|
128
29
|
|
|
129
|
-
|
|
30
|
+
---
|
|
130
31
|
|
|
131
|
-
Built
|
|
32
|
+
Built with [DappQL](https://dappql.com).
|