@gearbox-protocol/sdk 15.1.0-next.1 → 15.1.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/iExpirable.js +15 -0
- package/dist/cjs/common-utils/utils/apy/get-single-quota-borrow-rate.js +2 -0
- package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +24 -22
- package/dist/cjs/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +2 -0
- package/dist/cjs/common-utils/utils/creditAccount/get-time-to-liquidation.js +8 -5
- package/dist/cjs/common-utils/utils/creditAccount/liquidation-price.js +21 -11
- package/dist/cjs/dev/AccountOpener.js +0 -1
- package/dist/cjs/dev/compareOpportunities.js +218 -0
- package/dist/cjs/model/charts.js +147 -0
- package/dist/cjs/model/charts.schema.js +240 -0
- package/dist/cjs/model/index.js +35 -22
- package/dist/cjs/model/liquidations.schema.js +1 -1
- package/dist/cjs/model/notices.schema.js +25 -0
- package/dist/cjs/model/opportunities.schema.js +1 -1
- package/dist/cjs/model/positions.schema.js +48 -2
- package/dist/cjs/new-sdk/AbstractNamespace.js +34 -4
- package/dist/cjs/new-sdk/GearboxSDK.js +72 -3
- package/dist/cjs/new-sdk/execute/ExecuteApi.js +95 -0
- package/dist/cjs/new-sdk/execute/index.js +3 -0
- package/dist/cjs/new-sdk/index.js +7 -0
- package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +29 -6
- package/dist/cjs/new-sdk/positions/PositionsNamespace.js +3 -6
- package/dist/cjs/new-sdk/simulate/SimulateApi.js +361 -0
- package/dist/cjs/new-sdk/simulate/index.js +4 -0
- package/dist/cjs/new-sdk/utils/index.js +0 -1
- package/dist/cjs/offchain/AbstractOffchainNamespace.js +10 -7
- package/dist/cjs/offchain/GearboxAPI.js +7 -0
- package/dist/cjs/offchain/index.js +3 -0
- package/dist/cjs/offchain/notices/OffchainNotices.js +27 -0
- package/dist/cjs/offchain/notices/index.js +3 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +4 -8
- package/dist/cjs/offchain/positions/OffchainPositions.js +12 -12
- package/dist/cjs/preview/preview/CreditAccountState.js +14 -1
- package/dist/cjs/preview/preview/buildDelayedPreview.js +16 -6
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +9 -2
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +11 -3
- package/dist/cjs/preview/preview/previewOperation.js +1 -1
- package/dist/cjs/sdk/MultichainSDK.js +3 -4
- package/dist/cjs/sdk/OnchainSDK.js +42 -13
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +2 -8
- package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +2 -90
- package/dist/cjs/sdk/accounts/index.js +5 -2
- package/dist/cjs/sdk/accounts/intents/guards.js +114 -0
- package/dist/cjs/sdk/accounts/intents/index.js +216 -358
- package/dist/cjs/sdk/accounts/intents/math.js +56 -0
- package/dist/cjs/sdk/accounts/intents/open-strategy.js +133 -0
- package/dist/cjs/sdk/accounts/intents/operations.js +165 -0
- package/dist/cjs/sdk/accounts/intents/plan.js +373 -0
- package/dist/cjs/sdk/accounts/intents/realize.js +301 -0
- package/dist/cjs/sdk/accounts/intents/testing/delayed.js +50 -0
- package/dist/cjs/sdk/accounts/intents/testing/market.js +166 -0
- package/dist/cjs/sdk/accounts/intents/testing/sdk-mock.js +194 -35
- package/dist/cjs/sdk/accounts/intents/tests/add-collateral.fixtures.js +123 -0
- package/dist/cjs/sdk/accounts/intents/tests/adjust-leverage.fixtures.js +254 -0
- package/dist/cjs/sdk/accounts/intents/tests/deposit.fixtures.js +324 -0
- package/dist/cjs/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.js +242 -0
- package/dist/cjs/sdk/accounts/intents/tests/finish-withdraw.fixtures.js +383 -0
- package/dist/cjs/sdk/accounts/intents/tests/open-strategy.fixtures.js +133 -0
- package/dist/cjs/sdk/accounts/intents/tests/withdraw-asset.fixtures.js +131 -0
- package/dist/cjs/sdk/accounts/intents/tests/withdraw.fixtures.js +426 -0
- package/dist/cjs/sdk/accounts/intents/types.js +16 -0
- package/dist/cjs/sdk/accounts/intents/utils/adjust-state-to-snapshot.js +18 -0
- package/dist/cjs/sdk/accounts/intents/utils/credit-account-slice.js +45 -0
- package/dist/cjs/sdk/accounts/intents/utils/index.js +17 -8
- package/dist/cjs/sdk/accounts/intents/utils/ledger.js +94 -0
- package/dist/cjs/sdk/accounts/intents/utils/pick-token.js +72 -0
- package/dist/cjs/sdk/accounts/intents/utils/quotas-for-update.js +27 -0
- package/dist/cjs/sdk/accounts/intents/utils/router-path.js +86 -0
- package/dist/cjs/sdk/accounts/intents/view.js +38 -0
- package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +0 -3
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +29 -18
- package/dist/cjs/sdk/base/BaseContract.js +1 -1
- package/dist/cjs/sdk/base/TokensMeta.js +78 -27
- package/dist/cjs/sdk/index.js +30 -7
- package/dist/cjs/sdk/market/MarketRegister.js +16 -7
- package/dist/cjs/sdk/market/ZapperRegister.js +56 -25
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -12
- package/dist/cjs/sdk/market/credit/CreditSuite.js +28 -9
- package/dist/cjs/sdk/market/credit/index.js +3 -0
- package/dist/cjs/sdk/market/credit/isStrategyCollateral.js +50 -0
- package/dist/cjs/sdk/market/index.js +17 -0
- package/dist/cjs/sdk/market/math.js +57 -44
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +10 -3
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +15 -1
- package/dist/cjs/sdk/market/rwa/RWARegistry.js +22 -0
- package/dist/cjs/sdk/opportunities/index.js +0 -13
- package/dist/cjs/sdk/options.js +1 -5
- package/dist/cjs/sdk/pools/PoolService.js +132 -3
- package/dist/cjs/sdk/pools/index.js +2 -0
- package/dist/cjs/sdk/positions/PositionsService.js +213 -1
- package/dist/cjs/sdk/positions/calcBorrowRate.js +43 -0
- package/dist/cjs/sdk/positions/calcHealthFactor.js +52 -0
- package/dist/cjs/sdk/positions/calcLiquidationPrice.js +23 -0
- package/dist/cjs/sdk/positions/calcLiquidationPriceForTarget.js +30 -0
- package/dist/cjs/sdk/positions/calcTimeToLiquidationMs.js +19 -0
- package/dist/cjs/sdk/positions/index.js +12 -1
- package/dist/cjs/sdk/positions/types.js +31 -0
- package/dist/cjs/sdk/utils/abi-decode.js +2 -2
- package/dist/cjs/sdk/utils/viem/executeMulticallBatches.js +32 -0
- package/dist/cjs/sdk/utils/viem/index.js +2 -0
- package/dist/esm/abi/iExpirable.js +14 -0
- package/dist/esm/common-utils/utils/apy/get-single-quota-borrow-rate.js +2 -0
- package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +24 -22
- package/dist/esm/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +2 -0
- package/dist/esm/common-utils/utils/creditAccount/get-time-to-liquidation.js +8 -5
- package/dist/esm/common-utils/utils/creditAccount/liquidation-price.js +21 -11
- package/dist/esm/dev/AccountOpener.js +1 -2
- package/dist/esm/dev/compareOpportunities.js +216 -0
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/model/charts.js +140 -0
- package/dist/esm/model/charts.schema.js +226 -0
- package/dist/esm/model/index.js +9 -7
- package/dist/esm/model/liquidations.schema.js +1 -1
- package/dist/esm/model/notices.schema.js +23 -0
- package/dist/esm/model/opportunities.schema.js +1 -1
- package/dist/esm/model/positions.schema.js +46 -4
- package/dist/esm/new-sdk/AbstractNamespace.js +34 -4
- package/dist/esm/new-sdk/GearboxSDK.js +72 -4
- package/dist/esm/new-sdk/execute/ExecuteApi.js +94 -0
- package/dist/esm/new-sdk/execute/index.js +2 -0
- package/dist/esm/new-sdk/index.js +6 -2
- package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +29 -6
- package/dist/esm/new-sdk/positions/PositionsNamespace.js +3 -6
- package/dist/esm/new-sdk/simulate/SimulateApi.js +360 -0
- package/dist/esm/new-sdk/simulate/index.js +3 -0
- package/dist/esm/new-sdk/utils/index.js +0 -1
- package/dist/esm/offchain/AbstractOffchainNamespace.js +10 -7
- package/dist/esm/offchain/GearboxAPI.js +7 -0
- package/dist/esm/offchain/index.js +3 -1
- package/dist/esm/offchain/notices/OffchainNotices.js +26 -0
- package/dist/esm/offchain/notices/index.js +2 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +4 -8
- package/dist/esm/offchain/positions/OffchainPositions.js +12 -12
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/preview/preview/CreditAccountState.js +14 -1
- package/dist/esm/preview/preview/buildDelayedPreview.js +16 -6
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +9 -2
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +11 -3
- package/dist/esm/preview/preview/previewOperation.js +1 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
- package/dist/esm/preview/trace/extractTransfers.js +1 -1
- package/dist/esm/sdk/MultichainSDK.js +3 -4
- package/dist/esm/sdk/OnchainSDK.js +42 -13
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +4 -10
- package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +2 -90
- package/dist/esm/sdk/accounts/index.js +3 -2
- package/dist/esm/sdk/accounts/intents/guards.js +108 -0
- package/dist/esm/sdk/accounts/intents/index.js +214 -358
- package/dist/esm/sdk/accounts/intents/math.js +51 -0
- package/dist/esm/sdk/accounts/intents/open-strategy.js +132 -0
- package/dist/esm/sdk/accounts/intents/operations.js +153 -0
- package/dist/esm/sdk/accounts/intents/plan.js +361 -0
- package/dist/esm/sdk/accounts/intents/realize.js +300 -0
- package/dist/esm/sdk/accounts/intents/testing/delayed.js +38 -0
- package/dist/esm/sdk/accounts/intents/testing/market.js +148 -0
- package/dist/esm/sdk/accounts/intents/testing/sdk-mock.js +194 -35
- package/dist/esm/sdk/accounts/intents/tests/add-collateral.fixtures.js +110 -0
- package/dist/esm/sdk/accounts/intents/tests/adjust-leverage.fixtures.js +234 -0
- package/dist/esm/sdk/accounts/intents/tests/deposit.fixtures.js +302 -0
- package/dist/esm/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.js +220 -0
- package/dist/esm/sdk/accounts/intents/tests/finish-withdraw.fixtures.js +355 -0
- package/dist/esm/sdk/accounts/intents/tests/open-strategy.fixtures.js +119 -0
- package/dist/esm/sdk/accounts/intents/tests/withdraw-asset.fixtures.js +117 -0
- package/dist/esm/sdk/accounts/intents/tests/withdraw.fixtures.js +402 -0
- package/dist/esm/sdk/accounts/intents/types.js +16 -1
- package/dist/esm/sdk/accounts/intents/utils/adjust-state-to-snapshot.js +17 -0
- package/dist/esm/sdk/accounts/intents/utils/credit-account-slice.js +43 -0
- package/dist/esm/sdk/accounts/intents/utils/index.js +9 -7
- package/dist/esm/sdk/accounts/intents/utils/ledger.js +93 -0
- package/dist/esm/sdk/accounts/intents/utils/pick-token.js +68 -0
- package/dist/esm/sdk/accounts/intents/utils/quotas-for-update.js +27 -1
- package/dist/esm/sdk/accounts/intents/utils/router-path.js +85 -0
- package/dist/esm/sdk/accounts/intents/view.js +37 -0
- package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +1 -4
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +29 -18
- package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/sdk/base/BaseContract.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +80 -29
- package/dist/esm/sdk/chain/detectNetwork.js +1 -1
- package/dist/esm/sdk/core/createAddressProvider.js +1 -1
- package/dist/esm/sdk/index.js +13 -4
- package/dist/esm/sdk/market/MarketRegister.js +16 -7
- package/dist/esm/sdk/market/ZapperRegister.js +56 -25
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -13
- package/dist/esm/sdk/market/credit/CreditSuite.js +29 -10
- package/dist/esm/sdk/market/credit/index.js +2 -1
- package/dist/esm/sdk/market/credit/isStrategyCollateral.js +48 -0
- package/dist/esm/sdk/market/index.js +3 -1
- package/dist/esm/sdk/market/math.js +52 -40
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -3
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +17 -3
- package/dist/esm/sdk/market/rwa/RWARegistry.js +22 -0
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/sdk/opportunities/index.js +1 -2
- package/dist/esm/sdk/options.js +1 -5
- package/dist/esm/sdk/pools/PoolService.js +133 -6
- package/dist/esm/sdk/pools/index.js +2 -2
- package/dist/esm/sdk/positions/PositionsService.js +213 -1
- package/dist/esm/sdk/positions/calcBorrowRate.js +42 -0
- package/dist/esm/sdk/positions/calcHealthFactor.js +51 -0
- package/dist/esm/sdk/positions/calcLiquidationPrice.js +22 -0
- package/dist/esm/sdk/positions/calcLiquidationPriceForTarget.js +29 -0
- package/dist/esm/sdk/positions/calcTimeToLiquidationMs.js +18 -0
- package/dist/esm/sdk/positions/index.js +7 -2
- package/dist/esm/sdk/positions/types.js +31 -1
- package/dist/esm/sdk/utils/abi-decode.js +2 -2
- package/dist/esm/sdk/utils/viem/executeMulticallBatches.js +31 -0
- package/dist/esm/sdk/utils/viem/index.js +2 -1
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/types/abi/iExpirable.d.ts +14 -0
- package/dist/types/common-utils/utils/apy/get-single-quota-borrow-rate.d.ts +2 -0
- package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +3 -0
- package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +2 -0
- package/dist/types/common-utils/utils/creditAccount/get-time-to-liquidation.d.ts +6 -1
- package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +3 -0
- package/dist/types/dev/compareOpportunities.d.ts +153 -0
- package/dist/types/model/charts.d.ts +349 -0
- package/dist/types/model/charts.schema.d.ts +364 -0
- package/dist/types/model/index.d.ts +8 -6
- package/dist/types/model/notices.d.ts +29 -0
- package/dist/types/model/notices.schema.d.ts +23 -0
- package/dist/types/model/opportunities.d.ts +9 -9
- package/dist/types/model/positions.d.ts +133 -7
- package/dist/types/model/positions.schema.d.ts +128 -1
- package/dist/types/new-sdk/AbstractNamespace.d.ts +15 -2
- package/dist/types/new-sdk/GearboxSDK.d.ts +14 -2
- package/dist/types/new-sdk/execute/ExecuteApi.d.ts +108 -0
- package/dist/types/new-sdk/execute/index.d.ts +2 -0
- package/dist/types/new-sdk/index.d.ts +8 -4
- package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +19 -7
- package/dist/types/new-sdk/opportunities/types.d.ts +30 -9
- package/dist/types/new-sdk/positions/PositionsNamespace.d.ts +4 -5
- package/dist/types/new-sdk/positions/types.d.ts +9 -9
- package/dist/types/new-sdk/simulate/SimulateApi.d.ts +90 -0
- package/dist/types/new-sdk/simulate/index.d.ts +3 -0
- package/dist/types/new-sdk/simulate/types.d.ts +508 -0
- package/dist/types/new-sdk/types.d.ts +35 -1
- package/dist/types/new-sdk/utils/index.d.ts +1 -2
- package/dist/types/offchain/AbstractOffchainNamespace.d.ts +5 -21
- package/dist/types/offchain/GearboxAPI.d.ts +6 -0
- package/dist/types/offchain/index.d.ts +4 -2
- package/dist/types/offchain/notices/OffchainNotices.d.ts +19 -0
- package/dist/types/offchain/notices/index.d.ts +2 -0
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +8 -4
- package/dist/types/offchain/positions/OffchainPositions.d.ts +8 -6
- package/dist/types/preview/preview/CreditAccountState.d.ts +6 -0
- package/dist/types/preview/preview/buildDelayedPreview.d.ts +5 -1
- package/dist/types/preview/preview/types.d.ts +4 -2
- package/dist/types/sdk/MultichainSDK.d.ts +0 -5
- package/dist/types/sdk/OnchainSDK.d.ts +1 -5
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -7
- package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressor.d.ts +3 -12
- package/dist/types/sdk/accounts/credit-account-compressor/index.d.ts +2 -2
- package/dist/types/sdk/accounts/credit-account-compressor/types.d.ts +1 -19
- package/dist/types/sdk/accounts/index.d.ts +7 -5
- package/dist/types/sdk/accounts/intents/guards.d.ts +72 -0
- package/dist/types/sdk/accounts/intents/index.d.ts +130 -15
- package/dist/types/sdk/accounts/intents/math.d.ts +46 -0
- package/dist/types/sdk/accounts/intents/open-strategy.d.ts +64 -0
- package/dist/types/sdk/accounts/intents/operations.d.ts +215 -0
- package/dist/types/sdk/accounts/intents/plan.d.ts +189 -0
- package/dist/types/sdk/accounts/intents/realize.d.ts +35 -0
- package/dist/types/sdk/accounts/intents/testing/delayed.d.ts +50 -0
- package/dist/types/sdk/accounts/intents/testing/expect.d.ts +17 -21
- package/dist/types/sdk/accounts/intents/testing/market.d.ts +91 -0
- package/dist/types/sdk/accounts/intents/testing/sdk-mock.d.ts +64 -16
- package/dist/types/sdk/accounts/intents/tests/add-collateral.fixtures.d.ts +45 -0
- package/dist/types/sdk/accounts/intents/tests/adjust-leverage.fixtures.d.ts +56 -0
- package/dist/types/sdk/accounts/intents/tests/deposit.fixtures.d.ts +64 -0
- package/dist/types/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.d.ts +107 -0
- package/dist/types/sdk/accounts/intents/tests/finish-withdraw.fixtures.d.ts +136 -0
- package/dist/types/sdk/accounts/intents/tests/open-strategy.fixtures.d.ts +56 -0
- package/dist/types/sdk/accounts/intents/tests/withdraw-asset.fixtures.d.ts +60 -0
- package/dist/types/sdk/accounts/intents/tests/withdraw.fixtures.d.ts +79 -0
- package/dist/types/sdk/accounts/intents/types.d.ts +369 -43
- package/dist/types/sdk/accounts/intents/utils/adjust-state-to-snapshot.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/utils/assemble-operation-calls.d.ts +1 -1
- package/dist/types/sdk/accounts/intents/utils/credit-account-slice.d.ts +29 -0
- package/dist/types/sdk/accounts/intents/utils/index.d.ts +7 -5
- package/dist/types/sdk/accounts/intents/utils/ledger.d.ts +41 -0
- package/dist/types/sdk/accounts/intents/utils/pick-token.d.ts +55 -0
- package/dist/types/sdk/accounts/intents/utils/quotas-for-update.d.ts +15 -4
- package/dist/types/sdk/accounts/intents/utils/router-path.d.ts +70 -0
- package/dist/types/sdk/accounts/intents/view.d.ts +15 -0
- package/dist/types/sdk/accounts/types.d.ts +17 -14
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +6 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +18 -0
- package/dist/types/sdk/base/TokensMeta.d.ts +44 -1
- package/dist/types/sdk/base/index.d.ts +2 -2
- package/dist/types/sdk/base/token-types.d.ts +12 -1
- package/dist/types/sdk/index.d.ts +28 -19
- package/dist/types/sdk/market/MarketRegister.d.ts +7 -3
- package/dist/types/sdk/market/ZapperRegister.d.ts +20 -2
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +0 -4
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +6 -3
- package/dist/types/sdk/market/credit/index.d.ts +2 -1
- package/dist/types/sdk/market/credit/isStrategyCollateral.d.ts +74 -0
- package/dist/types/sdk/market/credit/types.d.ts +2 -9
- package/dist/types/sdk/market/index.d.ts +4 -2
- package/dist/types/sdk/market/math.d.ts +44 -34
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +6 -2
- package/dist/types/sdk/market/oracle/types.d.ts +10 -2
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -0
- package/dist/types/sdk/market/pool/types.d.ts +5 -0
- package/dist/types/sdk/market/rwa/RWARegistry.d.ts +13 -0
- package/dist/types/sdk/market/types.d.ts +5 -1
- package/dist/types/sdk/opportunities/index.d.ts +1 -2
- package/dist/types/sdk/options.d.ts +0 -1
- package/dist/types/sdk/pools/PoolService.d.ts +32 -2
- package/dist/types/sdk/pools/index.d.ts +3 -3
- package/dist/types/sdk/pools/types.d.ts +109 -4
- package/dist/types/sdk/positions/PositionsService.d.ts +33 -2
- package/dist/types/sdk/positions/calcBorrowRate.d.ts +40 -0
- package/dist/types/sdk/positions/calcHealthFactor.d.ts +55 -0
- package/dist/types/sdk/positions/calcLiquidationPrice.d.ts +12 -0
- package/dist/types/sdk/positions/calcLiquidationPriceForTarget.d.ts +43 -0
- package/dist/types/sdk/positions/calcTimeToLiquidationMs.d.ts +16 -0
- package/dist/types/sdk/positions/index.d.ts +7 -2
- package/dist/types/sdk/positions/types.d.ts +58 -1
- package/dist/types/sdk/types/state.d.ts +6 -0
- package/dist/types/sdk/utils/viem/executeMulticallBatches.d.ts +39 -0
- package/dist/types/sdk/utils/viem/index.d.ts +3 -2
- package/package.json +2 -1
- package/dist/cjs/model/history.js +0 -53
- package/dist/cjs/model/history.schema.js +0 -128
- package/dist/cjs/sdk/accounts/intents/intents/index.js +0 -14
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +0 -121
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +0 -15
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.fixtures.js +0 -108
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.js +0 -51
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +0 -130
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +0 -83
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +0 -117
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.js +0 -15
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +0 -95
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +0 -15
- package/dist/cjs/sdk/accounts/intents/intents/resume/index.js +0 -13
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +0 -138
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +0 -161
- package/dist/cjs/sdk/accounts/intents/operations/add-collateral/index.js +0 -17
- package/dist/cjs/sdk/accounts/intents/operations/claim-delayed/index.js +0 -54
- package/dist/cjs/sdk/accounts/intents/operations/close-credit-account/index.js +0 -26
- package/dist/cjs/sdk/accounts/intents/operations/decrease-debt/index.js +0 -12
- package/dist/cjs/sdk/accounts/intents/operations/increase-debt/index.js +0 -12
- package/dist/cjs/sdk/accounts/intents/operations/index.js +0 -27
- package/dist/cjs/sdk/accounts/intents/operations/quota-update/index.js +0 -22
- package/dist/cjs/sdk/accounts/intents/operations/repay-credit-account/index.js +0 -22
- package/dist/cjs/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +0 -18
- package/dist/cjs/sdk/accounts/intents/operations/swap/index.js +0 -18
- package/dist/cjs/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +0 -27
- package/dist/cjs/sdk/accounts/intents/operations/withdraw-collateral/index.js +0 -43
- package/dist/cjs/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +0 -27
- package/dist/cjs/sdk/accounts/intents/quoters/close.js +0 -58
- package/dist/cjs/sdk/accounts/intents/quoters/index.js +0 -7
- package/dist/cjs/sdk/accounts/intents/quoters/swap.js +0 -79
- package/dist/cjs/sdk/accounts/intents/testing/expect.js +0 -167
- package/dist/cjs/sdk/accounts/intents/testing/resume.js +0 -172
- package/dist/cjs/sdk/accounts/intents/utils/simulate-adjust-state.js +0 -39
- package/dist/cjs/sdk/accounts/intents/utils/simulate-assets.js +0 -69
- package/dist/cjs/sdk/accounts/intents/utils/with-quota-update.js +0 -13
- package/dist/esm/model/history.js +0 -49
- package/dist/esm/model/history.schema.js +0 -116
- package/dist/esm/sdk/accounts/intents/intents/index.js +0 -8
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +0 -107
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +0 -14
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.fixtures.js +0 -94
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.js +0 -50
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +0 -114
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +0 -82
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +0 -110
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.js +0 -14
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +0 -88
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +0 -14
- package/dist/esm/sdk/accounts/intents/intents/resume/index.js +0 -7
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +0 -121
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +0 -160
- package/dist/esm/sdk/accounts/intents/operations/add-collateral/index.js +0 -16
- package/dist/esm/sdk/accounts/intents/operations/claim-delayed/index.js +0 -52
- package/dist/esm/sdk/accounts/intents/operations/close-credit-account/index.js +0 -25
- package/dist/esm/sdk/accounts/intents/operations/decrease-debt/index.js +0 -11
- package/dist/esm/sdk/accounts/intents/operations/increase-debt/index.js +0 -11
- package/dist/esm/sdk/accounts/intents/operations/index.js +0 -14
- package/dist/esm/sdk/accounts/intents/operations/quota-update/index.js +0 -21
- package/dist/esm/sdk/accounts/intents/operations/repay-credit-account/index.js +0 -21
- package/dist/esm/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +0 -17
- package/dist/esm/sdk/accounts/intents/operations/swap/index.js +0 -17
- package/dist/esm/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +0 -26
- package/dist/esm/sdk/accounts/intents/operations/withdraw-collateral/index.js +0 -42
- package/dist/esm/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +0 -26
- package/dist/esm/sdk/accounts/intents/quoters/close.js +0 -56
- package/dist/esm/sdk/accounts/intents/quoters/index.js +0 -3
- package/dist/esm/sdk/accounts/intents/quoters/swap.js +0 -77
- package/dist/esm/sdk/accounts/intents/testing/expect.js +0 -162
- package/dist/esm/sdk/accounts/intents/testing/resume.js +0 -157
- package/dist/esm/sdk/accounts/intents/utils/simulate-adjust-state.js +0 -38
- package/dist/esm/sdk/accounts/intents/utils/simulate-assets.js +0 -68
- package/dist/esm/sdk/accounts/intents/utils/with-quota-update.js +0 -12
- package/dist/types/model/history.d.ts +0 -153
- package/dist/types/model/history.schema.d.ts +0 -95
- package/dist/types/new-sdk/utils/history.d.ts +0 -18
- package/dist/types/sdk/accounts/intents/intents/index.d.ts +0 -8
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.d.ts +0 -13
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.d.ts +0 -38
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.d.ts +0 -26
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.fixtures.d.ts +0 -63
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.d.ts +0 -26
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.d.ts +0 -86
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.d.ts +0 -13
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.d.ts +0 -48
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.d.ts +0 -13
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.d.ts +0 -46
- package/dist/types/sdk/accounts/intents/intents/resume/index.d.ts +0 -7
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.d.ts +0 -33
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.d.ts +0 -68
- package/dist/types/sdk/accounts/intents/operations/add-collateral/index.d.ts +0 -23
- package/dist/types/sdk/accounts/intents/operations/claim-delayed/index.d.ts +0 -55
- package/dist/types/sdk/accounts/intents/operations/close-credit-account/index.d.ts +0 -22
- package/dist/types/sdk/accounts/intents/operations/decrease-debt/index.d.ts +0 -18
- package/dist/types/sdk/accounts/intents/operations/increase-debt/index.d.ts +0 -18
- package/dist/types/sdk/accounts/intents/operations/index.d.ts +0 -14
- package/dist/types/sdk/accounts/intents/operations/quota-update/index.d.ts +0 -24
- package/dist/types/sdk/accounts/intents/operations/repay-credit-account/index.d.ts +0 -31
- package/dist/types/sdk/accounts/intents/operations/start-delayed-withdrawal/index.d.ts +0 -23
- package/dist/types/sdk/accounts/intents/operations/swap/index.d.ts +0 -28
- package/dist/types/sdk/accounts/intents/operations/types.d.ts +0 -21
- package/dist/types/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.d.ts +0 -30
- package/dist/types/sdk/accounts/intents/operations/withdraw-collateral/index.d.ts +0 -36
- package/dist/types/sdk/accounts/intents/operations/wrap-rwa-collateral/index.d.ts +0 -30
- package/dist/types/sdk/accounts/intents/quoters/close.d.ts +0 -43
- package/dist/types/sdk/accounts/intents/quoters/index.d.ts +0 -3
- package/dist/types/sdk/accounts/intents/quoters/swap.d.ts +0 -43
- package/dist/types/sdk/accounts/intents/testing/resume.d.ts +0 -84
- package/dist/types/sdk/accounts/intents/utils/simulate-adjust-state.d.ts +0 -19
- package/dist/types/sdk/accounts/intents/utils/simulate-assets.d.ts +0 -21
- package/dist/types/sdk/accounts/intents/utils/with-quota-update.d.ts +0 -16
- /package/dist/cjs/{new-sdk/utils/history.js → model/notices.js} +0 -0
- /package/dist/cjs/{sdk/accounts/intents/operations → new-sdk/simulate}/types.js +0 -0
- /package/dist/esm/{new-sdk/utils/history.js → model/notices.js} +0 -0
- /package/dist/esm/{sdk/accounts/intents/operations → new-sdk/simulate}/types.js +0 -0
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_sdk_utils_hex = require("../../sdk/utils/hex.js");
|
|
3
|
+
const require_sdk_base_MultichainConstruct = require("../../sdk/base/MultichainConstruct.js");
|
|
4
|
+
const require_sdk_accounts_intents_utils_credit_account_slice = require("../../sdk/accounts/intents/utils/credit-account-slice.js");
|
|
5
|
+
const require_sdk_accounts_intents_index = require("../../sdk/accounts/intents/index.js");
|
|
6
|
+
require("../../sdk/index.js");
|
|
7
|
+
//#region src/new-sdk/simulate/SimulateApi.ts
|
|
8
|
+
/**
|
|
9
|
+
* {@inheritDoc OpportunitiesSimulate}
|
|
10
|
+
*
|
|
11
|
+
* Holds no state of its own: it owns the mapping from the public,
|
|
12
|
+
* read-model-shaped request to the engine's intent, and nothing else. All
|
|
13
|
+
* protocol knowledge stays in `CreditAccountOperationsService` and
|
|
14
|
+
* `PoolService`.
|
|
15
|
+
*
|
|
16
|
+
* A simulation names one chain, so it reads through
|
|
17
|
+
* {@link MultichainConstruct.queryChain}: there is no second source to fall back
|
|
18
|
+
* to, hence a chain the SDK does not cover, or one that fails the read, throws
|
|
19
|
+
* rather than answering with empty metadata.
|
|
20
|
+
**/
|
|
21
|
+
var SimulateApi = class extends require_sdk_base_MultichainConstruct.MultichainConstruct {
|
|
22
|
+
#ensureFresh;
|
|
23
|
+
constructor(sdk, ensureFresh) {
|
|
24
|
+
super(sdk);
|
|
25
|
+
this.#ensureFresh = ensureFresh;
|
|
26
|
+
}
|
|
27
|
+
async queryChain(props) {
|
|
28
|
+
await this.#ensureFresh?.([this.sdk.chain(props.network).chainId]);
|
|
29
|
+
return super.queryChain(props);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* {@inheritDoc OpportunitiesSimulate.delayed}
|
|
33
|
+
**/
|
|
34
|
+
delayed = {
|
|
35
|
+
withdrawStrategy: (position, params) => this.#startDelayedIntent(position, params, {
|
|
36
|
+
type: "WITHDRAW",
|
|
37
|
+
amount: params.amount,
|
|
38
|
+
to: params.to,
|
|
39
|
+
tokenOut: params.tokenOut,
|
|
40
|
+
sourceToken: params.sourceToken
|
|
41
|
+
}),
|
|
42
|
+
adjustLeverage: (position, params) => this.#startDelayedIntent(position, params, {
|
|
43
|
+
type: "ADJUST_LEVERAGE",
|
|
44
|
+
targetLeverage: params.targetLeverage,
|
|
45
|
+
token: params.token
|
|
46
|
+
}),
|
|
47
|
+
finish: (position, params) => this.queryChain({
|
|
48
|
+
network: position.chainId,
|
|
49
|
+
run: async (sdk) => {
|
|
50
|
+
const intent = resumable(params.intent ?? params.claimable.intent);
|
|
51
|
+
if (!intent) return {
|
|
52
|
+
ok: false,
|
|
53
|
+
reason: "noRecordedIntent"
|
|
54
|
+
};
|
|
55
|
+
return service(sdk).finishIntent({
|
|
56
|
+
intent,
|
|
57
|
+
claimable: params.claimable,
|
|
58
|
+
creditAccount: await slice(sdk, position.creditAccount),
|
|
59
|
+
sdk,
|
|
60
|
+
slippage: params.slippage,
|
|
61
|
+
quotaReserve: params.quotaReserve
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* {@inheritDoc OpportunitiesSimulate.deposit}
|
|
68
|
+
**/
|
|
69
|
+
deposit(pool, params) {
|
|
70
|
+
const { marketRegister, pools } = this.sdk.chain(pool.chainId);
|
|
71
|
+
const tokenIn = params.tokenIn ?? marketRegister.findByPool(pool.pool).pool.underlying;
|
|
72
|
+
const tokenOut = lpRoute(params.tokenOut, () => pools.getDepositTokensOut(pool.pool, tokenIn));
|
|
73
|
+
if (!tokenOut) return {
|
|
74
|
+
ok: false,
|
|
75
|
+
reason: "unsupportedTokenPair"
|
|
76
|
+
};
|
|
77
|
+
const preview = pools.simulateDeposit({
|
|
78
|
+
pool: pool.pool,
|
|
79
|
+
amount: params.amount,
|
|
80
|
+
tokenIn,
|
|
81
|
+
tokenOut
|
|
82
|
+
});
|
|
83
|
+
const call = pools.addLiquidity({
|
|
84
|
+
collateral: preview.tokenIn,
|
|
85
|
+
pool: pool.pool,
|
|
86
|
+
wallet: params.wallet,
|
|
87
|
+
meta: pools.getDepositMetadata(pool.pool, tokenIn, tokenOut)
|
|
88
|
+
});
|
|
89
|
+
if (!call) return {
|
|
90
|
+
ok: false,
|
|
91
|
+
reason: "unsupportedTokenPair"
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
ok: true,
|
|
95
|
+
operations: [],
|
|
96
|
+
preview,
|
|
97
|
+
calls: call.calls
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* {@inheritDoc OpportunitiesSimulate.withdraw}
|
|
102
|
+
**/
|
|
103
|
+
withdraw(pool, params) {
|
|
104
|
+
const { pools } = this.sdk.chain(pool.chainId);
|
|
105
|
+
const tokenIn = params.tokenIn ?? pool.pool;
|
|
106
|
+
const tokenOut = lpRoute(params.tokenOut, () => pools.getWithdrawalTokensOut(pool.pool, tokenIn));
|
|
107
|
+
if (!tokenOut) return {
|
|
108
|
+
ok: false,
|
|
109
|
+
reason: "unsupportedTokenPair"
|
|
110
|
+
};
|
|
111
|
+
const preview = pools.simulateWithdraw({
|
|
112
|
+
pool: pool.pool,
|
|
113
|
+
amount: params.amount,
|
|
114
|
+
tokenIn,
|
|
115
|
+
tokenOut
|
|
116
|
+
});
|
|
117
|
+
const { calls } = pools.removeLiquidity({
|
|
118
|
+
pool: pool.pool,
|
|
119
|
+
amount: params.amount,
|
|
120
|
+
wallet: params.wallet,
|
|
121
|
+
permit: void 0,
|
|
122
|
+
meta: pools.getWithdrawalMetadata(pool.pool, tokenIn, tokenOut),
|
|
123
|
+
mode: "withdraw"
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
ok: true,
|
|
127
|
+
operations: [],
|
|
128
|
+
preview,
|
|
129
|
+
calls
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* {@inheritDoc OpportunitiesSimulate.redeem}
|
|
134
|
+
**/
|
|
135
|
+
redeem(pool, params) {
|
|
136
|
+
const { pools } = this.sdk.chain(pool.chainId);
|
|
137
|
+
const tokenIn = params.tokenIn ?? pool.pool;
|
|
138
|
+
const tokenOut = lpRoute(params.tokenOut, () => pools.getWithdrawalTokensOut(pool.pool, tokenIn));
|
|
139
|
+
if (!tokenOut) return {
|
|
140
|
+
ok: false,
|
|
141
|
+
reason: "unsupportedTokenPair"
|
|
142
|
+
};
|
|
143
|
+
const preview = pools.simulateRedeem({
|
|
144
|
+
pool: pool.pool,
|
|
145
|
+
amount: params.amount,
|
|
146
|
+
tokenIn,
|
|
147
|
+
tokenOut
|
|
148
|
+
});
|
|
149
|
+
const { calls } = pools.removeLiquidity({
|
|
150
|
+
pool: pool.pool,
|
|
151
|
+
amount: params.amount,
|
|
152
|
+
wallet: params.wallet,
|
|
153
|
+
permit: void 0,
|
|
154
|
+
meta: pools.getWithdrawalMetadata(pool.pool, tokenIn, tokenOut),
|
|
155
|
+
mode: "redeem"
|
|
156
|
+
});
|
|
157
|
+
return {
|
|
158
|
+
ok: true,
|
|
159
|
+
operations: [],
|
|
160
|
+
preview,
|
|
161
|
+
calls
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* {@inheritDoc OpportunitiesSimulate.openNewStrategy}
|
|
166
|
+
**/
|
|
167
|
+
async openNewStrategy(strategy, params) {
|
|
168
|
+
return this.queryChain({
|
|
169
|
+
network: strategy.chainId,
|
|
170
|
+
run: (sdk) => service(sdk).openStrategyIntent({
|
|
171
|
+
sdk,
|
|
172
|
+
creditManager: strategy.creditManager,
|
|
173
|
+
collateral: params.collateral,
|
|
174
|
+
targetToken: params.targetToken ?? strategy.targetCollateral,
|
|
175
|
+
leverage: params.leverage,
|
|
176
|
+
leftoverBalances: params.leftoverBalances,
|
|
177
|
+
slippage: params.slippage,
|
|
178
|
+
quotaReserve: params.quotaReserve
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* {@inheritDoc OpportunitiesSimulate.depositStrategy}
|
|
184
|
+
**/
|
|
185
|
+
async depositStrategy(position, params) {
|
|
186
|
+
return this.#startIntent(position, params, {
|
|
187
|
+
type: "DEPOSIT",
|
|
188
|
+
token: params.token,
|
|
189
|
+
amount: params.amount,
|
|
190
|
+
value: params.value,
|
|
191
|
+
positionToken: params.positionToken,
|
|
192
|
+
targetLeverage: params.targetLeverage
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* {@inheritDoc OpportunitiesSimulate.withdrawStrategy}
|
|
197
|
+
**/
|
|
198
|
+
async withdrawStrategy(position, params) {
|
|
199
|
+
return this.#startRoutes(position, params, {
|
|
200
|
+
type: "WITHDRAW",
|
|
201
|
+
amount: params.amount,
|
|
202
|
+
to: params.to,
|
|
203
|
+
tokenOut: params.tokenOut,
|
|
204
|
+
sourceToken: params.sourceToken
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* {@inheritDoc OpportunitiesSimulate.maxWithdraw}
|
|
209
|
+
**/
|
|
210
|
+
async maxWithdraw(position) {
|
|
211
|
+
return this.queryChain({
|
|
212
|
+
network: position.chainId,
|
|
213
|
+
run: async (sdk) => service(sdk).maxWithdraw({
|
|
214
|
+
creditAccount: await slice(sdk, position.creditAccount),
|
|
215
|
+
sdk
|
|
216
|
+
})
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* {@inheritDoc OpportunitiesSimulate.repayStrategy}
|
|
221
|
+
**/
|
|
222
|
+
async repayStrategy(position, params) {
|
|
223
|
+
return this.#startIntent(position, params, {
|
|
224
|
+
type: "REPAY",
|
|
225
|
+
token: params.token,
|
|
226
|
+
amount: params.amount,
|
|
227
|
+
value: params.value
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* {@inheritDoc OpportunitiesSimulate.maxRepay}
|
|
232
|
+
**/
|
|
233
|
+
async maxRepay(position) {
|
|
234
|
+
return this.queryChain({
|
|
235
|
+
network: position.chainId,
|
|
236
|
+
run: async (sdk) => service(sdk).maxRepay({
|
|
237
|
+
creditAccount: await slice(sdk, position.creditAccount),
|
|
238
|
+
sdk
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* {@inheritDoc OpportunitiesSimulate.adjustLeverage}
|
|
244
|
+
**/
|
|
245
|
+
async adjustLeverage(position, params) {
|
|
246
|
+
return this.#startRoutes(position, params, {
|
|
247
|
+
type: "ADJUST_LEVERAGE",
|
|
248
|
+
targetLeverage: params.targetLeverage,
|
|
249
|
+
token: params.token
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* {@inheritDoc OpportunitiesSimulate.addCollateral}
|
|
254
|
+
**/
|
|
255
|
+
async addCollateral(position, params) {
|
|
256
|
+
return this.#startIntent(position, params, {
|
|
257
|
+
type: "ADD_COLLATERAL",
|
|
258
|
+
token: params.token,
|
|
259
|
+
amount: params.amount,
|
|
260
|
+
value: params.value
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* {@inheritDoc OpportunitiesSimulate.withdrawCollateral}
|
|
265
|
+
**/
|
|
266
|
+
async withdrawCollateral(position, params) {
|
|
267
|
+
return this.#startIntent(position, params, {
|
|
268
|
+
type: "WITHDRAW_ASSET",
|
|
269
|
+
token: params.token,
|
|
270
|
+
amount: params.amount,
|
|
271
|
+
to: params.to
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Shared path of the two flows that sell a position asset, and therefore have
|
|
276
|
+
* two routes to offer: one account read, one intent, both routes quoted.
|
|
277
|
+
**/
|
|
278
|
+
async #startRoutes(position, options, intent) {
|
|
279
|
+
return this.queryChain({
|
|
280
|
+
network: position.chainId,
|
|
281
|
+
run: async (sdk) => service(sdk).intentRoutes({
|
|
282
|
+
intent,
|
|
283
|
+
creditAccount: await slice(sdk, position.creditAccount),
|
|
284
|
+
sdk,
|
|
285
|
+
slippage: options.slippage,
|
|
286
|
+
quotaReserve: options.quotaReserve
|
|
287
|
+
})
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Shared path of the same two flows when only the delayed route is asked for:
|
|
292
|
+
* a planner that requests a redemption instead of swapping.
|
|
293
|
+
**/
|
|
294
|
+
async #startDelayedIntent(position, options, intent) {
|
|
295
|
+
return this.queryChain({
|
|
296
|
+
network: position.chainId,
|
|
297
|
+
run: async (sdk) => service(sdk).startDelayedIntent({
|
|
298
|
+
intent,
|
|
299
|
+
creditAccount: await slice(sdk, position.creditAccount),
|
|
300
|
+
sdk,
|
|
301
|
+
slippage: options.slippage,
|
|
302
|
+
quotaReserve: options.quotaReserve
|
|
303
|
+
})
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Shared path of the five flows that act on an existing account: read the
|
|
308
|
+
* account, then run the intent through the engine.
|
|
309
|
+
**/
|
|
310
|
+
async #startIntent(position, options, intent) {
|
|
311
|
+
return this.queryChain({
|
|
312
|
+
network: position.chainId,
|
|
313
|
+
run: async (sdk) => {
|
|
314
|
+
const creditAccount = await slice(sdk, position.creditAccount);
|
|
315
|
+
return service(sdk).startIntent({
|
|
316
|
+
intent,
|
|
317
|
+
creditAccount,
|
|
318
|
+
sdk,
|
|
319
|
+
slippage: options.slippage,
|
|
320
|
+
quotaReserve: options.quotaReserve
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
function service(sdk) {
|
|
327
|
+
return new require_sdk_accounts_intents_index.CreditAccountOperationsService(sdk);
|
|
328
|
+
}
|
|
329
|
+
function slice(sdk, creditAccount) {
|
|
330
|
+
return require_sdk_accounts_intents_utils_credit_account_slice.fetchCreditAccountSlice(sdk, creditAccount);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* The operation a claim resumes, or `undefined` when there is none to resume:
|
|
334
|
+
* a withdrawal requested without an intent, a compressor too old to report one,
|
|
335
|
+
* or a full close, which the engine no longer previews.
|
|
336
|
+
**/
|
|
337
|
+
function resumable(intent) {
|
|
338
|
+
if (!intent || intent.type === "CLOSE_ACCOUNT") return;
|
|
339
|
+
return intent;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Picks the route the operation takes out of `tokenIn`, as a value rather than
|
|
343
|
+
* an exception: an unroutable or ambiguous pair is a request the caller can
|
|
344
|
+
* fix, so it belongs in the `ok: false` half alongside the strategy refusals.
|
|
345
|
+
*
|
|
346
|
+
* A pool with no route out of the input reports it by throwing, hence the
|
|
347
|
+
* catch; a requested output is checked against the list rather than trusted,
|
|
348
|
+
* so that a wrong one fails here instead of deeper in call assembly.
|
|
349
|
+
**/
|
|
350
|
+
function lpRoute(requested, routes) {
|
|
351
|
+
let options;
|
|
352
|
+
try {
|
|
353
|
+
options = routes();
|
|
354
|
+
} catch {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
if (requested) return options.some((o) => require_sdk_utils_hex.hexEq(o, requested)) ? requested : void 0;
|
|
358
|
+
return options.length === 1 ? options[0] : void 0;
|
|
359
|
+
}
|
|
360
|
+
//#endregion
|
|
361
|
+
exports.SimulateApi = SimulateApi;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_new_sdk_utils_filterResponse = require("./filterResponse.js");
|
|
3
|
-
require("./history.js");
|
|
4
3
|
const require_new_sdk_utils_mergeChains = require("./mergeChains.js");
|
|
5
4
|
exports.DEFAULT_MAX_OFFCHAIN_LAG = require_new_sdk_utils_mergeChains.DEFAULT_MAX_OFFCHAIN_LAG;
|
|
6
5
|
exports.filterResponse = require_new_sdk_utils_filterResponse.filterResponse;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
2
|
+
const require_model_charts_schema = require("../model/charts.schema.js");
|
|
3
3
|
const require_model_response_schema = require("../model/response.schema.js");
|
|
4
4
|
const require_offchain_errors_OffchainInvalidJsonError = require("./errors/OffchainInvalidJsonError.js");
|
|
5
5
|
const require_offchain_errors_OffchainNotConfiguredError = require("./errors/OffchainNotConfiguredError.js");
|
|
@@ -65,14 +65,17 @@ var AbstractOffchainNamespace = class {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
* Reads
|
|
69
|
-
*
|
|
68
|
+
* Reads the charts of one subject: one series per metric named, onto the one
|
|
69
|
+
* grid that lets them be compared at an index.
|
|
70
70
|
**/
|
|
71
|
-
async
|
|
71
|
+
async readCharts(path, metrics, range) {
|
|
72
72
|
return this.get({
|
|
73
|
-
path
|
|
74
|
-
query:
|
|
75
|
-
|
|
73
|
+
path,
|
|
74
|
+
query: zod_v4.z.encode(require_model_charts_schema.chartQueryCodec, {
|
|
75
|
+
metrics,
|
|
76
|
+
range
|
|
77
|
+
}),
|
|
78
|
+
schema: require_model_charts_schema.chartBundleSchemaFor(metrics, range)
|
|
76
79
|
});
|
|
77
80
|
}
|
|
78
81
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_offchain_notices_OffchainNotices = require("./notices/OffchainNotices.js");
|
|
3
|
+
require("./notices/index.js");
|
|
2
4
|
const require_offchain_opportunities_OffchainOpportunities = require("./opportunities/OffchainOpportunities.js");
|
|
3
5
|
require("./opportunities/index.js");
|
|
4
6
|
const require_offchain_positions_OffchainPositions = require("./positions/OffchainPositions.js");
|
|
@@ -34,10 +36,15 @@ var GearboxAPI = class {
|
|
|
34
36
|
* Namespace for the positions a wallet holds.
|
|
35
37
|
**/
|
|
36
38
|
positions;
|
|
39
|
+
/**
|
|
40
|
+
* Namespace for the notices the backend attaches to entities.
|
|
41
|
+
**/
|
|
42
|
+
notices;
|
|
37
43
|
constructor(options) {
|
|
38
44
|
this.chainIds = [...options.chainIds];
|
|
39
45
|
this.opportunities = new require_offchain_opportunities_OffchainOpportunities.OffchainOpportunities(options);
|
|
40
46
|
this.positions = new require_offchain_positions_OffchainPositions.OffchainPositions(options);
|
|
47
|
+
this.notices = new require_offchain_notices_OffchainNotices.OffchainNotices(options);
|
|
41
48
|
}
|
|
42
49
|
};
|
|
43
50
|
//#endregion
|
|
@@ -11,6 +11,8 @@ const require_offchain_errors_OffchainValidationError = require("./errors/Offcha
|
|
|
11
11
|
const require_offchain_errors_readResponseBody = require("./errors/readResponseBody.js");
|
|
12
12
|
require("./errors/index.js");
|
|
13
13
|
const require_offchain_AbstractOffchainNamespace = require("./AbstractOffchainNamespace.js");
|
|
14
|
+
const require_offchain_notices_OffchainNotices = require("./notices/OffchainNotices.js");
|
|
15
|
+
require("./notices/index.js");
|
|
14
16
|
const require_offchain_opportunities_OffchainOpportunities = require("./opportunities/OffchainOpportunities.js");
|
|
15
17
|
require("./opportunities/index.js");
|
|
16
18
|
const require_offchain_positions_OffchainPositions = require("./positions/OffchainPositions.js");
|
|
@@ -22,6 +24,7 @@ exports.GearboxAPI = require_offchain_GearboxAPI.GearboxAPI;
|
|
|
22
24
|
exports.OffchainInvalidJsonError = require_offchain_errors_OffchainInvalidJsonError.OffchainInvalidJsonError;
|
|
23
25
|
exports.OffchainNotConfiguredError = require_offchain_errors_OffchainNotConfiguredError.OffchainNotConfiguredError;
|
|
24
26
|
exports.OffchainNotImplementedError = require_offchain_errors_OffchainNotImplementedError.OffchainNotImplementedError;
|
|
27
|
+
exports.OffchainNotices = require_offchain_notices_OffchainNotices.OffchainNotices;
|
|
25
28
|
exports.OffchainOpportunities = require_offchain_opportunities_OffchainOpportunities.OffchainOpportunities;
|
|
26
29
|
exports.OffchainPositions = require_offchain_positions_OffchainPositions.OffchainPositions;
|
|
27
30
|
exports.OffchainRequestFailedError = require_offchain_errors_OffchainRequestFailedError.OffchainRequestFailedError;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_notices_schema = require("../../model/notices.schema.js");
|
|
3
|
+
const require_offchain_AbstractOffchainNamespace = require("../AbstractOffchainNamespace.js");
|
|
4
|
+
let zod_v4 = require("zod/v4");
|
|
5
|
+
//#region src/offchain/notices/OffchainNotices.ts
|
|
6
|
+
/**
|
|
7
|
+
* Backend counterpart of `sdk.notices`: banners the backend asks a consumer to
|
|
8
|
+
* show for one entity, see {@link Notice}.
|
|
9
|
+
**/
|
|
10
|
+
var OffchainNotices = class extends require_offchain_AbstractOffchainNamespace.AbstractOffchainNamespace {
|
|
11
|
+
#root = "/v2/notices";
|
|
12
|
+
constructor(options) {
|
|
13
|
+
super("OffchainNotices", options);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The notices of one pool opportunity or one strategy position.
|
|
17
|
+
**/
|
|
18
|
+
async list(subject) {
|
|
19
|
+
const [kind, address] = subject.kind === "pool" ? ["pool", subject.pool] : ["strategy", subject.creditAccount];
|
|
20
|
+
return this.get({
|
|
21
|
+
path: `${this.#root}/${kind}/${subject.chainId}/${address}`,
|
|
22
|
+
schema: zod_v4.z.array(require_model_notices_schema.noticeSchema)
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.OffchainNotices = OffchainNotices;
|
|
@@ -44,14 +44,10 @@ var OffchainOpportunities = class extends require_offchain_AbstractOffchainNames
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Charts of one opportunity: one series per metric, on a shared grid.
|
|
48
48
|
**/
|
|
49
|
-
async
|
|
50
|
-
return this.
|
|
51
|
-
path: `${this.#historyRoot(query.opportunity)}/history/${query.metric}`,
|
|
52
|
-
metric: query.metric,
|
|
53
|
-
range: query.range
|
|
54
|
-
});
|
|
49
|
+
async getCharts(key, metrics, range) {
|
|
50
|
+
return this.readCharts(`${this.#chartRoot(key)}/charts`, metrics, range);
|
|
55
51
|
}
|
|
56
52
|
#poolPath(key) {
|
|
57
53
|
return `${this.#root}/pools/${key.chainId}/${key.pool}`;
|
|
@@ -59,7 +55,7 @@ var OffchainOpportunities = class extends require_offchain_AbstractOffchainNames
|
|
|
59
55
|
#strategyPath(key) {
|
|
60
56
|
return `${this.#root}/strategies/${key.chainId}/${key.creditManager}/${key.targetCollateral}`;
|
|
61
57
|
}
|
|
62
|
-
#
|
|
58
|
+
#chartRoot(key) {
|
|
63
59
|
return key.kind === "pool" ? this.#poolPath(key) : this.#strategyPath(key);
|
|
64
60
|
}
|
|
65
61
|
};
|
|
@@ -25,19 +25,19 @@ var OffchainPositions = class extends require_offchain_AbstractOffchainNamespace
|
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* @returns An empty series until the backend client is implemented.
|
|
28
|
+
* Charts of one position: one series per metric, on a shared grid.
|
|
31
29
|
**/
|
|
32
|
-
async
|
|
33
|
-
return {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
async getCharts(key, metrics, range) {
|
|
31
|
+
return this.readCharts(`${this.#chartRoot(key)}/charts`, metrics, range);
|
|
32
|
+
}
|
|
33
|
+
#poolPath(key) {
|
|
34
|
+
return `${this.#root}/pool/${key.chainId}/${key.pool}/${key.wallet}`;
|
|
35
|
+
}
|
|
36
|
+
#strategyPath(key) {
|
|
37
|
+
return `${this.#root}/strategy/${key.chainId}/${key.creditAccount}`;
|
|
38
|
+
}
|
|
39
|
+
#chartRoot(key) {
|
|
40
|
+
return key.kind === "pool" ? this.#poolPath(key) : this.#strategyPath(key);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_sdk_utils_AssetsMap = require("../../sdk/utils/AssetsMap.js");
|
|
3
|
-
require("../../sdk/constants/math.js");
|
|
3
|
+
const require_sdk_constants_math = require("../../sdk/constants/math.js");
|
|
4
4
|
require("../../sdk/index.js");
|
|
5
5
|
let viem = require("viem");
|
|
6
6
|
//#region src/preview/preview/CreditAccountState.ts
|
|
@@ -79,6 +79,19 @@ var CreditAccountState = class CreditAccountState {
|
|
|
79
79
|
totalDebt: ca.debt + ca.accruedInterest + ca.accruedFees
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Immutable snapshot of this projected state for `sdk.positions` metric
|
|
84
|
+
* methods: dust-filtered balances, all quotas, and {@link totalDebt}.
|
|
85
|
+
**/
|
|
86
|
+
toSnapshot(totalValue) {
|
|
87
|
+
return {
|
|
88
|
+
creditManager: this.creditManager,
|
|
89
|
+
assets: this.balances.toAssets(require_sdk_constants_math.DUST_THRESHOLD),
|
|
90
|
+
quotas: this.quotas.toAssets(0n),
|
|
91
|
+
totalDebt: this.totalDebt,
|
|
92
|
+
totalValue
|
|
93
|
+
};
|
|
94
|
+
}
|
|
82
95
|
clone() {
|
|
83
96
|
return new CreditAccountState({
|
|
84
97
|
creditAccount: this.creditAccount,
|
|
@@ -26,8 +26,10 @@ let viem = require("viem");
|
|
|
26
26
|
* @param receivedToken - Token the `CLOSE_ACCOUNT` resume withdraws to the
|
|
27
27
|
* user: the unwrapped underlying (vault asset) for RWA markets, the
|
|
28
28
|
* underlying itself otherwise.
|
|
29
|
+
* @param sdk - Market data source for the position metrics of the resulting
|
|
30
|
+
* state; read synchronously, no network access.
|
|
29
31
|
*/
|
|
30
|
-
function buildDelayedPreview(afterInstant, before, detected, convert, receivedToken) {
|
|
32
|
+
function buildDelayedPreview(afterInstant, before, detected, convert, receivedToken, sdk) {
|
|
31
33
|
const { request, intent } = detected;
|
|
32
34
|
const post = afterInstant.clone();
|
|
33
35
|
const converter = makeSafeConverter(convert);
|
|
@@ -40,7 +42,7 @@ function buildDelayedPreview(afterInstant, before, detected, convert, receivedTo
|
|
|
40
42
|
break;
|
|
41
43
|
case "WITHDRAW_COLLATERAL": applyWithdrawCollateral(post, request, intent, converter, collateralWithdrawn);
|
|
42
44
|
}
|
|
43
|
-
return buildAdjustPreview(post, before, collateralWithdrawn, converter);
|
|
45
|
+
return buildAdjustPreview(post, before, collateralWithdrawn, converter, sdk);
|
|
44
46
|
}
|
|
45
47
|
function makeSafeConverter(convert) {
|
|
46
48
|
let error;
|
|
@@ -172,8 +174,11 @@ function buildClosePreview(post, converter, receivedToken) {
|
|
|
172
174
|
error: converter.error
|
|
173
175
|
};
|
|
174
176
|
}
|
|
175
|
-
function buildAdjustPreview(post, before, collateralWithdrawn, converter) {
|
|
177
|
+
function buildAdjustPreview(post, before, collateralWithdrawn, converter, sdk) {
|
|
176
178
|
const totalValue = totalValueInUnderlying(post, converter.convert, require_sdk_constants_math.DUST_THRESHOLD);
|
|
179
|
+
const assets = post.balances.toAssets(require_sdk_constants_math.DUST_THRESHOLD);
|
|
180
|
+
const quotas = post.quotas.toAssets(0n);
|
|
181
|
+
const snap = post.toSnapshot(totalValue);
|
|
177
182
|
return {
|
|
178
183
|
operation: "AdjustCreditAccount",
|
|
179
184
|
creditManager: post.creditManager,
|
|
@@ -183,11 +188,16 @@ function buildAdjustPreview(post, before, collateralWithdrawn, converter) {
|
|
|
183
188
|
totalValue,
|
|
184
189
|
debt: post.debt,
|
|
185
190
|
debtChange: post.debt - before.debt,
|
|
186
|
-
quotas
|
|
191
|
+
quotas,
|
|
187
192
|
quotasChange: post.quotas.difference(before.quotas).toAssets(),
|
|
188
|
-
assets
|
|
193
|
+
assets,
|
|
189
194
|
assetsChange: post.balances.difference(before.balances).toAssets(require_sdk_constants_math.DUST_THRESHOLD),
|
|
190
|
-
error: converter.error
|
|
195
|
+
error: converter.error,
|
|
196
|
+
healthFactor: sdk.positions.healthFactor(snap),
|
|
197
|
+
overallApy: 0,
|
|
198
|
+
borrowRate: sdk.positions.borrowRate(snap),
|
|
199
|
+
timeToLiquidation: sdk.positions.timeToLiquidation(snap),
|
|
200
|
+
liquidationPrice: sdk.positions.liquidationPrice(snap)
|
|
191
201
|
};
|
|
192
202
|
}
|
|
193
203
|
//#endregion
|
|
@@ -22,6 +22,7 @@ async function previewAdjustCreditAccount(input, operation, options) {
|
|
|
22
22
|
const { assets: collateralAdded, error: unwrapError } = require_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_sdk_constants_address_provider.AP_WETH_TOKEN, 0));
|
|
23
23
|
error ??= unwrapError;
|
|
24
24
|
const assets = account.balances.toAssets(require_sdk_constants_math.DUST_THRESHOLD);
|
|
25
|
+
const quotas = account.quotas.toAssets(0n);
|
|
25
26
|
const assetsChange = account.balances.difference(before.balances).toAssets(require_sdk_constants_math.DUST_THRESHOLD);
|
|
26
27
|
const totalValue = assets.reduce((acc, { token, balance }) => {
|
|
27
28
|
try {
|
|
@@ -34,6 +35,7 @@ async function previewAdjustCreditAccount(input, operation, options) {
|
|
|
34
35
|
return acc;
|
|
35
36
|
}
|
|
36
37
|
}, 0n);
|
|
38
|
+
const snap = account.toSnapshot(totalValue);
|
|
37
39
|
return {
|
|
38
40
|
operation: "AdjustCreditAccount",
|
|
39
41
|
creditManager: operation.creditManager,
|
|
@@ -43,11 +45,16 @@ async function previewAdjustCreditAccount(input, operation, options) {
|
|
|
43
45
|
totalValue,
|
|
44
46
|
debt: account.debt,
|
|
45
47
|
debtChange: account.debt - before.debt,
|
|
46
|
-
quotas
|
|
48
|
+
quotas,
|
|
47
49
|
quotasChange: account.quotas.difference(before.quotas).toAssets(),
|
|
48
50
|
assets,
|
|
49
51
|
assetsChange,
|
|
50
|
-
error
|
|
52
|
+
error,
|
|
53
|
+
healthFactor: sdk.positions.healthFactor(snap),
|
|
54
|
+
overallApy: 0,
|
|
55
|
+
borrowRate: sdk.positions.borrowRate(snap),
|
|
56
|
+
timeToLiquidation: sdk.positions.timeToLiquidation(snap),
|
|
57
|
+
liquidationPrice: sdk.positions.liquidationPrice(snap)
|
|
51
58
|
};
|
|
52
59
|
}
|
|
53
60
|
//#endregion
|