@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
package/dist/cjs/model/index.js
CHANGED
|
@@ -1,34 +1,50 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_charts = require("./charts.js");
|
|
3
|
+
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
4
|
+
const require_model_charts_schema = require("./charts.schema.js");
|
|
2
5
|
require("./curators.js");
|
|
3
6
|
const require_model_curators_schema = require("./curators.schema.js");
|
|
4
7
|
const require_model_filters = require("./filters.js");
|
|
5
8
|
const require_model_filters_schema = require("./filters.schema.js");
|
|
6
|
-
const require_model_history = require("./history.js");
|
|
7
|
-
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
8
|
-
const require_model_opportunities_schema = require("./opportunities.schema.js");
|
|
9
|
-
const require_model_liquidations_schema = require("./liquidations.schema.js");
|
|
10
|
-
const require_model_positions_schema = require("./positions.schema.js");
|
|
11
|
-
const require_model_history_schema = require("./history.schema.js");
|
|
12
9
|
const require_model_liquidations = require("./liquidations.js");
|
|
10
|
+
const require_model_liquidations_schema = require("./liquidations.schema.js");
|
|
11
|
+
require("./notices.js");
|
|
12
|
+
const require_model_notices_schema = require("./notices.schema.js");
|
|
13
13
|
const require_model_opportunities = require("./opportunities.js");
|
|
14
|
+
const require_model_opportunities_schema = require("./opportunities.schema.js");
|
|
14
15
|
const require_model_positions = require("./positions.js");
|
|
16
|
+
const require_model_positions_schema = require("./positions.schema.js");
|
|
15
17
|
require("./primitives.js");
|
|
16
18
|
require("./response.js");
|
|
17
19
|
const require_model_response_schema = require("./response.schema.js");
|
|
20
|
+
exports.CHART_METRIC_UNITS = require_model_charts.CHART_METRIC_UNITS;
|
|
21
|
+
exports.CHART_RANGES = require_model_charts.CHART_RANGES;
|
|
22
|
+
exports.CHART_UNAVAILABLE_CODES = require_model_charts.CHART_UNAVAILABLE_CODES;
|
|
18
23
|
exports.FILTER_ALL = require_model_filters.FILTER_ALL;
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
24
|
+
exports.POOL_OPPORTUNITY_CHART_METRICS = require_model_charts.POOL_OPPORTUNITY_CHART_METRICS;
|
|
25
|
+
exports.POOL_POSITION_CHART_METRICS = require_model_charts.POOL_POSITION_CHART_METRICS;
|
|
26
|
+
exports.STRATEGY_OPPORTUNITY_CHART_METRICS = require_model_charts.STRATEGY_OPPORTUNITY_CHART_METRICS;
|
|
27
|
+
exports.STRATEGY_POSITION_CHART_METRICS = require_model_charts.STRATEGY_POSITION_CHART_METRICS;
|
|
23
28
|
exports.amountSchema = require_model_primitives_schema.amountSchema;
|
|
24
29
|
exports.apyBreakdownSchema = require_model_opportunities_schema.apyBreakdownSchema;
|
|
25
30
|
exports.assetTypeSchema = require_model_primitives_schema.assetTypeSchema;
|
|
26
31
|
exports.booleanParamSchema = require_model_filters_schema.booleanParamSchema;
|
|
32
|
+
exports.borrowRateBreakdownSchema = require_model_positions_schema.borrowRateBreakdownSchema;
|
|
27
33
|
exports.bpsSchema = require_model_primitives_schema.bpsSchema;
|
|
28
34
|
exports.chainFailedSchema = require_model_response_schema.chainFailedSchema;
|
|
29
35
|
exports.chainIdSchema = require_model_primitives_schema.chainIdSchema;
|
|
30
36
|
exports.chainMetadataSchema = require_model_response_schema.chainMetadataSchema;
|
|
31
37
|
exports.chainSucceededSchema = require_model_response_schema.chainSucceededSchema;
|
|
38
|
+
exports.chartBundleSchemaFor = require_model_charts_schema.chartBundleSchemaFor;
|
|
39
|
+
exports.chartDenominationSchema = require_model_charts_schema.chartDenominationSchema;
|
|
40
|
+
exports.chartMetricSchema = require_model_charts_schema.chartMetricSchema;
|
|
41
|
+
exports.chartQueryCodec = require_model_charts_schema.chartQueryCodec;
|
|
42
|
+
exports.chartQueryParamsSchema = require_model_charts_schema.chartQueryParamsSchema;
|
|
43
|
+
exports.chartQuerySchema = require_model_charts_schema.chartQuerySchema;
|
|
44
|
+
exports.chartRangeSchema = require_model_charts_schema.chartRangeSchema;
|
|
45
|
+
exports.chartSeriesSchema = require_model_charts_schema.chartSeriesSchema;
|
|
46
|
+
exports.chartValueSchema = require_model_charts_schema.chartValueSchema;
|
|
47
|
+
exports.chartWindowSchema = require_model_charts_schema.chartWindowSchema;
|
|
32
48
|
exports.curatorNameSchema = require_model_curators_schema.curatorNameSchema;
|
|
33
49
|
exports.curatorSchema = require_model_curators_schema.curatorSchema;
|
|
34
50
|
exports.dataSourceSchema = require_model_response_schema.dataSourceSchema;
|
|
@@ -36,11 +52,6 @@ exports.delayedReceivedAssetSchema = require_model_liquidations_schema.delayedRe
|
|
|
36
52
|
exports.encodeFlag = require_model_filters_schema.encodeFlag;
|
|
37
53
|
exports.filterAllSchema = require_model_filters_schema.filterAllSchema;
|
|
38
54
|
exports.filterable = require_model_filters_schema.filterable;
|
|
39
|
-
exports.historyChartMetadataSchema = require_model_history_schema.historyChartMetadataSchema;
|
|
40
|
-
exports.historyMetricSchema = require_model_history_schema.historyMetricSchema;
|
|
41
|
-
exports.historyPointSchema = require_model_history_schema.historyPointSchema;
|
|
42
|
-
exports.historyRangeSchema = require_model_history_schema.historyRangeSchema;
|
|
43
|
-
exports.historySeriesSchema = require_model_history_schema.historySeriesSchema;
|
|
44
55
|
exports.instantReceivedAssetSchema = require_model_liquidations_schema.instantReceivedAssetSchema;
|
|
45
56
|
exports.isFilterSet = require_model_filters.isFilterSet;
|
|
46
57
|
exports.leverageSchema = require_model_primitives_schema.leverageSchema;
|
|
@@ -53,12 +64,13 @@ exports.liquidationPositionSchema = require_model_liquidations_schema.liquidatio
|
|
|
53
64
|
exports.matchesLiquidatableAccountFilter = require_model_liquidations.matchesLiquidatableAccountFilter;
|
|
54
65
|
exports.matchesOpportunityFilter = require_model_opportunities.matchesOpportunityFilter;
|
|
55
66
|
exports.matchesPositionFilter = require_model_positions.matchesPositionFilter;
|
|
67
|
+
exports.noticeKindSchema = require_model_notices_schema.noticeKindSchema;
|
|
68
|
+
exports.noticeSchema = require_model_notices_schema.noticeSchema;
|
|
56
69
|
exports.opportunityBaseSchema = require_model_opportunities_schema.opportunityBaseSchema;
|
|
57
70
|
exports.opportunityDetailSchema = require_model_opportunities_schema.opportunityDetailSchema;
|
|
58
71
|
exports.opportunityFilterQueryParamsSchema = require_model_opportunities_schema.opportunityFilterQueryParamsSchema;
|
|
59
72
|
exports.opportunityFilterQuerySchema = require_model_opportunities_schema.opportunityFilterQuerySchema;
|
|
60
73
|
exports.opportunityFilterSchema = require_model_opportunities_schema.opportunityFilterSchema;
|
|
61
|
-
exports.opportunityHistoryQuerySchema = require_model_history_schema.opportunityHistoryQuerySchema;
|
|
62
74
|
exports.opportunityId = require_model_opportunities.opportunityId;
|
|
63
75
|
exports.opportunityKeySchema = require_model_opportunities_schema.opportunityKeySchema;
|
|
64
76
|
exports.opportunityKindSchema = require_model_opportunities_schema.opportunityKindSchema;
|
|
@@ -68,12 +80,12 @@ exports.pointRewardsSchema = require_model_opportunities_schema.pointRewardsSche
|
|
|
68
80
|
exports.pointsProgramPnLSchema = require_model_positions_schema.pointsProgramPnLSchema;
|
|
69
81
|
exports.pointsProgramSchema = require_model_opportunities_schema.pointsProgramSchema;
|
|
70
82
|
exports.pointsRewardsPnLSchema = require_model_positions_schema.pointsRewardsPnLSchema;
|
|
71
|
-
exports.
|
|
83
|
+
exports.poolOpportunityChartMetricSchema = require_model_charts_schema.poolOpportunityChartMetricSchema;
|
|
72
84
|
exports.poolOpportunityDetailSchema = require_model_opportunities_schema.poolOpportunityDetailSchema;
|
|
73
85
|
exports.poolOpportunityId = require_model_opportunities.poolOpportunityId;
|
|
74
86
|
exports.poolOpportunityKeySchema = require_model_opportunities_schema.poolOpportunityKeySchema;
|
|
75
87
|
exports.poolOpportunitySchema = require_model_opportunities_schema.poolOpportunitySchema;
|
|
76
|
-
exports.
|
|
88
|
+
exports.poolPositionChartMetricSchema = require_model_charts_schema.poolPositionChartMetricSchema;
|
|
77
89
|
exports.poolPositionId = require_model_positions.poolPositionId;
|
|
78
90
|
exports.poolPositionKeySchema = require_model_positions_schema.poolPositionKeySchema;
|
|
79
91
|
exports.poolPositionSchema = require_model_positions_schema.poolPositionSchema;
|
|
@@ -81,12 +93,13 @@ exports.positionCollateralSchema = require_model_positions_schema.positionCollat
|
|
|
81
93
|
exports.positionFilterQueryParamsSchema = require_model_positions_schema.positionFilterQueryParamsSchema;
|
|
82
94
|
exports.positionFilterQuerySchema = require_model_positions_schema.positionFilterQuerySchema;
|
|
83
95
|
exports.positionFilterSchema = require_model_positions_schema.positionFilterSchema;
|
|
84
|
-
exports.positionHistoryMetricSchema = require_model_history_schema.positionHistoryMetricSchema;
|
|
85
|
-
exports.positionHistoryQuerySchema = require_model_history_schema.positionHistoryQuerySchema;
|
|
86
96
|
exports.positionId = require_model_positions.positionId;
|
|
87
97
|
exports.positionKeySchema = require_model_positions_schema.positionKeySchema;
|
|
88
98
|
exports.positionKindSchema = require_model_positions_schema.positionKindSchema;
|
|
89
99
|
exports.positionSchema = require_model_positions_schema.positionSchema;
|
|
100
|
+
exports.positionTransactionKindSchema = require_model_positions_schema.positionTransactionKindSchema;
|
|
101
|
+
exports.positionTransactionSchema = require_model_positions_schema.positionTransactionSchema;
|
|
102
|
+
exports.positionsTotalsSchema = require_model_positions_schema.positionsTotalsSchema;
|
|
90
103
|
exports.priceFeedDataSchema = require_model_opportunities_schema.priceFeedDataSchema;
|
|
91
104
|
exports.priceFeedSummarySchema = require_model_opportunities_schema.priceFeedSummarySchema;
|
|
92
105
|
exports.quotaAssetSchema = require_model_opportunities_schema.quotaAssetSchema;
|
|
@@ -97,12 +110,12 @@ exports.responseMetadataSchema = require_model_response_schema.responseMetadataS
|
|
|
97
110
|
exports.responseSchema = require_model_response_schema.responseSchema;
|
|
98
111
|
exports.rewardsPnLSchema = require_model_positions_schema.rewardsPnLSchema;
|
|
99
112
|
exports.rewardsSchema = require_model_opportunities_schema.rewardsSchema;
|
|
100
|
-
exports.
|
|
113
|
+
exports.strategyOpportunityChartMetricSchema = require_model_charts_schema.strategyOpportunityChartMetricSchema;
|
|
101
114
|
exports.strategyOpportunityDetailSchema = require_model_opportunities_schema.strategyOpportunityDetailSchema;
|
|
102
115
|
exports.strategyOpportunityId = require_model_opportunities.strategyOpportunityId;
|
|
103
116
|
exports.strategyOpportunityKeySchema = require_model_opportunities_schema.strategyOpportunityKeySchema;
|
|
104
117
|
exports.strategyOpportunitySchema = require_model_opportunities_schema.strategyOpportunitySchema;
|
|
105
|
-
exports.
|
|
118
|
+
exports.strategyPositionChartMetricSchema = require_model_charts_schema.strategyPositionChartMetricSchema;
|
|
106
119
|
exports.strategyPositionId = require_model_positions.strategyPositionId;
|
|
107
120
|
exports.strategyPositionKeySchema = require_model_positions_schema.strategyPositionKeySchema;
|
|
108
121
|
exports.strategyPositionSchema = require_model_positions_schema.strategyPositionSchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_sdk_utils_zod = require("../sdk/utils/zod.js");
|
|
3
|
-
const require_model_filters_schema = require("./filters.schema.js");
|
|
4
3
|
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
4
|
+
const require_model_filters_schema = require("./filters.schema.js");
|
|
5
5
|
let zod_v4 = require("zod/v4");
|
|
6
6
|
//#region src/model/liquidations.schema.ts
|
|
7
7
|
/**
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
3
|
+
let zod_v4 = require("zod/v4");
|
|
4
|
+
//#region src/model/notices.schema.ts
|
|
5
|
+
/**
|
|
6
|
+
* {@link NoticeKind}
|
|
7
|
+
**/
|
|
8
|
+
const noticeKindSchema = zod_v4.z.union([
|
|
9
|
+
zod_v4.z.literal("expired"),
|
|
10
|
+
zod_v4.z.literal("externalRewards"),
|
|
11
|
+
zod_v4.z.literal("extraApy"),
|
|
12
|
+
zod_v4.z.literal("warning"),
|
|
13
|
+
zod_v4.z.literal("disclaimer")
|
|
14
|
+
]);
|
|
15
|
+
/**
|
|
16
|
+
* {@link Notice}
|
|
17
|
+
**/
|
|
18
|
+
const noticeSchema = zod_v4.z.object({
|
|
19
|
+
kind: noticeKindSchema,
|
|
20
|
+
message: zod_v4.z.string(),
|
|
21
|
+
token: require_model_primitives_schema.tokenSchema.optional()
|
|
22
|
+
});
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.noticeKindSchema = noticeKindSchema;
|
|
25
|
+
exports.noticeSchema = noticeSchema;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_sdk_utils_zod = require("../sdk/utils/zod.js");
|
|
3
|
+
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
3
4
|
const require_model_curators_schema = require("./curators.schema.js");
|
|
4
5
|
const require_model_filters = require("./filters.js");
|
|
5
6
|
const require_model_filters_schema = require("./filters.schema.js");
|
|
6
|
-
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
7
7
|
let zod_v4 = require("zod/v4");
|
|
8
8
|
//#region src/model/opportunities.schema.ts
|
|
9
9
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_sdk_utils_zod = require("../sdk/utils/zod.js");
|
|
3
|
+
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
3
4
|
const require_model_filters = require("./filters.js");
|
|
4
5
|
const require_model_filters_schema = require("./filters.schema.js");
|
|
5
|
-
const require_model_primitives_schema = require("./primitives.schema.js");
|
|
6
|
-
const require_model_opportunities_schema = require("./opportunities.schema.js");
|
|
7
6
|
const require_model_liquidations_schema = require("./liquidations.schema.js");
|
|
7
|
+
const require_model_opportunities_schema = require("./opportunities.schema.js");
|
|
8
8
|
let zod_v4 = require("zod/v4");
|
|
9
9
|
//#region src/model/positions.schema.ts
|
|
10
10
|
/**
|
|
@@ -73,6 +73,15 @@ const poolPositionSchema = zod_v4.z.object({
|
|
|
73
73
|
pnl: pnlBreakdownSchema.optional()
|
|
74
74
|
});
|
|
75
75
|
/**
|
|
76
|
+
* {@link BorrowRateBreakdown}
|
|
77
|
+
**/
|
|
78
|
+
const borrowRateBreakdownSchema = zod_v4.z.object({
|
|
79
|
+
total: require_model_primitives_schema.bpsSchema,
|
|
80
|
+
totalOnDebt: require_model_primitives_schema.bpsSchema,
|
|
81
|
+
base: require_model_primitives_schema.bpsSchema,
|
|
82
|
+
quotas: zod_v4.z.record(require_sdk_utils_zod.ZodAddress(), require_model_primitives_schema.bpsSchema)
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
76
85
|
* {@link StrategyPosition}
|
|
77
86
|
**/
|
|
78
87
|
const strategyPositionSchema = zod_v4.z.object({
|
|
@@ -88,6 +97,9 @@ const strategyPositionSchema = zod_v4.z.object({
|
|
|
88
97
|
totalDebt: require_model_primitives_schema.tokenAmountSchema,
|
|
89
98
|
totalValue: require_model_primitives_schema.tokenAmountSchema,
|
|
90
99
|
healthFactor: require_model_primitives_schema.bpsSchema,
|
|
100
|
+
borrowRate: borrowRateBreakdownSchema.optional(),
|
|
101
|
+
timeToLiquidation: require_sdk_utils_zod.ZodBigInt().nullable().optional(),
|
|
102
|
+
liquidationPrice: require_sdk_utils_zod.ZodBigInt().nullable().optional(),
|
|
91
103
|
pnl: pnlBreakdownSchema.optional(),
|
|
92
104
|
collaterals: zod_v4.z.array(positionCollateralSchema)
|
|
93
105
|
});
|
|
@@ -162,7 +174,38 @@ const positionKeySchema = zod_v4.z.discriminatedUnion("kind", [zod_v4.z.object({
|
|
|
162
174
|
kind: zod_v4.z.literal("strategy"),
|
|
163
175
|
...strategyPositionKeySchema.shape
|
|
164
176
|
})]);
|
|
177
|
+
/**
|
|
178
|
+
* {@link PositionsTotals}
|
|
179
|
+
**/
|
|
180
|
+
const positionsTotalsSchema = zod_v4.z.object({
|
|
181
|
+
currentYield: require_model_opportunities_schema.apyBreakdownSchema.nullable(),
|
|
182
|
+
pnl: pnlBreakdownSchema.nullable(),
|
|
183
|
+
netValueUsd: zod_v4.z.number().nullable(),
|
|
184
|
+
claimableUsd: zod_v4.z.number().nullable()
|
|
185
|
+
});
|
|
186
|
+
/**
|
|
187
|
+
* {@link PositionTransactionKind}
|
|
188
|
+
**/
|
|
189
|
+
const positionTransactionKindSchema = zod_v4.z.union([
|
|
190
|
+
zod_v4.z.literal("open"),
|
|
191
|
+
zod_v4.z.literal("deposit"),
|
|
192
|
+
zod_v4.z.literal("withdraw"),
|
|
193
|
+
zod_v4.z.literal("adjustLeverage"),
|
|
194
|
+
zod_v4.z.literal("addCollateral"),
|
|
195
|
+
zod_v4.z.literal("withdrawCollateral"),
|
|
196
|
+
zod_v4.z.literal("liquidation")
|
|
197
|
+
]);
|
|
198
|
+
/**
|
|
199
|
+
* {@link PositionTransaction}
|
|
200
|
+
**/
|
|
201
|
+
const positionTransactionSchema = zod_v4.z.object({
|
|
202
|
+
txHash: require_sdk_utils_zod.ZodHex(),
|
|
203
|
+
timestamp: require_model_primitives_schema.timestampSchema,
|
|
204
|
+
kind: positionTransactionKindSchema,
|
|
205
|
+
assets: zod_v4.z.array(require_model_primitives_schema.tokenAmountSchema)
|
|
206
|
+
});
|
|
165
207
|
//#endregion
|
|
208
|
+
exports.borrowRateBreakdownSchema = borrowRateBreakdownSchema;
|
|
166
209
|
exports.pnlBreakdownSchema = pnlBreakdownSchema;
|
|
167
210
|
exports.pointsProgramPnLSchema = pointsProgramPnLSchema;
|
|
168
211
|
exports.pointsRewardsPnLSchema = pointsRewardsPnLSchema;
|
|
@@ -175,6 +218,9 @@ exports.positionFilterSchema = positionFilterSchema;
|
|
|
175
218
|
exports.positionKeySchema = positionKeySchema;
|
|
176
219
|
exports.positionKindSchema = positionKindSchema;
|
|
177
220
|
exports.positionSchema = positionSchema;
|
|
221
|
+
exports.positionTransactionKindSchema = positionTransactionKindSchema;
|
|
222
|
+
exports.positionTransactionSchema = positionTransactionSchema;
|
|
223
|
+
exports.positionsTotalsSchema = positionsTotalsSchema;
|
|
178
224
|
exports.rewardsPnLSchema = rewardsPnLSchema;
|
|
179
225
|
exports.strategyPositionKeySchema = strategyPositionKeySchema;
|
|
180
226
|
exports.strategyPositionSchema = strategyPositionSchema;
|
|
@@ -18,23 +18,34 @@ var AbstractNamespace = class {
|
|
|
18
18
|
**/
|
|
19
19
|
maxOffchainLagSeconds;
|
|
20
20
|
logger;
|
|
21
|
+
/**
|
|
22
|
+
* The SDK's loading policy, awaited before every on-chain leg: attached, and
|
|
23
|
+
* the touched chains no older than the SDK allows.
|
|
24
|
+
**/
|
|
25
|
+
ensureFresh;
|
|
21
26
|
#name;
|
|
22
27
|
#onchain;
|
|
23
28
|
#offchain;
|
|
29
|
+
/** {@link onchain}, built once: the source's methods behind the loading policy. */
|
|
30
|
+
#onchainView;
|
|
24
31
|
constructor(name, onchain, offchain, options) {
|
|
25
32
|
this.#name = name;
|
|
26
33
|
this.#onchain = onchain;
|
|
27
34
|
this.#offchain = offchain;
|
|
28
35
|
this.maxOffchainLagSeconds = options.maxOffchainLagSeconds;
|
|
36
|
+
this.ensureFresh = options.ensureFresh;
|
|
29
37
|
this.logger = options.logger?.child?.({ name }) ?? options.logger;
|
|
38
|
+
this.#onchainView = onchain && options.ensureFresh ? behindLoadingPolicy(onchain, options.ensureFresh) : onchain;
|
|
30
39
|
}
|
|
31
40
|
/**
|
|
32
|
-
* The on-chain source namespace on its own
|
|
41
|
+
* The on-chain source namespace on its own — every read of it attaches and
|
|
42
|
+
* revalidates like a merged read does, so a consumer showing the two sources
|
|
43
|
+
* separately still gets the SDK's loading policy. Throws
|
|
33
44
|
* {@link SourceUnavailableError} in `offchain` mode.
|
|
34
45
|
**/
|
|
35
46
|
get onchain() {
|
|
36
|
-
if (!this.#
|
|
37
|
-
return this.#
|
|
47
|
+
if (!this.#onchainView) throw new require_new_sdk_errors_SourceUnavailableError.SourceUnavailableError(this.#name, "onchain");
|
|
48
|
+
return this.#onchainView;
|
|
38
49
|
}
|
|
39
50
|
/**
|
|
40
51
|
* The backend source namespace on its own. Throws
|
|
@@ -51,7 +62,10 @@ var AbstractNamespace = class {
|
|
|
51
62
|
async merged(action, query) {
|
|
52
63
|
const onchain = this.#onchain;
|
|
53
64
|
const offchain = this.#offchain;
|
|
54
|
-
const [fromChain, fromBackend] = await Promise.all([this.#ask(action, "onchain", onchain,
|
|
65
|
+
const [fromChain, fromBackend] = await Promise.all([this.#ask(action, "onchain", onchain, async (source) => {
|
|
66
|
+
await this.ensureFresh?.(query.chainIds);
|
|
67
|
+
return query.fromChain(source);
|
|
68
|
+
}), this.#ask(action, "offchain", offchain, query.fromBackend)]);
|
|
55
69
|
const merged = query.merge(fromChain.response, fromBackend.response);
|
|
56
70
|
if (merged && !require_new_sdk_errors_everyChainFailed.everyChainFailed(merged.meta)) return merged;
|
|
57
71
|
const sole = onchain && offchain ? void 0 : fromChain.error ?? fromBackend.error;
|
|
@@ -72,5 +86,21 @@ var AbstractNamespace = class {
|
|
|
72
86
|
}
|
|
73
87
|
}
|
|
74
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* The source's every method, awaiting the loading policy first. The policy is
|
|
91
|
+
* asked for every chain — an escape hatch does not tell which chains a call
|
|
92
|
+
* touches (the merged reads do, and scope it); the object identity differs
|
|
93
|
+
* from the source's, its type does not.
|
|
94
|
+
**/
|
|
95
|
+
function behindLoadingPolicy(source, ensureFresh) {
|
|
96
|
+
return new Proxy(source, { get(target, property, receiver) {
|
|
97
|
+
const value = Reflect.get(target, property, receiver);
|
|
98
|
+
if (typeof value !== "function") return value;
|
|
99
|
+
return async (...args) => {
|
|
100
|
+
await ensureFresh();
|
|
101
|
+
return Reflect.apply(value, target, args);
|
|
102
|
+
};
|
|
103
|
+
} });
|
|
104
|
+
}
|
|
75
105
|
//#endregion
|
|
76
106
|
exports.AbstractNamespace = AbstractNamespace;
|
|
@@ -15,6 +15,11 @@ const require_new_sdk_positions_PositionsNamespace = require("./positions/Positi
|
|
|
15
15
|
require("./positions/index.js");
|
|
16
16
|
//#region src/new-sdk/GearboxSDK.ts
|
|
17
17
|
/**
|
|
18
|
+
* Default {@link GearboxSDKOptions.maxStateAgeSeconds}: the fastest poll an
|
|
19
|
+
* app runs, so a 30 s tick sees state no older than itself.
|
|
20
|
+
**/
|
|
21
|
+
const DEFAULT_MAX_STATE_AGE = 30;
|
|
22
|
+
/**
|
|
18
23
|
* Entry point over both sources of Gearbox data: the chain and the Gearbox
|
|
19
24
|
* backend. The {@link Mode} is fixed at construction and decides which methods
|
|
20
25
|
* exist.
|
|
@@ -54,12 +59,27 @@ var GearboxSDK = class {
|
|
|
54
59
|
#onchain;
|
|
55
60
|
#offchain;
|
|
56
61
|
#ownsOnchain = false;
|
|
62
|
+
#maxStateAgeSeconds;
|
|
63
|
+
#logger;
|
|
64
|
+
/**
|
|
65
|
+
* The banners the backend attaches to a pool opportunity or a strategy
|
|
66
|
+
* position, see {@link Notice}. Top-level because the subject is either
|
|
67
|
+
* kind of entity, so neither namespace owns it. Backend-only, hence gated
|
|
68
|
+
* by mode like every other backend read: absent in `onchain` mode.
|
|
69
|
+
**/
|
|
70
|
+
notices;
|
|
57
71
|
#attached;
|
|
72
|
+
/** The one attach in flight, shared by {@link attach} and every first read. */
|
|
73
|
+
#attaching;
|
|
74
|
+
/** One sync in flight per chain: concurrent stale reads join it. */
|
|
75
|
+
#syncing = /* @__PURE__ */ new Map();
|
|
58
76
|
constructor(options) {
|
|
59
|
-
const { mode, networks, onchain, offchain, attach, logger, maxOffchainLagSeconds = 120 } = options;
|
|
77
|
+
const { mode, networks, onchain, offchain, attach, logger, maxOffchainLagSeconds = 120, maxStateAgeSeconds = 30 } = options;
|
|
60
78
|
this.mode = mode;
|
|
61
79
|
this.networks = [...networks];
|
|
62
80
|
this.#attachOptions = attach;
|
|
81
|
+
this.#maxStateAgeSeconds = maxStateAgeSeconds;
|
|
82
|
+
this.#logger = logger;
|
|
63
83
|
const needsOnchain = mode === "onchain" || mode === "both";
|
|
64
84
|
const needsOffchain = mode === "offchain" || mode === "both";
|
|
65
85
|
if (needsOnchain && !onchain) throw new require_new_sdk_errors_MissingSourceError.MissingSourceError(mode, "onchain");
|
|
@@ -92,19 +112,67 @@ var GearboxSDK = class {
|
|
|
92
112
|
this.#attached = !this.#ownsOnchain;
|
|
93
113
|
const namespaceOptions = {
|
|
94
114
|
maxOffchainLagSeconds,
|
|
115
|
+
ensureFresh: this.#onchain ? (chainIds) => this.#ensureFresh(chainIds) : void 0,
|
|
95
116
|
logger
|
|
96
117
|
};
|
|
97
118
|
this.opportunities = new require_new_sdk_opportunities_OpportunitiesNamespace.OpportunitiesNamespace(this.#onchain, this.#offchain, namespaceOptions);
|
|
98
119
|
this.positions = new require_new_sdk_positions_PositionsNamespace.PositionsNamespace(this.#onchain, this.#offchain, namespaceOptions);
|
|
120
|
+
const backend = this.#offchain;
|
|
121
|
+
this.notices = backend ? (subject) => backend.notices.list(subject) : void 0;
|
|
99
122
|
}
|
|
100
123
|
/**
|
|
101
124
|
* Attaches the on-chain SDK when this instance owns one; a no-op in `offchain`
|
|
102
125
|
* mode and when an already-attached SDK was injected.
|
|
103
126
|
**/
|
|
104
127
|
async attach() {
|
|
128
|
+
return this.#ensureAttached();
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The attach every async read awaits: the first caller starts it, later
|
|
132
|
+
* ones join the same promise; a rejected attach is not cached, so the next
|
|
133
|
+
* read retries.
|
|
134
|
+
**/
|
|
135
|
+
async #ensureAttached() {
|
|
105
136
|
if (this.#attached || !this.#ownsOnchain || !this.#onchain) return;
|
|
106
|
-
|
|
107
|
-
|
|
137
|
+
if (!this.#attaching) {
|
|
138
|
+
const onchain = this.#onchain;
|
|
139
|
+
this.#attaching = onchain.attach(this.#attachOptions).then(() => {
|
|
140
|
+
this.#attached = true;
|
|
141
|
+
}).finally(() => {
|
|
142
|
+
this.#attaching = void 0;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return this.#attaching;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* What every on-chain leg of an async read awaits: the source attached, and
|
|
149
|
+
* the chains the read touches (all of them when unnamed) synced when their
|
|
150
|
+
* loaded state is older than `maxStateAgeSeconds`. A sync that fails leaves
|
|
151
|
+
* the previous state to be served — its age tells the consumer it is stale.
|
|
152
|
+
**/
|
|
153
|
+
async #ensureFresh(chainIds) {
|
|
154
|
+
await this.#ensureAttached();
|
|
155
|
+
const onchain = this.#onchain;
|
|
156
|
+
if (!onchain) return;
|
|
157
|
+
const wanted = chainIds && new Set(chainIds);
|
|
158
|
+
const stale = [];
|
|
159
|
+
const now = Math.floor(Date.now() / 1e3);
|
|
160
|
+
for (const chain of onchain.chains.values()) {
|
|
161
|
+
if (wanted && !wanted.has(chain.chainId)) continue;
|
|
162
|
+
if (now - Number(chain.timestamp) > this.#maxStateAgeSeconds) stale.push(chain);
|
|
163
|
+
}
|
|
164
|
+
await Promise.all(stale.map((chain) => this.#sync(chain)));
|
|
165
|
+
}
|
|
166
|
+
#sync(chain) {
|
|
167
|
+
const inFlight = this.#syncing.get(chain.chainId);
|
|
168
|
+
if (inFlight) return inFlight;
|
|
169
|
+
const sync = chain.syncState().then(() => void 0).catch((error) => {
|
|
170
|
+
this.#logger?.warn(error, `failed to sync chain ${chain.chainId}; serving state of block ${chain.currentBlock}`);
|
|
171
|
+
}).finally(() => {
|
|
172
|
+
this.#syncing.delete(chain.chainId);
|
|
173
|
+
});
|
|
174
|
+
this.#syncing.set(chain.chainId, sync);
|
|
175
|
+
return sync;
|
|
108
176
|
}
|
|
109
177
|
/**
|
|
110
178
|
* Whether the on-chain source is ready to be read from. Always `true` in
|
|
@@ -141,4 +209,5 @@ function chainsOf(configured, networks) {
|
|
|
141
209
|
return chains;
|
|
142
210
|
}
|
|
143
211
|
//#endregion
|
|
212
|
+
exports.DEFAULT_MAX_STATE_AGE = DEFAULT_MAX_STATE_AGE;
|
|
144
213
|
exports.GearboxSDK = GearboxSDK;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/new-sdk/execute/ExecuteApi.ts
|
|
3
|
+
/**
|
|
4
|
+
* {@inheritDoc OpportunitiesExecute}
|
|
5
|
+
**/
|
|
6
|
+
var ExecuteApi = class {
|
|
7
|
+
#chainOf;
|
|
8
|
+
constructor(chainOf) {
|
|
9
|
+
this.#chainOf = chainOf;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* {@inheritDoc OpportunitiesExecute.buildTx}
|
|
13
|
+
**/
|
|
14
|
+
async buildTx(request) {
|
|
15
|
+
if (!request.sim.ok) throw new Error(`cannot build a transaction from a failed ${request.kind} simulation`);
|
|
16
|
+
const sdk = this.#chainOf(request.chainId);
|
|
17
|
+
switch (request.kind) {
|
|
18
|
+
case "pool": return poolTx(sdk, request);
|
|
19
|
+
case "open": return openTx(sdk, request);
|
|
20
|
+
case "account": return accountTx(sdk, request);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
function poolTx(sdk, request) {
|
|
25
|
+
const { pool, wallet, sim } = request;
|
|
26
|
+
const { tokenIn, tokenOut } = sim.preview;
|
|
27
|
+
if (request.op === "deposit") {
|
|
28
|
+
const meta = sdk.pools.getDepositMetadata(pool, tokenIn.token, tokenOut.token);
|
|
29
|
+
const result = sdk.pools.addLiquidity({
|
|
30
|
+
pool,
|
|
31
|
+
wallet,
|
|
32
|
+
collateral: tokenIn,
|
|
33
|
+
meta
|
|
34
|
+
});
|
|
35
|
+
if (!result) throw new Error(`pool ${pool} takes no deposit transaction for ${tokenIn.token} (${meta.type})`);
|
|
36
|
+
return result.tx;
|
|
37
|
+
}
|
|
38
|
+
const meta = sdk.pools.getWithdrawalMetadata(pool, tokenIn.token, tokenOut.token);
|
|
39
|
+
return sdk.pools.removeLiquidity({
|
|
40
|
+
pool,
|
|
41
|
+
wallet,
|
|
42
|
+
amount: request.op === "withdraw" ? tokenOut.balance : tokenIn.balance,
|
|
43
|
+
permit: void 0,
|
|
44
|
+
meta,
|
|
45
|
+
mode: request.op === "withdraw" ? "withdraw" : "redeem"
|
|
46
|
+
}).tx;
|
|
47
|
+
}
|
|
48
|
+
async function openTx(sdk, request) {
|
|
49
|
+
const { creditManager, wallet, collateral, ethAmount, sim } = request;
|
|
50
|
+
const { preview } = sim;
|
|
51
|
+
return sdk.accounts.openCA({
|
|
52
|
+
creditManager,
|
|
53
|
+
to: wallet,
|
|
54
|
+
collateral,
|
|
55
|
+
ethAmount,
|
|
56
|
+
debt: preview.debt,
|
|
57
|
+
calls: preview.calls,
|
|
58
|
+
averageQuota: preview.averageQuota,
|
|
59
|
+
minQuota: preview.minQuota,
|
|
60
|
+
permits: {},
|
|
61
|
+
referralCode: 0n,
|
|
62
|
+
rwaOptions: await openRwaOptions(sdk, request)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The documented `openCA` contract: ask the market for its open requirements
|
|
67
|
+
* and hand them back as operation args, with the caller's cached signatures
|
|
68
|
+
* attached. `undefined` on non-RWA markets and when no target token is named.
|
|
69
|
+
**/
|
|
70
|
+
async function openRwaOptions(sdk, request) {
|
|
71
|
+
if (!request.targetToken) return;
|
|
72
|
+
const requirements = await sdk.accounts.getOpenAccountRequirements(request.wallet, request.creditManager, { tokenOutAddress: request.targetToken });
|
|
73
|
+
if (!requirements) return;
|
|
74
|
+
return {
|
|
75
|
+
type: requirements.type,
|
|
76
|
+
tokensToRegister: requirements.tokensToRegister,
|
|
77
|
+
signaturesToCache: request.signaturesToCache ?? []
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async function accountTx(sdk, request) {
|
|
81
|
+
const account = await sdk.accounts.getCreditAccountData(request.creditAccount);
|
|
82
|
+
if (!account) throw new Error(`credit account not found: ${request.creditAccount}`);
|
|
83
|
+
return sdk.accounts.executeCaUpdate(account, request.sim.calls, { ethAmount: nativeValue(request.sim.operations) });
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The coin the simulation asked the wallet for, which the facade wraps out of
|
|
87
|
+
* `msg.value` before running the multicall. Taken off the collateral step that
|
|
88
|
+
* recorded it rather than from the caller, so it cannot disagree with what was
|
|
89
|
+
* simulated.
|
|
90
|
+
**/
|
|
91
|
+
function nativeValue(operations) {
|
|
92
|
+
return operations.reduce((total, op) => total + (op.type === "addCollateral" ? op.value ?? 0n : 0n), 0n);
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
exports.ExecuteApi = ExecuteApi;
|
|
@@ -8,6 +8,10 @@ const require_new_sdk_errors_NoSourceServedError = require("./errors/NoSourceSer
|
|
|
8
8
|
const require_new_sdk_errors_SourceUnavailableError = require("./errors/SourceUnavailableError.js");
|
|
9
9
|
require("./errors/index.js");
|
|
10
10
|
const require_new_sdk_AbstractNamespace = require("./AbstractNamespace.js");
|
|
11
|
+
const require_new_sdk_execute_ExecuteApi = require("./execute/ExecuteApi.js");
|
|
12
|
+
require("./execute/index.js");
|
|
13
|
+
const require_new_sdk_simulate_SimulateApi = require("./simulate/SimulateApi.js");
|
|
14
|
+
require("./simulate/index.js");
|
|
11
15
|
const require_new_sdk_utils_filterResponse = require("./utils/filterResponse.js");
|
|
12
16
|
const require_new_sdk_utils_mergeChains = require("./utils/mergeChains.js");
|
|
13
17
|
require("./utils/index.js");
|
|
@@ -20,11 +24,14 @@ require("./types.js");
|
|
|
20
24
|
exports.AbstractNamespace = require_new_sdk_AbstractNamespace.AbstractNamespace;
|
|
21
25
|
exports.AllSourcesFailedError = require_new_sdk_errors_AllSourcesFailedError.AllSourcesFailedError;
|
|
22
26
|
exports.DEFAULT_MAX_OFFCHAIN_LAG = require_new_sdk_utils_mergeChains.DEFAULT_MAX_OFFCHAIN_LAG;
|
|
27
|
+
exports.DEFAULT_MAX_STATE_AGE = require_new_sdk_GearboxSDK.DEFAULT_MAX_STATE_AGE;
|
|
28
|
+
exports.ExecuteApi = require_new_sdk_execute_ExecuteApi.ExecuteApi;
|
|
23
29
|
exports.GearboxSDK = require_new_sdk_GearboxSDK.GearboxSDK;
|
|
24
30
|
exports.MissingSourceError = require_new_sdk_errors_MissingSourceError.MissingSourceError;
|
|
25
31
|
exports.NoSourceServedError = require_new_sdk_errors_NoSourceServedError.NoSourceServedError;
|
|
26
32
|
exports.OpportunitiesNamespace = require_new_sdk_opportunities_OpportunitiesNamespace.OpportunitiesNamespace;
|
|
27
33
|
exports.PositionsNamespace = require_new_sdk_positions_PositionsNamespace.PositionsNamespace;
|
|
34
|
+
exports.SimulateApi = require_new_sdk_simulate_SimulateApi.SimulateApi;
|
|
28
35
|
exports.SourceChainMismatchError = require_new_sdk_errors_SourceChainMismatchError.SourceChainMismatchError;
|
|
29
36
|
exports.SourceUnavailableError = require_new_sdk_errors_SourceUnavailableError.SourceUnavailableError;
|
|
30
37
|
exports.assertSameChains = require_new_sdk_errors_assertSameChains.assertSameChains;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_model_opportunities = require("../../model/opportunities.js");
|
|
3
3
|
require("../../model/index.js");
|
|
4
|
+
const require_new_sdk_errors_SourceUnavailableError = require("../errors/SourceUnavailableError.js");
|
|
5
|
+
require("../errors/index.js");
|
|
4
6
|
const require_new_sdk_AbstractNamespace = require("../AbstractNamespace.js");
|
|
7
|
+
const require_new_sdk_execute_ExecuteApi = require("../execute/ExecuteApi.js");
|
|
8
|
+
require("../execute/index.js");
|
|
9
|
+
const require_new_sdk_simulate_SimulateApi = require("../simulate/SimulateApi.js");
|
|
10
|
+
require("../simulate/index.js");
|
|
5
11
|
const require_new_sdk_utils_filterResponse = require("../utils/filterResponse.js");
|
|
6
12
|
const require_new_sdk_utils_mergeChains = require("../utils/mergeChains.js");
|
|
7
13
|
require("../utils/index.js");
|
|
@@ -19,14 +25,33 @@ var OpportunitiesNamespace = class extends require_new_sdk_AbstractNamespace.Abs
|
|
|
19
25
|
pool: (onchain, offchain) => require_new_sdk_utils_mergeChains.mergeChainOne(onchain, offchain, this.maxOffchainLagSeconds),
|
|
20
26
|
strategy: (onchain, offchain) => require_new_sdk_utils_mergeChains.mergeChainOne(onchain, offchain, this.maxOffchainLagSeconds)
|
|
21
27
|
};
|
|
28
|
+
#simulate;
|
|
29
|
+
#execute;
|
|
22
30
|
constructor(onchain, offchain, options) {
|
|
23
31
|
super("Opportunities", onchain?.opportunities, offchain?.opportunities, options);
|
|
32
|
+
this.#simulate = onchain && new require_new_sdk_simulate_SimulateApi.SimulateApi(onchain, options.ensureFresh);
|
|
33
|
+
this.#execute = onchain && new require_new_sdk_execute_ExecuteApi.ExecuteApi((chainId) => onchain.chain(chainId));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* {@inheritDoc OpportunitiesOnchainOnly.simulate}
|
|
37
|
+
**/
|
|
38
|
+
get simulate() {
|
|
39
|
+
if (!this.#simulate) throw new require_new_sdk_errors_SourceUnavailableError.SourceUnavailableError("Opportunities", "onchain");
|
|
40
|
+
return this.#simulate;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* {@inheritDoc OpportunitiesOnchainOnly.execute}
|
|
44
|
+
**/
|
|
45
|
+
get execute() {
|
|
46
|
+
if (!this.#execute) throw new require_new_sdk_errors_SourceUnavailableError.SourceUnavailableError("Opportunities", "onchain");
|
|
47
|
+
return this.#execute;
|
|
24
48
|
}
|
|
25
49
|
/**
|
|
26
50
|
* {@inheritDoc OpportunitiesBase.list}
|
|
27
51
|
**/
|
|
28
52
|
async list(filter) {
|
|
29
53
|
return this.merged("list opportunities", {
|
|
54
|
+
chainIds: filter?.chainIds,
|
|
30
55
|
fromChain: (source) => source.list(filter),
|
|
31
56
|
fromBackend: (source) => source.list(filter),
|
|
32
57
|
merge: this.merge.list
|
|
@@ -37,6 +62,7 @@ var OpportunitiesNamespace = class extends require_new_sdk_AbstractNamespace.Abs
|
|
|
37
62
|
**/
|
|
38
63
|
async getPool(key) {
|
|
39
64
|
return this.merged("get pool opportunity", {
|
|
65
|
+
chainIds: [key.chainId],
|
|
40
66
|
fromChain: (source) => source.getPool(key),
|
|
41
67
|
fromBackend: (source) => source.getPool(key),
|
|
42
68
|
merge: this.merge.pool
|
|
@@ -47,6 +73,7 @@ var OpportunitiesNamespace = class extends require_new_sdk_AbstractNamespace.Abs
|
|
|
47
73
|
**/
|
|
48
74
|
async getStrategy(key) {
|
|
49
75
|
return this.merged("get strategy opportunity", {
|
|
76
|
+
chainIds: [key.chainId],
|
|
50
77
|
fromChain: (source) => source.getStrategy(key),
|
|
51
78
|
fromBackend: (source) => source.getStrategy(key),
|
|
52
79
|
merge: this.merge.strategy
|
|
@@ -58,12 +85,8 @@ var OpportunitiesNamespace = class extends require_new_sdk_AbstractNamespace.Abs
|
|
|
58
85
|
filter(response, filter) {
|
|
59
86
|
return require_new_sdk_utils_filterResponse.filterResponse(response, filter, require_model_opportunities.matchesOpportunityFilter);
|
|
60
87
|
}
|
|
61
|
-
|
|
62
|
-
return
|
|
63
|
-
opportunity: key,
|
|
64
|
-
range,
|
|
65
|
-
metric
|
|
66
|
-
}) };
|
|
88
|
+
async charts(key, metrics, range) {
|
|
89
|
+
return this.offchain.getCharts(key, metrics, range);
|
|
67
90
|
}
|
|
68
91
|
};
|
|
69
92
|
//#endregion
|