@gearbox-protocol/sdk 16.0.0-next.34 → 16.0.0-next.36

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.
Files changed (43) hide show
  1. package/dist/cjs/model/delayed-intent.schema.js +35 -0
  2. package/dist/cjs/model/index.js +5 -0
  3. package/dist/cjs/model/withdrawals.js +1 -0
  4. package/dist/cjs/model/withdrawals.schema.js +39 -0
  5. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +0 -10
  6. package/dist/cjs/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
  7. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
  8. package/dist/cjs/onchain/positions/MultichainPositionsService.js +14 -0
  9. package/dist/cjs/onchain/positions/PositionsService.js +60 -0
  10. package/dist/cjs/sdk/positions/PositionsNamespace.js +6 -0
  11. package/dist/cjs/sdk/prepare/PrepareApi.js +22 -1
  12. package/dist/esm/model/delayed-intent.schema.js +34 -0
  13. package/dist/esm/model/index.js +3 -1
  14. package/dist/esm/model/withdrawals.js +1 -0
  15. package/dist/esm/model/withdrawals.schema.js +36 -0
  16. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +0 -10
  17. package/dist/esm/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
  18. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
  19. package/dist/esm/onchain/positions/MultichainPositionsService.js +14 -0
  20. package/dist/esm/onchain/positions/PositionsService.js +60 -0
  21. package/dist/esm/sdk/positions/PositionsNamespace.js +6 -0
  22. package/dist/esm/sdk/prepare/PrepareApi.js +22 -1
  23. package/dist/types/model/delayed-intent.schema.d.ts +28 -0
  24. package/dist/types/model/index.d.ts +3 -1
  25. package/dist/types/model/withdrawals.d.ts +87 -0
  26. package/dist/types/model/withdrawals.schema.d.ts +243 -0
  27. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +1 -5
  28. package/dist/types/onchain/accounts/index.d.ts +2 -2
  29. package/dist/types/onchain/accounts/intents/types.d.ts +2 -1
  30. package/dist/types/onchain/accounts/types.d.ts +2 -27
  31. package/dist/types/onchain/index.d.ts +4 -4
  32. package/dist/types/onchain/market/index.d.ts +2 -2
  33. package/dist/types/onchain/market/rwa/index.d.ts +2 -2
  34. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -2
  35. package/dist/types/onchain/market/rwa/types.d.ts +17 -5
  36. package/dist/types/onchain/positions/MultichainPositionsService.d.ts +7 -1
  37. package/dist/types/onchain/positions/PositionsService.d.ts +9 -1
  38. package/dist/types/onchain/positions/index.d.ts +2 -2
  39. package/dist/types/onchain/positions/types.d.ts +31 -2
  40. package/dist/types/sdk/positions/PositionsNamespace.d.ts +8 -2
  41. package/dist/types/sdk/positions/types.d.ts +11 -3
  42. package/dist/types/sdk/prepare/types.d.ts +6 -5
  43. package/package.json +1 -1
@@ -3,9 +3,9 @@ import { MidasLiquidatorContract } from "./midas/MidasLiquidatorContract.js";
3
3
  import "./midas/index.js";
4
4
  import { PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWA_FACTORY_SECURITIZE, RWA_LIQUIDATOR_SECURITIZE } from "./securitize/constants.js";
5
5
  import { SecuritizeLiquidatorContract } from "./securitize/SecuritizeLiquidatorContract.js";
6
- import { GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_TYPES, isRWAFactory } from "./types.js";
6
+ import { GetInvestorOptions, GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_TYPES, isRWAFactory } from "./types.js";
7
7
  import { DStokenData, SECURITIZE_REGISTER_VAULT_TYPES, SecuritizeCreditAccountData, SecuritizeInvestorData, SecuritizeMissingOpenAccountRequirements, SecuritizeOpenAccountRequirements, SecuritizeOperationArgs, SecuritizeRWAFactoryStateHuman, SecuritizeRegisterMessage, SecuritizeRegisterVaultMessage, SecuritizeSignature } from "./securitize/types.js";
8
8
  import { SecuritizeRWAFactory } from "./securitize/SecuritizeRWAFactory.js";
9
9
  import "./securitize/index.js";
10
10
  import { RWARegistry } from "./RWARegistry.js";
11
- export { DStokenData, GetOpenAccountRequirementsProps, IRWAFactory, MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWARegistry, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_SECURITIZE, RWA_FACTORY_TYPES, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, SECURITIZE_REGISTER_VAULT_TYPES, SecuritizeCreditAccountData, SecuritizeInvestorData, SecuritizeLiquidatorContract, SecuritizeMissingOpenAccountRequirements, SecuritizeOpenAccountRequirements, SecuritizeOperationArgs, SecuritizeRWAFactory, SecuritizeRWAFactoryStateHuman, SecuritizeRegisterMessage, SecuritizeRegisterVaultMessage, SecuritizeSignature, isRWAFactory };
11
+ export { DStokenData, GetInvestorOptions, GetOpenAccountRequirementsProps, IRWAFactory, MidasLiquidatorContract, PHANTOM_TOKEN_MIDAS_REDEMPTION, PHANTOM_TOKEN_SECURITIZE_REDEMPTION, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWARegistry, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_SECURITIZE, RWA_FACTORY_TYPES, RWA_LIQUIDATOR_MIDAS, RWA_LIQUIDATOR_SECURITIZE, SECURITIZE_REGISTER_VAULT_TYPES, SecuritizeCreditAccountData, SecuritizeInvestorData, SecuritizeLiquidatorContract, SecuritizeMissingOpenAccountRequirements, SecuritizeOpenAccountRequirements, SecuritizeOperationArgs, SecuritizeRWAFactory, SecuritizeRWAFactoryStateHuman, SecuritizeRegisterMessage, SecuritizeRegisterVaultMessage, SecuritizeSignature, isRWAFactory };
@@ -1,5 +1,5 @@
1
1
  import { RWA_FACTORY_SECURITIZE } from "./constants.js";
2
- import { GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorInvestorData, RWAFactoryData } from "../types.js";
2
+ import { GetInvestorOptions, GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorInvestorData, RWAFactoryData } from "../types.js";
3
3
  import { SecuritizeDegenNFT } from "./SecuritizeDegenNFT.js";
4
4
  import { DStokenData, SecuritizeInvestorData, SecuritizeMissingOpenAccountRequirements, SecuritizeOpenAccountRequirements, SecuritizeOperationArgs, SecuritizeRWAFactoryStateHuman } from "./types.js";
5
5
  import { MultiCall, RawTx } from "../../../types/transactions.js";
@@ -477,7 +477,7 @@ declare class SecuritizeRWAFactory extends BaseContract<abi> implements IRWAFact
477
477
  /**
478
478
  * {@inheritDoc IRWAFactory.getInvestor}
479
479
  */
480
- getInvestor(creditAccount: Address, fromCache?: boolean): Promise<Address>;
480
+ getInvestor(creditAccount: Address, options?: GetInvestorOptions): Promise<Address>;
481
481
  /**
482
482
  * {@inheritDoc IRWAFactory.getApprovalAddress}
483
483
  */
@@ -100,6 +100,20 @@ interface GetOpenAccountRequirementsProps {
100
100
  */
101
101
  tokenOutAddress: Address;
102
102
  }
103
+ /**
104
+ * Options for {@link IRWAFactory.getInvestor}.
105
+ */
106
+ interface GetInvestorOptions {
107
+ /**
108
+ * If true, use and update an in-memory cache (creditAccount → investor).
109
+ * On cache miss, loads from contract and stores the result.
110
+ **/
111
+ fromCache?: boolean;
112
+ /**
113
+ * Block to read at, defaults to latest. Only used on a cache miss.
114
+ **/
115
+ blockNumber?: bigint;
116
+ }
103
117
  /**
104
118
  * Shared interface for all RWA factory contracts.
105
119
  *
@@ -131,11 +145,9 @@ interface IRWAFactory<T extends RWAFactoryType = RWAFactoryType> extends IBaseCo
131
145
  /**
132
146
  * Returns the investor address for a credit account.
133
147
  * @param creditAccount - credit account address
134
- * @param fromCache - if true, use and update an in-memory cache
135
- * (creditAccount → investor). On cache miss, loads from contract and
136
- * stores the result for future calls.
148
+ * @param options - cache and block-pinning options
137
149
  **/
138
- getInvestor(creditAccount: Address, fromCache?: boolean): Promise<Address>;
150
+ getInvestor(creditAccount: Address, options?: GetInvestorOptions): Promise<Address>;
139
151
  /**
140
152
  * Returns address to which approval should be given on collateral token
141
153
  *
@@ -207,4 +219,4 @@ interface IRWAFactory<T extends RWAFactoryType = RWAFactoryType> extends IBaseCo
207
219
  **/
208
220
  declare function isRWAFactory<T extends RWAFactoryType = RWAFactoryType>(contract: IBaseContract, type?: T): contract is IRWAFactory<T>;
209
221
  //#endregion
210
- export { GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_TYPES, isRWAFactory };
222
+ export { GetInvestorOptions, GetOpenAccountRequirementsProps, IRWAFactory, RWACompressorCall, RWACompressorInvestorData, RWACompressorResponse, RWAFactoryData, RWAFactoryStateHuman, RWAFactoryType, RWAInvestorData, RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs, RWAState, RWAStateHuman, RWAUnderlyingData, RWA_FACTORY_TYPES, isRWAFactory };
@@ -1,9 +1,10 @@
1
1
  import { Position } from "../../model/positions.js";
2
2
  import { DataResponse } from "../../model/response.js";
3
+ import { PositionWithdrawals } from "../../model/withdrawals.js";
3
4
  import "../../model/index.js";
4
5
  import { PluginsMap } from "../plugins/types.js";
5
6
  import "../plugins/index.js";
6
- import { IMultichainPositionsService, ListPositionsProps } from "./types.js";
7
+ import { GetCurrentWithdrawalsProps, IMultichainPositionsService, ListPositionsProps } from "./types.js";
7
8
  import { MultichainConstruct } from "../base/MultichainConstruct.js";
8
9
  import "../base/index.js";
9
10
  //#region src/onchain/positions/MultichainPositionsService.d.ts
@@ -18,6 +19,11 @@ declare class MultichainPositionsService<const Plugins extends PluginsMap = {}>
18
19
  * {@link PositionsService.list}.
19
20
  **/
20
21
  list(props: ListPositionsProps<true>): Promise<DataResponse<Position[]>>;
22
+ /**
23
+ * Delayed withdrawals of one credit account, see
24
+ * {@link PositionsService.getCurrentWithdrawals}.
25
+ **/
26
+ getCurrentWithdrawals(props: GetCurrentWithdrawalsProps<true>): Promise<DataResponse<PositionWithdrawals>>;
21
27
  }
22
28
  //#endregion
23
29
  export { MultichainPositionsService };
@@ -1,8 +1,9 @@
1
1
  import { Bps } from "../../model/primitives.js";
2
2
  import { BorrowRateBreakdown, Position, StrategyPosition } from "../../model/positions.js";
3
3
  import { AccountMetrics, AccountProjection } from "../../model/previews.js";
4
+ import { PositionWithdrawals } from "../../model/withdrawals.js";
4
5
  import "../../model/index.js";
5
- import { AccountSnapshot, ListPositionsProps, ListStrategyPositionsProps } from "./types.js";
6
+ import { AccountSnapshot, GetCurrentWithdrawalsProps, ListPositionsProps, ListStrategyPositionsProps } from "./types.js";
6
7
  import { SDKConstruct } from "../base/SDKConstruct.js";
7
8
  import "../base/index.js";
8
9
  //#region src/onchain/positions/PositionsService.d.ts
@@ -41,6 +42,13 @@ declare class PositionsService extends SDKConstruct {
41
42
  * @param props - {@link ListStrategyPositionsProps}
42
43
  **/
43
44
  listStrategyPositions(props: ListStrategyPositionsProps): Promise<StrategyPosition[]>;
45
+ /**
46
+ * Returns delayed withdrawals of a strategy position
47
+ *
48
+ * Empty when this chain has no withdrawal compressor, or the account does
49
+ * not exist.
50
+ **/
51
+ getCurrentWithdrawals(props: GetCurrentWithdrawalsProps): Promise<PositionWithdrawals>;
44
52
  /**
45
53
  * Health factor of an account state, in basis points (`10000` = 1.0).
46
54
  **/
@@ -1,4 +1,4 @@
1
- import { AccountSnapshot, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, accountSnapshotFromCreditAccountData } from "./types.js";
1
+ import { AccountSnapshot, GetCurrentWithdrawalsProps, GetCurrentWithdrawalsPropsBase, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, accountSnapshotFromCreditAccountData } from "./types.js";
2
2
  import { CalcBorrowRateProps, calcBorrowRate } from "./calcBorrowRate.js";
3
3
  import { CalcHealthFactorProps, calcHealthFactor } from "./calcHealthFactor.js";
4
4
  import { CalcLiquidationPriceForTargetProps, CalcLiquidationPriceProps, calcLiquidationPriceForTarget } from "./calcLiquidationPriceForTarget.js";
@@ -6,4 +6,4 @@ import { calcLiquidationPrice, soleNonUnderlyingCollateral } from "./calcLiquida
6
6
  import { calcTimeToLiquidationMs } from "./calcTimeToLiquidationMs.js";
7
7
  import { MultichainPositionsService } from "./MultichainPositionsService.js";
8
8
  import { PositionsService, ProjectedPoolOptions } from "./PositionsService.js";
9
- export { AccountSnapshot, CalcBorrowRateProps, CalcHealthFactorProps, CalcLiquidationPriceForTargetProps, CalcLiquidationPriceProps, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, MultichainPositionsService, PositionsService, ProjectedPoolOptions, accountSnapshotFromCreditAccountData, calcBorrowRate, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcTimeToLiquidationMs, soleNonUnderlyingCollateral };
9
+ export { AccountSnapshot, CalcBorrowRateProps, CalcHealthFactorProps, CalcLiquidationPriceForTargetProps, CalcLiquidationPriceProps, GetCurrentWithdrawalsProps, GetCurrentWithdrawalsPropsBase, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, MultichainPositionsService, PositionsService, ProjectedPoolOptions, accountSnapshotFromCreditAccountData, calcBorrowRate, calcHealthFactor, calcLiquidationPrice, calcLiquidationPriceForTarget, calcTimeToLiquidationMs, soleNonUnderlyingCollateral };
@@ -1,7 +1,9 @@
1
+ import { ChainId } from "../../model/primitives.js";
1
2
  import { Position, PositionFilter } from "../../model/positions.js";
2
3
  import { DataResponse } from "../../model/response.js";
4
+ import { PositionWithdrawals } from "../../model/withdrawals.js";
3
5
  import "../../model/index.js";
4
- import { WithBlock } from "../types/multichain.js";
6
+ import { WithBlock, WithMultichain } from "../types/multichain.js";
5
7
  import { Asset, CreditAccountData } from "../base/types.js";
6
8
  import "../types/index.js";
7
9
  import "../base/index.js";
@@ -33,6 +35,28 @@ interface ListPositionsPropsBase {
33
35
  * {@link MultichainPositionsService.list}.
34
36
  **/
35
37
  type ListPositionsProps<Multichain extends boolean = false> = ListPositionsPropsBase & WithBlock<Multichain>;
38
+ /**
39
+ * Chain-independent part of {@link GetCurrentWithdrawalsProps}.
40
+ *
41
+ * {@link GetCurrentWithdrawalsPropsBase.blockNumber} is kept on the
42
+ * multichain form because the method already targets a single chain.
43
+ **/
44
+ interface GetCurrentWithdrawalsPropsBase {
45
+ /**
46
+ * Credit account whose delayed withdrawals to read.
47
+ **/
48
+ creditAccount: Address;
49
+ /**
50
+ * Block to read at. Defaults to the latest block.
51
+ **/
52
+ blockNumber?: bigint;
53
+ }
54
+ /**
55
+ * Props for {@link PositionsService.getCurrentWithdrawals}.
56
+ **/
57
+ type GetCurrentWithdrawalsProps<Multichain extends boolean = false> = GetCurrentWithdrawalsPropsBase & WithMultichain<Multichain, {
58
+ chainId: ChainId;
59
+ }>;
36
60
  /**
37
61
  * Cross-chain reads of the positions namespace: everything a wallet holds.
38
62
  **/
@@ -41,6 +65,11 @@ interface IMultichainPositionsService {
41
65
  * Positions of a wallet on all queried chains.
42
66
  **/
43
67
  list(props: ListPositionsProps<true>): Promise<DataResponse<Position[]>>;
68
+ /**
69
+ * Delayed withdrawals of one credit account, see
70
+ * {@link PositionsService.getCurrentWithdrawals}.
71
+ **/
72
+ getCurrentWithdrawals(props: GetCurrentWithdrawalsProps<true>): Promise<DataResponse<PositionWithdrawals>>;
44
73
  }
45
74
  /**
46
75
  * Props for {@link PositionsService.listStrategyPositions}.
@@ -96,4 +125,4 @@ interface AccountSnapshot {
96
125
  **/
97
126
  declare function accountSnapshotFromCreditAccountData(ca: CreditAccountData): AccountSnapshot;
98
127
  //#endregion
99
- export { AccountSnapshot, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, accountSnapshotFromCreditAccountData };
128
+ export { AccountSnapshot, GetCurrentWithdrawalsProps, GetCurrentWithdrawalsPropsBase, IMultichainPositionsService, ListPositionsProps, ListPositionsPropsBase, ListStrategyPositionsProps, accountSnapshotFromCreditAccountData };
@@ -1,14 +1,16 @@
1
1
  import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
2
2
  import { PoolPositionRef, Position, PositionFilter, PositionsTotals, StrategyPositionRef } from "../../model/positions.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
+ import { PositionWithdrawals } from "../../model/withdrawals.js";
4
5
  import "../../model/index.js";
6
+ import { GetCurrentWithdrawalsProps } from "../../onchain/positions/types.js";
5
7
  import { MultichainSDK } from "../../onchain/MultichainSDK.js";
6
8
  import "../../onchain/index.js";
7
9
  import { GearboxAPI } from "../../offchain/GearboxAPI.js";
8
10
  import "../../offchain/index.js";
9
11
  import { FilterResult } from "../utils/types.js";
10
12
  import "../utils/index.js";
11
- import { IPositionMergers, IPositionsBase, IPositionsOffchainBranch, IPositionsOffchainOnly, IPositionsOnchainBranch } from "./types.js";
13
+ import { IPositionMergers, IPositionsBase, IPositionsOffchainBranch, IPositionsOffchainOnly, IPositionsOnchainBranch, IPositionsOnchainOnly } from "./types.js";
12
14
  import { NamespaceOptions } from "../types.js";
13
15
  import { AbstractNamespace } from "../AbstractNamespace.js";
14
16
  import { Address } from "viem";
@@ -17,7 +19,7 @@ import { Address } from "viem";
17
19
  * The `positions` namespace of a {@link GearboxSDK}, see
18
20
  * {@link IPositionsByMode} for what each mode offers.
19
21
  **/
20
- declare class PositionsNamespace extends AbstractNamespace<MultichainSDK["positions"], GearboxAPI["positions"]> implements IPositionsBase, IPositionsOffchainOnly, IPositionsOnchainBranch, IPositionsOffchainBranch {
22
+ declare class PositionsNamespace extends AbstractNamespace<MultichainSDK["positions"], GearboxAPI["positions"]> implements IPositionsBase, IPositionsOffchainOnly, IPositionsOnchainOnly, IPositionsOnchainBranch, IPositionsOffchainBranch {
21
23
  /**
22
24
  * {@inheritDoc IPositionsBase.merge}
23
25
  **/
@@ -40,6 +42,10 @@ declare class PositionsNamespace extends AbstractNamespace<MultichainSDK["positi
40
42
  **/
41
43
  charts<const Metrics extends readonly PoolPositionChartMetric[]>(key: PoolPositionRef, metrics: Metrics, range: ChartRange): Promise<DataResponse<ChartBundle<Metrics>>>;
42
44
  charts<const Metrics extends readonly StrategyPositionChartMetric[]>(key: StrategyPositionRef, metrics: Metrics, range: ChartRange): Promise<DataResponse<ChartBundle<Metrics>>>;
45
+ /**
46
+ * {@inheritDoc IPositionsOnchainOnly.getCurrentWithdrawals}
47
+ **/
48
+ getCurrentWithdrawals(props: GetCurrentWithdrawalsProps<true>): Promise<DataResponse<PositionWithdrawals>>;
43
49
  }
44
50
  //#endregion
45
51
  export { PositionsNamespace };
@@ -1,8 +1,9 @@
1
1
  import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
2
2
  import { PoolPositionRef, Position, PositionFilter, PositionsTotals, StrategyPositionRef } from "../../model/positions.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
+ import { PositionWithdrawals } from "../../model/withdrawals.js";
4
5
  import "../../model/index.js";
5
- import { IMultichainPositionsService } from "../../onchain/positions/types.js";
6
+ import { GetCurrentWithdrawalsProps, IMultichainPositionsService } from "../../onchain/positions/types.js";
6
7
  import "../../onchain/index.js";
7
8
  import { IOffchainPositions } from "../../offchain/positions/types.js";
8
9
  import "../../offchain/index.js";
@@ -58,9 +59,16 @@ interface IPositionsOffchainOnly {
58
59
  charts<const Metrics extends readonly StrategyPositionChartMetric[]>(key: StrategyPositionRef, metrics: Metrics, range: ChartRange): Promise<DataResponse<ChartBundle<Metrics>>>;
59
60
  }
60
61
  /**
61
- * Reads only the chain can answer. Empty for now.
62
+ * Reads only the chain can answer.
62
63
  **/
63
- interface IPositionsOnchainOnly {}
64
+ interface IPositionsOnchainOnly {
65
+ /**
66
+ * Delayed withdrawals of one credit account: claimable rows carry the
67
+ * adapter call and recorded intent a claim is built from; pending rows
68
+ * name when they mature. Absent in `offchain` mode.
69
+ **/
70
+ getCurrentWithdrawals(props: GetCurrentWithdrawalsProps<true>): Promise<DataResponse<PositionWithdrawals>>;
71
+ }
64
72
  /**
65
73
  * The chain on its own, for a consumer that shows each source as it arrives.
66
74
  * Absent in `offchain` mode.
@@ -2,8 +2,8 @@ import { Bps } from "../../model/primitives.js";
2
2
  import { PoolOpportunityKey, StrategyOpportunityKey } from "../../model/opportunities.js";
3
3
  import { PositionCollateral, StrategyPosition, StrategyPositionKey } from "../../model/positions.js";
4
4
  import { DataResponse } from "../../model/response.js";
5
+ import { PositionClaimableWithdrawal } from "../../model/withdrawals.js";
5
6
  import "../../model/index.js";
6
- import { ClaimableWithdrawal } from "../../onchain/accounts/withdrawal-compressor/types.js";
7
7
  import { Asset } from "../../onchain/base/types.js";
8
8
  import { MultiCall } from "../../onchain/types/transactions.js";
9
9
  import { PoolSimulation } from "../../onchain/pools/types.js";
@@ -326,13 +326,14 @@ interface LpRedeemParams {
326
326
  interface FinalizeParams extends PrepareOptions {
327
327
  /**
328
328
  * The matured withdrawal to claim, from
329
- * `sdk.onchain.chain(chainId).withdrawalCompressor.getCurrentWithdrawals()`.
329
+ * `sdk.positions.getCurrentWithdrawals()`.
330
330
  **/
331
- claimable: ClaimableWithdrawal;
331
+ claimable: PositionClaimableWithdrawal;
332
332
  /**
333
333
  * The operation to resume. Defaults to the one the request recorded in the
334
- * withdrawal's `extraData`, which is what {@link ClaimableWithdrawal.intent}
335
- * decodes; pass it explicitly when the compressor is too old to report it.
334
+ * withdrawal's `extraData`, which is what
335
+ * {@link PositionClaimableWithdrawal.intent} decodes; pass it explicitly
336
+ * when the compressor is too old to report it.
336
337
  **/
337
338
  intent?: ResumableIntent;
338
339
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "16.0.0-next.34",
3
+ "version": "16.0.0-next.36",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {