@gearbox-protocol/sdk 15.1.0-next.1 → 15.1.0-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/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 +137 -0
- package/dist/cjs/dev/comparePositions.js +183 -0
- package/dist/cjs/dev/fieldDiff.js +241 -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 +65 -45
- 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 +133 -4
- package/dist/cjs/sdk/pools/index.js +2 -0
- package/dist/cjs/sdk/positions/PositionsService.js +218 -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 +0 -1
- package/dist/esm/dev/compareOpportunities.js +135 -0
- package/dist/esm/dev/comparePositions.js +181 -0
- package/dist/esm/dev/fieldDiff.js +224 -0
- 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/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/sdk/MultichainSDK.js +3 -4
- package/dist/esm/sdk/OnchainSDK.js +42 -13
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -8
- 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 +0 -3
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +29 -18
- package/dist/esm/sdk/base/BaseContract.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +78 -27
- 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/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 +60 -41
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -3
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +16 -2
- package/dist/esm/sdk/market/rwa/RWARegistry.js +22 -0
- 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 +218 -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/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 +105 -0
- package/dist/types/dev/comparePositions.d.ts +149 -0
- package/dist/types/dev/fieldDiff.d.ts +167 -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 +46 -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,136 @@
|
|
|
1
|
+
import { ClaimableWithdrawal, DelayedWithdrawCollateralIntent } from "../../withdrawal-compressor/types.js";
|
|
2
|
+
import { OnchainSDK } from "../../../OnchainSDK.js";
|
|
3
|
+
import { CreditAccountSlice } from "../types.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
import { ExpectedFlowOp } from "../testing/expect.js";
|
|
6
|
+
import { Address } from "viem";
|
|
7
|
+
//#region src/sdk/accounts/intents/tests/finish-withdraw.fixtures.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Withdraw tail fixtures, ported from intent-calculator
|
|
10
|
+
* `withdraw.flowFixtures.ts` (tail cases only).
|
|
11
|
+
*/
|
|
12
|
+
declare const WITHDRAW_UND: bigint;
|
|
13
|
+
declare const WITHDRAW_ANY: bigint;
|
|
14
|
+
declare const WITHDRAW_ANY2: bigint;
|
|
15
|
+
/** Withdraw amount in rwa.asset units (8 decimals, priced 1:1 with UND). */
|
|
16
|
+
declare const WITHDRAW_RWA: bigint;
|
|
17
|
+
declare const DEBT_DELTA: bigint;
|
|
18
|
+
declare const PHANTOM: Address;
|
|
19
|
+
/** Per-token CA balance (legacy `A0_TOK` / und balance). */
|
|
20
|
+
declare const A0: bigint;
|
|
21
|
+
declare const A0_UND: bigint;
|
|
22
|
+
declare const QUOTA0: bigint;
|
|
23
|
+
/** Starting account debt on the fixture CA. */
|
|
24
|
+
declare const WITHDRAW_PRE_D: bigint;
|
|
25
|
+
/**
|
|
26
|
+
* Starting TVL of the fixture CA tokens (ANY + ANY2 + UND). Claim may add
|
|
27
|
+
* value when the phantom is absent from `tokens` (current fixtures).
|
|
28
|
+
*/
|
|
29
|
+
declare const WITHDRAW_BASE_TV = 20000000000000n;
|
|
30
|
+
declare const WITHDRAW_TO: Address;
|
|
31
|
+
declare function withdrawAmountFor(token: Address): bigint;
|
|
32
|
+
declare function buildWithdrawSdk(args: {
|
|
33
|
+
claimedToken: Address;
|
|
34
|
+
extraPrices?: Record<Address, bigint>;
|
|
35
|
+
extraDecimals?: Record<Address, number>;
|
|
36
|
+
rwaAssets?: Record<Address, Address>;
|
|
37
|
+
}): OnchainSDK;
|
|
38
|
+
/** The matured withdrawal these fixtures claim. */
|
|
39
|
+
declare function buildWithdrawClaimable(args: {
|
|
40
|
+
claimedToken: Address;
|
|
41
|
+
claimedAmount: bigint;
|
|
42
|
+
}): ClaimableWithdrawal;
|
|
43
|
+
declare function buildWithdrawFinishProps(args: {
|
|
44
|
+
sourceToken: Address;
|
|
45
|
+
withdrawToken: Address;
|
|
46
|
+
claimedToken: Address;
|
|
47
|
+
claimedAmount: bigint;
|
|
48
|
+
debtRepaid: bigint;
|
|
49
|
+
sdk: OnchainSDK;
|
|
50
|
+
/** Overrides `withdrawAmountFor(withdrawToken)` when set. */
|
|
51
|
+
withdrawAmount?: bigint;
|
|
52
|
+
tokens?: CreditAccountSlice["tokens"];
|
|
53
|
+
slippage?: number;
|
|
54
|
+
}): {
|
|
55
|
+
intent: DelayedWithdrawCollateralIntent;
|
|
56
|
+
creditAccount: CreditAccountSlice;
|
|
57
|
+
sdk: OnchainSDK<{}>;
|
|
58
|
+
quotaReserve: undefined;
|
|
59
|
+
claimable: ClaimableWithdrawal;
|
|
60
|
+
slippage: number;
|
|
61
|
+
};
|
|
62
|
+
/** Matrix baseline debt: 8U. */
|
|
63
|
+
declare const M4_DEBT = 800000000n;
|
|
64
|
+
/** Matrix payout W: 1U. */
|
|
65
|
+
declare const M4_W = 100000000n;
|
|
66
|
+
/** Proportional repayment `dD = D0 * W / C0` = 4U. */
|
|
67
|
+
declare const M4_DD = 400000000n;
|
|
68
|
+
/** Payout plus repayment: 5U redeemed by the leading half. */
|
|
69
|
+
declare const M4_SPEND: bigint;
|
|
70
|
+
/** Quotable withdrawal phantom: `POS2`, 1:1 with `POS`. */
|
|
71
|
+
declare const M4_PHANTOM: `0x${string}`;
|
|
72
|
+
/** 5U claimed in `ANY` (priced 1 against `UND` priced 2): 10 ANY. */
|
|
73
|
+
declare const M4_CLAIM_ANY = 10000000000000000000n;
|
|
74
|
+
/** TVL the 4.4/4.6 tails report — the echo router credits its raw input. */
|
|
75
|
+
declare const M4_ECHO_TVL = 10000000000000000000n;
|
|
76
|
+
interface MatrixWithdrawTailCase {
|
|
77
|
+
claimedToken: Address;
|
|
78
|
+
claimedAmount: bigint;
|
|
79
|
+
totalValue: bigint;
|
|
80
|
+
ops: ExpectedFlowOp[];
|
|
81
|
+
rwaAssets?: Record<Address, Address>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Matrix 4.3 tail — the claim pays `UND` directly.
|
|
85
|
+
*
|
|
86
|
+
* MATRIX MISMATCH: the matrix pays out first — `claim →
|
|
87
|
+
* withdrawCollateral(min(W, claim.amount)) → decreaseDebt(rest) →
|
|
88
|
+
* changeQuota`. The engine repays before paying out (`repay(debtRepaid,
|
|
89
|
+
* keep: W)` precedes the payout leg in `planFinishWithdraw`):
|
|
90
|
+
* `claim → decreaseDebt(dD) → withdrawCollateral(W) → changeQuota`.
|
|
91
|
+
* Amounts are identical; only the order differs.
|
|
92
|
+
*/
|
|
93
|
+
declare const case_matrix_4_3_tail: MatrixWithdrawTailCase;
|
|
94
|
+
/**
|
|
95
|
+
* Matrix 4.4 tail — the claim pays `ANY`, routed into `UND` first.
|
|
96
|
+
*
|
|
97
|
+
* MATRIX MISMATCH: same ordering divergence as 4.3 — the matrix expects
|
|
98
|
+
* `claim → swap → withdrawCollateral → decreaseDebt → changeQuota`, the
|
|
99
|
+
* engine repays first:
|
|
100
|
+
* `claim → swap → decreaseDebt → withdrawCollateral → changeQuota`.
|
|
101
|
+
*/
|
|
102
|
+
declare const case_matrix_4_4_tail: MatrixWithdrawTailCase;
|
|
103
|
+
/**
|
|
104
|
+
* Matrix 4.5 tail — 4.3 on the RWA market: unwrap before the payout.
|
|
105
|
+
*
|
|
106
|
+
* MATRIX MISMATCH: same ordering divergence as 4.3 — the matrix expects
|
|
107
|
+
* `claim → unwrapRwaCollateral → withdrawCollateral(RWA) → decreaseDebt →
|
|
108
|
+
* changeQuota`, the engine repays first:
|
|
109
|
+
* `claim → decreaseDebt → unwrapRwaCollateral → withdrawCollateral(RWA) →
|
|
110
|
+
* changeQuota`.
|
|
111
|
+
*/
|
|
112
|
+
declare const case_matrix_4_5_tail: MatrixWithdrawTailCase;
|
|
113
|
+
/**
|
|
114
|
+
* Matrix 4.6 tail — 4.4 on the RWA market.
|
|
115
|
+
*
|
|
116
|
+
* MATRIX MISMATCH: same ordering divergence as 4.3 — the matrix expects
|
|
117
|
+
* `claim → swap → unwrapRwaCollateral → withdrawCollateral(RWA) →
|
|
118
|
+
* decreaseDebt → changeQuota`, the engine repays first:
|
|
119
|
+
* `claim → swap → decreaseDebt → unwrapRwaCollateral →
|
|
120
|
+
* withdrawCollateral(RWA) → changeQuota`.
|
|
121
|
+
*/
|
|
122
|
+
declare const case_matrix_4_6_tail: MatrixWithdrawTailCase;
|
|
123
|
+
/**
|
|
124
|
+
* Props for a matrix withdraw tail: the account as the 4.3 start left it —
|
|
125
|
+
* 5A of position and 5A of phantom — plus the matured claim.
|
|
126
|
+
*/
|
|
127
|
+
declare function buildMatrixWithdrawTailProps(c: MatrixWithdrawTailCase): {
|
|
128
|
+
intent: DelayedWithdrawCollateralIntent;
|
|
129
|
+
creditAccount: CreditAccountSlice;
|
|
130
|
+
sdk: OnchainSDK<{}>;
|
|
131
|
+
quotaReserve: undefined;
|
|
132
|
+
claimable: ClaimableWithdrawal;
|
|
133
|
+
slippage: undefined;
|
|
134
|
+
};
|
|
135
|
+
//#endregion
|
|
136
|
+
export { A0, A0_UND, DEBT_DELTA, M4_CLAIM_ANY, M4_DD, M4_DEBT, M4_ECHO_TVL, M4_PHANTOM, M4_SPEND, M4_W, MatrixWithdrawTailCase, PHANTOM, QUOTA0, WITHDRAW_ANY, WITHDRAW_ANY2, WITHDRAW_BASE_TV, WITHDRAW_PRE_D, WITHDRAW_RWA, WITHDRAW_TO, WITHDRAW_UND, buildMatrixWithdrawTailProps, buildWithdrawClaimable, buildWithdrawFinishProps, buildWithdrawSdk, case_matrix_4_3_tail, case_matrix_4_4_tail, case_matrix_4_5_tail, case_matrix_4_6_tail, withdrawAmountFor };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Asset } from "../../../base/types.js";
|
|
2
|
+
import { OnchainSDK } from "../../../OnchainSDK.js";
|
|
3
|
+
import { OpenStrategyProps } from "../open-strategy.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
import { MarketSdkExtras } from "../testing/market.js";
|
|
6
|
+
import { Address } from "viem";
|
|
7
|
+
//#region src/sdk/accounts/intents/tests/open-strategy.fixtures.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Open-strategy fixtures.
|
|
10
|
+
*
|
|
11
|
+
* `POS` is the target throughout: it is 1:1 with `UND`, so the mock router's
|
|
12
|
+
* oracle-priced output stays readable while the `ANY` leg (18 decimals, half the
|
|
13
|
+
* price) still exercises the rescaling.
|
|
14
|
+
*/
|
|
15
|
+
declare const LT = 9200n;
|
|
16
|
+
/** Quota bought for a projected balance: value in UND scaled by its LT. */
|
|
17
|
+
declare function quotaFor(amount: bigint, token: Address): bigint;
|
|
18
|
+
/** 1000 UND of margin. */
|
|
19
|
+
declare const MARGIN_UND: bigint;
|
|
20
|
+
/** 500 UND. */
|
|
21
|
+
declare const HALF_UND: bigint;
|
|
22
|
+
/** 1000 ANY = 500 UND at fixture prices. */
|
|
23
|
+
declare const COLLATERAL_ANY: bigint;
|
|
24
|
+
/** ANY balance to keep unswapped: 400 ANY = 200 UND. */
|
|
25
|
+
declare const KEEP_ANY: bigint;
|
|
26
|
+
declare const LEVERAGE_1X = 100n;
|
|
27
|
+
declare const LEVERAGE_2X = 200n;
|
|
28
|
+
declare const LEVERAGE_3X = 300n;
|
|
29
|
+
interface OpenStrategyCase {
|
|
30
|
+
collateral: Asset[];
|
|
31
|
+
targetToken: Address;
|
|
32
|
+
leverage: bigint;
|
|
33
|
+
leftoverBalances?: Asset[];
|
|
34
|
+
/** Margin in UND. */
|
|
35
|
+
expectedCollateral: bigint;
|
|
36
|
+
expectedDebt: bigint;
|
|
37
|
+
/** Balances the account should hold once the path executes. */
|
|
38
|
+
expectedAssets: Asset[];
|
|
39
|
+
/** Balances the router should be asked to route (collateral + debt). */
|
|
40
|
+
expectedRouterBalances: Asset[];
|
|
41
|
+
}
|
|
42
|
+
/** Plain 3x on underlying margin: everything routes into the position token. */
|
|
43
|
+
declare const case_underlying_3x: OpenStrategyCase;
|
|
44
|
+
/** 1x — no loan at all, just a spot conversion of the margin. */
|
|
45
|
+
declare const case_underlying_1x: OpenStrategyCase;
|
|
46
|
+
/**
|
|
47
|
+
* Mixed margin with a leftover: 500 UND + 1000 ANY (= 500 UND) at 2x.
|
|
48
|
+
*
|
|
49
|
+
* 400 ANY stays put, so only 600 ANY (= 300 UND) plus the whole 1500 UND is
|
|
50
|
+
* routed, and the kept ANY needs a quota of its own.
|
|
51
|
+
*/
|
|
52
|
+
declare const case_mixed_with_leftover: OpenStrategyCase;
|
|
53
|
+
declare function buildOpenStrategySdk(extras?: MarketSdkExtras): OnchainSDK;
|
|
54
|
+
declare function buildOpenStrategyProps(c: OpenStrategyCase, sdk: OnchainSDK): OpenStrategyProps;
|
|
55
|
+
//#endregion
|
|
56
|
+
export { COLLATERAL_ANY, HALF_UND, KEEP_ANY, LEVERAGE_1X, LEVERAGE_2X, LEVERAGE_3X, LT, MARGIN_UND, OpenStrategyCase, buildOpenStrategyProps, buildOpenStrategySdk, case_mixed_with_leftover, case_underlying_1x, case_underlying_3x, quotaFor };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { OnchainSDK } from "../../../OnchainSDK.js";
|
|
2
|
+
import { CreditAccountSlice, WithdrawAssetIntent } from "../types.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { ExpectedFlowOp } from "../testing/expect.js";
|
|
5
|
+
import { caToken } from "../testing/market.js";
|
|
6
|
+
import { Address } from "viem";
|
|
7
|
+
//#region src/sdk/accounts/intents/tests/withdraw-asset.fixtures.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Start withdraw-asset fixtures (intent 4), covering the cases from the spec's
|
|
10
|
+
* "withdraw collateral intent" section.
|
|
11
|
+
*
|
|
12
|
+
* Debt never moves, so every case is `withdrawCollateral` plus the quota
|
|
13
|
+
* decrease implied by the smaller balance. The one branch is the RWA market
|
|
14
|
+
* forced unwrap when the withdrawn token is the wrapped underlying.
|
|
15
|
+
*/
|
|
16
|
+
declare const LT_ANY = 9200n;
|
|
17
|
+
/** 2000 ANY = 1000 UND at fixture prices. */
|
|
18
|
+
declare const HELD_ANY = 2000000000000000000000n;
|
|
19
|
+
/** 1000 UND. */
|
|
20
|
+
declare const HELD_UND = 100000000000n;
|
|
21
|
+
declare const DEBT = 50000000000n;
|
|
22
|
+
/** Half the ANY position. */
|
|
23
|
+
declare const OUT_ANY = 1000000000000000000000n;
|
|
24
|
+
/**
|
|
25
|
+
* 300 of the 1000 UND held. Not half: the underlying is weighted at 98% in this
|
|
26
|
+
* fixture, so leaving 500 against 500 of debt would end below water and the
|
|
27
|
+
* facade would refuse the withdrawal.
|
|
28
|
+
*/
|
|
29
|
+
declare const OUT_UND = 30000000000n;
|
|
30
|
+
declare const QUOTA_ANY_BEFORE: bigint;
|
|
31
|
+
declare const QUOTA_ANY_AFTER: bigint;
|
|
32
|
+
/** Quota ops carry signed deltas, so a release is negative. */
|
|
33
|
+
declare const QUOTA_ANY_DELTA: bigint;
|
|
34
|
+
interface WithdrawAssetCase {
|
|
35
|
+
intent: WithdrawAssetIntent;
|
|
36
|
+
tokens: ReturnType<typeof caToken>[];
|
|
37
|
+
accountDebt: bigint;
|
|
38
|
+
totalValue: bigint;
|
|
39
|
+
ops: ExpectedFlowOp[];
|
|
40
|
+
rwaAssets?: Record<Address, Address>;
|
|
41
|
+
}
|
|
42
|
+
/** Quota token out: withdraw, then release the freed quota. */
|
|
43
|
+
declare const case_any_token: WithdrawAssetCase;
|
|
44
|
+
/** Underlying out on a plain market: no quota, no unwrap. */
|
|
45
|
+
declare const case_underlying: WithdrawAssetCase;
|
|
46
|
+
/**
|
|
47
|
+
* Underlying out on an RWA market: the wrapper cannot leave the account, so it
|
|
48
|
+
* is force-unwrapped and the rwa asset is withdrawn instead.
|
|
49
|
+
*/
|
|
50
|
+
declare const case_rwa_underlying: WithdrawAssetCase;
|
|
51
|
+
declare function buildWithdrawAssetSdk(c: WithdrawAssetCase): OnchainSDK;
|
|
52
|
+
declare function buildWithdrawAssetProps(c: WithdrawAssetCase, sdk: OnchainSDK): {
|
|
53
|
+
intent: WithdrawAssetIntent;
|
|
54
|
+
creditAccount: CreditAccountSlice;
|
|
55
|
+
sdk: OnchainSDK<{}>;
|
|
56
|
+
quotaReserve: undefined;
|
|
57
|
+
slippage: undefined;
|
|
58
|
+
};
|
|
59
|
+
//#endregion
|
|
60
|
+
export { DEBT, HELD_ANY, HELD_UND, LT_ANY, OUT_ANY, OUT_UND, QUOTA_ANY_AFTER, QUOTA_ANY_BEFORE, QUOTA_ANY_DELTA, WithdrawAssetCase, buildWithdrawAssetProps, buildWithdrawAssetSdk, case_any_token, case_rwa_underlying, case_underlying };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { OnchainSDK } from "../../../OnchainSDK.js";
|
|
2
|
+
import { CreditAccountSlice, WithdrawStrategyIntent } from "../types.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
import { ExpectedFlowOp } from "../testing/expect.js";
|
|
5
|
+
import { caToken } from "../testing/market.js";
|
|
6
|
+
import { Address } from "viem";
|
|
7
|
+
//#region src/sdk/accounts/intents/tests/withdraw.fixtures.d.ts
|
|
8
|
+
/** 100 UND of value leaving the account. */
|
|
9
|
+
declare const W = 10000000000n;
|
|
10
|
+
/** Payout plus proportional repayment. */
|
|
11
|
+
declare const SPEND: bigint;
|
|
12
|
+
declare const TVL_BEFORE = 200000000000n;
|
|
13
|
+
declare const DEBT_BEFORE = 100000000000n;
|
|
14
|
+
declare const TVL_AFTER: bigint;
|
|
15
|
+
declare const DEBT_AFTER: bigint;
|
|
16
|
+
declare const QUOTA_BEFORE: bigint;
|
|
17
|
+
declare const QUOTA_AFTER: bigint;
|
|
18
|
+
/** Quota ops carry signed deltas. */
|
|
19
|
+
declare const QUOTA_DELTA: bigint;
|
|
20
|
+
interface WithdrawCase {
|
|
21
|
+
intent: WithdrawStrategyIntent;
|
|
22
|
+
tokens: ReturnType<typeof caToken>[];
|
|
23
|
+
accountDebt: bigint;
|
|
24
|
+
totalValue: bigint;
|
|
25
|
+
accountDebtAfter: bigint;
|
|
26
|
+
ops: ExpectedFlowOp[];
|
|
27
|
+
rwaAssets?: Record<Address, Address>;
|
|
28
|
+
}
|
|
29
|
+
/** Row 1 — S = U, T = U: repay, then hand over the underlying. */
|
|
30
|
+
declare const case_und_und: WithdrawCase;
|
|
31
|
+
/** Row 2 — S = U, T = POS: repay, then route the payout out of the underlying. */
|
|
32
|
+
declare const case_und_pos: WithdrawCase;
|
|
33
|
+
/** Row 3 — S = POS, T = U: both legs land in the underlying, so one swap covers them. */
|
|
34
|
+
declare const case_pos_und: WithdrawCase;
|
|
35
|
+
/** Row 4 — S = T = POS: only the repayment needs routing. */
|
|
36
|
+
declare const case_pos_pos: WithdrawCase;
|
|
37
|
+
/** Row 5 — S = POS, T = POS2: two independent legs out of the same source. */
|
|
38
|
+
declare const case_pos_pos2: WithdrawCase;
|
|
39
|
+
/** RWA market: the underlying payout is force-unwrapped to the asset. */
|
|
40
|
+
declare const case_rwa_payout: WithdrawCase;
|
|
41
|
+
/** Matrix baseline: 10A of position against 8U of debt (2U collateral at 5x). */
|
|
42
|
+
declare const M4_BALANCE = 1000000000n;
|
|
43
|
+
declare const M4_DEBT = 800000000n;
|
|
44
|
+
/** Matrix payout W: 1U. */
|
|
45
|
+
declare const M4_W = 100000000n;
|
|
46
|
+
/** Proportional repayment `dD = D0 * W / C0` = 4U. */
|
|
47
|
+
declare const M4_DD = 400000000n;
|
|
48
|
+
/** Payout plus repayment: 5U liquidated in total. */
|
|
49
|
+
declare const M4_SPEND: bigint;
|
|
50
|
+
/**
|
|
51
|
+
* Matrix 4.1 — withdraw 1U, source `POS`, payout `UND`.
|
|
52
|
+
*
|
|
53
|
+
* MATRIX MISMATCH: the matrix pays out first — `swap → withdrawCollateral →
|
|
54
|
+
* decreaseDebt → changeQuota`. The engine repays before paying out
|
|
55
|
+
* (`repay(dD, keep: W)` precedes the payout leg in `planWithdraw`):
|
|
56
|
+
* `swap → decreaseDebt → withdrawCollateral → changeQuota`. Amounts are
|
|
57
|
+
* identical; only the order differs.
|
|
58
|
+
*/
|
|
59
|
+
declare const case_matrix_4_1: WithdrawCase;
|
|
60
|
+
/**
|
|
61
|
+
* Matrix 4.2 — 4.1 on the RWA market: the payout is unwrapped on the way out.
|
|
62
|
+
*
|
|
63
|
+
* MATRIX MISMATCH: same ordering divergence as 4.1 — the matrix expects
|
|
64
|
+
* `swap → unwrapRwaCollateral → withdrawCollateral(RWA) → decreaseDebt →
|
|
65
|
+
* changeQuota`, the engine repays first:
|
|
66
|
+
* `swap → decreaseDebt → unwrapRwaCollateral → withdrawCollateral(RWA) →
|
|
67
|
+
* changeQuota`.
|
|
68
|
+
*/
|
|
69
|
+
declare const case_matrix_4_2: WithdrawCase;
|
|
70
|
+
declare function buildWithdrawSdk(c: WithdrawCase): OnchainSDK;
|
|
71
|
+
declare function buildWithdrawProps(c: WithdrawCase, sdk: OnchainSDK): {
|
|
72
|
+
intent: WithdrawStrategyIntent;
|
|
73
|
+
creditAccount: CreditAccountSlice;
|
|
74
|
+
sdk: OnchainSDK<{}>;
|
|
75
|
+
quotaReserve: undefined;
|
|
76
|
+
slippage: undefined;
|
|
77
|
+
};
|
|
78
|
+
//#endregion
|
|
79
|
+
export { DEBT_AFTER, DEBT_BEFORE, M4_BALANCE, M4_DD, M4_DEBT, M4_SPEND, M4_W, QUOTA_AFTER, QUOTA_BEFORE, QUOTA_DELTA, SPEND, TVL_AFTER, TVL_BEFORE, W, WithdrawCase, buildWithdrawProps, buildWithdrawSdk, case_matrix_4_1, case_matrix_4_2, case_pos_pos, case_pos_pos2, case_pos_und, case_rwa_payout, case_und_pos, case_und_und };
|