@gearbox-protocol/sdk 13.0.0-next.9 → 13.1.0-next.1
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/310/iLinearInterestRateModelV310.js +92 -0
- package/dist/cjs/abi/310/iSecuritizeDegenNFT.js +263 -0
- package/dist/cjs/abi/310/iSecuritizeKYCFactory.js +278 -0
- package/dist/cjs/abi/errors.js +0 -145
- package/dist/cjs/abi/iPriceFeed.js +84 -0
- package/dist/cjs/{sdk/sdk-gov-legacy/oracles → common-utils}/index.js +4 -4
- package/dist/cjs/common-utils/package.json +1 -0
- package/dist/cjs/common-utils/utils/assetsMath.js +216 -0
- package/dist/cjs/common-utils/utils/bigintMath.js +65 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcHealthFactor.js +76 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcOverallAPY.js +81 -0
- package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV310.js → common-utils/utils/creditAccount/calcQuotaBorrowRate.js} +19 -7
- package/dist/cjs/{sdk/sdk-legacy/gearboxRewards/merklAPI.js → common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js} +11 -7
- package/dist/cjs/common-utils/utils/creditAccount/debt.js +64 -0
- package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV300.js → common-utils/utils/creditAccount/getTimeToLiquidation.js} +15 -7
- package/dist/cjs/common-utils/utils/creditAccount/index.js +40 -0
- package/dist/cjs/common-utils/utils/creditAccount/liquidationPrice.js +47 -0
- package/dist/cjs/common-utils/utils/creditAccount/quotaUtils.js +149 -0
- package/dist/cjs/common-utils/utils/creditAccount/sort.js +95 -0
- package/dist/cjs/common-utils/utils/endpoints.js +65 -0
- package/dist/cjs/{sdk/sdk-legacy → common-utils}/utils/index.js +10 -6
- package/dist/cjs/common-utils/utils/priceMath.js +66 -0
- package/dist/cjs/dev/AccountOpener.js +47 -7
- package/dist/cjs/dev/ltUtils.js +4 -91
- package/dist/cjs/dev/migrateFaucet.js +25 -53
- package/dist/cjs/dev/providers.js +12 -0
- package/dist/cjs/history/assembleOperations.js +103 -0
- package/dist/cjs/history/classifyMulticallOperations.js +157 -0
- package/dist/cjs/history/errors.js +91 -0
- package/dist/cjs/history/extractProtocolCalls.js +53 -0
- package/dist/cjs/history/extractTransfers.js +168 -0
- package/dist/cjs/history/findFacadeCalls.js +84 -0
- package/dist/cjs/history/index.js +39 -0
- package/dist/cjs/history/inner-operations.js +16 -0
- package/dist/cjs/{sdk/gauges/utils.js → history/internal-types.js} +2 -2
- package/dist/cjs/history/mapOperations.js +79 -0
- package/dist/cjs/history/package.json +1 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
- package/dist/cjs/history/populateContractsRegister.js +68 -0
- package/dist/cjs/history/toLegacyOperation.js +182 -0
- package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/cjs/permissionless/bindings/instance-manager.js +3 -3
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -6
- package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +123 -3
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +65 -30
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -25
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +74 -25
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +84 -31
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +92 -34
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +62 -27
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +56 -23
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +31 -14
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +28 -12
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +35 -16
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +47 -17
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +29 -11
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +45 -14
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +79 -42
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +44 -17
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +49 -21
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +92 -55
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +71 -37
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +55 -25
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +44 -21
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +42 -23
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +53 -27
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +37 -11
- package/dist/cjs/plugins/adapters/contracts/index.js +7 -15
- package/dist/cjs/plugins/adapters/createAdapter.js +125 -0
- package/dist/cjs/plugins/adapters/index.js +6 -0
- package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
- package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
- package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +4 -4
- package/dist/cjs/plugins/bots/abi/index.js +0 -2
- package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
- package/dist/cjs/sdk/GearboxSDK.js +6 -14
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +479 -188
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +27 -17
- package/dist/cjs/sdk/accounts/createCreditAccountService.js +0 -4
- package/dist/cjs/sdk/accounts/index.js +0 -2
- package/dist/cjs/sdk/base/BaseContract.js +60 -6
- package/dist/cjs/sdk/base/ChainContractsRegister.js +34 -11
- package/dist/cjs/sdk/base/Construct.js +29 -15
- package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
- package/dist/cjs/sdk/base/SDKConstruct.js +1 -1
- package/dist/cjs/sdk/base/TokensMeta.js +154 -11
- package/dist/cjs/sdk/{sdk-legacy/utils/math.js → base/errors.js} +12 -10
- package/dist/cjs/sdk/base/index.js +2 -0
- package/dist/cjs/sdk/chain/chains.js +11 -28
- package/dist/cjs/sdk/constants/addresses.js +2 -88
- package/dist/cjs/sdk/constants/networks.js +0 -32
- package/dist/cjs/sdk/constants/versions.js +0 -8
- package/dist/cjs/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/cjs/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/cjs/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -7
- package/dist/cjs/sdk/core/index.js +6 -6
- package/dist/cjs/sdk/{sdk-gov-legacy/tokens/aave.js → core/types.js} +2 -2
- package/dist/cjs/sdk/index.js +0 -10
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/cjs/sdk/market/MarketRegister.js +0 -1
- package/dist/cjs/sdk/market/MarketSuite.js +4 -1
- package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +25 -4
- package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
- package/dist/cjs/sdk/market/adapters/index.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditFacade.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditManager.js +1 -4
- package/dist/cjs/sdk/market/credit/index.js +2 -6
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +9 -57
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/cjs/sdk/market/oracle/index.js +0 -2
- package/dist/cjs/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +3 -0
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +18 -3
- package/dist/cjs/sdk/market/pool/SecuritizeKYCFactory.js +97 -0
- package/dist/cjs/sdk/market/pool/createPool.js +0 -4
- package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +0 -4
- package/dist/cjs/sdk/market/pool/index.js +4 -4
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +19 -46
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/cjs/sdk/plugins/index.js +1 -3
- package/dist/cjs/sdk/pools/PoolService.js +149 -18
- package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -32
- package/dist/cjs/sdk/router/createRouter.js +0 -4
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/router/index.js +0 -2
- package/dist/cjs/sdk/utils/AddressMap.js +1 -1
- package/dist/cjs/sdk/utils/abi-decode.js +43 -2
- package/dist/cjs/sdk/utils/formatter.js +55 -2
- package/dist/cjs/sdk/utils/viem/sendRawTx.js +16 -0
- package/dist/esm/abi/310/iLinearInterestRateModelV310.js +68 -0
- package/dist/esm/abi/310/iSecuritizeDegenNFT.js +239 -0
- package/dist/esm/abi/310/iSecuritizeKYCFactory.js +254 -0
- package/dist/esm/abi/errors.js +0 -143
- package/dist/esm/abi/iPriceFeed.js +60 -0
- package/dist/esm/common-utils/index.js +1 -0
- package/dist/esm/common-utils/package.json +1 -0
- package/dist/esm/{sdk/sdk-legacy/core/assets.js → common-utils/utils/assetsMath.js} +80 -14
- package/dist/esm/common-utils/utils/bigintMath.js +41 -0
- package/dist/esm/common-utils/utils/creditAccount/calcHealthFactor.js +55 -0
- package/dist/esm/common-utils/utils/creditAccount/calcOverallAPY.js +60 -0
- package/dist/esm/common-utils/utils/creditAccount/calcQuotaBorrowRate.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/debt.js +43 -0
- package/dist/esm/common-utils/utils/creditAccount/getTimeToLiquidation.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/index.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/liquidationPrice.js +23 -0
- package/dist/esm/common-utils/utils/creditAccount/quotaUtils.js +125 -0
- package/dist/esm/common-utils/utils/creditAccount/sort.js +67 -0
- package/dist/esm/common-utils/utils/endpoints.js +41 -0
- package/dist/esm/common-utils/utils/index.js +5 -0
- package/dist/esm/common-utils/utils/priceMath.js +42 -0
- package/dist/esm/dev/AccountOpener.js +48 -7
- package/dist/esm/dev/ltUtils.js +7 -100
- package/dist/esm/dev/migrateFaucet.js +24 -51
- package/dist/esm/dev/providers.js +12 -0
- package/dist/esm/history/assembleOperations.js +79 -0
- package/dist/esm/history/classifyMulticallOperations.js +137 -0
- package/dist/esm/history/errors.js +62 -0
- package/dist/esm/history/extractProtocolCalls.js +32 -0
- package/dist/esm/history/extractTransfers.js +148 -0
- package/dist/esm/history/findFacadeCalls.js +63 -0
- package/dist/esm/history/index.js +9 -0
- package/dist/esm/history/mapOperations.js +55 -0
- package/dist/esm/history/package.json +1 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
- package/dist/esm/history/populateContractsRegister.js +52 -0
- package/dist/esm/history/toLegacyOperation.js +157 -0
- package/dist/esm/history/trace-utils.js +36 -0
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/esm/permissionless/bindings/instance-manager.js +3 -3
- package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +133 -4
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +64 -30
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +109 -26
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +76 -25
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +86 -31
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +97 -34
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +64 -27
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -23
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +37 -15
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +33 -12
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +40 -16
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +49 -17
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +31 -11
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +47 -14
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +44 -17
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +82 -43
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +29 -11
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +46 -17
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +55 -22
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +91 -54
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -37
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +54 -25
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +45 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +43 -24
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +57 -28
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +48 -18
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +39 -11
- package/dist/esm/plugins/adapters/contracts/index.js +3 -7
- package/dist/esm/plugins/adapters/createAdapter.js +140 -0
- package/dist/esm/plugins/adapters/index.js +3 -0
- package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
- package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +5 -8
- package/dist/esm/plugins/bots/abi/index.js +0 -1
- package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -2
- package/dist/esm/sdk/GearboxSDK.js +7 -23
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +483 -193
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +27 -17
- package/dist/esm/sdk/accounts/createCreditAccountService.js +1 -5
- package/dist/esm/sdk/accounts/index.js +0 -1
- package/dist/esm/sdk/base/BaseContract.js +62 -6
- package/dist/esm/sdk/base/ChainContractsRegister.js +34 -11
- package/dist/esm/sdk/base/Construct.js +29 -15
- package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
- package/dist/esm/sdk/base/SDKConstruct.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +158 -10
- package/dist/esm/sdk/base/errors.js +11 -0
- package/dist/esm/sdk/base/index.js +1 -0
- package/dist/esm/sdk/chain/chains.js +12 -28
- package/dist/esm/sdk/constants/addresses.js +1 -83
- package/dist/esm/sdk/constants/networks.js +0 -31
- package/dist/esm/sdk/constants/versions.js +0 -6
- package/dist/esm/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/esm/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/esm/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -8
- package/dist/esm/sdk/core/index.js +3 -3
- package/dist/esm/sdk/index.js +0 -5
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/esm/sdk/market/MarketRegister.js +0 -1
- package/dist/esm/sdk/market/MarketSuite.js +5 -2
- package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +29 -5
- package/dist/esm/sdk/market/adapters/index.js +1 -1
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +1 -4
- package/dist/esm/sdk/market/credit/createCreditConfigurator.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditFacade.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditManager.js +2 -5
- package/dist/esm/sdk/market/credit/index.js +1 -3
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -59
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/esm/sdk/market/oracle/index.js +0 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolSuite.js +3 -0
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +18 -3
- package/dist/esm/sdk/market/pool/SecuritizeKYCFactory.js +73 -0
- package/dist/esm/sdk/market/pool/createPool.js +1 -5
- package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +1 -5
- package/dist/esm/sdk/market/pool/index.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +20 -47
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/esm/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/esm/sdk/plugins/index.js +0 -1
- package/dist/esm/sdk/pools/PoolService.js +149 -18
- package/dist/esm/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -32
- package/dist/esm/sdk/router/createRouter.js +1 -5
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/router/index.js +0 -1
- package/dist/esm/sdk/utils/AddressMap.js +1 -1
- package/dist/esm/sdk/utils/abi-decode.js +43 -2
- package/dist/esm/sdk/utils/formatter.js +37 -1
- package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -1
- package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +111 -0
- package/dist/types/{sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts → abi/310/iSecuritizeDegenNFT.d.ts} +115 -239
- package/dist/types/{sdk/core/BotListV3Contract.d.ts → abi/310/iSecuritizeKYCFactory.d.ts} +146 -147
- package/dist/types/abi/errors.d.ts +186 -996
- package/dist/types/abi/iPriceFeed.d.ts +87 -0
- package/dist/types/common-utils/index.d.ts +1 -0
- package/dist/types/common-utils/utils/assetsMath.d.ts +114 -0
- package/dist/types/common-utils/utils/bigintMath.d.ts +43 -0
- package/dist/types/common-utils/utils/creditAccount/calcHealthFactor.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/calcOverallAPY.d.ts +37 -0
- package/dist/types/common-utils/utils/creditAccount/calcQuotaBorrowRate.d.ts +18 -0
- package/dist/types/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.d.ts +15 -0
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +35 -0
- package/dist/types/common-utils/utils/creditAccount/getTimeToLiquidation.d.ts +16 -0
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -0
- package/dist/types/common-utils/utils/creditAccount/liquidationPrice.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/quotaUtils.d.ts +81 -0
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +55 -0
- package/dist/types/common-utils/utils/creditAccount/types.d.ts +18 -0
- package/dist/types/common-utils/utils/endpoints.d.ts +27 -0
- package/dist/types/common-utils/utils/index.d.ts +5 -0
- package/dist/types/common-utils/utils/priceMath.d.ts +47 -0
- package/dist/types/dev/migrateFaucet.d.ts +4 -5
- package/dist/types/dev/providers.d.ts +5 -5
- package/dist/types/history/assembleOperations.d.ts +22 -0
- package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
- package/dist/types/history/errors.d.ts +30 -0
- package/dist/types/history/extractProtocolCalls.d.ts +8 -0
- package/dist/types/history/extractTransfers.d.ts +22 -0
- package/dist/types/history/findFacadeCalls.d.ts +9 -0
- package/dist/types/history/index.d.ts +6 -0
- package/dist/types/history/inner-operations.d.ts +57 -0
- package/dist/types/history/internal-types.d.ts +47 -0
- package/dist/types/history/mapOperations.d.ts +27 -0
- package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
- package/dist/types/history/populateContractsRegister.d.ts +19 -0
- package/dist/types/history/toLegacyOperation.d.ts +18 -0
- package/dist/types/history/trace-utils.d.ts +12 -0
- package/dist/types/history/types.d.ts +71 -0
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +3 -3
- package/dist/types/permissionless/bindings/instance-manager.d.ts +3 -3
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +135 -8
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +45 -4
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +225 -7
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +418 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +227 -10
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1227 -11
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +69 -6
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +492 -6
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +67 -6
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +132 -6
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +144 -8
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +163 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +248 -6
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +367 -6
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +104 -7
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +46 -5
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +488 -6
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +20 -7
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +493 -7
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +18 -6
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +56 -5
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +52 -7
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +199 -7
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1040 -17
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +82 -8
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +148 -10
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +758 -5
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +183 -4
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +110 -5
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +84 -7
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +122 -4
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +275 -5
- package/dist/types/plugins/adapters/contracts/index.d.ts +3 -7
- package/dist/types/plugins/adapters/createAdapter.d.ts +5 -0
- package/dist/types/plugins/adapters/index.d.ts +3 -0
- package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
- package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
- package/dist/types/plugins/adapters/types.d.ts +64 -2
- package/dist/types/plugins/bots/abi/index.d.ts +0 -1
- package/dist/types/sdk/GearboxSDK.d.ts +0 -3
- package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +123 -37
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
- package/dist/types/sdk/accounts/createCreditAccountService.d.ts +1 -1
- package/dist/types/sdk/accounts/index.d.ts +0 -1
- package/dist/types/sdk/accounts/types.d.ts +115 -43
- package/dist/types/sdk/base/BaseContract.d.ts +17 -4
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -3
- package/dist/types/sdk/base/Construct.d.ts +13 -13
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +27 -4
- package/dist/types/sdk/base/errors.d.ts +3 -0
- package/dist/types/sdk/base/index.d.ts +1 -0
- package/dist/types/sdk/base/token-types.d.ts +10 -2
- package/dist/types/sdk/base/types.d.ts +36 -0
- package/dist/types/sdk/chain/chains.d.ts +1 -1
- package/dist/types/sdk/constants/addresses.d.ts +0 -19
- package/dist/types/sdk/constants/networks.d.ts +0 -5
- package/dist/types/sdk/constants/versions.d.ts +0 -2
- package/dist/types/sdk/core/{address-provider/AbstractAddressProviderContract.d.ts → AbstractAddressProviderContract.d.ts} +4 -4
- package/dist/types/sdk/core/{address-provider/AddressProviderV310Contract.d.ts → AddressProviderV310Contract.d.ts} +1 -1
- package/dist/types/sdk/core/{address-provider/createAddressProvider.d.ts → createAddressProvider.d.ts} +1 -1
- package/dist/types/sdk/core/index.d.ts +3 -3
- package/dist/types/sdk/core/{address-provider/types.d.ts → types.d.ts} +3 -3
- package/dist/types/sdk/index.d.ts +0 -5
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
- package/dist/types/sdk/market/MarketRegister.d.ts +0 -1
- package/dist/types/sdk/market/MarketSuite.d.ts +2 -0
- package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +10 -5
- package/dist/types/sdk/market/adapters/index.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +6 -2
- package/dist/types/sdk/market/credit/{CreditFacadeV300Contract.d.ts → CreditFacadeV310BaseContract.d.ts} +335 -267
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
- package/dist/types/sdk/market/credit/index.d.ts +1 -3
- package/dist/types/sdk/market/credit/types.d.ts +2 -3
- package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +0 -12
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -21
- package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +2 -2
- package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +1 -15
- package/dist/types/sdk/market/oracle/index.d.ts +0 -1
- package/dist/types/sdk/market/oracle/types.d.ts +6 -18
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +116 -76
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +20 -0
- package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -0
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +6 -2
- package/dist/types/sdk/market/pool/SecuritizeKYCFactory.d.ts +345 -0
- package/dist/types/sdk/market/pool/index.d.ts +2 -2
- package/dist/types/sdk/market/pool/types.d.ts +2 -4
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -3
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -9
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
- package/dist/types/sdk/market/pricefeeds/updates/PythUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/fetchPythPayloads.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +2 -2
- package/dist/types/sdk/options.d.ts +2 -2
- package/dist/types/sdk/plugins/index.d.ts +0 -1
- package/dist/types/sdk/pools/PoolService.d.ts +4 -1
- package/dist/types/sdk/pools/types.d.ts +22 -3
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +2 -7
- package/dist/types/sdk/router/RouterV310Contract.d.ts +1 -16
- package/dist/types/sdk/router/helpers.d.ts +2 -2
- package/dist/types/sdk/router/index.d.ts +0 -1
- package/dist/types/sdk/router/types.d.ts +2 -55
- package/dist/types/sdk/types/state-human.d.ts +1 -4
- package/dist/types/sdk/utils/AddressMap.d.ts +1 -1
- package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
- package/dist/types/sdk/utils/formatter.d.ts +9 -0
- package/dist/types/sdk/utils/viem/sendRawTx.d.ts +5 -1
- package/package.json +26 -12
- package/dist/cjs/abi/iDegenDistributorV300.js +0 -100
- package/dist/cjs/abi/routerV300.js +0 -406
- package/dist/cjs/abi/v300.js +0 -4189
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
- package/dist/cjs/plugins/adapters/contracts/types.js +0 -77
- package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -164
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -192
- package/dist/cjs/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -41
- package/dist/cjs/sdk/accountMigration/index.js +0 -26
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +0 -454
- package/dist/cjs/sdk/core/BotListV3Contract.js +0 -101
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +0 -83
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +0 -116
- package/dist/cjs/sdk/core/address-provider/index.js +0 -28
- package/dist/cjs/sdk/gauges/GaugeStakingService.js +0 -118
- package/dist/cjs/sdk/gauges/index.js +0 -24
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -139
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +0 -160
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +0 -114
- package/dist/cjs/sdk/market/oracle/PriceOracleV300Contract.js +0 -129
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -85
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +0 -135
- package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -131
- package/dist/cjs/sdk/poolMigration/index.js +0 -84
- package/dist/cjs/sdk/router/PathOptionFactory.js +0 -105
- package/dist/cjs/sdk/router/RouterV300Contract.js +0 -390
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/adapters.js +0 -67
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2576
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/index.js +0 -24
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/protocols.js +0 -58
- package/dist/cjs/sdk/sdk-gov-legacy/index.js +0 -26
- package/dist/cjs/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/aura.js +0 -239
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/balancer.js +0 -339
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/compound.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/convex.js +0 -450
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -394
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/erc4626.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/gear.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/index.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +0 -562
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -45
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +0 -1002
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -80
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -50
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/yearn.js +0 -95
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/core/assets.js +0 -150
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +0 -510
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1802
- package/dist/cjs/sdk/sdk-legacy/core/creditManager.js +0 -263
- package/dist/cjs/sdk/sdk-legacy/core/creditSession.js +0 -256
- package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/core/eventOrTx.js +0 -87
- package/dist/cjs/sdk/sdk-legacy/core/pool.js +0 -334
- package/dist/cjs/sdk/sdk-legacy/core/transactions.js +0 -783
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +0 -366
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +0 -176
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/index.js +0 -26
- package/dist/cjs/sdk/sdk-legacy/index.js +0 -52
- package/dist/cjs/sdk/sdk-legacy/payload/creditAccount.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditManager.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditSession.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/graphPayload.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/pool.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +0 -92
- package/dist/cjs/sdk/sdk-legacy/utils/formatter.js +0 -79
- package/dist/cjs/sdk/sdk-legacy/utils/price.js +0 -35
- package/dist/esm/abi/iDegenDistributorV300.js +0 -76
- package/dist/esm/abi/routerV300.js +0 -381
- package/dist/esm/abi/v300.js +0 -4154
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/types.js +0 -48
- package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -140
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -171
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV300.js +0 -6
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV310.js +0 -6
- package/dist/esm/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -17
- package/dist/esm/sdk/accountMigration/index.js +0 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +0 -442
- package/dist/esm/sdk/core/BotListV3Contract.js +0 -77
- package/dist/esm/sdk/core/GearStakingV3Contract.js +0 -59
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +0 -82
- package/dist/esm/sdk/core/address-provider/index.js +0 -4
- package/dist/esm/sdk/gauges/GaugeStakingService.js +0 -94
- package/dist/esm/sdk/gauges/index.js +0 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -115
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +0 -143
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +0 -90
- package/dist/esm/sdk/market/oracle/PriceOracleV300Contract.js +0 -111
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -61
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +0 -116
- package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -107
- package/dist/esm/sdk/poolMigration/index.js +0 -60
- package/dist/esm/sdk/router/PathOptionFactory.js +0 -92
- package/dist/esm/sdk/router/RouterV300Contract.js +0 -374
- package/dist/esm/sdk/sdk-gov-legacy/contracts/adapters.js +0 -43
- package/dist/esm/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2538
- package/dist/esm/sdk/sdk-gov-legacy/contracts/index.js +0 -2
- package/dist/esm/sdk/sdk-gov-legacy/contracts/protocols.js +0 -34
- package/dist/esm/sdk/sdk-gov-legacy/index.js +0 -3
- package/dist/esm/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -28
- package/dist/esm/sdk/sdk-gov-legacy/oracles/index.js +0 -1
- package/dist/esm/sdk/sdk-gov-legacy/tokens/aura.js +0 -213
- package/dist/esm/sdk/sdk-gov-legacy/tokens/balancer.js +0 -314
- package/dist/esm/sdk/sdk-gov-legacy/tokens/convex.js +0 -424
- package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -369
- package/dist/esm/sdk/sdk-gov-legacy/tokens/gear.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/index.js +0 -16
- package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +0 -538
- package/dist/esm/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -20
- package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +0 -975
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -55
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -26
- package/dist/esm/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/yearn.js +0 -71
- package/dist/esm/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -0
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +0 -495
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1805
- package/dist/esm/sdk/sdk-legacy/core/creditManager.js +0 -242
- package/dist/esm/sdk/sdk-legacy/core/creditSession.js +0 -228
- package/dist/esm/sdk/sdk-legacy/core/endpoint.js +0 -107
- package/dist/esm/sdk/sdk-legacy/core/eventOrTx.js +0 -63
- package/dist/esm/sdk/sdk-legacy/core/pool.js +0 -311
- package/dist/esm/sdk/sdk-legacy/core/transactions.js +0 -732
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +0 -332
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +0 -158
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -102
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/merklAPI.js +0 -6
- package/dist/esm/sdk/sdk-legacy/index.js +0 -16
- package/dist/esm/sdk/sdk-legacy/payload/creditAccount.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditManager.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditSession.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/graphPayload.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/pool.js +0 -0
- package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +0 -68
- package/dist/esm/sdk/sdk-legacy/utils/formatter.js +0 -39
- package/dist/esm/sdk/sdk-legacy/utils/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/utils/math.js +0 -9
- package/dist/esm/sdk/sdk-legacy/utils/price.js +0 -11
- package/dist/types/abi/iDegenDistributorV300.d.ts +0 -87
- package/dist/types/abi/routerV300.d.ts +0 -585
- package/dist/types/abi/v300.d.ts +0 -5484
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
- package/dist/types/plugins/adapters/contracts/types.d.ts +0 -34
- package/dist/types/plugins/bots/abi/iPartialLiquidationBotV300.d.ts +0 -210
- package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +0 -32
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV300.d.ts +0 -4
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV310.d.ts +0 -4
- package/dist/types/sdk/accountMigration/createMigrateCreditAccountsService.d.ts +0 -8
- package/dist/types/sdk/accountMigration/index.d.ts +0 -3
- package/dist/types/sdk/accountMigration/types.d.ts +0 -62
- package/dist/types/sdk/accounts/CreditAccountsServiceV300.d.ts +0 -32
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +0 -520
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +0 -97
- package/dist/types/sdk/core/address-provider/index.d.ts +0 -4
- package/dist/types/sdk/gauges/GaugeStakingService.d.ts +0 -14
- package/dist/types/sdk/gauges/index.d.ts +0 -2
- package/dist/types/sdk/gauges/utils.d.ts +0 -22
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +0 -648
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +0 -1043
- package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +0 -369
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +0 -1107
- package/dist/types/sdk/plugins/V300StalenessPeriodPlugin.d.ts +0 -29
- package/dist/types/sdk/poolMigration/index.d.ts +0 -11
- package/dist/types/sdk/router/PathOptionFactory.d.ts +0 -9
- package/dist/types/sdk/router/RouterV300Contract.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/adapters.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/contracts.d.ts +0 -194
- package/dist/types/sdk/sdk-gov-legacy/contracts/index.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/contracts/protocols.d.ts +0 -30
- package/dist/types/sdk/sdk-gov-legacy/index.d.ts +0 -3
- package/dist/types/sdk/sdk-gov-legacy/oracles/PriceFeedType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/oracles/index.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/aave.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/tokens/aura.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/balancer.d.ts +0 -15
- package/dist/types/sdk/sdk-gov-legacy/tokens/compound.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/convex.d.ts +0 -31
- package/dist/types/sdk/sdk-gov-legacy/tokens/curveLP.d.ts +0 -25
- package/dist/types/sdk/sdk-gov-legacy/tokens/erc4626.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/gear.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/index.d.ts +0 -16
- package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +0 -9
- package/dist/types/sdk/sdk-gov-legacy/tokens/stakingRewards.d.ts +0 -13
- package/dist/types/sdk/sdk-gov-legacy/tokens/token.d.ts +0 -34
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenData.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/tokens/wrapped.d.ts +0 -7
- package/dist/types/sdk/sdk-gov-legacy/tokens/yearn.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/zircuit.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/assets.d.ts +0 -39
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +0 -152
- package/dist/types/sdk/sdk-legacy/core/creditAccount.spec.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/creditManager.d.ts +0 -92
- package/dist/types/sdk/sdk-legacy/core/creditSession.d.ts +0 -110
- package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +0 -24
- package/dist/types/sdk/sdk-legacy/core/eventOrTx.d.ts +0 -35
- package/dist/types/sdk/sdk-legacy/core/pool.d.ts +0 -144
- package/dist/types/sdk/sdk-legacy/core/transactions.d.ts +0 -348
- package/dist/types/sdk/sdk-legacy/gearboxRewards/api.d.ts +0 -87
- package/dist/types/sdk/sdk-legacy/gearboxRewards/apy.d.ts +0 -46
- package/dist/types/sdk/sdk-legacy/gearboxRewards/extraAPY.d.ts +0 -41
- package/dist/types/sdk/sdk-legacy/gearboxRewards/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/gearboxRewards/merklAPI.d.ts +0 -42
- package/dist/types/sdk/sdk-legacy/index.d.ts +0 -16
- package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +0 -47
- package/dist/types/sdk/sdk-legacy/payload/creditManager.d.ts +0 -109
- package/dist/types/sdk/sdk-legacy/payload/creditSession.d.ts +0 -111
- package/dist/types/sdk/sdk-legacy/payload/graphPayload.d.ts +0 -10
- package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +0 -181
- package/dist/types/sdk/sdk-legacy/tokens/tokenData.d.ts +0 -21
- package/dist/types/sdk/sdk-legacy/utils/formatter.d.ts +0 -8
- package/dist/types/sdk/sdk-legacy/utils/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/utils/math.d.ts +0 -6
- package/dist/types/sdk/sdk-legacy/utils/price.d.ts +0 -9
- /package/dist/cjs/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/cjs/{sdk/core/address-provider → history}/types.js +0 -0
- /package/dist/esm/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/esm/{sdk/core/address-provider/types.js → history/inner-operations.js} +0 -0
- /package/dist/esm/{sdk/gauges/utils.js → history/internal-types.js} +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/aave.js → history/types.js} +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/compound.js → plugins/adapters/legacyAdapterOperations.js} +0 -0
- /package/dist/esm/sdk/{sdk-gov-legacy/tokens/erc4626.js → core/types.js} +0 -0
- /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
- /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
|
@@ -29,18 +29,17 @@ var import_peripheryCompressor = require("../../abi/compressors/peripheryCompres
|
|
|
29
29
|
var import_rewardsCompressor = require("../../abi/compressors/rewardsCompressor.js");
|
|
30
30
|
var import_IWithdrawalCompressorV310 = require("../../abi/IWithdrawalCompressorV310.js");
|
|
31
31
|
var import_iBaseRewardPool = require("../../abi/iBaseRewardPool.js");
|
|
32
|
-
var import_v300 = require("../../abi/v300.js");
|
|
33
32
|
var import_base = require("../base/index.js");
|
|
34
33
|
var import_chains = require("../chain/chains.js");
|
|
35
34
|
var import_constants = require("../constants/index.js");
|
|
36
35
|
var import_router = require("../router/index.js");
|
|
37
|
-
var import_sdk_legacy = require("../sdk-legacy/index.js");
|
|
38
36
|
var import_utils = require("../utils/index.js");
|
|
39
37
|
var import_viem2 = require("../utils/viem/index.js");
|
|
40
38
|
const COMPRESSORS = {
|
|
41
39
|
[import_chains.chains.Mainnet.id]: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
42
40
|
[import_chains.chains.Monad.id]: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023"
|
|
43
41
|
};
|
|
42
|
+
const INVESTORS = new import_utils.AddressMap([], "investors");
|
|
44
43
|
function getWithdrawalCompressorAddress(chainId) {
|
|
45
44
|
return COMPRESSORS[chainId];
|
|
46
45
|
}
|
|
@@ -102,6 +101,23 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
102
101
|
});
|
|
103
102
|
return cad;
|
|
104
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns credit account data for a single account with the investor address resolved.
|
|
106
|
+
* Loads CA via getCreditAccountData; for KYC underlyings fetches the investor from the KYC factory's getInvestor(creditAccount), otherwise uses the account owner.
|
|
107
|
+
* @param account - Credit account address
|
|
108
|
+
* @param blockNumber - Optional block number for the read
|
|
109
|
+
* @returns CreditAccountDataWithInvestor (CA data + investor address), or undefined if the account is not found
|
|
110
|
+
*/
|
|
111
|
+
async getCreditAccountDataWithInvestor(account, blockNumber) {
|
|
112
|
+
const ca = await this.getCreditAccountData(account, blockNumber);
|
|
113
|
+
if (!ca) return ca;
|
|
114
|
+
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
115
|
+
ca.creditManager
|
|
116
|
+
);
|
|
117
|
+
const factory = await marketSuite.getKYCFactory();
|
|
118
|
+
const investor = factory ? await factory.getInvestor(ca.creditAccount, true) : void 0;
|
|
119
|
+
return { ...ca, investor: investor ?? ca.owner };
|
|
120
|
+
}
|
|
105
121
|
/**
|
|
106
122
|
* Methods to get all credit accounts with some optional filtering
|
|
107
123
|
* Performs all necessary price feed updates under the hood
|
|
@@ -110,7 +126,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
110
126
|
* @param blockNumber
|
|
111
127
|
* @returns returned credit accounts are sorted by health factor in ascending order
|
|
112
128
|
*/
|
|
113
|
-
async getCreditAccounts(options, blockNumber) {
|
|
129
|
+
async getCreditAccounts(options, blockNumber, priceUpdate) {
|
|
114
130
|
const {
|
|
115
131
|
creditManager,
|
|
116
132
|
includeZeroDebt = false,
|
|
@@ -132,7 +148,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
132
148
|
maxHealthFactor,
|
|
133
149
|
reverting: false
|
|
134
150
|
};
|
|
135
|
-
const { txs: priceUpdateTxs } = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(
|
|
151
|
+
const { txs: priceUpdateTxs } = priceUpdate ?? await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(
|
|
136
152
|
ignoreReservePrices ? { main: true } : void 0
|
|
137
153
|
);
|
|
138
154
|
const allCAs = [];
|
|
@@ -161,6 +177,75 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
161
177
|
);
|
|
162
178
|
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
163
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns all credit accounts matching the filter, with investor set on each item.
|
|
182
|
+
* Delegates to getCreditAccounts; when options.owner is set, also loads KYC credit accounts for that owner and merges them into the list. Result is sorted by health factor ascending.
|
|
183
|
+
* @param options - Filter options (owner, creditManager, health factor, etc.)
|
|
184
|
+
* @param blockNumber - Optional block number for the read
|
|
185
|
+
* @returns Array of credit accounts (with investor field), sorted by health factor ascending
|
|
186
|
+
*/
|
|
187
|
+
async getCreditAccountsWithInvestor(options, blockNumber) {
|
|
188
|
+
const { owner, ignoreReservePrices = false } = options ?? {};
|
|
189
|
+
const priceUpdate = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(
|
|
190
|
+
ignoreReservePrices ? { main: true } : void 0
|
|
191
|
+
);
|
|
192
|
+
const { txs: priceUpdateTxs } = priceUpdate;
|
|
193
|
+
const [common, kyc] = await Promise.all([
|
|
194
|
+
this.getCreditAccounts(options, blockNumber),
|
|
195
|
+
owner ? this.getKYCCreditAccountsOfOwner(owner, priceUpdateTxs, blockNumber) : void 0
|
|
196
|
+
]);
|
|
197
|
+
const allCAs = common.map(
|
|
198
|
+
(ca) => ({
|
|
199
|
+
...ca,
|
|
200
|
+
investor: owner || ca.owner
|
|
201
|
+
})
|
|
202
|
+
);
|
|
203
|
+
allCAs.push(...kyc || []);
|
|
204
|
+
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
205
|
+
}
|
|
206
|
+
async getKYCCreditAccountsOfOwner(owner, priceUpdateTxs, blockNumber) {
|
|
207
|
+
const suites = this.marketConfigurators.map((mc) => {
|
|
208
|
+
const suite = this.sdk.marketRegister.markets.find(
|
|
209
|
+
(m) => m.configurator.address === mc
|
|
210
|
+
);
|
|
211
|
+
return suite;
|
|
212
|
+
});
|
|
213
|
+
const kycCAAddresses = await this.getKYCCaOfInvestor(owner, suites);
|
|
214
|
+
const kycCAs = await this.loadSpecifiedAccounts(
|
|
215
|
+
kycCAAddresses,
|
|
216
|
+
priceUpdateTxs,
|
|
217
|
+
blockNumber
|
|
218
|
+
);
|
|
219
|
+
return kycCAs.map((ca) => ({
|
|
220
|
+
...ca,
|
|
221
|
+
investor: owner
|
|
222
|
+
}));
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Loads credit account data for the given addresses using simulateWithPriceUpdates.
|
|
226
|
+
* Applies the provided price update txs before reading, so returned data is consistent with up-to-date prices.
|
|
227
|
+
* @param accounts - Credit account addresses to load
|
|
228
|
+
* @param priceUpdateTxs - Price feed update txs to simulate before the read (e.g. from generatePriceFeedsUpdateTxs)
|
|
229
|
+
* @param blockNumber - Optional block number for the read
|
|
230
|
+
* @returns Array of CreditAccountData in the same order as accounts (throws if any getCreditAccountData call reverts)
|
|
231
|
+
*/
|
|
232
|
+
async loadSpecifiedAccounts(accounts, priceUpdateTxs, blockNumber) {
|
|
233
|
+
if (accounts.length === 0) return [];
|
|
234
|
+
const list = await (0, import_viem2.simulateWithPriceUpdates)(this.client, {
|
|
235
|
+
priceUpdates: priceUpdateTxs,
|
|
236
|
+
contracts: accounts.map(
|
|
237
|
+
(account) => ({
|
|
238
|
+
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
239
|
+
address: this.#compressor,
|
|
240
|
+
functionName: "getCreditAccountData",
|
|
241
|
+
args: [account]
|
|
242
|
+
})
|
|
243
|
+
),
|
|
244
|
+
blockNumber,
|
|
245
|
+
gas: this.sdk.gasLimit
|
|
246
|
+
});
|
|
247
|
+
return list;
|
|
248
|
+
}
|
|
164
249
|
/**
|
|
165
250
|
* Method to get all claimable rewards for credit account (ex. stkUSDS SKY rewards)
|
|
166
251
|
Assosiates rewards by adapter + stakedPhantomToken
|
|
@@ -230,10 +315,10 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
230
315
|
ca.creditManager
|
|
231
316
|
);
|
|
232
317
|
return {
|
|
233
|
-
abi:
|
|
318
|
+
abi: import_generated.iBotListV310Abi,
|
|
234
319
|
address: cm.creditFacade.botList,
|
|
235
320
|
functionName: "getBotStatus",
|
|
236
|
-
args:
|
|
321
|
+
args: [legacyMigrationBot, ca.creditAccount]
|
|
237
322
|
};
|
|
238
323
|
}) : [],
|
|
239
324
|
...accountsToCheck.flatMap((ca) => {
|
|
@@ -242,10 +327,10 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
242
327
|
);
|
|
243
328
|
return additionalBots.map((bot) => {
|
|
244
329
|
return {
|
|
245
|
-
abi:
|
|
330
|
+
abi: import_generated.iBotListV310Abi,
|
|
246
331
|
address: cm.creditFacade.botList,
|
|
247
332
|
functionName: "getBotStatus",
|
|
248
|
-
args:
|
|
333
|
+
args: [bot, ca.creditAccount]
|
|
249
334
|
};
|
|
250
335
|
});
|
|
251
336
|
})
|
|
@@ -323,7 +408,6 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
323
408
|
account,
|
|
324
409
|
to,
|
|
325
410
|
slippage = 50n,
|
|
326
|
-
force = false,
|
|
327
411
|
keepAssets,
|
|
328
412
|
ignoreReservePrices,
|
|
329
413
|
applyLossPolicy,
|
|
@@ -334,7 +418,6 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
334
418
|
creditAccount: account,
|
|
335
419
|
creditManager: cm.creditManager,
|
|
336
420
|
slippage,
|
|
337
|
-
force,
|
|
338
421
|
keepAssets,
|
|
339
422
|
debtOnly
|
|
340
423
|
});
|
|
@@ -393,6 +476,13 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
393
476
|
closePath
|
|
394
477
|
}) {
|
|
395
478
|
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
479
|
+
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
480
|
+
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
481
|
+
if (this.sdk.tokensMeta.isKYCUnderlying(underlying)) {
|
|
482
|
+
throw new Error(
|
|
483
|
+
"closeCreditAccount is not supported for KYC underlying credit accounts"
|
|
484
|
+
);
|
|
485
|
+
}
|
|
396
486
|
const routerCloseResult = closePath || await this.sdk.routerFor(ca).findBestClosePath({
|
|
397
487
|
creditAccount: ca,
|
|
398
488
|
creditManager: cm.creditManager,
|
|
@@ -407,12 +497,16 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
407
497
|
...routerCloseResult.calls,
|
|
408
498
|
...this.prepareDisableQuotas(ca),
|
|
409
499
|
...this.prepareDecreaseDebt(ca),
|
|
410
|
-
...this.prepareDisableTokens(ca),
|
|
411
500
|
...assetsToWithdraw.map(
|
|
412
501
|
(t) => this.prepareWithdrawToken(ca.creditFacade, t, import_constants.MAX_UINT256, to)
|
|
413
502
|
)
|
|
414
503
|
];
|
|
415
|
-
const tx =
|
|
504
|
+
const tx = await this.closeCreditAccountTx(
|
|
505
|
+
cm,
|
|
506
|
+
ca.creditAccount,
|
|
507
|
+
calls,
|
|
508
|
+
operation
|
|
509
|
+
);
|
|
416
510
|
return { tx, calls, routerCloseResult, creditFacade: cm.creditFacade };
|
|
417
511
|
}
|
|
418
512
|
/**
|
|
@@ -442,7 +536,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
442
536
|
averageQuota
|
|
443
537
|
})
|
|
444
538
|
];
|
|
445
|
-
const tx =
|
|
539
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
446
540
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
447
541
|
}
|
|
448
542
|
/**
|
|
@@ -484,7 +578,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
484
578
|
averageQuota
|
|
485
579
|
})
|
|
486
580
|
];
|
|
487
|
-
const tx =
|
|
581
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
488
582
|
tx.value = ethAmount.toString(10);
|
|
489
583
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
490
584
|
}
|
|
@@ -501,13 +595,13 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
501
595
|
async changeDebt({
|
|
502
596
|
creditAccount,
|
|
503
597
|
amount,
|
|
504
|
-
|
|
598
|
+
collateral
|
|
505
599
|
}) {
|
|
506
600
|
if (amount === 0n) {
|
|
507
601
|
throw new Error("debt increase or decrease must be non-zero");
|
|
508
602
|
}
|
|
509
603
|
const isDecrease = amount < 0n;
|
|
510
|
-
const change =
|
|
604
|
+
const change = amount > 0n ? amount : -amount;
|
|
511
605
|
const cm = this.sdk.marketRegister.findCreditManager(
|
|
512
606
|
creditAccount.creditManager
|
|
513
607
|
);
|
|
@@ -515,27 +609,32 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
515
609
|
creditManager: creditAccount.creditManager,
|
|
516
610
|
creditAccount
|
|
517
611
|
});
|
|
518
|
-
const addCollateralCalls =
|
|
612
|
+
const addCollateralCalls = collateral && isDecrease ? this.prepareAddCollateral(
|
|
519
613
|
creditAccount.creditFacade,
|
|
520
614
|
[
|
|
521
615
|
{
|
|
522
|
-
token:
|
|
523
|
-
balance:
|
|
616
|
+
token: collateral[0].token,
|
|
617
|
+
balance: collateral[0].balance
|
|
524
618
|
}
|
|
525
619
|
],
|
|
526
620
|
{}
|
|
527
621
|
) : [];
|
|
528
|
-
const
|
|
529
|
-
|
|
622
|
+
const unwrapCalls = collateral && isDecrease ? await this.getKYCUnwrapCalls(
|
|
623
|
+
collateral[0].balance,
|
|
624
|
+
creditAccount.creditManager
|
|
625
|
+
) || [] : [];
|
|
626
|
+
if (addCollateralCalls.length > 0 && unwrapCalls.length === 0 && collateral && collateral?.[0].token !== creditAccount.underlying) {
|
|
627
|
+
throw new Error(
|
|
628
|
+
"Can't use collateral other than underlying for non KYC market"
|
|
629
|
+
);
|
|
630
|
+
}
|
|
530
631
|
const calls = [
|
|
531
632
|
...priceUpdatesCalls,
|
|
532
633
|
...addCollateralCalls,
|
|
533
|
-
...
|
|
534
|
-
creditAccount.underlying
|
|
535
|
-
]) : [],
|
|
634
|
+
...unwrapCalls,
|
|
536
635
|
this.#prepareChangeDebt(creditAccount.creditFacade, change, isDecrease)
|
|
537
636
|
];
|
|
538
|
-
const tx =
|
|
637
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
539
638
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
540
639
|
}
|
|
541
640
|
/**
|
|
@@ -570,7 +669,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
570
669
|
averageQuota
|
|
571
670
|
})
|
|
572
671
|
];
|
|
573
|
-
const tx =
|
|
672
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
574
673
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
575
674
|
}
|
|
576
675
|
/**
|
|
@@ -653,12 +752,12 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
653
752
|
const storeExpectedBalances = {
|
|
654
753
|
target: cm.creditFacade.address,
|
|
655
754
|
callData: (0, import_viem.encodeFunctionData)({
|
|
656
|
-
abi:
|
|
755
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
657
756
|
functionName: "storeExpectedBalances",
|
|
658
757
|
args: [
|
|
659
758
|
balances.map(([token, amount]) => ({
|
|
660
759
|
token,
|
|
661
|
-
amount:
|
|
760
|
+
amount: amount > 10n ? amount - 10n : 0n
|
|
662
761
|
}))
|
|
663
762
|
]
|
|
664
763
|
})
|
|
@@ -666,7 +765,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
666
765
|
const compareBalances = {
|
|
667
766
|
target: cm.creditFacade.address,
|
|
668
767
|
callData: (0, import_viem.encodeFunctionData)({
|
|
669
|
-
abi:
|
|
768
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
670
769
|
functionName: "compareBalances",
|
|
671
770
|
args: []
|
|
672
771
|
})
|
|
@@ -686,7 +785,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
686
785
|
averageQuota
|
|
687
786
|
})
|
|
688
787
|
];
|
|
689
|
-
const tx =
|
|
788
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
690
789
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
691
790
|
}
|
|
692
791
|
/**
|
|
@@ -717,12 +816,12 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
717
816
|
const storeExpectedBalances = {
|
|
718
817
|
target: cm.creditFacade.address,
|
|
719
818
|
callData: (0, import_viem.encodeFunctionData)({
|
|
720
|
-
abi:
|
|
819
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
721
820
|
functionName: "storeExpectedBalances",
|
|
722
821
|
args: [
|
|
723
822
|
balances.map(([token, amount]) => ({
|
|
724
823
|
token,
|
|
725
|
-
amount:
|
|
824
|
+
amount: amount > 10n ? amount - 10n : 0n
|
|
726
825
|
}))
|
|
727
826
|
]
|
|
728
827
|
})
|
|
@@ -730,7 +829,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
730
829
|
const compareBalances = {
|
|
731
830
|
target: cm.creditFacade.address,
|
|
732
831
|
callData: (0, import_viem.encodeFunctionData)({
|
|
733
|
-
abi:
|
|
832
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
734
833
|
functionName: "compareBalances",
|
|
735
834
|
args: []
|
|
736
835
|
})
|
|
@@ -751,75 +850,63 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
751
850
|
compareBalances,
|
|
752
851
|
...quotaCalls
|
|
753
852
|
];
|
|
754
|
-
const tx =
|
|
853
|
+
const tx = await this.multicallTx(cm, creditAccount.creditAccount, calls);
|
|
755
854
|
return { tx, calls, creditFacade: cm.creditFacade };
|
|
756
855
|
}
|
|
757
856
|
/**
|
|
758
|
-
*
|
|
759
|
-
*
|
|
760
|
-
* @param
|
|
761
|
-
* @
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
...priceUpdatesCalls,
|
|
776
|
-
...disabledTokens.map(
|
|
777
|
-
(token) => this.prepareDisableToken(ca.creditFacade, token)
|
|
778
|
-
),
|
|
779
|
-
...this.#prepareEnableTokens(ca.creditFacade, enabledTokens)
|
|
780
|
-
];
|
|
781
|
-
const tx = cm.creditFacade.multicall(ca.creditAccount, calls);
|
|
782
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
857
|
+
* Returns address to which approval should be given on collateral token
|
|
858
|
+
* It's credit manager for classical markets and special wallet for KYC markets
|
|
859
|
+
* @param options - {@link GetApprovalAddressProps}
|
|
860
|
+
* @returns
|
|
861
|
+
**/
|
|
862
|
+
async getApprovalAddress(options) {
|
|
863
|
+
const { creditManager } = options;
|
|
864
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
865
|
+
const marketSuite = this.sdk.marketRegister.findByPool(suite.pool);
|
|
866
|
+
const factory = await marketSuite.getKYCFactory();
|
|
867
|
+
if (factory) {
|
|
868
|
+
if ("creditAccount" in options) {
|
|
869
|
+
return factory.getWallet(options.creditAccount);
|
|
870
|
+
}
|
|
871
|
+
return factory.precomputeWalletAddress(creditManager, options.borrower);
|
|
872
|
+
}
|
|
873
|
+
return suite.creditManager.address;
|
|
783
874
|
}
|
|
784
875
|
/**
|
|
785
876
|
* Executes swap specified by given calls, update quotas of affected tokens
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
* @param {bigint} ethAmount - native token amount to attach to tx
|
|
794
|
-
* @param {Address} creditManager - address of credit manager to open credit account on
|
|
795
|
-
* @param {Array<Asset>} collateral - array of collateral which can be just directly added or swapped using the path {@link Asset}
|
|
796
|
-
* @param {Record<Address, PermitResult>} permits - permits of collateral tokens (in any permittable token is present) {@link PermitResult}
|
|
797
|
-
* @param {bigint} debt - debt to open credit account with
|
|
798
|
-
* @param {boolean} withdrawDebt - flag to withdraw debt to wallet after opening credit account;
|
|
799
|
-
used for borrowing functionality
|
|
800
|
-
* @param {bigint} referralCode - referral code to open credit account with
|
|
801
|
-
* @param {Address} to - wallet address to transfer credit account to\
|
|
802
|
-
* @param {Array<MultiCall>} calls - array of MultiCall from router methods findOpenStrategyPath {@link MultiCall}.
|
|
803
|
-
Used for trading and strategy functionality
|
|
804
|
-
* @param {Array<Asset>} averageQuota - average quota for tokens after open {@link Asset}
|
|
805
|
-
* @param {Array<Asset>} minQuota - minimum quota for tokens after open {@link Asset}
|
|
877
|
+
* - Open credit account is executed in the following order: price update -> increase debt -> add collateral ->
|
|
878
|
+
* -> update quotas -> (optionally: execute swap path for trading/strategy) ->
|
|
879
|
+
* -> (optionally: withdraw debt for lending)
|
|
880
|
+
*- Basic open credit account: price update -> increase debt -> add collateral -> update quotas
|
|
881
|
+
*- Lending: price update -> increase debt -> add collateral -> update quotas -> withdraw debt
|
|
882
|
+
*- Strategy/trading: price update -> increase debt -> add collateral -> update quotas -> execute swap path
|
|
883
|
+
*- In strategy is possible situation when collateral is added, but not swapped; the only swapped value in this case will be debt
|
|
806
884
|
* @returns All necessary data to execute the transaction (call, credit facade)
|
|
807
|
-
|
|
808
|
-
async openCA({
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
885
|
+
**/
|
|
886
|
+
async openCA(props) {
|
|
887
|
+
const {
|
|
888
|
+
ethAmount,
|
|
889
|
+
creditManager,
|
|
890
|
+
reopenCreditAccount,
|
|
891
|
+
collateral,
|
|
892
|
+
permits,
|
|
893
|
+
debt,
|
|
894
|
+
withdrawToken,
|
|
895
|
+
referralCode,
|
|
896
|
+
to,
|
|
897
|
+
calls: openPathCalls,
|
|
898
|
+
callsAfter,
|
|
899
|
+
minQuota,
|
|
900
|
+
averageQuota
|
|
901
|
+
} = props;
|
|
821
902
|
const cmSuite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
822
903
|
const cm = cmSuite.creditManager;
|
|
904
|
+
let tokenToWithdraw;
|
|
905
|
+
if (withdrawToken === true) {
|
|
906
|
+
tokenToWithdraw = cm.underlying;
|
|
907
|
+
} else if (typeof withdrawToken === "string") {
|
|
908
|
+
tokenToWithdraw = withdrawToken;
|
|
909
|
+
}
|
|
823
910
|
const priceUpdatesCalls = await this.getPriceUpdatesForFacade({
|
|
824
911
|
creditManager: cm.address,
|
|
825
912
|
desiredQuotas: averageQuota
|
|
@@ -829,13 +916,27 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
829
916
|
this.#prepareIncreaseDebt(cm.creditFacade, debt),
|
|
830
917
|
...this.prepareAddCollateral(cm.creditFacade, collateral, permits),
|
|
831
918
|
...openPathCalls,
|
|
832
|
-
|
|
919
|
+
// путь из underlying в withdrawal token
|
|
920
|
+
...tokenToWithdraw ? [
|
|
921
|
+
this.prepareWithdrawToken(
|
|
922
|
+
cm.creditFacade,
|
|
923
|
+
tokenToWithdraw,
|
|
924
|
+
import_constants.MAX_UINT256,
|
|
925
|
+
to
|
|
926
|
+
)
|
|
927
|
+
] : [],
|
|
833
928
|
...this.prepareUpdateQuotas(cm.creditFacade, {
|
|
834
929
|
minQuota,
|
|
835
930
|
averageQuota
|
|
836
|
-
})
|
|
931
|
+
}),
|
|
932
|
+
...callsAfter ?? []
|
|
837
933
|
];
|
|
838
|
-
|
|
934
|
+
let tx;
|
|
935
|
+
if (reopenCreditAccount) {
|
|
936
|
+
tx = await this.multicallTx(cmSuite, reopenCreditAccount, calls);
|
|
937
|
+
} else {
|
|
938
|
+
tx = await this.openCreditAccountTx(cmSuite, to, calls, referralCode);
|
|
939
|
+
}
|
|
839
940
|
tx.value = ethAmount.toString(10);
|
|
840
941
|
return { calls, tx, creditFacade: cmSuite.creditFacade };
|
|
841
942
|
}
|
|
@@ -919,6 +1020,130 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
919
1020
|
);
|
|
920
1021
|
return resp;
|
|
921
1022
|
}
|
|
1023
|
+
/**
|
|
1024
|
+
* Returns multicall entries to redeem (unwrap) KYC ERC-4626 vault shares into underlying for the given credit manager.
|
|
1025
|
+
* Used when withdrawing debt from a KYC market: redeems adapter vault shares so the underlying can be withdrawn.
|
|
1026
|
+
* Only applies when the credit manager's underlying is KYC-gated and has an ERC-4626 adapter configured.
|
|
1027
|
+
* @param amount - Number of vault shares (adapter tokens) to redeem
|
|
1028
|
+
* @param creditManager - Credit manager address
|
|
1029
|
+
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not KYC or no adapter is configured
|
|
1030
|
+
*/
|
|
1031
|
+
async getKYCUnwrapCalls(amount, creditManager) {
|
|
1032
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1033
|
+
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1034
|
+
if (!this.sdk.tokensMeta.isKYCUnderlying(meta)) {
|
|
1035
|
+
return void 0;
|
|
1036
|
+
}
|
|
1037
|
+
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1038
|
+
const adapterAddress = adapter?.address;
|
|
1039
|
+
if (!adapterAddress) {
|
|
1040
|
+
return void 0;
|
|
1041
|
+
}
|
|
1042
|
+
const mc = [
|
|
1043
|
+
{
|
|
1044
|
+
target: adapterAddress,
|
|
1045
|
+
callData: (0, import_viem.encodeFunctionData)({
|
|
1046
|
+
abi: ierc4626AdapterAbi,
|
|
1047
|
+
functionName: "redeem",
|
|
1048
|
+
args: [amount, import_constants.ADDRESS_0X0, import_constants.ADDRESS_0X0]
|
|
1049
|
+
})
|
|
1050
|
+
}
|
|
1051
|
+
];
|
|
1052
|
+
return mc;
|
|
1053
|
+
}
|
|
1054
|
+
/**
|
|
1055
|
+
* Returns multicall entries to deposit (wrap) underlying into KYC ERC-4626 vault shares for the given credit manager.
|
|
1056
|
+
* Used when adding debt on a KYC market: deposits underlying into the adapter vault so shares are minted on the account.
|
|
1057
|
+
* Only applies when the credit manager's underlying is KYC-gated and has an ERC-4626 adapter configured.
|
|
1058
|
+
* @param amount - Amount of underlying assets to deposit into the vault (in underlying decimals)
|
|
1059
|
+
* @param creditManager - Credit manager address
|
|
1060
|
+
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not KYC or no adapter is configured
|
|
1061
|
+
*/
|
|
1062
|
+
async getKYCWrapCalls(amount, creditManager) {
|
|
1063
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1064
|
+
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1065
|
+
if (!this.sdk.tokensMeta.isKYCUnderlying(meta)) {
|
|
1066
|
+
return void 0;
|
|
1067
|
+
}
|
|
1068
|
+
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1069
|
+
const adapterAddress = adapter?.address;
|
|
1070
|
+
if (!adapterAddress) {
|
|
1071
|
+
return void 0;
|
|
1072
|
+
}
|
|
1073
|
+
const mc = [
|
|
1074
|
+
{
|
|
1075
|
+
target: adapterAddress,
|
|
1076
|
+
callData: (0, import_viem.encodeFunctionData)({
|
|
1077
|
+
abi: ierc4626AdapterAbi,
|
|
1078
|
+
functionName: "deposit",
|
|
1079
|
+
args: [amount, import_constants.ADDRESS_0X0]
|
|
1080
|
+
})
|
|
1081
|
+
}
|
|
1082
|
+
];
|
|
1083
|
+
return mc;
|
|
1084
|
+
}
|
|
1085
|
+
/**
|
|
1086
|
+
* Returns multicall entries to call redeemDiff on the KYC ERC-4626 adapter for the given credit manager.
|
|
1087
|
+
* Redeems the leftover vault shares (e.g. after repaying debt) so the account does not hold excess KYC vault tokens.
|
|
1088
|
+
* Only applies when the credit manager's underlying is KYC-gated and has an ERC-4626 adapter configured.
|
|
1089
|
+
* @param amount - Leftover vault share amount to redeem (in adapter/vault decimals)
|
|
1090
|
+
* @param creditManager - Credit manager address
|
|
1091
|
+
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not KYC or no adapter is configured
|
|
1092
|
+
*/
|
|
1093
|
+
async getRedeemDiffCalls(amount, creditManager) {
|
|
1094
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1095
|
+
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1096
|
+
if (!this.sdk.tokensMeta.isKYCUnderlying(meta)) {
|
|
1097
|
+
return void 0;
|
|
1098
|
+
}
|
|
1099
|
+
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1100
|
+
const adapterAddress = adapter?.address;
|
|
1101
|
+
if (!adapterAddress) {
|
|
1102
|
+
return void 0;
|
|
1103
|
+
}
|
|
1104
|
+
const mc = [
|
|
1105
|
+
{
|
|
1106
|
+
target: adapterAddress,
|
|
1107
|
+
callData: (0, import_viem.encodeFunctionData)({
|
|
1108
|
+
abi: ierc4626AdapterAbi,
|
|
1109
|
+
functionName: "redeemDiff",
|
|
1110
|
+
args: [amount]
|
|
1111
|
+
})
|
|
1112
|
+
}
|
|
1113
|
+
];
|
|
1114
|
+
return mc;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Returns multicall entries to call depositDiff on the KYC ERC-4626 adapter for the given credit manager.
|
|
1118
|
+
* Deposits the leftover underlying (e.g. after decreasing debt) into the vault so the account does not hold excess underlying.
|
|
1119
|
+
* Only applies when the credit manager's underlying is KYC-gated and has an ERC-4626 adapter configured.
|
|
1120
|
+
* @param amount - Leftover underlying amount to deposit into the vault (in underlying decimals)
|
|
1121
|
+
* @param creditManager - Credit manager address
|
|
1122
|
+
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not KYC or no adapter is configured
|
|
1123
|
+
*/
|
|
1124
|
+
async getDepositDiffCalls(amount, creditManager) {
|
|
1125
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1126
|
+
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1127
|
+
if (!this.sdk.tokensMeta.isKYCUnderlying(meta)) {
|
|
1128
|
+
return void 0;
|
|
1129
|
+
}
|
|
1130
|
+
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1131
|
+
const adapterAddress = adapter?.address;
|
|
1132
|
+
if (!adapterAddress) {
|
|
1133
|
+
return void 0;
|
|
1134
|
+
}
|
|
1135
|
+
const mc = [
|
|
1136
|
+
{
|
|
1137
|
+
target: adapterAddress,
|
|
1138
|
+
callData: (0, import_viem.encodeFunctionData)({
|
|
1139
|
+
abi: ierc4626AdapterAbi,
|
|
1140
|
+
functionName: "depositDiff",
|
|
1141
|
+
args: [amount]
|
|
1142
|
+
})
|
|
1143
|
+
}
|
|
1144
|
+
];
|
|
1145
|
+
return mc;
|
|
1146
|
+
}
|
|
922
1147
|
/**
|
|
923
1148
|
* Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute
|
|
924
1149
|
*
|
|
@@ -1034,7 +1259,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1034
1259
|
calls.push({
|
|
1035
1260
|
target: ca.creditFacade,
|
|
1036
1261
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1037
|
-
abi:
|
|
1262
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1038
1263
|
functionName: "updateQuota",
|
|
1039
1264
|
args: [token, import_constants.MIN_INT96, 0n]
|
|
1040
1265
|
})
|
|
@@ -1051,7 +1276,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1051
1276
|
return {
|
|
1052
1277
|
target: creditFacade,
|
|
1053
1278
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1054
|
-
abi:
|
|
1279
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1055
1280
|
functionName: "updateQuota",
|
|
1056
1281
|
args: [q.token, q.balance, min]
|
|
1057
1282
|
})
|
|
@@ -1065,7 +1290,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1065
1290
|
{
|
|
1066
1291
|
target: ca.creditFacade,
|
|
1067
1292
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1068
|
-
abi:
|
|
1293
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1069
1294
|
functionName: "decreaseDebt",
|
|
1070
1295
|
args: [import_constants.MAX_UINT256]
|
|
1071
1296
|
})
|
|
@@ -1074,41 +1299,11 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1074
1299
|
}
|
|
1075
1300
|
return [];
|
|
1076
1301
|
}
|
|
1077
|
-
prepareDisableTokens(ca) {
|
|
1078
|
-
const calls = [];
|
|
1079
|
-
for (const t of ca.tokens) {
|
|
1080
|
-
const isEnabled = (t.mask & ca.enabledTokensMask) !== 0n;
|
|
1081
|
-
if (t.token !== ca.underlying && isEnabled && t.quota === 0n) {
|
|
1082
|
-
calls.push(this.prepareDisableToken(ca.creditFacade, t.token));
|
|
1083
|
-
}
|
|
1084
|
-
}
|
|
1085
|
-
return calls;
|
|
1086
|
-
}
|
|
1087
|
-
prepareDisableToken(creditFacade, token) {
|
|
1088
|
-
return {
|
|
1089
|
-
target: creditFacade,
|
|
1090
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1091
|
-
abi: import_v300.iCreditFacadeV300MulticallAbi,
|
|
1092
|
-
functionName: "disableToken",
|
|
1093
|
-
args: [token]
|
|
1094
|
-
})
|
|
1095
|
-
};
|
|
1096
|
-
}
|
|
1097
|
-
#prepareEnableTokens(creditFacade, tokens) {
|
|
1098
|
-
return tokens.map((t) => ({
|
|
1099
|
-
target: creditFacade,
|
|
1100
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1101
|
-
abi: import_v300.iCreditFacadeV300MulticallAbi,
|
|
1102
|
-
functionName: "enableToken",
|
|
1103
|
-
args: [t]
|
|
1104
|
-
})
|
|
1105
|
-
}));
|
|
1106
|
-
}
|
|
1107
1302
|
prepareWithdrawToken(creditFacade, token, amount, to) {
|
|
1108
1303
|
return {
|
|
1109
1304
|
target: creditFacade,
|
|
1110
1305
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1111
|
-
abi:
|
|
1306
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1112
1307
|
functionName: "withdrawCollateral",
|
|
1113
1308
|
args: [token, amount, to]
|
|
1114
1309
|
})
|
|
@@ -1118,7 +1313,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1118
1313
|
return {
|
|
1119
1314
|
target: creditFacade,
|
|
1120
1315
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1121
|
-
abi:
|
|
1316
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1122
1317
|
functionName: "increaseDebt",
|
|
1123
1318
|
args: [debt]
|
|
1124
1319
|
})
|
|
@@ -1128,7 +1323,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1128
1323
|
return {
|
|
1129
1324
|
target: creditFacade,
|
|
1130
1325
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1131
|
-
abi:
|
|
1326
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1132
1327
|
functionName: isDecrease ? "decreaseDebt" : "increaseDebt",
|
|
1133
1328
|
args: [change]
|
|
1134
1329
|
})
|
|
@@ -1141,7 +1336,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1141
1336
|
return {
|
|
1142
1337
|
target: creditFacade,
|
|
1143
1338
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1144
|
-
abi:
|
|
1339
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1145
1340
|
functionName: "addCollateralWithPermit",
|
|
1146
1341
|
args: [token, balance, p.deadline, p.v, p.r, p.s]
|
|
1147
1342
|
})
|
|
@@ -1150,7 +1345,7 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1150
1345
|
return {
|
|
1151
1346
|
target: creditFacade,
|
|
1152
1347
|
callData: (0, import_viem.encodeFunctionData)({
|
|
1153
|
-
abi:
|
|
1348
|
+
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1154
1349
|
functionName: "addCollateral",
|
|
1155
1350
|
args: [token, balance]
|
|
1156
1351
|
})
|
|
@@ -1176,78 +1371,174 @@ class AbstractCreditAccountService extends import_base.SDKConstruct {
|
|
|
1176
1371
|
import_constants.VERSION_RANGE_310
|
|
1177
1372
|
)[0];
|
|
1178
1373
|
}
|
|
1374
|
+
/**
|
|
1375
|
+
* Wrapper that selects between credit facade and KYC factory
|
|
1376
|
+
* @param suite
|
|
1377
|
+
* @param to
|
|
1378
|
+
* @param calls
|
|
1379
|
+
* @param referralCode
|
|
1380
|
+
* @returns
|
|
1381
|
+
*/
|
|
1382
|
+
async openCreditAccountTx(suite, to, calls, referralCode) {
|
|
1383
|
+
const marketSuite = this.sdk.marketRegister.findByPool(suite.pool);
|
|
1384
|
+
const factory = await marketSuite.getKYCFactory();
|
|
1385
|
+
if (factory) {
|
|
1386
|
+
const tokensToRegister = await factory.getDSTokens();
|
|
1387
|
+
return factory.openCreditAccount(
|
|
1388
|
+
suite.creditManager.address,
|
|
1389
|
+
calls,
|
|
1390
|
+
tokensToRegister
|
|
1391
|
+
);
|
|
1392
|
+
}
|
|
1393
|
+
return suite.creditFacade.openCreditAccount(to, calls, referralCode ?? 0n);
|
|
1394
|
+
}
|
|
1395
|
+
/**
|
|
1396
|
+
* Wrapper that selects between credit facade and KYC factory
|
|
1397
|
+
* @param suite
|
|
1398
|
+
* @param creditAccount
|
|
1399
|
+
* @param calls
|
|
1400
|
+
* @returns
|
|
1401
|
+
*/
|
|
1402
|
+
async multicallTx(suite, creditAccount, calls) {
|
|
1403
|
+
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
1404
|
+
suite.creditManager.address
|
|
1405
|
+
);
|
|
1406
|
+
const factory = await marketSuite.getKYCFactory();
|
|
1407
|
+
if (factory) {
|
|
1408
|
+
const tokensToRegister = [];
|
|
1409
|
+
return factory.multicall(creditAccount, calls, tokensToRegister);
|
|
1410
|
+
}
|
|
1411
|
+
return suite.creditFacade.multicall(creditAccount, calls);
|
|
1412
|
+
}
|
|
1413
|
+
/**
|
|
1414
|
+
* Wrapper that selects between credit facade and KYC factory
|
|
1415
|
+
* @param suite
|
|
1416
|
+
* @param creditAccount
|
|
1417
|
+
* @param calls
|
|
1418
|
+
* @param operation
|
|
1419
|
+
* @returns
|
|
1420
|
+
*/
|
|
1421
|
+
async closeCreditAccountTx(suite, creditAccount, calls, operation) {
|
|
1422
|
+
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
1423
|
+
suite.creditManager.address
|
|
1424
|
+
);
|
|
1425
|
+
const factory = await marketSuite.getKYCFactory();
|
|
1426
|
+
if (operation === "close") {
|
|
1427
|
+
if (factory) {
|
|
1428
|
+
throw new Error(
|
|
1429
|
+
"CloseOptions=close is not supported for KYC underlying credit accounts"
|
|
1430
|
+
);
|
|
1431
|
+
}
|
|
1432
|
+
return suite.creditFacade.closeCreditAccount(creditAccount, calls);
|
|
1433
|
+
}
|
|
1434
|
+
if (factory) {
|
|
1435
|
+
const tokensToRegister = [];
|
|
1436
|
+
return factory.multicall(creditAccount, calls, tokensToRegister);
|
|
1437
|
+
}
|
|
1438
|
+
return suite.creditFacade.multicall(creditAccount, calls);
|
|
1439
|
+
}
|
|
1440
|
+
/**
|
|
1441
|
+
* Returns all KYC credit account addresses for an investor across the given market suites.
|
|
1442
|
+
* Resolves KYC factory per suite, then multicalls each factory's getCreditAccounts(investor).
|
|
1443
|
+
* @param investor - Owner address to query
|
|
1444
|
+
* @param suites - Market suites (KYC factories are resolved for each; undefined entries are skipped)
|
|
1445
|
+
* @returns Flat array of credit account addresses from all KYC markets
|
|
1446
|
+
*/
|
|
1447
|
+
async getKYCCaOfInvestor(investor, suites) {
|
|
1448
|
+
if (suites.length === 0 || investor === import_constants.ADDRESS_0X0) return [];
|
|
1449
|
+
const factories = await Promise.all(
|
|
1450
|
+
suites.map((suite) => suite ? suite.getKYCFactory() : void 0)
|
|
1451
|
+
);
|
|
1452
|
+
const safeFactories = factories.reduce(
|
|
1453
|
+
(acc, v) => {
|
|
1454
|
+
if (v) {
|
|
1455
|
+
acc.push(v);
|
|
1456
|
+
}
|
|
1457
|
+
return acc;
|
|
1458
|
+
},
|
|
1459
|
+
[]
|
|
1460
|
+
);
|
|
1461
|
+
const allResp = await this.client.multicall({
|
|
1462
|
+
contracts: [
|
|
1463
|
+
...safeFactories.map((factory) => {
|
|
1464
|
+
return {
|
|
1465
|
+
abi: factory.abi,
|
|
1466
|
+
address: factory.address,
|
|
1467
|
+
functionName: "getCreditAccounts",
|
|
1468
|
+
args: [investor]
|
|
1469
|
+
};
|
|
1470
|
+
})
|
|
1471
|
+
],
|
|
1472
|
+
allowFailure: true,
|
|
1473
|
+
batchSize: 0
|
|
1474
|
+
});
|
|
1475
|
+
const caLists = safeFactories.reduce((acc, _, index) => {
|
|
1476
|
+
const response = allResp[index];
|
|
1477
|
+
acc.push(...response.result || []);
|
|
1478
|
+
return acc;
|
|
1479
|
+
}, []);
|
|
1480
|
+
return caLists;
|
|
1481
|
+
}
|
|
1179
1482
|
}
|
|
1180
|
-
const
|
|
1483
|
+
const ierc4626AdapterAbi = [
|
|
1181
1484
|
{
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
outputs: [
|
|
1186
|
-
{
|
|
1187
|
-
name: "subvaultIndices",
|
|
1188
|
-
type: "uint256[]",
|
|
1189
|
-
internalType: "uint256[]"
|
|
1190
|
-
},
|
|
1191
|
-
{
|
|
1192
|
-
name: "withdrawalIndices",
|
|
1193
|
-
type: "uint256[][]",
|
|
1194
|
-
internalType: "uint256[][]"
|
|
1195
|
-
}
|
|
1485
|
+
inputs: [
|
|
1486
|
+
{ name: "assets", type: "uint256", internalType: "uint256" },
|
|
1487
|
+
{ name: "receiver", type: "address", internalType: "address" }
|
|
1196
1488
|
],
|
|
1197
|
-
|
|
1489
|
+
name: "deposit",
|
|
1490
|
+
outputs: [{ name: "useSafePrices", type: "bool", internalType: "bool" }],
|
|
1491
|
+
stateMutability: "nonpayable",
|
|
1492
|
+
type: "function"
|
|
1198
1493
|
},
|
|
1199
1494
|
{
|
|
1200
|
-
type: "function",
|
|
1201
|
-
name: "getUserSubvaultIndices",
|
|
1202
1495
|
inputs: [
|
|
1203
|
-
{ name: "
|
|
1204
|
-
{ name: "
|
|
1496
|
+
{ name: "shares", type: "uint256", internalType: "uint256" },
|
|
1497
|
+
{ name: "receiver", type: "address", internalType: "address" },
|
|
1498
|
+
{ name: "owner", type: "address", internalType: "address" }
|
|
1205
1499
|
],
|
|
1206
|
-
|
|
1500
|
+
name: "redeem",
|
|
1501
|
+
outputs: [{ name: "useSafePrices", type: "bool", internalType: "bool" }],
|
|
1502
|
+
stateMutability: "nonpayable",
|
|
1503
|
+
type: "function"
|
|
1504
|
+
},
|
|
1505
|
+
{
|
|
1506
|
+
inputs: [
|
|
1207
1507
|
{
|
|
1208
|
-
name: "
|
|
1209
|
-
type: "uint256
|
|
1210
|
-
internalType: "uint256
|
|
1211
|
-
}
|
|
1508
|
+
name: "leftoverAmount",
|
|
1509
|
+
type: "uint256",
|
|
1510
|
+
internalType: "uint256"
|
|
1511
|
+
}
|
|
1512
|
+
],
|
|
1513
|
+
name: "redeemDiff",
|
|
1514
|
+
outputs: [
|
|
1212
1515
|
{
|
|
1213
|
-
name: "
|
|
1214
|
-
type: "
|
|
1215
|
-
internalType: "
|
|
1516
|
+
name: "useSafePrices",
|
|
1517
|
+
type: "bool",
|
|
1518
|
+
internalType: "bool"
|
|
1216
1519
|
}
|
|
1217
1520
|
],
|
|
1218
|
-
stateMutability: "
|
|
1521
|
+
stateMutability: "nonpayable",
|
|
1522
|
+
type: "function"
|
|
1219
1523
|
},
|
|
1220
1524
|
{
|
|
1221
|
-
type: "function",
|
|
1222
|
-
name: "multiAccept",
|
|
1223
1525
|
inputs: [
|
|
1224
|
-
{ name: "multiVault", type: "address", internalType: "address" },
|
|
1225
1526
|
{
|
|
1226
|
-
name: "
|
|
1227
|
-
type: "uint256
|
|
1228
|
-
internalType: "uint256
|
|
1229
|
-
}
|
|
1230
|
-
{ name: "indices", type: "uint256[][]", internalType: "uint256[][]" }
|
|
1527
|
+
name: "leftoverAmount",
|
|
1528
|
+
type: "uint256",
|
|
1529
|
+
internalType: "uint256"
|
|
1530
|
+
}
|
|
1231
1531
|
],
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
},
|
|
1235
|
-
{
|
|
1236
|
-
type: "function",
|
|
1237
|
-
name: "multiAcceptAndClaim",
|
|
1238
|
-
inputs: [
|
|
1239
|
-
{ name: "multiVault", type: "address", internalType: "address" },
|
|
1532
|
+
name: "depositDiff",
|
|
1533
|
+
outputs: [
|
|
1240
1534
|
{
|
|
1241
|
-
name: "
|
|
1242
|
-
type: "
|
|
1243
|
-
internalType: "
|
|
1244
|
-
}
|
|
1245
|
-
{ name: "indices", type: "uint256[][]", internalType: "uint256[][]" },
|
|
1246
|
-
{ name: "", type: "address", internalType: "address" },
|
|
1247
|
-
{ name: "maxAssets", type: "uint256", internalType: "uint256" }
|
|
1535
|
+
name: "useSafePrices",
|
|
1536
|
+
type: "bool",
|
|
1537
|
+
internalType: "bool"
|
|
1538
|
+
}
|
|
1248
1539
|
],
|
|
1249
|
-
|
|
1250
|
-
|
|
1540
|
+
stateMutability: "nonpayable",
|
|
1541
|
+
type: "function"
|
|
1251
1542
|
}
|
|
1252
1543
|
];
|
|
1253
1544
|
// Annotate the CommonJS export names for ESM import in node:
|