@gearbox-protocol/sdk 14.11.3 → 14.12.0-next.10
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/dist/cjs/abi/iZapper.js +62 -24
- package/dist/cjs/common-utils/utils/index.js +2 -0
- package/dist/cjs/{history/trace-utils.js → common-utils/utils/trace.js} +62 -5
- package/dist/cjs/dev/AccountOpener.js +7 -13
- package/dist/cjs/dev/index.js +3 -1
- package/dist/cjs/dev/verifyTestnet.js +52 -0
- package/dist/cjs/history/assembleOperations.js +6 -6
- package/dist/cjs/history/classifyMulticallOperations.js +33 -25
- package/dist/cjs/history/index.js +0 -2
- package/dist/cjs/history/mapOperations.js +7 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -6
- package/dist/cjs/history/toLegacyOperation.js +5 -1
- package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +61 -37
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
- package/dist/cjs/{history/internal-types.js → plugins/adapters/transfers.js} +2 -2
- package/dist/cjs/preview/index.js +26 -0
- package/dist/cjs/preview/package.json +1 -0
- package/dist/cjs/preview/parse/classifyInnerOperations.js +105 -0
- package/dist/cjs/preview/parse/errors.js +50 -0
- package/dist/cjs/preview/parse/index.js +34 -0
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +108 -0
- package/dist/cjs/preview/parse/parseOperationCalldata.js +85 -0
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +89 -0
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
- package/dist/cjs/{history/inner-operations.js → preview/parse/types-adapters.js} +2 -2
- package/dist/cjs/preview/parse/types-facades.js +16 -0
- package/dist/cjs/preview/parse/types-pools.js +16 -0
- package/dist/cjs/preview/parse/types-rwa.js +16 -0
- package/dist/cjs/preview/parse/types.js +44 -0
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +78 -0
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +95 -0
- package/dist/cjs/preview/prerequisites/Prerequisite.js +85 -0
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +297 -0
- package/dist/cjs/preview/prerequisites/index.js +36 -0
- package/dist/cjs/preview/prerequisites/prepareAction.js +48 -0
- package/dist/cjs/preview/prerequisites/runPrerequisites.js +71 -0
- package/dist/cjs/preview/prerequisites/types.js +16 -0
- package/dist/cjs/preview/preview/applyInnerOperations.js +132 -0
- package/dist/cjs/preview/preview/errors.js +52 -0
- package/dist/cjs/preview/preview/index.js +30 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
- package/dist/cjs/preview/preview/previewOperation.js +45 -0
- package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
- package/dist/cjs/preview/preview/types.js +16 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
- package/dist/cjs/preview/simulate/errors.js +91 -0
- package/dist/cjs/preview/simulate/index.js +40 -0
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +30 -0
- package/dist/cjs/preview/simulate/simulateOperation.js +41 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +91 -0
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
- package/dist/cjs/preview/simulate/types.js +16 -0
- package/dist/cjs/{history → preview/trace}/errors.js +0 -26
- package/dist/cjs/preview/trace/extractAdapterCallTraces.js +58 -0
- package/dist/cjs/{history → preview/trace}/extractTransfers.js +9 -12
- package/dist/cjs/{history → preview/trace}/findFacadeCalls.js +3 -3
- package/dist/cjs/preview/trace/index.js +30 -0
- package/dist/cjs/preview/trace/types.js +16 -0
- package/dist/cjs/sdk/MultichainSDK.js +1 -0
- package/dist/cjs/sdk/OnchainSDK.js +7 -3
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -4
- package/dist/cjs/sdk/base/BaseContract.js +4 -2
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/cjs/sdk/market/MarketRegister.js +10 -5
- package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
- package/dist/cjs/sdk/market/rwa/types.js +5 -2
- package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
- package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
- package/dist/cjs/sdk/market/zapper/ZapperContract.js +106 -0
- package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
- package/dist/cjs/sdk/market/zapper/{Zapper.js → errors.js} +13 -23
- package/dist/cjs/sdk/market/zapper/index.js +6 -2
- package/dist/cjs/sdk/market/zapper/types.js +16 -0
- package/dist/cjs/sdk/options.js +41 -17
- package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
- package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/utils/AddressMap.js +6 -0
- package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/abi/iZapper.js +62 -24
- package/dist/esm/common-utils/utils/index.js +1 -0
- package/dist/esm/common-utils/utils/trace.js +93 -0
- package/dist/esm/dev/AccountOpener.js +8 -13
- package/dist/esm/dev/index.js +1 -0
- package/dist/esm/dev/verifyTestnet.js +27 -0
- package/dist/esm/history/assembleOperations.js +8 -6
- package/dist/esm/history/classifyMulticallOperations.js +31 -23
- package/dist/esm/history/index.js +0 -1
- package/dist/esm/history/mapOperations.js +7 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -4
- package/dist/esm/history/toLegacyOperation.js +5 -1
- package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +64 -38
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
- package/dist/esm/preview/index.js +3 -0
- package/dist/esm/preview/package.json +1 -0
- package/dist/esm/preview/parse/classifyInnerOperations.js +81 -0
- package/dist/esm/preview/parse/errors.js +24 -0
- package/dist/esm/preview/parse/index.js +7 -0
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +84 -0
- package/dist/esm/preview/parse/parseOperationCalldata.js +66 -0
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +65 -0
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
- package/dist/esm/preview/parse/types-facades.js +0 -0
- package/dist/esm/preview/parse/types-pools.js +0 -0
- package/dist/esm/preview/parse/types-rwa.js +0 -0
- package/dist/esm/preview/parse/types.js +14 -0
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +57 -0
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +74 -0
- package/dist/esm/preview/prerequisites/Prerequisite.js +63 -0
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +279 -0
- package/dist/esm/preview/prerequisites/index.js +8 -0
- package/dist/esm/preview/prerequisites/prepareAction.js +23 -0
- package/dist/esm/preview/prerequisites/runPrerequisites.js +47 -0
- package/dist/esm/preview/prerequisites/types.js +0 -0
- package/dist/esm/preview/preview/applyInnerOperations.js +110 -0
- package/dist/esm/preview/preview/errors.js +27 -0
- package/dist/esm/preview/preview/index.js +5 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
- package/dist/esm/preview/preview/previewOperation.js +21 -0
- package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
- package/dist/esm/preview/preview/types.js +0 -0
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
- package/dist/esm/preview/simulate/errors.js +69 -0
- package/dist/esm/preview/simulate/index.js +12 -0
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +6 -0
- package/dist/esm/preview/simulate/simulateOperation.js +20 -0
- package/dist/esm/preview/simulate/simulatePoolOperation.js +67 -0
- package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
- package/dist/esm/preview/simulate/types.js +0 -0
- package/dist/esm/{history → preview/trace}/errors.js +0 -24
- package/dist/esm/preview/trace/extractAdapterCallTraces.js +40 -0
- package/dist/esm/{history → preview/trace}/extractTransfers.js +9 -12
- package/dist/esm/{history → preview/trace}/findFacadeCalls.js +4 -2
- package/dist/esm/preview/trace/index.js +5 -0
- package/dist/esm/preview/trace/types.js +0 -0
- package/dist/esm/sdk/MultichainSDK.js +1 -0
- package/dist/esm/sdk/OnchainSDK.js +7 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +158 -5
- package/dist/esm/sdk/base/BaseContract.js +4 -2
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/esm/sdk/market/MarketRegister.js +10 -5
- package/dist/esm/sdk/market/ZapperRegister.js +54 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
- package/dist/esm/sdk/market/rwa/types.js +5 -2
- package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
- package/dist/esm/sdk/market/zapper/ZapperContract.js +82 -0
- package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
- package/dist/esm/sdk/market/zapper/errors.js +13 -0
- package/dist/esm/sdk/market/zapper/index.js +3 -1
- package/dist/esm/sdk/market/zapper/types.js +0 -0
- package/dist/esm/sdk/options.js +39 -15
- package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
- package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/utils/AddressMap.js +6 -0
- package/dist/esm/sdk/utils/AssetsMap.js +38 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/abi/iERC20Zapper.d.ts +91 -23
- package/dist/types/abi/iETHZapper.d.ts +91 -23
- package/dist/types/abi/iZapper.d.ts +91 -23
- package/dist/types/common-utils/utils/index.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
- package/dist/types/common-utils/utils/trace.d.ts +73 -0
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
- package/dist/types/dev/index.d.ts +1 -0
- package/dist/types/dev/verifyTestnet.d.ts +24 -0
- package/dist/types/history/assembleOperations.d.ts +11 -6
- package/dist/types/history/classifyMulticallOperations.d.ts +21 -9
- package/dist/types/history/index.d.ts +0 -1
- package/dist/types/history/mapOperations.d.ts +7 -9
- package/dist/types/history/types.d.ts +22 -71
- package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +33 -16
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +10 -1
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/transferHelpers.d.ts +1 -1
- package/dist/types/plugins/adapters/transfers.d.ts +17 -0
- package/dist/types/plugins/adapters/types.d.ts +18 -46
- package/dist/types/preview/index.d.ts +3 -0
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +19 -0
- package/dist/types/preview/parse/errors.d.ts +18 -0
- package/dist/types/preview/parse/index.d.ts +7 -0
- package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +19 -0
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +23 -0
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +17 -0
- package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
- package/dist/types/preview/parse/types-adapters.d.ts +73 -0
- package/dist/types/preview/parse/types-facades.d.ts +147 -0
- package/dist/types/preview/parse/types-pools.d.ts +143 -0
- package/dist/types/preview/parse/types-rwa.d.ts +48 -0
- package/dist/types/preview/parse/types.d.ts +49 -0
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +22 -0
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +26 -0
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +60 -0
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +25 -0
- package/dist/types/preview/prerequisites/index.d.ts +8 -0
- package/dist/types/preview/prerequisites/prepareAction.d.ts +52 -0
- package/dist/types/preview/prerequisites/runPrerequisites.d.ts +12 -0
- package/dist/types/preview/prerequisites/types.d.ts +80 -0
- package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
- package/dist/types/preview/preview/errors.d.ts +21 -0
- package/dist/types/preview/preview/index.d.ts +5 -0
- package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
- package/dist/types/preview/preview/previewOperation.d.ts +7 -0
- package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
- package/dist/types/preview/preview/types.d.ts +177 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
- package/dist/types/preview/simulate/errors.d.ts +45 -0
- package/dist/types/preview/simulate/index.d.ts +10 -0
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +23 -0
- package/dist/types/preview/simulate/simulateOperation.d.ts +18 -0
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +14 -0
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
- package/dist/types/preview/simulate/types.d.ts +52 -0
- package/dist/types/{history → preview/trace}/errors.d.ts +0 -10
- package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +23 -0
- package/dist/types/{history → preview/trace}/extractTransfers.d.ts +14 -5
- package/dist/types/{history → preview/trace}/findFacadeCalls.d.ts +3 -2
- package/dist/types/preview/trace/index.d.ts +5 -0
- package/dist/types/preview/trace/types.d.ts +21 -0
- package/dist/types/sdk/MultichainSDK.d.ts +5 -0
- package/dist/types/sdk/OnchainSDK.d.ts +4 -0
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +22 -2
- package/dist/types/sdk/accounts/types.d.ts +84 -2
- package/dist/types/sdk/base/BaseContract.d.ts +1 -1
- package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
- package/dist/types/sdk/base/types.d.ts +18 -0
- package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
- package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
- package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
- package/dist/types/sdk/market/rwa/types.d.ts +13 -5
- package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
- package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
- package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
- package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
- package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
- package/dist/types/sdk/market/zapper/index.d.ts +3 -1
- package/dist/types/sdk/market/zapper/types.d.ts +64 -0
- package/dist/types/sdk/options.d.ts +10 -5
- package/dist/types/sdk/pools/types.d.ts +4 -4
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
- package/dist/types/sdk/router/helpers.d.ts +1 -2
- package/dist/types/sdk/router/types.d.ts +1 -15
- package/dist/types/sdk/types/state-human.d.ts +9 -0
- package/dist/types/sdk/types/state.d.ts +7 -0
- package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
- package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +8 -3
- package/dist/cjs/history/extractProtocolCalls.js +0 -53
- package/dist/esm/history/extractProtocolCalls.js +0 -32
- package/dist/esm/history/trace-utils.js +0 -36
- package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
- package/dist/types/history/extractProtocolCalls.d.ts +0 -8
- package/dist/types/history/inner-operations.d.ts +0 -57
- package/dist/types/history/internal-types.d.ts +0 -47
- package/dist/types/history/trace-utils.d.ts +0 -12
- package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
- /package/dist/esm/{history/inner-operations.js → plugins/adapters/transfers.js} +0 -0
- /package/dist/esm/{history/internal-types.js → preview/parse/types-adapters.js} +0 -0
|
@@ -36,7 +36,6 @@ var import_base = require("../base/index.js");
|
|
|
36
36
|
var import_chains = require("../chain/chains.js");
|
|
37
37
|
var import_constants = require("../constants/index.js");
|
|
38
38
|
var import_market = require("../market/index.js");
|
|
39
|
-
var import_router = require("../router/index.js");
|
|
40
39
|
var import_utils = require("../utils/index.js");
|
|
41
40
|
var import_viem2 = require("../utils/viem/index.js");
|
|
42
41
|
var import_multicall_utils = require("./multicall-utils.js");
|
|
@@ -1552,6 +1551,160 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1552
1551
|
callsWithPrices
|
|
1553
1552
|
);
|
|
1554
1553
|
}
|
|
1554
|
+
/**
|
|
1555
|
+
* {@inheritDoc ICreditAccountsService.prependPriceUpdates}
|
|
1556
|
+
*/
|
|
1557
|
+
async prependPriceUpdates(creditManager, calls, creditAccount, options) {
|
|
1558
|
+
return this.#prependPriceUpdates(
|
|
1559
|
+
creditManager,
|
|
1560
|
+
calls,
|
|
1561
|
+
creditAccount,
|
|
1562
|
+
options
|
|
1563
|
+
);
|
|
1564
|
+
}
|
|
1565
|
+
/**
|
|
1566
|
+
* {@inheritDoc ICreditAccountsService.assembleCaUpdateCalls}
|
|
1567
|
+
*/
|
|
1568
|
+
assembleCaUpdateCalls({
|
|
1569
|
+
operations,
|
|
1570
|
+
routerCallGroups,
|
|
1571
|
+
creditFacade,
|
|
1572
|
+
withdrawTo,
|
|
1573
|
+
creditAccount,
|
|
1574
|
+
underlyingToken
|
|
1575
|
+
}) {
|
|
1576
|
+
const calls = [];
|
|
1577
|
+
let swapGroupIndex = 0;
|
|
1578
|
+
let routerGroupsConsumed = 0;
|
|
1579
|
+
for (const op of operations) {
|
|
1580
|
+
switch (op.type) {
|
|
1581
|
+
case "increaseDebt":
|
|
1582
|
+
calls.push(this.#prepareIncreaseDebt(creditFacade, op.amount));
|
|
1583
|
+
break;
|
|
1584
|
+
case "decreaseDebt":
|
|
1585
|
+
calls.push(this.#prepareChangeDebt(creditFacade, op.amount, true));
|
|
1586
|
+
break;
|
|
1587
|
+
case "addCollateral":
|
|
1588
|
+
calls.push(
|
|
1589
|
+
...this.#prepareAddCollateral(
|
|
1590
|
+
creditFacade,
|
|
1591
|
+
[{ token: op.token, balance: op.amount }],
|
|
1592
|
+
{}
|
|
1593
|
+
)
|
|
1594
|
+
);
|
|
1595
|
+
break;
|
|
1596
|
+
case "withdrawCollateral":
|
|
1597
|
+
calls.push(
|
|
1598
|
+
this.#prepareWithdrawToken(
|
|
1599
|
+
creditFacade,
|
|
1600
|
+
op.token,
|
|
1601
|
+
op.amount,
|
|
1602
|
+
withdrawTo
|
|
1603
|
+
)
|
|
1604
|
+
);
|
|
1605
|
+
break;
|
|
1606
|
+
case "swap": {
|
|
1607
|
+
const routerCalls = routerCallGroups[swapGroupIndex];
|
|
1608
|
+
if (!routerCalls) {
|
|
1609
|
+
throw new Error(
|
|
1610
|
+
`assembleCaUpdateCalls: missing router calls for swap leg ${swapGroupIndex}`
|
|
1611
|
+
);
|
|
1612
|
+
}
|
|
1613
|
+
calls.push(...routerCalls);
|
|
1614
|
+
swapGroupIndex += 1;
|
|
1615
|
+
routerGroupsConsumed += 1;
|
|
1616
|
+
break;
|
|
1617
|
+
}
|
|
1618
|
+
case "changeQuota": {
|
|
1619
|
+
const quotaAssets = [...op.quotaIncrease, ...op.quotaDecrease];
|
|
1620
|
+
if (quotaAssets.length === 0) {
|
|
1621
|
+
break;
|
|
1622
|
+
}
|
|
1623
|
+
calls.push(
|
|
1624
|
+
...this.#prepareUpdateQuotas(creditFacade, {
|
|
1625
|
+
averageQuota: quotaAssets,
|
|
1626
|
+
minQuota: quotaAssets
|
|
1627
|
+
})
|
|
1628
|
+
);
|
|
1629
|
+
break;
|
|
1630
|
+
}
|
|
1631
|
+
case "closeCreditAccount": {
|
|
1632
|
+
for (const group of routerCallGroups) {
|
|
1633
|
+
calls.push(...group);
|
|
1634
|
+
routerGroupsConsumed += 1;
|
|
1635
|
+
}
|
|
1636
|
+
calls.push(
|
|
1637
|
+
...this.#prepareDisableQuotas({
|
|
1638
|
+
creditFacade,
|
|
1639
|
+
tokens: Object.entries(creditAccount.initialQuotas).map(
|
|
1640
|
+
([token, { quota }]) => ({
|
|
1641
|
+
token,
|
|
1642
|
+
quota
|
|
1643
|
+
})
|
|
1644
|
+
)
|
|
1645
|
+
})
|
|
1646
|
+
);
|
|
1647
|
+
if (creditAccount.debt > 0n) {
|
|
1648
|
+
calls.push(
|
|
1649
|
+
...this.#prepareDecreaseDebt({
|
|
1650
|
+
creditFacade,
|
|
1651
|
+
debt: creditAccount.debt
|
|
1652
|
+
})
|
|
1653
|
+
);
|
|
1654
|
+
}
|
|
1655
|
+
const hasAssets = creditAccount.assets.some(
|
|
1656
|
+
(asset) => asset.balance > 0n
|
|
1657
|
+
);
|
|
1658
|
+
if (hasAssets) {
|
|
1659
|
+
calls.push(
|
|
1660
|
+
this.#prepareWithdrawToken(
|
|
1661
|
+
creditFacade,
|
|
1662
|
+
underlyingToken,
|
|
1663
|
+
import_constants.MAX_UINT256,
|
|
1664
|
+
withdrawTo
|
|
1665
|
+
)
|
|
1666
|
+
);
|
|
1667
|
+
}
|
|
1668
|
+
break;
|
|
1669
|
+
}
|
|
1670
|
+
default: {
|
|
1671
|
+
const _exhaustive = op;
|
|
1672
|
+
throw new Error(
|
|
1673
|
+
`assembleCaUpdateCalls: unsupported operation ${_exhaustive}`
|
|
1674
|
+
);
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
if (routerGroupsConsumed !== routerCallGroups.length) {
|
|
1679
|
+
throw new Error(
|
|
1680
|
+
`assembleCaUpdateCalls: router call group mismatch (consumed ${routerGroupsConsumed}, got ${routerCallGroups.length})`
|
|
1681
|
+
);
|
|
1682
|
+
}
|
|
1683
|
+
return calls;
|
|
1684
|
+
}
|
|
1685
|
+
/**
|
|
1686
|
+
* {@inheritDoc ICreditAccountsService.executeCaUpdate}
|
|
1687
|
+
*/
|
|
1688
|
+
async executeCaUpdate(creditAccount, calls, options) {
|
|
1689
|
+
const cm = this.sdk.marketRegister.findCreditManager(
|
|
1690
|
+
creditAccount.creditManager
|
|
1691
|
+
);
|
|
1692
|
+
const callsWithPrices = await this.#prependPriceUpdates(
|
|
1693
|
+
creditAccount.creditManager,
|
|
1694
|
+
calls,
|
|
1695
|
+
creditAccount,
|
|
1696
|
+
{ ignoreReservePrices: options?.ignoreReservePrices }
|
|
1697
|
+
);
|
|
1698
|
+
const tx = await this.#multicallTx(
|
|
1699
|
+
cm,
|
|
1700
|
+
creditAccount.creditAccount,
|
|
1701
|
+
callsWithPrices
|
|
1702
|
+
);
|
|
1703
|
+
if (options?.ethAmount && options.ethAmount > 0n) {
|
|
1704
|
+
tx.value = options.ethAmount.toString(10);
|
|
1705
|
+
}
|
|
1706
|
+
return { tx, calls: callsWithPrices };
|
|
1707
|
+
}
|
|
1555
1708
|
#prepareDisableQuotas(ca) {
|
|
1556
1709
|
const calls = [];
|
|
1557
1710
|
for (const { token, quota } of ca.tokens) {
|
|
@@ -1569,10 +1722,10 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1569
1722
|
return calls;
|
|
1570
1723
|
}
|
|
1571
1724
|
#prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
|
|
1572
|
-
const minRecord =
|
|
1725
|
+
const minRecord = new import_utils.AssetsMap(minQuota);
|
|
1573
1726
|
const calls = averageQuota.map((q) => {
|
|
1574
|
-
const
|
|
1575
|
-
const min =
|
|
1727
|
+
const minBalance = minRecord.get(q.token);
|
|
1728
|
+
const min = minBalance && minBalance > 0n ? minBalance : 0n;
|
|
1576
1729
|
return {
|
|
1577
1730
|
target: creditFacade,
|
|
1578
1731
|
callData: (0, import_viem.encodeFunctionData)({
|
|
@@ -244,6 +244,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
244
244
|
const functionName = (0, import_utils.getFunctionSignature)(this.abi, calldata);
|
|
245
245
|
return this.wrapParseCallV2(
|
|
246
246
|
functionName,
|
|
247
|
+
calldata,
|
|
247
248
|
this.parseFunctionParamsV2(decoded, strict)
|
|
248
249
|
);
|
|
249
250
|
} catch (e) {
|
|
@@ -257,7 +258,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
257
258
|
this.logger?.warn(e);
|
|
258
259
|
const selector = calldata.slice(0, 10);
|
|
259
260
|
const data = `0x${calldata.slice(10)}`;
|
|
260
|
-
return this.wrapParseCallV2(`unknown function ${selector}`, {
|
|
261
|
+
return this.wrapParseCallV2(`unknown function ${selector}`, calldata, {
|
|
261
262
|
_data: data
|
|
262
263
|
});
|
|
263
264
|
}
|
|
@@ -270,7 +271,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
270
271
|
parseFunctionParamsV2(params, _strict) {
|
|
271
272
|
return (0, import_utils.functionArgsToRecord)(this.abi, params.functionName, params.args);
|
|
272
273
|
}
|
|
273
|
-
wrapParseCallV2(functionName, rawArgs) {
|
|
274
|
+
wrapParseCallV2(functionName, calldata, rawArgs) {
|
|
274
275
|
return {
|
|
275
276
|
chainId: this.chainId,
|
|
276
277
|
target: this.address,
|
|
@@ -278,6 +279,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
278
279
|
label: this.labelAddress(this.address, true),
|
|
279
280
|
version: this.version,
|
|
280
281
|
functionName,
|
|
282
|
+
calldata,
|
|
281
283
|
rawArgs
|
|
282
284
|
};
|
|
283
285
|
}
|
|
@@ -52,10 +52,11 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
52
52
|
* bypassing on-chain reads.
|
|
53
53
|
* @param state - Array of market data snapshots.
|
|
54
54
|
**/
|
|
55
|
-
hydrate(
|
|
56
|
-
const configurators = new Set(
|
|
55
|
+
hydrate({ markets, zappers }) {
|
|
56
|
+
const configurators = new Set(markets.map((m) => m.configurator));
|
|
57
57
|
this.#setMarketFilter([...configurators]);
|
|
58
|
-
this.#setMarkets(
|
|
58
|
+
this.#setMarkets(markets);
|
|
59
|
+
this.hydrateZappers(zappers);
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
61
62
|
* @internal
|
|
@@ -174,7 +175,10 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
174
175
|
* Serializable snapshot of all loaded markets, suitable for hydration.
|
|
175
176
|
**/
|
|
176
177
|
get state() {
|
|
177
|
-
return
|
|
178
|
+
return {
|
|
179
|
+
markets: this.markets.map((market) => market.state),
|
|
180
|
+
zappers: this.zappersState
|
|
181
|
+
};
|
|
178
182
|
}
|
|
179
183
|
/**
|
|
180
184
|
* Returns a human-readable snapshot of all markets.
|
|
@@ -182,7 +186,8 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
182
186
|
**/
|
|
183
187
|
stateHuman(raw = true) {
|
|
184
188
|
return {
|
|
185
|
-
markets: this.markets.map((market) => market.stateHuman(raw))
|
|
189
|
+
markets: this.markets.map((market) => market.stateHuman(raw)),
|
|
190
|
+
zappers: this.zappersStateHuman(raw)
|
|
186
191
|
};
|
|
187
192
|
}
|
|
188
193
|
/**
|
|
@@ -75,6 +75,60 @@ class ZapperRegister extends import_base.SDKConstruct {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Serializable snapshot of all loaded zappers, suitable for hydration.
|
|
80
|
+
* Returns `undefined` when zappers were never loaded (i.e. `loadZappers` was
|
|
81
|
+
* not called), so the not-loaded state round-trips cleanly.
|
|
82
|
+
**/
|
|
83
|
+
get zappersState() {
|
|
84
|
+
if (!this.#zappers) {
|
|
85
|
+
return void 0;
|
|
86
|
+
}
|
|
87
|
+
return this.#zappers.values().flatMap(
|
|
88
|
+
(zappers) => zappers.map((z) => ({
|
|
89
|
+
pool: z.pool,
|
|
90
|
+
type: z.type,
|
|
91
|
+
baseParams: z.baseParams,
|
|
92
|
+
tokenIn: z.tokenIn,
|
|
93
|
+
tokenOut: z.tokenOut
|
|
94
|
+
}))
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Restores zapper state from a previously serialized snapshot,
|
|
99
|
+
* bypassing on-chain reads.
|
|
100
|
+
* @param state - Array of zapper data snapshots, or `undefined` when zappers
|
|
101
|
+
* were not loaded in the snapshot (leaves the registry in the not-loaded state).
|
|
102
|
+
**/
|
|
103
|
+
hydrateZappers(state) {
|
|
104
|
+
if (!state) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.#zappers = new import_utils.AddressMap(void 0, "zappers");
|
|
108
|
+
for (const z of state) {
|
|
109
|
+
this.#addZapper(z);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Returns a human-readable snapshot of all loaded zappers.
|
|
114
|
+
* Returns `undefined` when zappers were never loaded.
|
|
115
|
+
* @param raw - When `true`, includes raw/unformatted values.
|
|
116
|
+
**/
|
|
117
|
+
zappersStateHuman(_ = true) {
|
|
118
|
+
if (!this.#zappers) {
|
|
119
|
+
return void 0;
|
|
120
|
+
}
|
|
121
|
+
return this.#zappers.values().flatMap(
|
|
122
|
+
(zappers) => zappers.map((z) => ({
|
|
123
|
+
address: this.labelAddress(z.baseParams.addr),
|
|
124
|
+
contractType: z.contractType,
|
|
125
|
+
type: z.type,
|
|
126
|
+
pool: this.labelAddress(z.pool),
|
|
127
|
+
tokenIn: this.sdk.labelAddress(z.tokenIn.addr),
|
|
128
|
+
tokenOut: this.sdk.labelAddress(z.tokenOut.addr)
|
|
129
|
+
}))
|
|
130
|
+
);
|
|
131
|
+
}
|
|
78
132
|
#addZapper(z) {
|
|
79
133
|
const zapper = (0, import_zapper.createZapper)(this.sdk, z);
|
|
80
134
|
const existing = this.zappers.get(z.pool);
|
|
@@ -70,6 +70,30 @@ class SecuritizeRWAFactory extends import_base.BaseContract {
|
|
|
70
70
|
operators: [...t.operators]
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
73
|
+
parseFunctionParamsV2(params, strict) {
|
|
74
|
+
switch (params.functionName) {
|
|
75
|
+
case "openCreditAccount": {
|
|
76
|
+
const [creditManager, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
77
|
+
return {
|
|
78
|
+
creditManager,
|
|
79
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
80
|
+
tokensToRegister,
|
|
81
|
+
signaturesToCache
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
case "multicall": {
|
|
85
|
+
const [creditAccount, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
86
|
+
return {
|
|
87
|
+
creditAccount,
|
|
88
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
89
|
+
tokensToRegister,
|
|
90
|
+
signaturesToCache
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
default:
|
|
94
|
+
return super.parseFunctionParamsV2(params, strict);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
73
97
|
/**
|
|
74
98
|
* {@inheritDoc IRWAFactory.decodeInvestorData}
|
|
75
99
|
*/
|
|
@@ -125,6 +149,12 @@ class SecuritizeRWAFactory extends import_base.BaseContract {
|
|
|
125
149
|
})
|
|
126
150
|
};
|
|
127
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* {@inheritDoc IRWAFactory.getTokens}
|
|
154
|
+
*/
|
|
155
|
+
getTokens() {
|
|
156
|
+
return this.dsTokens.map((t) => t.address);
|
|
157
|
+
}
|
|
128
158
|
/**
|
|
129
159
|
* {@inheritDoc IRWAFactory.getInvestor}
|
|
130
160
|
*/
|
|
@@ -24,8 +24,11 @@ __export(types_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(types_exports);
|
|
25
25
|
var import_securitize = require("./securitize/index.js");
|
|
26
26
|
const RWA_FACTORY_TYPES = [import_securitize.RWA_FACTORY_SECURITIZE];
|
|
27
|
-
function isRWAFactory(
|
|
28
|
-
|
|
27
|
+
function isRWAFactory(contract, type) {
|
|
28
|
+
if (type) {
|
|
29
|
+
return contract.contractType === type;
|
|
30
|
+
}
|
|
31
|
+
return contract.contractType.startsWith("RWA_FACTORY::");
|
|
29
32
|
}
|
|
30
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
34
|
0 && (module.exports = {
|
|
@@ -22,27 +22,11 @@ __export(IERC20ZapperContract_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(IERC20ZapperContract_exports);
|
|
24
24
|
var import_iERC20Zapper = require("../../../abi/iERC20Zapper.js");
|
|
25
|
-
var
|
|
25
|
+
var import_ZapperContract = require("./ZapperContract.js");
|
|
26
26
|
const abi = import_iERC20Zapper.ierc20ZapperAbi;
|
|
27
|
-
class IERC20ZapperContract extends
|
|
28
|
-
pool;
|
|
29
|
-
type;
|
|
30
|
-
baseParams;
|
|
31
|
-
tokenIn;
|
|
32
|
-
tokenOut;
|
|
27
|
+
class IERC20ZapperContract extends import_ZapperContract.ZapperContract {
|
|
33
28
|
constructor(sdk, data) {
|
|
34
|
-
super(sdk,
|
|
35
|
-
addr: data.baseParams.addr,
|
|
36
|
-
abi,
|
|
37
|
-
name: `ERC20Zapper(${sdk.labelAddress(data.baseParams.addr)})`,
|
|
38
|
-
version: data.baseParams.version,
|
|
39
|
-
contractType: data.baseParams.contractType
|
|
40
|
-
});
|
|
41
|
-
this.pool = data.pool;
|
|
42
|
-
this.type = data.type;
|
|
43
|
-
this.baseParams = data.baseParams;
|
|
44
|
-
this.tokenIn = data.tokenIn;
|
|
45
|
-
this.tokenOut = data.tokenOut;
|
|
29
|
+
super(sdk, data, abi, "ERC20Zapper");
|
|
46
30
|
}
|
|
47
31
|
/**
|
|
48
32
|
* Deposits ERC20 tokens into the pool via this zapper.
|
|
@@ -72,25 +56,6 @@ class IERC20ZapperContract extends import_base.BaseContract {
|
|
|
72
56
|
args: [tokenInAmount, receiver, referralCode, deadline, v, r, s]
|
|
73
57
|
});
|
|
74
58
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
77
|
-
*/
|
|
78
|
-
redeem(tokenInAmount, receiver) {
|
|
79
|
-
return this.createRawTx({
|
|
80
|
-
functionName: "redeem",
|
|
81
|
-
args: [tokenInAmount, receiver]
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
86
|
-
* skipping a separate approve transaction.
|
|
87
|
-
*/
|
|
88
|
-
redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
|
|
89
|
-
return this.createRawTx({
|
|
90
|
-
functionName: "redeemWithPermit",
|
|
91
|
-
args: [tokenInAmount, receiver, deadline, v, r, s]
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
59
|
}
|
|
95
60
|
// Annotate the CommonJS export names for ESM import in node:
|
|
96
61
|
0 && (module.exports = {
|
|
@@ -22,27 +22,11 @@ __export(IETHZapperContract_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(IETHZapperContract_exports);
|
|
24
24
|
var import_iETHZapper = require("../../../abi/iETHZapper.js");
|
|
25
|
-
var
|
|
25
|
+
var import_ZapperContract = require("./ZapperContract.js");
|
|
26
26
|
const abi = import_iETHZapper.iethZapperAbi;
|
|
27
|
-
class IETHZapperContract extends
|
|
28
|
-
pool;
|
|
29
|
-
type;
|
|
30
|
-
baseParams;
|
|
31
|
-
tokenIn;
|
|
32
|
-
tokenOut;
|
|
27
|
+
class IETHZapperContract extends import_ZapperContract.ZapperContract {
|
|
33
28
|
constructor(sdk, data) {
|
|
34
|
-
super(sdk,
|
|
35
|
-
addr: data.baseParams.addr,
|
|
36
|
-
abi,
|
|
37
|
-
name: `ETHZapper(${sdk.labelAddress(data.baseParams.addr)})`,
|
|
38
|
-
version: data.baseParams.version,
|
|
39
|
-
contractType: data.baseParams.contractType
|
|
40
|
-
});
|
|
41
|
-
this.pool = data.pool;
|
|
42
|
-
this.type = data.type;
|
|
43
|
-
this.baseParams = data.baseParams;
|
|
44
|
-
this.tokenIn = data.tokenIn;
|
|
45
|
-
this.tokenOut = data.tokenOut;
|
|
29
|
+
super(sdk, data, abi, "ETHZapper");
|
|
46
30
|
}
|
|
47
31
|
/**
|
|
48
32
|
* Deposits native ETH into the pool via this zapper.
|
|
@@ -63,25 +47,6 @@ class IETHZapperContract extends import_base.BaseContract {
|
|
|
63
47
|
args: [receiver, referralCode]
|
|
64
48
|
});
|
|
65
49
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
68
|
-
*/
|
|
69
|
-
redeem(tokenInAmount, receiver) {
|
|
70
|
-
return this.createRawTx({
|
|
71
|
-
functionName: "redeem",
|
|
72
|
-
args: [tokenInAmount, receiver]
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
77
|
-
* skipping a separate approve transaction.
|
|
78
|
-
*/
|
|
79
|
-
redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
|
|
80
|
-
return this.createRawTx({
|
|
81
|
-
functionName: "redeemWithPermit",
|
|
82
|
-
args: [tokenInAmount, receiver, deadline, v, r, s]
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
50
|
}
|
|
86
51
|
// Annotate the CommonJS export names for ESM import in node:
|
|
87
52
|
0 && (module.exports = {
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ZapperContract_exports = {};
|
|
20
|
+
__export(ZapperContract_exports, {
|
|
21
|
+
ZapperContract: () => ZapperContract
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ZapperContract_exports);
|
|
24
|
+
var import_iZapper = require("../../../abi/iZapper.js");
|
|
25
|
+
var import_base = require("../../base/index.js");
|
|
26
|
+
var import_errors = require("./errors.js");
|
|
27
|
+
class ZapperContract extends import_base.BaseContract {
|
|
28
|
+
sdk;
|
|
29
|
+
pool;
|
|
30
|
+
type;
|
|
31
|
+
baseParams;
|
|
32
|
+
tokenIn;
|
|
33
|
+
tokenOut;
|
|
34
|
+
constructor(sdk, data, abi = import_iZapper.iZapperAbi, namePrefix = "Zapper") {
|
|
35
|
+
super(sdk, {
|
|
36
|
+
addr: data.baseParams.addr,
|
|
37
|
+
abi,
|
|
38
|
+
name: `${namePrefix}(${sdk.labelAddress(data.baseParams.addr)})`,
|
|
39
|
+
version: data.baseParams.version,
|
|
40
|
+
contractType: data.baseParams.contractType
|
|
41
|
+
});
|
|
42
|
+
this.sdk = sdk;
|
|
43
|
+
this.pool = data.pool;
|
|
44
|
+
this.type = data.type;
|
|
45
|
+
this.baseParams = data.baseParams;
|
|
46
|
+
this.tokenIn = data.tokenIn;
|
|
47
|
+
this.tokenOut = data.tokenOut;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Decodes zapper calldata into {@link ParsedZapperOperation}.
|
|
51
|
+
* Throws {@link UnsupportedZapperFunctionError} for unknown selectors.
|
|
52
|
+
*/
|
|
53
|
+
parseOperation(calldata, value) {
|
|
54
|
+
const parsed = this.parseFunctionDataV2(calldata);
|
|
55
|
+
const { rawArgs } = parsed;
|
|
56
|
+
const pool = this.pool;
|
|
57
|
+
const zapper = this.address;
|
|
58
|
+
const underlying = this.sdk.marketRegister.findByPool(pool).underlying;
|
|
59
|
+
const receiver = rawArgs.receiver;
|
|
60
|
+
if (parsed.functionName.startsWith("deposit")) {
|
|
61
|
+
return {
|
|
62
|
+
operation: "Deposit",
|
|
63
|
+
pool,
|
|
64
|
+
zapper,
|
|
65
|
+
receiver,
|
|
66
|
+
assets: rawArgs.tokenInAmount ?? value ?? 0n,
|
|
67
|
+
underlying,
|
|
68
|
+
referralCode: rawArgs.referralCode
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (parsed.functionName.startsWith("redeem")) {
|
|
72
|
+
return {
|
|
73
|
+
operation: "Redeem",
|
|
74
|
+
pool,
|
|
75
|
+
zapper,
|
|
76
|
+
receiver,
|
|
77
|
+
shares: rawArgs.tokenOutAmount,
|
|
78
|
+
underlying
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
throw new import_errors.UnsupportedZapperFunctionError(zapper, parsed.functionName);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
85
|
+
*/
|
|
86
|
+
redeem(tokenInAmount, receiver) {
|
|
87
|
+
return this.createRawTx({
|
|
88
|
+
functionName: "redeem",
|
|
89
|
+
args: [tokenInAmount, receiver]
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
94
|
+
* skipping a separate approve transaction.
|
|
95
|
+
*/
|
|
96
|
+
redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
|
|
97
|
+
return this.createRawTx({
|
|
98
|
+
functionName: "redeemWithPermit",
|
|
99
|
+
args: [tokenInAmount, receiver, deadline, v, r, s]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
+
0 && (module.exports = {
|
|
105
|
+
ZapperContract
|
|
106
|
+
});
|
|
@@ -21,23 +21,31 @@ __export(createZapper_exports, {
|
|
|
21
21
|
createZapper: () => createZapper
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(createZapper_exports);
|
|
24
|
+
var import_utils = require("../../utils/index.js");
|
|
24
25
|
var import_IERC20ZapperContract = require("./IERC20ZapperContract.js");
|
|
25
26
|
var import_IETHZapperContract = require("./IETHZapperContract.js");
|
|
26
|
-
var
|
|
27
|
+
var import_ZapperContract = require("./ZapperContract.js");
|
|
27
28
|
function createZapper(sdk, data) {
|
|
29
|
+
const existing = sdk.getContract(data.baseParams.addr);
|
|
30
|
+
if (existing) {
|
|
31
|
+
return existing;
|
|
32
|
+
}
|
|
28
33
|
if (data.type === "base") {
|
|
29
|
-
const contractType =
|
|
34
|
+
const contractType = (0, import_utils.bytes32ToString)(data.baseParams.contractType);
|
|
30
35
|
switch (contractType) {
|
|
31
36
|
case "ZAPPER::ERC4626_UNDERLYING":
|
|
32
37
|
return new import_IERC20ZapperContract.IERC20ZapperContract(sdk, data);
|
|
33
38
|
case "ZAPPER::WETH_DEPOSIT":
|
|
34
39
|
return new import_IETHZapperContract.IETHZapperContract(sdk, data);
|
|
35
40
|
default:
|
|
41
|
+
if (sdk.strictContractTypes) {
|
|
42
|
+
throw new Error(`Unknown zapper contract type: ${contractType}`);
|
|
43
|
+
}
|
|
36
44
|
sdk.logger?.warn(`Unknown zapper contract type: ${contractType}`);
|
|
37
|
-
return new
|
|
45
|
+
return new import_ZapperContract.ZapperContract(sdk, data);
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
|
-
return new
|
|
48
|
+
return new import_ZapperContract.ZapperContract(sdk, data);
|
|
41
49
|
}
|
|
42
50
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
51
|
0 && (module.exports = {
|
|
@@ -16,32 +16,22 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var errors_exports = {};
|
|
20
|
+
__export(errors_exports, {
|
|
21
|
+
UnsupportedZapperFunctionError: () => UnsupportedZapperFunctionError
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
constructor(data) {
|
|
33
|
-
this.pool = data.pool;
|
|
34
|
-
this.type = data.type;
|
|
35
|
-
this.baseParams = data.baseParams;
|
|
36
|
-
this.tokenIn = data.tokenIn;
|
|
37
|
-
this.tokenOut = data.tokenOut;
|
|
38
|
-
this.contractType = Zapper.contractType(data.baseParams);
|
|
39
|
-
}
|
|
40
|
-
static contractType(baseParams) {
|
|
41
|
-
return (0, import_utils.bytes32ToString)(baseParams.contractType);
|
|
23
|
+
module.exports = __toCommonJS(errors_exports);
|
|
24
|
+
class UnsupportedZapperFunctionError extends Error {
|
|
25
|
+
zapper;
|
|
26
|
+
functionName;
|
|
27
|
+
constructor(zapper, functionName) {
|
|
28
|
+
super(`unsupported zapper function "${functionName}" on ${zapper}`);
|
|
29
|
+
this.name = "UnsupportedZapperFunctionError";
|
|
30
|
+
this.zapper = zapper;
|
|
31
|
+
this.functionName = functionName;
|
|
42
32
|
}
|
|
43
33
|
}
|
|
44
34
|
// Annotate the CommonJS export names for ESM import in node:
|
|
45
35
|
0 && (module.exports = {
|
|
46
|
-
|
|
36
|
+
UnsupportedZapperFunctionError
|
|
47
37
|
});
|