@gearbox-protocol/sdk 14.12.0-next.1 → 14.12.0-next.11
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/dev/AccountOpener.js +7 -13
- package/dist/cjs/history/classifyMulticallOperations.js +2 -0
- package/dist/cjs/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -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/preview/index.js +2 -4
- package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/cjs/preview/parse/errors.js +5 -2
- package/dist/cjs/preview/parse/index.js +2 -2
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +5 -12
- package/dist/cjs/preview/parse/parseOperationCalldata.js +40 -1
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +14 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
- package/dist/cjs/preview/parse/types-rwa.js +16 -0
- package/dist/cjs/preview/parse/types.js +9 -2
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +13 -13
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +32 -14
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +124 -14
- package/dist/cjs/preview/prerequisites/index.js +2 -0
- package/dist/cjs/preview/preview/applyInnerOperations.js +130 -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 +90 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -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/{sdk/market/zapper/Zapper.js → preview/preview/unwrapNativeCollateral.js} +20 -22
- package/dist/cjs/preview/simulate/errors.js +0 -7
- package/dist/cjs/preview/simulate/index.js +5 -5
- package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +60 -31
- package/dist/cjs/preview/simulate/{constants.js → simulateRWAOperation.js} +8 -6
- package/dist/cjs/sdk/MultichainSDK.js +1 -0
- package/dist/cjs/sdk/OnchainSDK.js +7 -3
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +53 -23
- 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/{preview/simulate/holders.js → sdk/market/zapper/errors.js} +13 -21
- 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 +97 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/abi/iZapper.js +62 -24
- package/dist/esm/dev/AccountOpener.js +8 -13
- package/dist/esm/history/classifyMulticallOperations.js +2 -0
- package/dist/esm/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -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 +1 -2
- package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/esm/preview/parse/errors.js +3 -1
- package/dist/esm/preview/parse/index.js +1 -1
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +5 -12
- package/dist/esm/preview/parse/parseOperationCalldata.js +43 -2
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +14 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
- package/dist/esm/preview/parse/types-rwa.js +0 -0
- package/dist/esm/preview/parse/types.js +6 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +13 -13
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +32 -14
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +130 -14
- package/dist/esm/preview/prerequisites/index.js +1 -0
- package/dist/esm/preview/preview/applyInnerOperations.js +108 -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 +74 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -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 +0 -6
- package/dist/esm/preview/simulate/index.js +3 -3
- package/dist/esm/preview/simulate/simulateOperation.js +8 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +61 -35
- package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
- package/dist/esm/sdk/MultichainSDK.js +1 -0
- package/dist/esm/sdk/OnchainSDK.js +7 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +54 -24
- 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 +73 -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/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/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/history/types.d.ts +4 -4
- 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 +21 -3
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
- 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 +2 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
- 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 +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/types.d.ts +10 -0
- package/dist/types/preview/index.d.ts +1 -2
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
- package/dist/types/preview/parse/errors.d.ts +1 -0
- package/dist/types/preview/parse/index.d.ts +1 -1
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +3 -3
- package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
- package/dist/types/preview/parse/types-adapters.d.ts +5 -1
- package/dist/types/preview/parse/types-facades.d.ts +23 -34
- package/dist/types/preview/parse/types-pools.d.ts +90 -2
- package/dist/types/preview/parse/types-rwa.d.ts +48 -0
- package/dist/types/preview/parse/types.d.ts +11 -6
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +1 -3
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +9 -6
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +15 -6
- package/dist/types/preview/prerequisites/index.d.ts +1 -0
- package/dist/types/preview/prerequisites/types.d.ts +10 -8
- 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 +6 -12
- package/dist/types/preview/simulate/index.d.ts +3 -2
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -2
- package/dist/types/preview/simulate/simulateOperation.d.ts +0 -2
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +9 -3
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
- package/dist/types/preview/simulate/types.d.ts +12 -39
- 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 +11 -3
- package/dist/types/sdk/accounts/types.d.ts +66 -8
- 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 +44 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
- package/dist/cjs/preview/simulate/extractERC20Transfers.js +0 -47
- package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +0 -155
- package/dist/cjs/preview/simulate/simulatePoolOpV1.js +0 -106
- package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
- package/dist/esm/preview/simulate/constants.js +0 -4
- package/dist/esm/preview/simulate/extractERC20Transfers.js +0 -23
- package/dist/esm/preview/simulate/holders.js +0 -21
- package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +0 -130
- package/dist/esm/preview/simulate/simulatePoolOpV1.js +0 -82
- package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
- package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
- package/dist/types/preview/simulate/constants.d.ts +0 -6
- package/dist/types/preview/simulate/extractERC20Transfers.d.ts +0 -11
- package/dist/types/preview/simulate/holders.d.ts +0 -7
- package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +0 -28
- package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +0 -14
- package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
|
@@ -1,106 +0,0 @@
|
|
|
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 simulatePoolOpV1_exports = {};
|
|
20
|
-
__export(simulatePoolOpV1_exports, {
|
|
21
|
-
simulatePoolOpV1: () => simulatePoolOpV1
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(simulatePoolOpV1_exports);
|
|
24
|
-
var import_actions = require("viem/actions");
|
|
25
|
-
var import_iERC20 = require("../../abi/iERC20.js");
|
|
26
|
-
var import_errors = require("./errors.js");
|
|
27
|
-
var import_extractERC20Transfers = require("./extractERC20Transfers.js");
|
|
28
|
-
var import_holders = require("./holders.js");
|
|
29
|
-
async function simulatePoolOpV1(input, options = {}) {
|
|
30
|
-
const { sdk, operation, to, calldata, wallet } = input;
|
|
31
|
-
const { blockNumber } = options;
|
|
32
|
-
const { underlying, pool } = operation;
|
|
33
|
-
const holders = (0, import_holders.watchedHolders)(operation, wallet);
|
|
34
|
-
const tokens = [underlying, pool];
|
|
35
|
-
const balanceOf = (token, holder) => ({
|
|
36
|
-
to: token,
|
|
37
|
-
abi: import_iERC20.ierc20Abi,
|
|
38
|
-
functionName: "balanceOf",
|
|
39
|
-
args: [holder]
|
|
40
|
-
});
|
|
41
|
-
const balanceCalls = holders.flatMap(
|
|
42
|
-
(holder) => tokens.map((token) => balanceOf(token, holder))
|
|
43
|
-
);
|
|
44
|
-
let results;
|
|
45
|
-
try {
|
|
46
|
-
({ results } = await (0, import_actions.simulateCalls)(sdk.client, {
|
|
47
|
-
account: wallet,
|
|
48
|
-
// `undefined` lets viem simulate at `latest`; `blockNumber` is only set
|
|
49
|
-
// for testnet forks pinned to a specific block.
|
|
50
|
-
blockNumber,
|
|
51
|
-
calls: [...balanceCalls, { to, data: calldata }, ...balanceCalls]
|
|
52
|
-
}));
|
|
53
|
-
} catch (cause) {
|
|
54
|
-
throw new import_errors.PreviewSimulationError([
|
|
55
|
-
{
|
|
56
|
-
source: "eth_simulateV1",
|
|
57
|
-
detail: (0, import_errors.decodeSimulationError)({
|
|
58
|
-
error: cause instanceof Error ? cause : new Error(String(cause))
|
|
59
|
-
})
|
|
60
|
-
}
|
|
61
|
-
]);
|
|
62
|
-
}
|
|
63
|
-
const sim = results;
|
|
64
|
-
const txIndex = balanceCalls.length;
|
|
65
|
-
const afterOffset = txIndex + 1;
|
|
66
|
-
const txResult = sim[txIndex];
|
|
67
|
-
if (!txResult || txResult.status === "failure") {
|
|
68
|
-
throw new import_errors.PreviewSimulationError([
|
|
69
|
-
{
|
|
70
|
-
source: "eth_simulateV1",
|
|
71
|
-
detail: (0, import_errors.decodeSimulationError)({
|
|
72
|
-
error: txResult?.error,
|
|
73
|
-
data: txResult?.data
|
|
74
|
-
})
|
|
75
|
-
}
|
|
76
|
-
]);
|
|
77
|
-
}
|
|
78
|
-
const balanceChanges = [];
|
|
79
|
-
for (const [holderIndex, address] of holders.entries()) {
|
|
80
|
-
const changes = [];
|
|
81
|
-
for (const [tokenIndex, token] of tokens.entries()) {
|
|
82
|
-
const slot = holderIndex * tokens.length + tokenIndex;
|
|
83
|
-
const before = readBalance(sim[slot]);
|
|
84
|
-
const after = readBalance(sim[afterOffset + slot]);
|
|
85
|
-
const delta = after - before;
|
|
86
|
-
const magnitude = delta >= 0n ? delta : -delta;
|
|
87
|
-
if (magnitude > 1n) {
|
|
88
|
-
changes.push({ token, before, after, delta });
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (changes.length > 0) {
|
|
92
|
-
balanceChanges.push({ address, changes });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
transfers: (0, import_extractERC20Transfers.extractERC20Transfers)(txResult.logs ?? [], holders),
|
|
97
|
-
balanceChanges
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function readBalance(result) {
|
|
101
|
-
return result?.status === "success" ? result.result : 0n;
|
|
102
|
-
}
|
|
103
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
-
0 && (module.exports = {
|
|
105
|
-
simulatePoolOpV1
|
|
106
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
function extractExpectedBalanceChanges(innerCalls) {
|
|
2
|
-
const calls = innerCalls.filter(
|
|
3
|
-
(call) => functionName(call) !== "onDemandPriceUpdates"
|
|
4
|
-
);
|
|
5
|
-
if (calls.length === 0) {
|
|
6
|
-
return void 0;
|
|
7
|
-
}
|
|
8
|
-
const first = calls[0];
|
|
9
|
-
const last = calls[calls.length - 1];
|
|
10
|
-
if (functionName(first) !== "storeExpectedBalances" || functionName(last) !== "compareBalances") {
|
|
11
|
-
return void 0;
|
|
12
|
-
}
|
|
13
|
-
const balanceDeltas = first.rawArgs.balanceDeltas;
|
|
14
|
-
if (!balanceDeltas) {
|
|
15
|
-
return void 0;
|
|
16
|
-
}
|
|
17
|
-
return balanceDeltas.map(({ token, amount }) => ({ token, delta: amount }));
|
|
18
|
-
}
|
|
19
|
-
function functionName(call) {
|
|
20
|
-
return call.functionName.split("(")[0];
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
extractExpectedBalanceChanges
|
|
24
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { isAddressEqual, parseEventLogs } from "viem";
|
|
2
|
-
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
3
|
-
function extractERC20Transfers(logs, watch) {
|
|
4
|
-
const parsed = parseEventLogs({
|
|
5
|
-
abi: ierc20Abi,
|
|
6
|
-
eventName: "Transfer",
|
|
7
|
-
logs
|
|
8
|
-
});
|
|
9
|
-
const transfers = [];
|
|
10
|
-
for (const log of parsed) {
|
|
11
|
-
const { from, to, value } = log.args;
|
|
12
|
-
const involved = watch.some(
|
|
13
|
-
(address) => isAddressEqual(from, address) || isAddressEqual(to, address)
|
|
14
|
-
);
|
|
15
|
-
if (involved) {
|
|
16
|
-
transfers.push({ token: log.address, amount: value, from, to });
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return transfers;
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
extractERC20Transfers
|
|
23
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AddressSet } from "../../sdk/index.js";
|
|
2
|
-
function sourceHolder(operation, wallet) {
|
|
3
|
-
switch (operation.operation) {
|
|
4
|
-
case "Deposit":
|
|
5
|
-
case "Mint":
|
|
6
|
-
return wallet;
|
|
7
|
-
case "Withdraw":
|
|
8
|
-
case "Redeem":
|
|
9
|
-
return operation.owner;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function watchedHolders(operation, wallet) {
|
|
13
|
-
const holders = new AddressSet([
|
|
14
|
-
sourceHolder(operation, wallet),
|
|
15
|
-
operation.receiver
|
|
16
|
-
]);
|
|
17
|
-
return holders.asArray();
|
|
18
|
-
}
|
|
19
|
-
export {
|
|
20
|
-
watchedHolders
|
|
21
|
-
};
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { iPoolV310Abi } from "../../abi/310/generated.js";
|
|
2
|
-
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
3
|
-
import { AddressMap } from "../../sdk/index.js";
|
|
4
|
-
import { decodeSimulationError, PreviewSimulationError } from "./errors.js";
|
|
5
|
-
import { watchedHolders } from "./holders.js";
|
|
6
|
-
function previewRead(operation) {
|
|
7
|
-
switch (operation.operation) {
|
|
8
|
-
case "Deposit":
|
|
9
|
-
return { functionName: "previewDeposit", amount: operation.assets };
|
|
10
|
-
case "Mint":
|
|
11
|
-
return { functionName: "previewMint", amount: operation.shares };
|
|
12
|
-
case "Withdraw":
|
|
13
|
-
return { functionName: "previewWithdraw", amount: operation.assets };
|
|
14
|
-
case "Redeem":
|
|
15
|
-
return { functionName: "previewRedeem", amount: operation.shares };
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async function simulatePoolOpMulticall(input, options = {}) {
|
|
19
|
-
const { sdk, operation, wallet } = input;
|
|
20
|
-
const { blockNumber } = options;
|
|
21
|
-
const { underlying, pool } = operation;
|
|
22
|
-
const holders = watchedHolders(operation, wallet);
|
|
23
|
-
const tokens = [underlying, pool];
|
|
24
|
-
const balanceCalls = holders.flatMap(
|
|
25
|
-
(holder) => tokens.map((token) => ({ holder, token }))
|
|
26
|
-
);
|
|
27
|
-
const balanceContracts = balanceCalls.map(
|
|
28
|
-
({ holder, token }) => ({
|
|
29
|
-
address: token,
|
|
30
|
-
abi: ierc20Abi,
|
|
31
|
-
functionName: "balanceOf",
|
|
32
|
-
args: [holder]
|
|
33
|
-
})
|
|
34
|
-
);
|
|
35
|
-
const { functionName, amount } = previewRead(operation);
|
|
36
|
-
const previewContract = {
|
|
37
|
-
address: pool,
|
|
38
|
-
abi: iPoolV310Abi,
|
|
39
|
-
functionName,
|
|
40
|
-
args: [amount]
|
|
41
|
-
};
|
|
42
|
-
let results;
|
|
43
|
-
try {
|
|
44
|
-
results = await sdk.client.multicall({
|
|
45
|
-
allowFailure: false,
|
|
46
|
-
// `undefined` lets viem read at `latest`; `blockNumber` is only set for
|
|
47
|
-
// testnet forks pinned to a specific block.
|
|
48
|
-
blockNumber,
|
|
49
|
-
contracts: [...balanceContracts, previewContract]
|
|
50
|
-
});
|
|
51
|
-
} catch (cause) {
|
|
52
|
-
throw new PreviewSimulationError([
|
|
53
|
-
{
|
|
54
|
-
source: "multicall",
|
|
55
|
-
detail: decodeSimulationError({
|
|
56
|
-
error: cause instanceof Error ? cause : new Error(String(cause))
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
]);
|
|
60
|
-
}
|
|
61
|
-
const previewAmount = results[balanceContracts.length];
|
|
62
|
-
const balances = new AddressMap();
|
|
63
|
-
for (const [i, { holder, token }] of balanceCalls.entries()) {
|
|
64
|
-
const tokenBalances = balances.get(holder) ?? new AddressMap();
|
|
65
|
-
tokenBalances.upsert(token, results[i]);
|
|
66
|
-
balances.upsert(holder, tokenBalances);
|
|
67
|
-
}
|
|
68
|
-
const before = (token, holder) => balances.get(holder)?.get(token) ?? 0n;
|
|
69
|
-
return {
|
|
70
|
-
balanceChanges: computePoolOpBalanceChanges(
|
|
71
|
-
operation,
|
|
72
|
-
wallet,
|
|
73
|
-
previewAmount,
|
|
74
|
-
before
|
|
75
|
-
),
|
|
76
|
-
transfers: void 0
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function balanceLegs(operation, wallet, previewAmount) {
|
|
80
|
-
const { underlying, pool, receiver } = operation;
|
|
81
|
-
switch (operation.operation) {
|
|
82
|
-
case "Deposit":
|
|
83
|
-
return [
|
|
84
|
-
{ address: wallet, token: underlying, delta: -operation.assets },
|
|
85
|
-
{ address: receiver, token: pool, delta: previewAmount }
|
|
86
|
-
];
|
|
87
|
-
case "Mint":
|
|
88
|
-
return [
|
|
89
|
-
{ address: wallet, token: underlying, delta: -previewAmount },
|
|
90
|
-
{ address: receiver, token: pool, delta: operation.shares }
|
|
91
|
-
];
|
|
92
|
-
case "Withdraw":
|
|
93
|
-
return [
|
|
94
|
-
{ address: operation.owner, token: pool, delta: -previewAmount },
|
|
95
|
-
{ address: receiver, token: underlying, delta: operation.assets }
|
|
96
|
-
];
|
|
97
|
-
case "Redeem":
|
|
98
|
-
return [
|
|
99
|
-
{ address: operation.owner, token: pool, delta: -operation.shares },
|
|
100
|
-
{ address: receiver, token: underlying, delta: previewAmount }
|
|
101
|
-
];
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
function computePoolOpBalanceChanges(operation, wallet, previewAmount, before) {
|
|
105
|
-
const byAddress = new AddressMap();
|
|
106
|
-
for (const { address, token, delta } of balanceLegs(
|
|
107
|
-
operation,
|
|
108
|
-
wallet,
|
|
109
|
-
previewAmount
|
|
110
|
-
)) {
|
|
111
|
-
const beforeBalance = before(token, address);
|
|
112
|
-
const change = {
|
|
113
|
-
token,
|
|
114
|
-
before: beforeBalance,
|
|
115
|
-
after: beforeBalance + delta,
|
|
116
|
-
delta
|
|
117
|
-
};
|
|
118
|
-
const existing = byAddress.get(address);
|
|
119
|
-
if (existing) {
|
|
120
|
-
existing.changes.push(change);
|
|
121
|
-
} else {
|
|
122
|
-
byAddress.upsert(address, { address, changes: [change] });
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return byAddress.values();
|
|
126
|
-
}
|
|
127
|
-
export {
|
|
128
|
-
computePoolOpBalanceChanges,
|
|
129
|
-
simulatePoolOpMulticall
|
|
130
|
-
};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { simulateCalls } from "viem/actions";
|
|
2
|
-
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
3
|
-
import { decodeSimulationError, PreviewSimulationError } from "./errors.js";
|
|
4
|
-
import { extractERC20Transfers } from "./extractERC20Transfers.js";
|
|
5
|
-
import { watchedHolders } from "./holders.js";
|
|
6
|
-
async function simulatePoolOpV1(input, options = {}) {
|
|
7
|
-
const { sdk, operation, to, calldata, wallet } = input;
|
|
8
|
-
const { blockNumber } = options;
|
|
9
|
-
const { underlying, pool } = operation;
|
|
10
|
-
const holders = watchedHolders(operation, wallet);
|
|
11
|
-
const tokens = [underlying, pool];
|
|
12
|
-
const balanceOf = (token, holder) => ({
|
|
13
|
-
to: token,
|
|
14
|
-
abi: ierc20Abi,
|
|
15
|
-
functionName: "balanceOf",
|
|
16
|
-
args: [holder]
|
|
17
|
-
});
|
|
18
|
-
const balanceCalls = holders.flatMap(
|
|
19
|
-
(holder) => tokens.map((token) => balanceOf(token, holder))
|
|
20
|
-
);
|
|
21
|
-
let results;
|
|
22
|
-
try {
|
|
23
|
-
({ results } = await simulateCalls(sdk.client, {
|
|
24
|
-
account: wallet,
|
|
25
|
-
// `undefined` lets viem simulate at `latest`; `blockNumber` is only set
|
|
26
|
-
// for testnet forks pinned to a specific block.
|
|
27
|
-
blockNumber,
|
|
28
|
-
calls: [...balanceCalls, { to, data: calldata }, ...balanceCalls]
|
|
29
|
-
}));
|
|
30
|
-
} catch (cause) {
|
|
31
|
-
throw new PreviewSimulationError([
|
|
32
|
-
{
|
|
33
|
-
source: "eth_simulateV1",
|
|
34
|
-
detail: decodeSimulationError({
|
|
35
|
-
error: cause instanceof Error ? cause : new Error(String(cause))
|
|
36
|
-
})
|
|
37
|
-
}
|
|
38
|
-
]);
|
|
39
|
-
}
|
|
40
|
-
const sim = results;
|
|
41
|
-
const txIndex = balanceCalls.length;
|
|
42
|
-
const afterOffset = txIndex + 1;
|
|
43
|
-
const txResult = sim[txIndex];
|
|
44
|
-
if (!txResult || txResult.status === "failure") {
|
|
45
|
-
throw new PreviewSimulationError([
|
|
46
|
-
{
|
|
47
|
-
source: "eth_simulateV1",
|
|
48
|
-
detail: decodeSimulationError({
|
|
49
|
-
error: txResult?.error,
|
|
50
|
-
data: txResult?.data
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
]);
|
|
54
|
-
}
|
|
55
|
-
const balanceChanges = [];
|
|
56
|
-
for (const [holderIndex, address] of holders.entries()) {
|
|
57
|
-
const changes = [];
|
|
58
|
-
for (const [tokenIndex, token] of tokens.entries()) {
|
|
59
|
-
const slot = holderIndex * tokens.length + tokenIndex;
|
|
60
|
-
const before = readBalance(sim[slot]);
|
|
61
|
-
const after = readBalance(sim[afterOffset + slot]);
|
|
62
|
-
const delta = after - before;
|
|
63
|
-
const magnitude = delta >= 0n ? delta : -delta;
|
|
64
|
-
if (magnitude > 1n) {
|
|
65
|
-
changes.push({ token, before, after, delta });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (changes.length > 0) {
|
|
69
|
-
balanceChanges.push({ address, changes });
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
transfers: extractERC20Transfers(txResult.logs ?? [], holders),
|
|
74
|
-
balanceChanges
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
function readBalance(result) {
|
|
78
|
-
return result?.status === "success" ? result.result : 0n;
|
|
79
|
-
}
|
|
80
|
-
export {
|
|
81
|
-
simulatePoolOpV1
|
|
82
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { bytes32ToString } from "../../utils/index.js";
|
|
2
|
-
class Zapper {
|
|
3
|
-
pool;
|
|
4
|
-
type;
|
|
5
|
-
baseParams;
|
|
6
|
-
tokenIn;
|
|
7
|
-
tokenOut;
|
|
8
|
-
contractType;
|
|
9
|
-
constructor(data) {
|
|
10
|
-
this.pool = data.pool;
|
|
11
|
-
this.type = data.type;
|
|
12
|
-
this.baseParams = data.baseParams;
|
|
13
|
-
this.tokenIn = data.tokenIn;
|
|
14
|
-
this.tokenOut = data.tokenOut;
|
|
15
|
-
this.contractType = Zapper.contractType(data.baseParams);
|
|
16
|
-
}
|
|
17
|
-
static contractType(baseParams) {
|
|
18
|
-
return bytes32ToString(baseParams.contractType);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
Zapper
|
|
23
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ParsedCallV2 } from "../../sdk/index.js";
|
|
2
|
-
import type { ExpectedBalanceChange } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Recovers the potential balance changes declared by a router-generated
|
|
5
|
-
* `storeExpectedBalances`/`compareBalances` pair inside a credit-facade
|
|
6
|
-
* multicall.
|
|
7
|
-
*
|
|
8
|
-
* The detection is intentionally limited to the router shape:
|
|
9
|
-
* - `onDemandPriceUpdates` calls are dropped first (they may only appear at the
|
|
10
|
-
* front of a multicall);
|
|
11
|
-
* - the remaining calls must start with `storeExpectedBalances` and end with
|
|
12
|
-
* `compareBalances`.
|
|
13
|
-
*
|
|
14
|
-
* When the multicall does not match this shape, `undefined` is returned. On a
|
|
15
|
-
* match, the `BalanceDelta[]` argument of `storeExpectedBalances` is decoded
|
|
16
|
-
* into {@link ExpectedBalanceChange}[] (the `amount` is the signed `int256`
|
|
17
|
-
* delta and may be negative).
|
|
18
|
-
*
|
|
19
|
-
* @param innerCalls - Raw (already-decoded) inner multicall calls.
|
|
20
|
-
* @returns The declared balance changes, or `undefined` when not router-shaped.
|
|
21
|
-
*/
|
|
22
|
-
export declare function extractExpectedBalanceChanges(innerCalls: ParsedCallV2[]): ExpectedBalanceChange[] | undefined;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { NetworkType } from "../../sdk/chain/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Networks where the `eth_simulateV1` JSON-RPC method is available and usable
|
|
4
|
-
* for pool or credit account operation simulation.
|
|
5
|
-
**/
|
|
6
|
-
export declare const ETH_SIMULATE_V1_NETWORKS: ReadonlySet<NetworkType>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type Address, type Log } from "viem";
|
|
2
|
-
import type { TokenTransfer } from "../parse/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Parses ERC-20 `Transfer` logs and keeps only those involving one of the
|
|
5
|
-
* watched addresses (as sender or receiver). A log that touches several watched
|
|
6
|
-
* addresses is still emitted once.
|
|
7
|
-
*
|
|
8
|
-
* @param logs - raw logs from the simulated call
|
|
9
|
-
* @param watch - addresses whose transfers we care about (e.g. wallet + recipient)
|
|
10
|
-
*/
|
|
11
|
-
export declare function extractERC20Transfers(logs: Log[], watch: Address[]): TokenTransfer[];
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { PoolOperation } from "../parse/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Distinct addresses whose balances change during the operation: the funds
|
|
5
|
-
* source (payer or share owner) and the receiver.
|
|
6
|
-
*/
|
|
7
|
-
export declare function watchedHolders(operation: PoolOperation, wallet: Address): Address[];
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { PoolOperation } from "../parse/index.js";
|
|
3
|
-
import type { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulationInput, PoolOperationSimulationResult } from "./types.js";
|
|
4
|
-
/** Reads a watched holder's "before" balance of a token. */
|
|
5
|
-
export type BalanceLookup = (token: Address, holder: Address) => bigint;
|
|
6
|
-
/**
|
|
7
|
-
* Multicall pool-operation flow, used where `eth_simulateV1` is unavailable or
|
|
8
|
-
* as a fallback alongside it.
|
|
9
|
-
*
|
|
10
|
-
* Reads the watched holders' "before" balances together with the matching
|
|
11
|
-
* ERC4626 preview (`previewDeposit`/`previewMint`/`previewWithdraw`/
|
|
12
|
-
* `previewRedeem`) in a single multicall, then computes the theoretical balance
|
|
13
|
-
* changes via {@link computePoolOpBalanceChanges}.
|
|
14
|
-
*
|
|
15
|
-
* Unlike the `eth_simulateV1` flow it does not execute the calldata, so it
|
|
16
|
-
* cannot recover ERC-20 transfers (`transfers` is always `undefined`) and it
|
|
17
|
-
* ignores balance/allowance prerequisites (preview reads succeed regardless).
|
|
18
|
-
*
|
|
19
|
-
* @throws {@link PreviewSimulationError} when the multicall round-trip throws or
|
|
20
|
-
* any call (a balance read or the preview read) reverts.
|
|
21
|
-
*/
|
|
22
|
-
export declare function simulatePoolOpMulticall(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulationResult>;
|
|
23
|
-
/**
|
|
24
|
-
* Pure computation of {@link AddressBalanceChanges} for a pool operation from
|
|
25
|
-
* its ERC4626 preview result and the watched holders' "before" balances. Legs
|
|
26
|
-
* sharing the same address are grouped together.
|
|
27
|
-
*/
|
|
28
|
-
export declare function computePoolOpBalanceChanges(operation: PoolOperation, wallet: Address, previewAmount: bigint, before: BalanceLookup): AddressBalanceChanges[];
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { OperationSimulationOptions, PoolOperationSimulationInput, PoolOperationSimulationResult } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* `eth_simulateV1` pool-operation flow.
|
|
4
|
-
*
|
|
5
|
-
* Sandwiches the raw calldata between `balanceOf` reads of the underlying and
|
|
6
|
-
* pool (share) tokens for every watched holder, then derives the balance changes
|
|
7
|
-
* from the before/after diff and the wallet-relevant ERC-20 transfers from the
|
|
8
|
-
* emitted logs. Simulation runs against real chain state (no overrides), so an
|
|
9
|
-
* unmet prerequisite surfaces here as a revert.
|
|
10
|
-
*
|
|
11
|
-
* @throws {@link PreviewSimulationError} when the round-trip throws or the
|
|
12
|
-
* simulated transaction reverts.
|
|
13
|
-
*/
|
|
14
|
-
export declare function simulatePoolOpV1(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulationResult>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { BaseParams } from "../../base/types.js";
|
|
3
|
-
import type { ZapperData } from "../types.js";
|
|
4
|
-
export declare class Zapper implements ZapperData {
|
|
5
|
-
readonly pool: Address;
|
|
6
|
-
readonly type: "migration" | "rwa" | "base";
|
|
7
|
-
readonly baseParams: ZapperData["baseParams"];
|
|
8
|
-
readonly tokenIn: ZapperData["tokenIn"];
|
|
9
|
-
readonly tokenOut: ZapperData["tokenOut"];
|
|
10
|
-
readonly contractType: string;
|
|
11
|
-
constructor(data: ZapperData);
|
|
12
|
-
static contractType(baseParams: BaseParams): string;
|
|
13
|
-
}
|