@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
|
@@ -0,0 +1,75 @@
|
|
|
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 previewPoolOperation_exports = {};
|
|
20
|
+
__export(previewPoolOperation_exports, {
|
|
21
|
+
previewPoolOperation: () => previewPoolOperation
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(previewPoolOperation_exports);
|
|
24
|
+
var import_simulate = require("../simulate/index.js");
|
|
25
|
+
async function previewPoolOperation(input, operation, options) {
|
|
26
|
+
const { sdk, to, calldata } = input;
|
|
27
|
+
const { tokenIn, tokenOut } = operation;
|
|
28
|
+
const sim = await (0, import_simulate.simulatePoolOperation)(
|
|
29
|
+
{ sdk, operation, to, calldata },
|
|
30
|
+
options
|
|
31
|
+
);
|
|
32
|
+
if (sim.status === "success") {
|
|
33
|
+
return {
|
|
34
|
+
operation: operation.operation,
|
|
35
|
+
pool: operation.pool,
|
|
36
|
+
tokenIn: { token: tokenIn, balance: sim.amountIn },
|
|
37
|
+
tokenOut: { token: tokenOut, balance: sim.amountOut }
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const { error } = sim;
|
|
41
|
+
switch (operation.operation) {
|
|
42
|
+
case "Deposit":
|
|
43
|
+
return {
|
|
44
|
+
operation: "Deposit",
|
|
45
|
+
pool: operation.pool,
|
|
46
|
+
tokenIn: { token: tokenIn, balance: operation.assets },
|
|
47
|
+
tokenOut: { token: tokenOut, error }
|
|
48
|
+
};
|
|
49
|
+
case "Mint":
|
|
50
|
+
return {
|
|
51
|
+
operation: "Mint",
|
|
52
|
+
pool: operation.pool,
|
|
53
|
+
tokenIn: { token: tokenIn, error },
|
|
54
|
+
tokenOut: { token: tokenOut, balance: operation.shares }
|
|
55
|
+
};
|
|
56
|
+
case "Withdraw":
|
|
57
|
+
return {
|
|
58
|
+
operation: "Withdraw",
|
|
59
|
+
pool: operation.pool,
|
|
60
|
+
tokenIn: { token: tokenIn, error },
|
|
61
|
+
tokenOut: { token: tokenOut, balance: operation.assets }
|
|
62
|
+
};
|
|
63
|
+
case "Redeem":
|
|
64
|
+
return {
|
|
65
|
+
operation: "Redeem",
|
|
66
|
+
pool: operation.pool,
|
|
67
|
+
tokenIn: { token: tokenIn, balance: operation.shares },
|
|
68
|
+
tokenOut: { token: tokenOut, error }
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
previewPoolOperation
|
|
75
|
+
});
|
|
@@ -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);
|
|
@@ -16,32 +16,30 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var unwrapNativeCollateral_exports = {};
|
|
20
|
+
__export(unwrapNativeCollateral_exports, {
|
|
21
|
+
unwrapNativeCollateral: () => unwrapNativeCollateral
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
tokenIn;
|
|
30
|
-
tokenOut;
|
|
31
|
-
contractType;
|
|
32
|
-
constructor(data) {
|
|
33
|
-
this.pool = data.pool;
|
|
34
|
-
this.type = data.type;
|
|
35
|
-
this.baseParams = data.baseParams;
|
|
36
|
-
this.tokenIn = data.tokenIn;
|
|
37
|
-
this.tokenOut = data.tokenOut;
|
|
38
|
-
this.contractType = Zapper.contractType(data.baseParams);
|
|
23
|
+
module.exports = __toCommonJS(unwrapNativeCollateral_exports);
|
|
24
|
+
var import_sdk = require("../../sdk/index.js");
|
|
25
|
+
var import_errors = require("./errors.js");
|
|
26
|
+
function unwrapNativeCollateral(collateral, nativeAmount, wethToken) {
|
|
27
|
+
if (nativeAmount === 0n) {
|
|
28
|
+
return collateral;
|
|
39
29
|
}
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
const balances = new import_sdk.AssetsMap(collateral);
|
|
31
|
+
const wethBalance = balances.get(wethToken) ?? 0n;
|
|
32
|
+
if (wethBalance < nativeAmount) {
|
|
33
|
+
throw new import_errors.InvalidTransactionValueError(nativeAmount, wethBalance);
|
|
42
34
|
}
|
|
35
|
+
balances.upsert(
|
|
36
|
+
wethToken,
|
|
37
|
+
wethBalance === nativeAmount ? void 0 : wethBalance - nativeAmount
|
|
38
|
+
);
|
|
39
|
+
balances.inc(import_sdk.NATIVE_ADDRESS, nativeAmount);
|
|
40
|
+
return balances.toAssets();
|
|
43
41
|
}
|
|
44
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
45
43
|
0 && (module.exports = {
|
|
46
|
-
|
|
44
|
+
unwrapNativeCollateral
|
|
47
45
|
});
|
|
@@ -20,7 +20,6 @@ var errors_exports = {};
|
|
|
20
20
|
__export(errors_exports, {
|
|
21
21
|
PreviewSimulationError: () => PreviewSimulationError,
|
|
22
22
|
asPreviewSimulationError: () => asPreviewSimulationError,
|
|
23
|
-
combinePreviewSimulationErrors: () => combinePreviewSimulationErrors,
|
|
24
23
|
decodeSimulationError: () => decodeSimulationError
|
|
25
24
|
});
|
|
26
25
|
module.exports = __toCommonJS(errors_exports);
|
|
@@ -49,11 +48,6 @@ function asPreviewSimulationError(reason, source) {
|
|
|
49
48
|
{ source, detail: decodeSimulationError({ error }) }
|
|
50
49
|
]);
|
|
51
50
|
}
|
|
52
|
-
function combinePreviewSimulationErrors(...errors) {
|
|
53
|
-
return new PreviewSimulationError(
|
|
54
|
-
errors.filter((e) => e).flatMap((e) => e?.failures ?? [])
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
51
|
function decodeSimulationError(revert) {
|
|
58
52
|
const { error, data } = revert;
|
|
59
53
|
if (data && data !== "0x") {
|
|
@@ -93,6 +87,5 @@ function formatDecodedError(errorName, args) {
|
|
|
93
87
|
0 && (module.exports = {
|
|
94
88
|
PreviewSimulationError,
|
|
95
89
|
asPreviewSimulationError,
|
|
96
|
-
combinePreviewSimulationErrors,
|
|
97
90
|
decodeSimulationError
|
|
98
91
|
});
|
|
@@ -18,23 +18,23 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var simulate_exports = {};
|
|
20
20
|
__export(simulate_exports, {
|
|
21
|
-
ETH_SIMULATE_V1_NETWORKS: () => import_constants.ETH_SIMULATE_V1_NETWORKS,
|
|
22
21
|
PreviewSimulationError: () => import_errors.PreviewSimulationError,
|
|
23
22
|
simulateFacadeOperation: () => import_simulateFacadeOperation.simulateFacadeOperation,
|
|
24
23
|
simulateOperation: () => import_simulateOperation.simulateOperation,
|
|
25
|
-
simulatePoolOperation: () => import_simulatePoolOperation.simulatePoolOperation
|
|
24
|
+
simulatePoolOperation: () => import_simulatePoolOperation.simulatePoolOperation,
|
|
25
|
+
simulateRWAOperation: () => import_simulateRWAOperation.simulateRWAOperation
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(simulate_exports);
|
|
28
|
-
var import_constants = require("./constants.js");
|
|
29
28
|
var import_errors = require("./errors.js");
|
|
30
29
|
var import_simulateFacadeOperation = require("./simulateFacadeOperation.js");
|
|
31
30
|
var import_simulateOperation = require("./simulateOperation.js");
|
|
32
31
|
var import_simulatePoolOperation = require("./simulatePoolOperation.js");
|
|
32
|
+
var import_simulateRWAOperation = require("./simulateRWAOperation.js");
|
|
33
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
34
|
0 && (module.exports = {
|
|
35
|
-
ETH_SIMULATE_V1_NETWORKS,
|
|
36
35
|
PreviewSimulationError,
|
|
37
36
|
simulateFacadeOperation,
|
|
38
37
|
simulateOperation,
|
|
39
|
-
simulatePoolOperation
|
|
38
|
+
simulatePoolOperation,
|
|
39
|
+
simulateRWAOperation
|
|
40
40
|
});
|
|
@@ -24,11 +24,15 @@ module.exports = __toCommonJS(simulateOperation_exports);
|
|
|
24
24
|
var import_parse = require("../parse/index.js");
|
|
25
25
|
var import_simulateFacadeOperation = require("./simulateFacadeOperation.js");
|
|
26
26
|
var import_simulatePoolOperation = require("./simulatePoolOperation.js");
|
|
27
|
+
var import_simulateRWAOperation = require("./simulateRWAOperation.js");
|
|
27
28
|
async function simulateOperation(input, options) {
|
|
28
29
|
const { operation } = input;
|
|
29
30
|
if ((0, import_parse.isPoolOperation)(operation)) {
|
|
30
31
|
return (0, import_simulatePoolOperation.simulatePoolOperation)({ ...input, operation }, options);
|
|
31
32
|
}
|
|
33
|
+
if ((0, import_parse.isRWAOperation)(operation)) {
|
|
34
|
+
return (0, import_simulateRWAOperation.simulateRWAOperation)({ ...input, operation }, options);
|
|
35
|
+
}
|
|
32
36
|
return (0, import_simulateFacadeOperation.simulateFacadeOperation)({ ...input, operation }, options);
|
|
33
37
|
}
|
|
34
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -21,40 +21,69 @@ __export(simulatePoolOperation_exports, {
|
|
|
21
21
|
simulatePoolOperation: () => simulatePoolOperation
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(simulatePoolOperation_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_generated = require("../../abi/310/generated.js");
|
|
25
|
+
var import_iZapper = require("../../abi/iZapper.js");
|
|
25
26
|
var import_errors = require("./errors.js");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (
|
|
41
|
-
return {
|
|
27
|
+
function previewRead(operation) {
|
|
28
|
+
switch (operation.operation) {
|
|
29
|
+
case "Deposit":
|
|
30
|
+
return { functionName: "previewDeposit", amount: operation.assets };
|
|
31
|
+
case "Mint":
|
|
32
|
+
return { functionName: "previewMint", amount: operation.shares };
|
|
33
|
+
case "Withdraw":
|
|
34
|
+
return { functionName: "previewWithdraw", amount: operation.assets };
|
|
35
|
+
case "Redeem":
|
|
36
|
+
return { functionName: "previewRedeem", amount: operation.shares };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function previewContract(operation) {
|
|
40
|
+
const { functionName, amount } = previewRead(operation);
|
|
41
|
+
if (operation.zapper) {
|
|
42
|
+
return {
|
|
43
|
+
address: operation.zapper,
|
|
44
|
+
abi: import_iZapper.iZapperAbi,
|
|
45
|
+
functionName,
|
|
46
|
+
args: [amount]
|
|
47
|
+
};
|
|
42
48
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
return {
|
|
50
|
+
address: operation.pool,
|
|
51
|
+
abi: import_generated.iPoolV310Abi,
|
|
52
|
+
functionName,
|
|
53
|
+
args: [amount]
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function amountsInOut(operation, previewAmount) {
|
|
57
|
+
switch (operation.operation) {
|
|
58
|
+
case "Deposit":
|
|
59
|
+
return { amountIn: operation.assets, amountOut: previewAmount };
|
|
60
|
+
case "Mint":
|
|
61
|
+
return { amountIn: previewAmount, amountOut: operation.shares };
|
|
62
|
+
case "Withdraw":
|
|
63
|
+
return { amountIn: previewAmount, amountOut: operation.assets };
|
|
64
|
+
case "Redeem":
|
|
65
|
+
return { amountIn: operation.shares, amountOut: previewAmount };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function simulatePoolOperation(input, options = {}) {
|
|
69
|
+
const { sdk, operation } = input;
|
|
70
|
+
const { blockNumber, logger } = options;
|
|
71
|
+
try {
|
|
72
|
+
const previewAmount = await sdk.client.readContract({
|
|
73
|
+
// `undefined` lets viem read at `latest`; `blockNumber` is only set for
|
|
74
|
+
// testnet forks pinned to a specific block.
|
|
75
|
+
blockNumber,
|
|
76
|
+
...previewContract(operation)
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
status: "success",
|
|
80
|
+
...amountsInOut(operation, previewAmount)
|
|
81
|
+
};
|
|
82
|
+
} catch (cause) {
|
|
83
|
+
const error = (0, import_errors.asPreviewSimulationError)(cause, "multicall");
|
|
84
|
+
logger?.error(error, "pool operation simulation failed");
|
|
85
|
+
return { status: "failure", error };
|
|
51
86
|
}
|
|
52
|
-
const error = (0, import_errors.combinePreviewSimulationErrors)(
|
|
53
|
-
v1.status === "rejected" ? (0, import_errors.asPreviewSimulationError)(v1.reason, "eth_simulateV1") : void 0,
|
|
54
|
-
(0, import_errors.asPreviewSimulationError)(multicall.reason, "multicall")
|
|
55
|
-
);
|
|
56
|
-
logger?.error(error, "pool operation simulation failed");
|
|
57
|
-
return { status: "failure", error };
|
|
58
87
|
}
|
|
59
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
60
89
|
0 && (module.exports = {
|
|
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var simulateRWAOperation_exports = {};
|
|
20
|
+
__export(simulateRWAOperation_exports, {
|
|
21
|
+
simulateRWAOperation: () => simulateRWAOperation
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
23
|
+
module.exports = __toCommonJS(simulateRWAOperation_exports);
|
|
24
|
+
async function simulateRWAOperation(_input, _options) {
|
|
25
|
+
throw new Error("not yet implemented");
|
|
26
|
+
}
|
|
25
27
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
28
|
0 && (module.exports = {
|
|
27
|
-
|
|
29
|
+
simulateRWAOperation
|
|
28
30
|
});
|
|
@@ -127,7 +127,8 @@ class OnchainSDK extends import_base.ChainContractsRegister {
|
|
|
127
127
|
ignoreMarkets,
|
|
128
128
|
marketConfigurators: mcs,
|
|
129
129
|
redstone,
|
|
130
|
-
pyth
|
|
130
|
+
pyth,
|
|
131
|
+
loadZappers
|
|
131
132
|
} = options ?? {};
|
|
132
133
|
const marketConfigurators = mcs ?? import_utils.TypedObjectUtils.keys(
|
|
133
134
|
this.client.chain.defaultMarketConfigurators
|
|
@@ -196,6 +197,9 @@ class OnchainSDK extends import_base.ChainContractsRegister {
|
|
|
196
197
|
blockNumber: this.currentBlock,
|
|
197
198
|
gas: this.gasLimit
|
|
198
199
|
});
|
|
200
|
+
if (loadZappers) {
|
|
201
|
+
await this.#marketRegister.loadZappers();
|
|
202
|
+
}
|
|
199
203
|
}
|
|
200
204
|
const pluginsList = import_utils.TypedObjectUtils.entries(this.plugins);
|
|
201
205
|
const pluginResponse = await Promise.allSettled(
|
|
@@ -248,7 +252,7 @@ class OnchainSDK extends import_base.ChainContractsRegister {
|
|
|
248
252
|
`address provider version: ${this.#addressProvider.version}`
|
|
249
253
|
);
|
|
250
254
|
this.#marketRegister = new import_MarketRegister.MarketRegister(this, ignoreMarkets);
|
|
251
|
-
this.#marketRegister.hydrate(state
|
|
255
|
+
this.#marketRegister.hydrate(state);
|
|
252
256
|
this.#rwa = new import_market.RWARegistry(this);
|
|
253
257
|
this.#rwa.setState(state.rwa);
|
|
254
258
|
for (const [name, plugin] of import_utils.TypedObjectUtils.entries(this.plugins)) {
|
|
@@ -313,7 +317,7 @@ class OnchainSDK extends import_base.ChainContractsRegister {
|
|
|
313
317
|
currentBlock: this.currentBlock,
|
|
314
318
|
timestamp: this.timestamp,
|
|
315
319
|
addressProvider: this.addressProvider.state,
|
|
316
|
-
|
|
320
|
+
...this.marketRegister.state,
|
|
317
321
|
rwa: this.#rwa.state,
|
|
318
322
|
plugins: Object.fromEntries(
|
|
319
323
|
import_utils.TypedObjectUtils.entries(this.plugins).map(([name, plugin]) => [
|
|
@@ -36,7 +36,6 @@ var import_base = require("../base/index.js");
|
|
|
36
36
|
var import_chains = require("../chain/chains.js");
|
|
37
37
|
var import_constants = require("../constants/index.js");
|
|
38
38
|
var import_market = require("../market/index.js");
|
|
39
|
-
var import_router = require("../router/index.js");
|
|
40
39
|
var import_utils = require("../utils/index.js");
|
|
41
40
|
var import_viem2 = require("../utils/viem/index.js");
|
|
42
41
|
var import_multicall_utils = require("./multicall-utils.js");
|
|
@@ -621,14 +620,12 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
621
620
|
creditManager: cm.creditManager,
|
|
622
621
|
slippage
|
|
623
622
|
});
|
|
624
|
-
const operationCalls =
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
)
|
|
631
|
-
];
|
|
623
|
+
const operationCalls = await this.assembleCloseCreditAccountCalls({
|
|
624
|
+
creditAccount: ca,
|
|
625
|
+
routerCalls: routerCloseResult.calls,
|
|
626
|
+
assetsToWithdraw,
|
|
627
|
+
to
|
|
628
|
+
});
|
|
632
629
|
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
633
630
|
const tx = await this.#closeCreditAccountTx(
|
|
634
631
|
cm,
|
|
@@ -638,6 +635,32 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
638
635
|
);
|
|
639
636
|
return { tx, calls, routerCloseResult, creditFacade: cm.creditFacade };
|
|
640
637
|
}
|
|
638
|
+
/**
|
|
639
|
+
* {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
|
|
640
|
+
*/
|
|
641
|
+
async assembleCloseCreditAccountCalls({
|
|
642
|
+
creditAccount: ca,
|
|
643
|
+
routerCalls,
|
|
644
|
+
assetsToWithdraw,
|
|
645
|
+
to
|
|
646
|
+
}) {
|
|
647
|
+
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
648
|
+
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
649
|
+
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
650
|
+
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
651
|
+
throw new Error(
|
|
652
|
+
"closeCreditAccount is not supported for RWA underlying credit accounts"
|
|
653
|
+
);
|
|
654
|
+
}
|
|
655
|
+
return [
|
|
656
|
+
...routerCalls,
|
|
657
|
+
...this.#prepareDisableQuotas(ca),
|
|
658
|
+
...this.#prepareDecreaseDebt(ca),
|
|
659
|
+
...assetsToWithdraw.map(
|
|
660
|
+
(t) => this.#prepareWithdrawToken(ca.creditFacade, t, import_constants.MAX_UINT256, to)
|
|
661
|
+
)
|
|
662
|
+
];
|
|
663
|
+
}
|
|
641
664
|
/**
|
|
642
665
|
* {@inheritDoc ICreditAccountsService.updateQuotas}
|
|
643
666
|
**/
|
|
@@ -1307,8 +1330,23 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1307
1330
|
/**
|
|
1308
1331
|
* {@inheritDoc ICreditAccountsService.repayCreditAccount}
|
|
1309
1332
|
*/
|
|
1310
|
-
async repayCreditAccount({
|
|
1311
|
-
operation,
|
|
1333
|
+
async repayCreditAccount(props) {
|
|
1334
|
+
const { operation, creditAccount: ca } = props;
|
|
1335
|
+
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1336
|
+
const operationCalls = await this.assembleRepayCreditAccountCalls(props);
|
|
1337
|
+
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
1338
|
+
const tx = await this.#closeCreditAccountTx(
|
|
1339
|
+
cm,
|
|
1340
|
+
ca.creditAccount,
|
|
1341
|
+
calls,
|
|
1342
|
+
operation
|
|
1343
|
+
);
|
|
1344
|
+
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1345
|
+
}
|
|
1346
|
+
/**
|
|
1347
|
+
* {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
|
|
1348
|
+
*/
|
|
1349
|
+
async assembleRepayCreditAccountCalls({
|
|
1312
1350
|
collateralAssets,
|
|
1313
1351
|
assetsToWithdraw,
|
|
1314
1352
|
creditAccount: ca,
|
|
@@ -1317,7 +1355,6 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1317
1355
|
tokensToClaim,
|
|
1318
1356
|
calls: wrapCalls = []
|
|
1319
1357
|
}) {
|
|
1320
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1321
1358
|
const addCollateral = collateralAssets.filter((a) => a.balance > 0);
|
|
1322
1359
|
const router = this.sdk.routerFor(ca);
|
|
1323
1360
|
const unwrapCalls = await this.getRedeemDiffCalls(1n, ca.creditManager) ?? [];
|
|
@@ -1336,14 +1373,7 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1336
1373
|
(t) => this.#prepareWithdrawToken(ca.creditFacade, t.token, import_constants.MAX_UINT256, to)
|
|
1337
1374
|
)
|
|
1338
1375
|
];
|
|
1339
|
-
|
|
1340
|
-
const tx = await this.#closeCreditAccountTx(
|
|
1341
|
-
cm,
|
|
1342
|
-
ca.creditAccount,
|
|
1343
|
-
calls,
|
|
1344
|
-
operation
|
|
1345
|
-
);
|
|
1346
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1376
|
+
return operationCalls;
|
|
1347
1377
|
}
|
|
1348
1378
|
/**
|
|
1349
1379
|
* {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
|
|
@@ -1723,10 +1753,10 @@ class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
|
1723
1753
|
return calls;
|
|
1724
1754
|
}
|
|
1725
1755
|
#prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
|
|
1726
|
-
const minRecord =
|
|
1756
|
+
const minRecord = new import_utils.AssetsMap(minQuota);
|
|
1727
1757
|
const calls = averageQuota.map((q) => {
|
|
1728
|
-
const
|
|
1729
|
-
const min =
|
|
1758
|
+
const minBalance = minRecord.get(q.token);
|
|
1759
|
+
const min = minBalance && minBalance > 0n ? minBalance : 0n;
|
|
1730
1760
|
return {
|
|
1731
1761
|
target: creditFacade,
|
|
1732
1762
|
callData: (0, import_viem.encodeFunctionData)({
|
|
@@ -244,6 +244,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
244
244
|
const functionName = (0, import_utils.getFunctionSignature)(this.abi, calldata);
|
|
245
245
|
return this.wrapParseCallV2(
|
|
246
246
|
functionName,
|
|
247
|
+
calldata,
|
|
247
248
|
this.parseFunctionParamsV2(decoded, strict)
|
|
248
249
|
);
|
|
249
250
|
} catch (e) {
|
|
@@ -257,7 +258,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
257
258
|
this.logger?.warn(e);
|
|
258
259
|
const selector = calldata.slice(0, 10);
|
|
259
260
|
const data = `0x${calldata.slice(10)}`;
|
|
260
|
-
return this.wrapParseCallV2(`unknown function ${selector}`, {
|
|
261
|
+
return this.wrapParseCallV2(`unknown function ${selector}`, calldata, {
|
|
261
262
|
_data: data
|
|
262
263
|
});
|
|
263
264
|
}
|
|
@@ -270,7 +271,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
270
271
|
parseFunctionParamsV2(params, _strict) {
|
|
271
272
|
return (0, import_utils.functionArgsToRecord)(this.abi, params.functionName, params.args);
|
|
272
273
|
}
|
|
273
|
-
wrapParseCallV2(functionName, rawArgs) {
|
|
274
|
+
wrapParseCallV2(functionName, calldata, rawArgs) {
|
|
274
275
|
return {
|
|
275
276
|
chainId: this.chainId,
|
|
276
277
|
target: this.address,
|
|
@@ -278,6 +279,7 @@ class BaseContract extends import_Construct.Construct {
|
|
|
278
279
|
label: this.labelAddress(this.address, true),
|
|
279
280
|
version: this.version,
|
|
280
281
|
functionName,
|
|
282
|
+
calldata,
|
|
281
283
|
rawArgs
|
|
282
284
|
};
|
|
283
285
|
}
|
|
@@ -52,10 +52,11 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
52
52
|
* bypassing on-chain reads.
|
|
53
53
|
* @param state - Array of market data snapshots.
|
|
54
54
|
**/
|
|
55
|
-
hydrate(
|
|
56
|
-
const configurators = new Set(
|
|
55
|
+
hydrate({ markets, zappers }) {
|
|
56
|
+
const configurators = new Set(markets.map((m) => m.configurator));
|
|
57
57
|
this.#setMarketFilter([...configurators]);
|
|
58
|
-
this.#setMarkets(
|
|
58
|
+
this.#setMarkets(markets);
|
|
59
|
+
this.hydrateZappers(zappers);
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
61
62
|
* @internal
|
|
@@ -174,7 +175,10 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
174
175
|
* Serializable snapshot of all loaded markets, suitable for hydration.
|
|
175
176
|
**/
|
|
176
177
|
get state() {
|
|
177
|
-
return
|
|
178
|
+
return {
|
|
179
|
+
markets: this.markets.map((market) => market.state),
|
|
180
|
+
zappers: this.zappersState
|
|
181
|
+
};
|
|
178
182
|
}
|
|
179
183
|
/**
|
|
180
184
|
* Returns a human-readable snapshot of all markets.
|
|
@@ -182,7 +186,8 @@ class MarketRegister extends import_ZapperRegister.ZapperRegister {
|
|
|
182
186
|
**/
|
|
183
187
|
stateHuman(raw = true) {
|
|
184
188
|
return {
|
|
185
|
-
markets: this.markets.map((market) => market.stateHuman(raw))
|
|
189
|
+
markets: this.markets.map((market) => market.stateHuman(raw)),
|
|
190
|
+
zappers: this.zappersStateHuman(raw)
|
|
186
191
|
};
|
|
187
192
|
}
|
|
188
193
|
/**
|
|
@@ -75,6 +75,60 @@ class ZapperRegister extends import_base.SDKConstruct {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Serializable snapshot of all loaded zappers, suitable for hydration.
|
|
80
|
+
* Returns `undefined` when zappers were never loaded (i.e. `loadZappers` was
|
|
81
|
+
* not called), so the not-loaded state round-trips cleanly.
|
|
82
|
+
**/
|
|
83
|
+
get zappersState() {
|
|
84
|
+
if (!this.#zappers) {
|
|
85
|
+
return void 0;
|
|
86
|
+
}
|
|
87
|
+
return this.#zappers.values().flatMap(
|
|
88
|
+
(zappers) => zappers.map((z) => ({
|
|
89
|
+
pool: z.pool,
|
|
90
|
+
type: z.type,
|
|
91
|
+
baseParams: z.baseParams,
|
|
92
|
+
tokenIn: z.tokenIn,
|
|
93
|
+
tokenOut: z.tokenOut
|
|
94
|
+
}))
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Restores zapper state from a previously serialized snapshot,
|
|
99
|
+
* bypassing on-chain reads.
|
|
100
|
+
* @param state - Array of zapper data snapshots, or `undefined` when zappers
|
|
101
|
+
* were not loaded in the snapshot (leaves the registry in the not-loaded state).
|
|
102
|
+
**/
|
|
103
|
+
hydrateZappers(state) {
|
|
104
|
+
if (!state) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.#zappers = new import_utils.AddressMap(void 0, "zappers");
|
|
108
|
+
for (const z of state) {
|
|
109
|
+
this.#addZapper(z);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Returns a human-readable snapshot of all loaded zappers.
|
|
114
|
+
* Returns `undefined` when zappers were never loaded.
|
|
115
|
+
* @param raw - When `true`, includes raw/unformatted values.
|
|
116
|
+
**/
|
|
117
|
+
zappersStateHuman(_ = true) {
|
|
118
|
+
if (!this.#zappers) {
|
|
119
|
+
return void 0;
|
|
120
|
+
}
|
|
121
|
+
return this.#zappers.values().flatMap(
|
|
122
|
+
(zappers) => zappers.map((z) => ({
|
|
123
|
+
address: this.labelAddress(z.baseParams.addr),
|
|
124
|
+
contractType: z.contractType,
|
|
125
|
+
type: z.type,
|
|
126
|
+
pool: this.labelAddress(z.pool),
|
|
127
|
+
tokenIn: this.sdk.labelAddress(z.tokenIn.addr),
|
|
128
|
+
tokenOut: this.sdk.labelAddress(z.tokenOut.addr)
|
|
129
|
+
}))
|
|
130
|
+
);
|
|
131
|
+
}
|
|
78
132
|
#addZapper(z) {
|
|
79
133
|
const zapper = (0, import_zapper.createZapper)(this.sdk, z);
|
|
80
134
|
const existing = this.zappers.get(z.pool);
|