@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
|
@@ -16,13 +16,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
16
16
|
var zapper_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(zapper_exports);
|
|
18
18
|
__reExport(zapper_exports, require("./createZapper.js"), module.exports);
|
|
19
|
+
__reExport(zapper_exports, require("./errors.js"), module.exports);
|
|
19
20
|
__reExport(zapper_exports, require("./IERC20ZapperContract.js"), module.exports);
|
|
20
21
|
__reExport(zapper_exports, require("./IETHZapperContract.js"), module.exports);
|
|
21
|
-
__reExport(zapper_exports, require("./
|
|
22
|
+
__reExport(zapper_exports, require("./types.js"), module.exports);
|
|
23
|
+
__reExport(zapper_exports, require("./ZapperContract.js"), module.exports);
|
|
22
24
|
// Annotate the CommonJS export names for ESM import in node:
|
|
23
25
|
0 && (module.exports = {
|
|
24
26
|
...require("./createZapper.js"),
|
|
27
|
+
...require("./errors.js"),
|
|
25
28
|
...require("./IERC20ZapperContract.js"),
|
|
26
29
|
...require("./IETHZapperContract.js"),
|
|
27
|
-
...require("./
|
|
30
|
+
...require("./types.js"),
|
|
31
|
+
...require("./ZapperContract.js")
|
|
28
32
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
package/dist/cjs/sdk/options.js
CHANGED
|
@@ -18,19 +18,25 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var options_exports = {};
|
|
20
20
|
__export(options_exports, {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
attachOptionsSchema: () => attachOptionsSchema,
|
|
22
|
+
onchainSDKOptionsSchema: () => onchainSDKOptionsSchema
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(options_exports);
|
|
25
25
|
var import_v4 = require("zod/v4");
|
|
26
26
|
var import_updates = require("./market/pricefeeds/updates/index.js");
|
|
27
27
|
var import_utils = require("./utils/index.js");
|
|
28
|
-
const
|
|
29
|
-
/**
|
|
28
|
+
const onchainSDKOptionsSchema = import_v4.z.object({
|
|
29
|
+
/**
|
|
30
|
+
* When `true`, throw on unrecognised contract types.
|
|
31
|
+
**/
|
|
30
32
|
strictContractTypes: import_v4.z.boolean().optional(),
|
|
31
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Plugins that extend SDK functionality.
|
|
35
|
+
**/
|
|
32
36
|
plugins: import_v4.z.record(import_v4.z.string(), import_v4.z.any()).optional(),
|
|
33
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Custom logger implementation.
|
|
39
|
+
**/
|
|
34
40
|
logger: import_v4.z.any(),
|
|
35
41
|
/**
|
|
36
42
|
* Explicit gas limit for read-only `eth_call` requests.
|
|
@@ -39,10 +45,14 @@ const OnchainSDKOptionsSchema = import_v4.z.object({
|
|
|
39
45
|
**/
|
|
40
46
|
gasLimit: import_v4.z.bigint().nonnegative().nullable().optional()
|
|
41
47
|
});
|
|
42
|
-
const
|
|
43
|
-
/**
|
|
48
|
+
const attachOptionsSchema = import_v4.z.object({
|
|
49
|
+
/**
|
|
50
|
+
* Override address of the Gearbox AddressProvider contract.
|
|
51
|
+
**/
|
|
44
52
|
addressProvider: (0, import_utils.ZodAddress)().optional(),
|
|
45
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* Addresses of market configurator contracts to load.
|
|
55
|
+
**/
|
|
46
56
|
marketConfigurators: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
|
|
47
57
|
/**
|
|
48
58
|
* Addresses of RWA factory contracts to load.
|
|
@@ -50,19 +60,33 @@ const AttachOptionsSchema = import_v4.z.object({
|
|
|
50
60
|
* (from {@link GearboxChain.rwaFactories})
|
|
51
61
|
**/
|
|
52
62
|
rwaFactories: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
|
|
53
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Pin SDK to a specific block number during attach.
|
|
65
|
+
**/
|
|
54
66
|
blockNumber: import_v4.z.union([import_v4.z.bigint().nonnegative(), import_v4.z.number().int().nonnegative()]).optional(),
|
|
55
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Skip fetching updatable price feeds on attach and sync.
|
|
69
|
+
**/
|
|
56
70
|
ignoreUpdateablePrices: import_v4.z.boolean().optional(),
|
|
57
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Pool addresses whose markets should be skipped.
|
|
73
|
+
**/
|
|
58
74
|
ignoreMarkets: import_v4.z.array((0, import_utils.ZodAddress)()).optional(),
|
|
59
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Options for Redstone price-feed updates.
|
|
77
|
+
**/
|
|
60
78
|
redstone: import_updates.RedstoneOptions.optional(),
|
|
61
|
-
/**
|
|
62
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Options for Pyth price-feed updates.
|
|
81
|
+
**/
|
|
82
|
+
pyth: import_updates.PythOptions.optional(),
|
|
83
|
+
/**
|
|
84
|
+
* When `true`, automatically load zappers during attach.
|
|
85
|
+
**/
|
|
86
|
+
loadZappers: import_v4.z.boolean().optional()
|
|
63
87
|
});
|
|
64
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
65
89
|
0 && (module.exports = {
|
|
66
|
-
|
|
67
|
-
|
|
90
|
+
attachOptionsSchema,
|
|
91
|
+
onchainSDKOptionsSchema
|
|
68
92
|
});
|
|
@@ -41,15 +41,15 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
41
41
|
options.debtOnly
|
|
42
42
|
);
|
|
43
43
|
const { leftoverBalances, expectedBalances, tokensToClaim } = b;
|
|
44
|
-
const expected = new import_utils.
|
|
45
|
-
const leftover = new import_utils.
|
|
44
|
+
const expected = new import_utils.AssetsMap();
|
|
45
|
+
const leftover = new import_utils.AssetsMap();
|
|
46
46
|
for (const token of cm.collateralTokens) {
|
|
47
|
-
const actual = expectedBalances.get(token)
|
|
48
|
-
expected.upsert(token,
|
|
49
|
-
leftover.upsert(
|
|
47
|
+
const actual = expectedBalances.get(token) || 0n;
|
|
48
|
+
expected.upsert(token, actual > 10n ? actual : 0n);
|
|
49
|
+
leftover.upsert(
|
|
50
50
|
token,
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
(0, import_helpers.limitLeftover)(leftoverBalances.get(token) || 1n, token) ?? 1n
|
|
52
|
+
);
|
|
53
53
|
}
|
|
54
54
|
return {
|
|
55
55
|
expectedBalances: expected,
|
|
@@ -58,8 +58,8 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
|
|
61
|
-
const expectedBalances = new import_utils.
|
|
62
|
-
const leftoverBalances = new import_utils.
|
|
61
|
+
const expectedBalances = new import_utils.AssetsMap();
|
|
62
|
+
const leftoverBalances = new import_utils.AssetsMap();
|
|
63
63
|
const keepAssetsSet = new import_utils.AddressSet(keepAssets);
|
|
64
64
|
if (debtOnly) {
|
|
65
65
|
const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
|
|
@@ -71,23 +71,23 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
71
71
|
}
|
|
72
72
|
for (const { token, balance, mask } of ca.tokens) {
|
|
73
73
|
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
74
|
-
expectedBalances.upsert(token,
|
|
74
|
+
expectedBalances.upsert(token, balance);
|
|
75
75
|
if (keepAssetsSet.has(token) || !isEnabled || (0, import_utils.isDust)({
|
|
76
76
|
sdk: this.sdk,
|
|
77
77
|
token,
|
|
78
78
|
balance,
|
|
79
79
|
creditManager: ca.creditManager
|
|
80
80
|
})) {
|
|
81
|
-
leftoverBalances.upsert(
|
|
81
|
+
leftoverBalances.upsert(
|
|
82
82
|
token,
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
(0, import_helpers.limitLeftover)(balance, token) ?? balance
|
|
84
|
+
);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
return {
|
|
88
88
|
expectedBalances,
|
|
89
89
|
leftoverBalances,
|
|
90
|
-
tokensToClaim: new import_utils.
|
|
90
|
+
tokensToClaim: new import_utils.AssetsMap()
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
@@ -100,16 +100,13 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
100
100
|
const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
|
|
101
101
|
ca.creditManager
|
|
102
102
|
);
|
|
103
|
-
const expectedBalances = new import_utils.
|
|
104
|
-
const leftoverBalances = new import_utils.
|
|
103
|
+
const expectedBalances = new import_utils.AssetsMap();
|
|
104
|
+
const leftoverBalances = new import_utils.AssetsMap();
|
|
105
105
|
const usdBalances = [];
|
|
106
106
|
for (const { token, balance, mask } of ca.tokens) {
|
|
107
107
|
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
108
|
-
expectedBalances.upsert(token,
|
|
109
|
-
leftoverBalances.upsert(token,
|
|
110
|
-
token,
|
|
111
|
-
balance: (0, import_helpers.limitLeftover)(balance, token) ?? balance
|
|
112
|
-
});
|
|
108
|
+
expectedBalances.upsert(token, balance);
|
|
109
|
+
leftoverBalances.upsert(token, (0, import_helpers.limitLeftover)(balance, token) ?? balance);
|
|
113
110
|
if (isEnabled && !keepAssets.has(token)) {
|
|
114
111
|
usdBalances.push({
|
|
115
112
|
token,
|
|
@@ -139,15 +136,12 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
139
136
|
if (tokenAmount === 0n) {
|
|
140
137
|
return void 0;
|
|
141
138
|
}
|
|
142
|
-
let leftoverBalance = leftoverBalances.get(highestToken.token)
|
|
139
|
+
let leftoverBalance = leftoverBalances.get(highestToken.token) ?? 0n;
|
|
143
140
|
leftoverBalance -= tokenAmount;
|
|
144
141
|
if (leftoverBalance < 0n) {
|
|
145
142
|
return void 0;
|
|
146
143
|
}
|
|
147
|
-
leftoverBalances.upsert(highestToken.token,
|
|
148
|
-
token: highestToken.token,
|
|
149
|
-
balance: leftoverBalance
|
|
150
|
-
});
|
|
144
|
+
leftoverBalances.upsert(highestToken.token, leftoverBalance);
|
|
151
145
|
const tokenAmountStr = this.sdk.tokensMeta.formatBN(
|
|
152
146
|
highestToken.token,
|
|
153
147
|
tokenAmount,
|
|
@@ -160,7 +154,7 @@ class AbstractRouterContract extends import_base.BaseContract {
|
|
|
160
154
|
return {
|
|
161
155
|
expectedBalances,
|
|
162
156
|
leftoverBalances,
|
|
163
|
-
tokensToClaim: new import_utils.
|
|
157
|
+
tokensToClaim: new import_utils.AssetsMap()
|
|
164
158
|
};
|
|
165
159
|
}
|
|
166
160
|
safeConvertToUSD(priceOracle, token, balance) {
|
|
@@ -23,14 +23,13 @@ __export(RouterV310Contract_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(RouterV310Contract_exports);
|
|
24
24
|
var import_viem = require("viem");
|
|
25
25
|
var import_gearboxRouter = require("../../abi/router/gearboxRouter.js");
|
|
26
|
-
var import_AddressMap = require("../utils/AddressMap.js");
|
|
27
26
|
var import_formatter = require("../utils/formatter.js");
|
|
28
27
|
var import_utils = require("../utils/index.js");
|
|
29
28
|
var import_AbstractRouterContract = require("./AbstractRouterContract.js");
|
|
30
29
|
var import_helpers = require("./helpers.js");
|
|
31
30
|
const abi = import_gearboxRouter.gearboxRouterAbi;
|
|
32
31
|
class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterContract {
|
|
33
|
-
#numSplits = new
|
|
32
|
+
#numSplits = new import_utils.AddressMap();
|
|
34
33
|
#defaultNumSplits = 4n;
|
|
35
34
|
constructor(sdk, address, version) {
|
|
36
35
|
super(sdk, {
|
|
@@ -94,8 +93,8 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
|
|
|
94
93
|
slippage
|
|
95
94
|
} = props;
|
|
96
95
|
const [expectedMap, leftoverMap] = [
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
new import_utils.AssetsMap(expectedBalances),
|
|
97
|
+
new import_utils.AssetsMap(leftoverBalances)
|
|
99
98
|
];
|
|
100
99
|
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances);
|
|
101
100
|
const tData = cm.collateralTokens.map(
|
|
@@ -180,22 +179,22 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
|
|
|
180
179
|
} = props;
|
|
181
180
|
const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
|
|
182
181
|
balances: balances ? {
|
|
183
|
-
expectedBalances:
|
|
184
|
-
leftoverBalances:
|
|
185
|
-
tokensToClaim:
|
|
182
|
+
expectedBalances: new import_utils.AssetsMap(balances.expectedBalances),
|
|
183
|
+
leftoverBalances: new import_utils.AssetsMap(balances.leftoverBalances),
|
|
184
|
+
tokensToClaim: new import_utils.AssetsMap(balances.tokensToClaim || [])
|
|
186
185
|
} : void 0,
|
|
187
186
|
keepAssets: balances ? void 0 : keepAssets,
|
|
188
187
|
debtOnly
|
|
189
188
|
});
|
|
190
|
-
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.
|
|
189
|
+
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.toAssets());
|
|
191
190
|
const tData = [];
|
|
192
191
|
for (const token of cm.collateralTokens) {
|
|
193
192
|
tData.push({
|
|
194
193
|
token,
|
|
195
|
-
balance: expectedBalances.get(token)
|
|
196
|
-
leftoverBalance: (0, import_helpers.limitLeftover)(leftoverBalances.get(token)
|
|
194
|
+
balance: expectedBalances.get(token) || 0n,
|
|
195
|
+
leftoverBalance: (0, import_helpers.limitLeftover)(leftoverBalances.get(token), token) ?? 0n,
|
|
197
196
|
numSplits: getNumSplits(token),
|
|
198
|
-
claimRewards:
|
|
197
|
+
claimRewards: tokensToClaim.has(token)
|
|
199
198
|
});
|
|
200
199
|
}
|
|
201
200
|
this.logger?.debug(
|
|
@@ -278,7 +277,7 @@ class RouterV310Contract extends import_AbstractRouterContract.AbstractRouterCon
|
|
|
278
277
|
})),
|
|
279
278
|
"balances in usd"
|
|
280
279
|
);
|
|
281
|
-
const map = new
|
|
280
|
+
const map = new import_utils.AddressMap(
|
|
282
281
|
inUSD.map(({ token }, i) => [
|
|
283
282
|
token,
|
|
284
283
|
i === 0 ? this.#defaultNumSplits : 1n
|
|
@@ -19,14 +19,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var helpers_exports = {};
|
|
20
20
|
__export(helpers_exports, {
|
|
21
21
|
assetsMap: () => assetsMap,
|
|
22
|
-
balancesMap: () => balancesMap,
|
|
23
22
|
limitLeftover: () => limitLeftover
|
|
24
23
|
});
|
|
25
24
|
module.exports = __toCommonJS(helpers_exports);
|
|
26
25
|
var import_utils = require("../utils/index.js");
|
|
27
|
-
function balancesMap(assets) {
|
|
28
|
-
return new import_utils.AddressMap(assets.map(({ token, balance }) => [token, balance]));
|
|
29
|
-
}
|
|
30
26
|
function assetsMap(assets) {
|
|
31
27
|
return new import_utils.AddressMap(assets.map((a) => [a.token, a]));
|
|
32
28
|
}
|
|
@@ -42,6 +38,5 @@ function limitLeftover(balance, token) {
|
|
|
42
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
39
|
0 && (module.exports = {
|
|
44
40
|
assetsMap,
|
|
45
|
-
balancesMap,
|
|
46
41
|
limitLeftover
|
|
47
42
|
});
|
|
@@ -136,6 +136,12 @@ class AddressMap {
|
|
|
136
136
|
keys() {
|
|
137
137
|
return Array.from(this.#map.keys());
|
|
138
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns an unfrozen shallow copy of the map.
|
|
141
|
+
**/
|
|
142
|
+
clone() {
|
|
143
|
+
return new AddressMap(this.entries(), this.name);
|
|
144
|
+
}
|
|
139
145
|
/**
|
|
140
146
|
* Converts the map to a plain `Record<Address, T>` object.
|
|
141
147
|
**/
|
|
@@ -0,0 +1,62 @@
|
|
|
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 AssetsMap_exports = {};
|
|
20
|
+
__export(AssetsMap_exports, {
|
|
21
|
+
AssetsMap: () => AssetsMap
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(AssetsMap_exports);
|
|
24
|
+
var import_AddressMap = require("./AddressMap.js");
|
|
25
|
+
class AssetsMap extends import_AddressMap.AddressMap {
|
|
26
|
+
/**
|
|
27
|
+
* @param entries - Optional initial entries as `[address, balance]` tuples or {@link Asset} objects.
|
|
28
|
+
* @param name - Optional label used in error messages when a lookup fails.
|
|
29
|
+
*/
|
|
30
|
+
constructor(entries, name) {
|
|
31
|
+
super(
|
|
32
|
+
entries?.map((e) => Array.isArray(e) ? e : [e.token, e.balance]),
|
|
33
|
+
name
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Adds `amount` to the token balance, treating a missing key as `0n`.
|
|
38
|
+
*/
|
|
39
|
+
inc(address, amount) {
|
|
40
|
+
this.upsert(address, (this.get(address) ?? 0n) + amount);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Subtracts `amount` from the token balance, treating a missing key as `0n`.
|
|
44
|
+
*/
|
|
45
|
+
dec(address, amount) {
|
|
46
|
+
this.inc(address, -amount);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Converts the map to an array of {@link Asset} objects.
|
|
50
|
+
* @param filterDust - If true, filters out assets with a balance less than 1.
|
|
51
|
+
*/
|
|
52
|
+
toAssets(filterDust = false) {
|
|
53
|
+
return this.entries().filter(filterDust ? ([, balance]) => balance > 1n : () => true).map(([token, balance]) => ({ token, balance }));
|
|
54
|
+
}
|
|
55
|
+
clone() {
|
|
56
|
+
return new AssetsMap(this.entries(), this.name);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {
|
|
61
|
+
AssetsMap
|
|
62
|
+
});
|
|
@@ -17,6 +17,7 @@ var utils_exports = {};
|
|
|
17
17
|
module.exports = __toCommonJS(utils_exports);
|
|
18
18
|
__reExport(utils_exports, require("./AddressMap.js"), module.exports);
|
|
19
19
|
__reExport(utils_exports, require("./AddressSet.js"), module.exports);
|
|
20
|
+
__reExport(utils_exports, require("./AssetsMap.js"), module.exports);
|
|
20
21
|
__reExport(utils_exports, require("./abi-decode.js"), module.exports);
|
|
21
22
|
__reExport(utils_exports, require("./bytes32ToString.js"), module.exports);
|
|
22
23
|
__reExport(utils_exports, require("./childLogger.js"), module.exports);
|
|
@@ -36,6 +37,7 @@ __reExport(utils_exports, require("./zod.js"), module.exports);
|
|
|
36
37
|
0 && (module.exports = {
|
|
37
38
|
...require("./AddressMap.js"),
|
|
38
39
|
...require("./AddressSet.js"),
|
|
40
|
+
...require("./AssetsMap.js"),
|
|
39
41
|
...require("./abi-decode.js"),
|
|
40
42
|
...require("./bytes32ToString.js"),
|
|
41
43
|
...require("./childLogger.js"),
|
package/dist/esm/abi/iZapper.js
CHANGED
|
@@ -1,80 +1,118 @@
|
|
|
1
1
|
const iZapperAbi = [
|
|
2
2
|
{
|
|
3
3
|
type: "function",
|
|
4
|
+
name: "contractType",
|
|
4
5
|
inputs: [],
|
|
6
|
+
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
7
|
+
stateMutability: "view"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: "function",
|
|
5
11
|
name: "pool",
|
|
6
|
-
|
|
12
|
+
inputs: [],
|
|
13
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
7
14
|
stateMutability: "view"
|
|
8
15
|
},
|
|
9
16
|
{
|
|
10
17
|
type: "function",
|
|
18
|
+
name: "previewDeposit",
|
|
11
19
|
inputs: [
|
|
12
|
-
{ name: "tokenInAmount",
|
|
20
|
+
{ name: "tokenInAmount", type: "uint256", internalType: "uint256" }
|
|
13
21
|
],
|
|
14
|
-
name: "previewDeposit",
|
|
15
22
|
outputs: [
|
|
16
|
-
{ name: "tokenOutAmount",
|
|
23
|
+
{ name: "tokenOutAmount", type: "uint256", internalType: "uint256" }
|
|
17
24
|
],
|
|
18
25
|
stateMutability: "view"
|
|
19
26
|
},
|
|
20
27
|
{
|
|
21
28
|
type: "function",
|
|
29
|
+
name: "previewRedeem",
|
|
22
30
|
inputs: [
|
|
23
|
-
{ name: "tokenOutAmount",
|
|
31
|
+
{ name: "tokenOutAmount", type: "uint256", internalType: "uint256" }
|
|
24
32
|
],
|
|
25
|
-
name: "previewRedeem",
|
|
26
33
|
outputs: [
|
|
27
|
-
{ name: "tokenInAmount",
|
|
34
|
+
{ name: "tokenInAmount", type: "uint256", internalType: "uint256" }
|
|
28
35
|
],
|
|
29
36
|
stateMutability: "view"
|
|
30
37
|
},
|
|
31
38
|
{
|
|
32
39
|
type: "function",
|
|
40
|
+
name: "redeem",
|
|
33
41
|
inputs: [
|
|
34
|
-
{ name: "tokenOutAmount",
|
|
35
|
-
{ name: "receiver",
|
|
42
|
+
{ name: "tokenOutAmount", type: "uint256", internalType: "uint256" },
|
|
43
|
+
{ name: "receiver", type: "address", internalType: "address" }
|
|
36
44
|
],
|
|
37
|
-
name: "redeem",
|
|
38
45
|
outputs: [
|
|
39
|
-
{ name: "tokenInAmount",
|
|
46
|
+
{ name: "tokenInAmount", type: "uint256", internalType: "uint256" }
|
|
40
47
|
],
|
|
41
48
|
stateMutability: "nonpayable"
|
|
42
49
|
},
|
|
43
50
|
{
|
|
44
51
|
type: "function",
|
|
52
|
+
name: "redeemWithPermit",
|
|
45
53
|
inputs: [
|
|
46
|
-
{ name: "tokenOutAmount",
|
|
47
|
-
{ name: "receiver",
|
|
48
|
-
{ name: "deadline",
|
|
49
|
-
{ name: "v",
|
|
50
|
-
{ name: "r",
|
|
51
|
-
{ name: "s",
|
|
54
|
+
{ name: "tokenOutAmount", type: "uint256", internalType: "uint256" },
|
|
55
|
+
{ name: "receiver", type: "address", internalType: "address" },
|
|
56
|
+
{ name: "deadline", type: "uint256", internalType: "uint256" },
|
|
57
|
+
{ name: "v", type: "uint8", internalType: "uint8" },
|
|
58
|
+
{ name: "r", type: "bytes32", internalType: "bytes32" },
|
|
59
|
+
{ name: "s", type: "bytes32", internalType: "bytes32" }
|
|
52
60
|
],
|
|
53
|
-
name: "redeemWithPermit",
|
|
54
61
|
outputs: [
|
|
55
|
-
{ name: "tokenInAmount",
|
|
62
|
+
{ name: "tokenInAmount", type: "uint256", internalType: "uint256" }
|
|
56
63
|
],
|
|
57
64
|
stateMutability: "nonpayable"
|
|
58
65
|
},
|
|
59
66
|
{
|
|
60
67
|
type: "function",
|
|
68
|
+
name: "redeemWithPermitAllowed",
|
|
69
|
+
inputs: [
|
|
70
|
+
{ name: "tokenOutAmount", type: "uint256", internalType: "uint256" },
|
|
71
|
+
{ name: "receiver", type: "address", internalType: "address" },
|
|
72
|
+
{ name: "nonce", type: "uint256", internalType: "uint256" },
|
|
73
|
+
{ name: "expiry", type: "uint256", internalType: "uint256" },
|
|
74
|
+
{ name: "v", type: "uint8", internalType: "uint8" },
|
|
75
|
+
{ name: "r", type: "bytes32", internalType: "bytes32" },
|
|
76
|
+
{ name: "s", type: "bytes32", internalType: "bytes32" }
|
|
77
|
+
],
|
|
78
|
+
outputs: [
|
|
79
|
+
{ name: "tokenInAmount", type: "uint256", internalType: "uint256" }
|
|
80
|
+
],
|
|
81
|
+
stateMutability: "nonpayable"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "function",
|
|
85
|
+
name: "serialize",
|
|
61
86
|
inputs: [],
|
|
62
|
-
name: "
|
|
63
|
-
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
87
|
+
outputs: [{ name: "serializedData", type: "bytes", internalType: "bytes" }],
|
|
64
88
|
stateMutability: "view"
|
|
65
89
|
},
|
|
66
90
|
{
|
|
67
91
|
type: "function",
|
|
92
|
+
name: "tokenIn",
|
|
68
93
|
inputs: [],
|
|
69
|
-
name: "
|
|
70
|
-
outputs: [{ name: "", internalType: "address", type: "address" }],
|
|
94
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
71
95
|
stateMutability: "view"
|
|
72
96
|
},
|
|
73
97
|
{
|
|
74
98
|
type: "function",
|
|
99
|
+
name: "tokenOut",
|
|
75
100
|
inputs: [],
|
|
101
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
102
|
+
stateMutability: "view"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: "function",
|
|
76
106
|
name: "underlying",
|
|
77
|
-
|
|
107
|
+
inputs: [],
|
|
108
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
109
|
+
stateMutability: "view"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: "function",
|
|
113
|
+
name: "version",
|
|
114
|
+
inputs: [],
|
|
115
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
78
116
|
stateMutability: "view"
|
|
79
117
|
}
|
|
80
118
|
];
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decodeAbiParameters,
|
|
3
|
+
getAddress,
|
|
4
|
+
isAddressEqual
|
|
5
|
+
} from "viem";
|
|
6
|
+
const EXECUTE_BYTES_SELECTOR = "0x09c5eabe";
|
|
7
|
+
function findExecuteBytes(node) {
|
|
8
|
+
const queue = [node];
|
|
9
|
+
while (queue.length > 0) {
|
|
10
|
+
const current = queue.shift();
|
|
11
|
+
if (current.error) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (current.input.slice(0, 10).toLowerCase() === EXECUTE_BYTES_SELECTOR) {
|
|
15
|
+
return current;
|
|
16
|
+
}
|
|
17
|
+
if (current.calls) {
|
|
18
|
+
queue.push(...current.calls);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
function findCallWithInput(node, input) {
|
|
24
|
+
if (node.error) {
|
|
25
|
+
return void 0;
|
|
26
|
+
}
|
|
27
|
+
if (node.type === "CALL" && node.input.toLowerCase() === input.toLowerCase()) {
|
|
28
|
+
return node;
|
|
29
|
+
}
|
|
30
|
+
if (node.calls) {
|
|
31
|
+
for (const child of node.calls) {
|
|
32
|
+
const found = findCallWithInput(child, input);
|
|
33
|
+
if (found) {
|
|
34
|
+
return found;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
function resolveProtocolCall(node) {
|
|
41
|
+
const executeNode = findExecuteBytes(node);
|
|
42
|
+
if (!executeNode) {
|
|
43
|
+
return void 0;
|
|
44
|
+
}
|
|
45
|
+
const [calldata] = decodeAbiParameters(
|
|
46
|
+
[{ type: "bytes" }],
|
|
47
|
+
`0x${executeNode.input.slice(10)}`
|
|
48
|
+
);
|
|
49
|
+
const targetCall = findCallWithInput(executeNode, calldata);
|
|
50
|
+
if (!targetCall) {
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
return { contract: getAddress(targetCall.to), calldata };
|
|
54
|
+
}
|
|
55
|
+
function findCallTo(node, target) {
|
|
56
|
+
if (node.error) {
|
|
57
|
+
return void 0;
|
|
58
|
+
}
|
|
59
|
+
if (node.type === "CALL" && isAddressEqual(node.to, target)) {
|
|
60
|
+
return node;
|
|
61
|
+
}
|
|
62
|
+
if (node.calls) {
|
|
63
|
+
for (const child of node.calls) {
|
|
64
|
+
const found = findCallTo(child, target);
|
|
65
|
+
if (found) {
|
|
66
|
+
return found;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return void 0;
|
|
71
|
+
}
|
|
72
|
+
function collectTraces(node, target) {
|
|
73
|
+
const results = [];
|
|
74
|
+
if (node.error) {
|
|
75
|
+
return results;
|
|
76
|
+
}
|
|
77
|
+
if (node.type === "CALL" && isAddressEqual(node.to, target)) {
|
|
78
|
+
results.push(node);
|
|
79
|
+
} else if (node.calls) {
|
|
80
|
+
for (const child of node.calls) {
|
|
81
|
+
results.push(...collectTraces(child, target));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return results;
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
EXECUTE_BYTES_SELECTOR,
|
|
88
|
+
collectTraces,
|
|
89
|
+
findCallTo,
|
|
90
|
+
findCallWithInput,
|
|
91
|
+
findExecuteBytes,
|
|
92
|
+
resolveProtocolCall
|
|
93
|
+
};
|