@gearbox-protocol/sdk 14.12.0-next.80 → 14.12.0-next.82

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 (221) hide show
  1. package/dist/cjs/model/filters.js +0 -4
  2. package/dist/cjs/model/filters.schema.js +10 -1
  3. package/dist/cjs/model/index.js +11 -0
  4. package/dist/cjs/model/liquidations.js +1 -1
  5. package/dist/cjs/model/liquidations.schema.js +1 -1
  6. package/dist/cjs/model/opportunities.js +1 -1
  7. package/dist/cjs/model/opportunities.schema.js +6 -13
  8. package/dist/cjs/model/positions.js +1 -1
  9. package/dist/cjs/model/positions.schema.js +33 -1
  10. package/dist/cjs/model/response.js +1 -0
  11. package/dist/cjs/model/response.schema.js +64 -0
  12. package/dist/cjs/new-sdk/AbstractNamespace.js +46 -128
  13. package/dist/cjs/new-sdk/GearboxSDK.js +55 -42
  14. package/dist/cjs/new-sdk/errors/AllSourcesFailedError.js +20 -0
  15. package/dist/cjs/new-sdk/errors/MissingSourceError.js +25 -0
  16. package/dist/cjs/new-sdk/errors/NoSourceServedError.js +20 -0
  17. package/dist/cjs/new-sdk/errors/SourceChainMismatchError.js +34 -0
  18. package/dist/cjs/new-sdk/errors/SourceUnavailableError.js +25 -0
  19. package/dist/cjs/new-sdk/errors/assertSameChains.js +12 -0
  20. package/dist/cjs/new-sdk/errors/everyChainFailed.js +11 -0
  21. package/dist/cjs/new-sdk/errors/index.js +15 -0
  22. package/dist/cjs/new-sdk/index.js +23 -3
  23. package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +37 -89
  24. package/dist/cjs/new-sdk/positions/PositionsNamespace.js +27 -94
  25. package/dist/cjs/new-sdk/types.js +0 -21
  26. package/dist/cjs/new-sdk/utils/filterResponse.js +21 -0
  27. package/dist/cjs/new-sdk/utils/index.js +6 -0
  28. package/dist/cjs/new-sdk/utils/mergeChains.js +81 -0
  29. package/dist/cjs/new-sdk/utils/types.js +1 -0
  30. package/dist/cjs/offchain/AbstractOffchainNamespace.js +42 -65
  31. package/dist/cjs/offchain/GearboxAPI.js +12 -8
  32. package/dist/cjs/offchain/errors/OffchainInvalidJsonError.js +19 -0
  33. package/dist/cjs/offchain/errors/OffchainNotConfiguredError.js +20 -0
  34. package/dist/cjs/offchain/errors/OffchainNotImplementedError.js +19 -0
  35. package/dist/cjs/offchain/errors/OffchainRequestFailedError.js +24 -0
  36. package/dist/cjs/offchain/errors/OffchainStatusError.js +20 -0
  37. package/dist/cjs/offchain/errors/OffchainTransportError.js +31 -0
  38. package/dist/cjs/offchain/errors/OffchainValidationError.js +26 -0
  39. package/dist/cjs/offchain/errors/backendMessage.js +28 -0
  40. package/dist/cjs/offchain/errors/errorCause.js +12 -0
  41. package/dist/cjs/offchain/errors/index.js +21 -0
  42. package/dist/cjs/offchain/errors/readResponseBody.js +15 -0
  43. package/dist/cjs/offchain/index.js +22 -5
  44. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +6 -3
  45. package/dist/cjs/offchain/positions/OffchainPositions.js +15 -21
  46. package/dist/cjs/offchain/types.js +0 -75
  47. package/dist/cjs/sdk/MultichainSDK.js +1 -1
  48. package/dist/cjs/sdk/OnchainSDK.js +1 -1
  49. package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +6 -6
  50. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +26 -20
  51. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +38 -14
  52. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +7 -5
  53. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +3 -2
  54. package/dist/cjs/sdk/base/MultichainConstruct.js +73 -34
  55. package/dist/cjs/sdk/chain/chains.js +11 -0
  56. package/dist/cjs/sdk/chain/index.js +1 -0
  57. package/dist/cjs/sdk/core/index.js +1 -1
  58. package/dist/cjs/sdk/index.js +2 -1
  59. package/dist/cjs/sdk/market/rwa/RWARegistry.js +4 -2
  60. package/dist/cjs/sdk/opportunities/MultichainOpportunitiesService.js +18 -32
  61. package/dist/cjs/sdk/opportunities/OpportunitiesService.js +1 -4
  62. package/dist/cjs/sdk/pools/PoolService.js +2 -1
  63. package/dist/cjs/sdk/positions/MultichainPositionsService.js +6 -29
  64. package/dist/cjs/sdk/positions/PositionsService.js +12 -6
  65. package/dist/esm/dev/AccountOpener.js +1 -1
  66. package/dist/esm/dev/withdrawalUtils.js +1 -1
  67. package/dist/esm/model/filters.js +0 -4
  68. package/dist/esm/model/filters.schema.js +10 -2
  69. package/dist/esm/model/index.js +5 -3
  70. package/dist/esm/model/liquidations.js +1 -1
  71. package/dist/esm/model/liquidations.schema.js +1 -1
  72. package/dist/esm/model/opportunities.js +1 -1
  73. package/dist/esm/model/opportunities.schema.js +4 -11
  74. package/dist/esm/model/positions.js +1 -1
  75. package/dist/esm/model/positions.schema.js +33 -3
  76. package/dist/esm/model/response.js +1 -0
  77. package/dist/esm/model/response.schema.js +58 -0
  78. package/dist/esm/new-sdk/AbstractNamespace.js +46 -128
  79. package/dist/esm/new-sdk/GearboxSDK.js +55 -42
  80. package/dist/esm/new-sdk/errors/AllSourcesFailedError.js +19 -0
  81. package/dist/esm/new-sdk/errors/MissingSourceError.js +24 -0
  82. package/dist/esm/new-sdk/errors/NoSourceServedError.js +19 -0
  83. package/dist/esm/new-sdk/errors/SourceChainMismatchError.js +33 -0
  84. package/dist/esm/new-sdk/errors/SourceUnavailableError.js +24 -0
  85. package/dist/esm/new-sdk/errors/assertSameChains.js +11 -0
  86. package/dist/esm/new-sdk/errors/everyChainFailed.js +10 -0
  87. package/dist/esm/new-sdk/errors/index.js +8 -0
  88. package/dist/esm/new-sdk/index.js +13 -3
  89. package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +38 -90
  90. package/dist/esm/new-sdk/positions/PositionsNamespace.js +28 -95
  91. package/dist/esm/new-sdk/types.js +1 -21
  92. package/dist/esm/new-sdk/utils/filterResponse.js +20 -0
  93. package/dist/esm/new-sdk/utils/index.js +3 -1
  94. package/dist/esm/new-sdk/utils/mergeChains.js +78 -0
  95. package/dist/esm/new-sdk/utils/types.js +1 -0
  96. package/dist/esm/offchain/AbstractOffchainNamespace.js +41 -64
  97. package/dist/esm/offchain/GearboxAPI.js +12 -8
  98. package/dist/esm/offchain/errors/OffchainInvalidJsonError.js +18 -0
  99. package/dist/esm/offchain/errors/OffchainNotConfiguredError.js +19 -0
  100. package/dist/esm/offchain/errors/OffchainNotImplementedError.js +18 -0
  101. package/dist/esm/offchain/errors/OffchainRequestFailedError.js +23 -0
  102. package/dist/esm/offchain/errors/OffchainStatusError.js +19 -0
  103. package/dist/esm/offchain/errors/OffchainTransportError.js +30 -0
  104. package/dist/esm/offchain/errors/OffchainValidationError.js +25 -0
  105. package/dist/esm/offchain/errors/backendMessage.js +27 -0
  106. package/dist/esm/offchain/errors/errorCause.js +11 -0
  107. package/dist/esm/offchain/errors/index.js +11 -0
  108. package/dist/esm/offchain/errors/readResponseBody.js +14 -0
  109. package/dist/esm/offchain/index.js +13 -2
  110. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +6 -3
  111. package/dist/esm/offchain/positions/OffchainPositions.js +15 -21
  112. package/dist/esm/offchain/types.js +1 -72
  113. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +1 -1
  114. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  115. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  116. package/dist/esm/sdk/MultichainSDK.js +1 -1
  117. package/dist/esm/sdk/OnchainSDK.js +1 -1
  118. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -2
  119. package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +6 -6
  120. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +27 -21
  121. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +38 -14
  122. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +7 -5
  123. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  124. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  125. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  126. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +4 -3
  127. package/dist/esm/sdk/base/MultichainConstruct.js +73 -34
  128. package/dist/esm/sdk/base/TokensMeta.js +2 -2
  129. package/dist/esm/sdk/chain/chains.js +11 -1
  130. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  131. package/dist/esm/sdk/chain/index.js +2 -2
  132. package/dist/esm/sdk/core/createAddressProvider.js +1 -1
  133. package/dist/esm/sdk/core/index.js +1 -1
  134. package/dist/esm/sdk/index.js +3 -3
  135. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
  136. package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
  137. package/dist/esm/sdk/market/rwa/RWARegistry.js +4 -2
  138. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
  139. package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
  140. package/dist/esm/sdk/opportunities/MultichainOpportunitiesService.js +18 -32
  141. package/dist/esm/sdk/opportunities/OpportunitiesService.js +1 -4
  142. package/dist/esm/sdk/pools/PoolService.js +3 -2
  143. package/dist/esm/sdk/positions/MultichainPositionsService.js +6 -29
  144. package/dist/esm/sdk/positions/PositionsService.js +12 -6
  145. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
  146. package/dist/types/model/filters.d.ts +9 -3
  147. package/dist/types/model/filters.schema.d.ts +7 -1
  148. package/dist/types/model/index.d.ts +7 -5
  149. package/dist/types/model/liquidations.d.ts +2 -6
  150. package/dist/types/model/liquidations.schema.d.ts +1 -1
  151. package/dist/types/model/opportunities.d.ts +3 -7
  152. package/dist/types/model/opportunities.schema.d.ts +2 -2
  153. package/dist/types/model/positions.d.ts +2 -6
  154. package/dist/types/model/positions.schema.d.ts +32 -2
  155. package/dist/types/model/response.d.ts +105 -0
  156. package/dist/types/model/response.schema.d.ts +98 -0
  157. package/dist/types/new-sdk/AbstractNamespace.d.ts +33 -98
  158. package/dist/types/new-sdk/GearboxSDK.d.ts +10 -25
  159. package/dist/types/new-sdk/errors/AllSourcesFailedError.d.ts +11 -0
  160. package/dist/types/new-sdk/errors/MissingSourceError.d.ts +23 -0
  161. package/dist/types/new-sdk/errors/NoSourceServedError.d.ts +17 -0
  162. package/dist/types/new-sdk/errors/SourceChainMismatchError.d.ts +35 -0
  163. package/dist/types/new-sdk/errors/SourceUnavailableError.d.ts +22 -0
  164. package/dist/types/new-sdk/errors/assertSameChains.d.ts +11 -0
  165. package/dist/types/new-sdk/errors/everyChainFailed.d.ts +10 -0
  166. package/dist/types/new-sdk/errors/index.d.ts +8 -0
  167. package/dist/types/new-sdk/index.d.ts +17 -6
  168. package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +19 -40
  169. package/dist/types/new-sdk/opportunities/index.d.ts +2 -2
  170. package/dist/types/new-sdk/opportunities/types.d.ts +80 -26
  171. package/dist/types/new-sdk/positions/PositionsNamespace.d.ts +17 -38
  172. package/dist/types/new-sdk/positions/index.d.ts +2 -2
  173. package/dist/types/new-sdk/positions/types.d.ts +74 -24
  174. package/dist/types/new-sdk/types.d.ts +24 -77
  175. package/dist/types/new-sdk/utils/filterResponse.d.ts +16 -0
  176. package/dist/types/new-sdk/utils/history.d.ts +6 -36
  177. package/dist/types/new-sdk/utils/index.d.ts +5 -2
  178. package/dist/types/new-sdk/utils/mergeChains.d.ts +20 -0
  179. package/dist/types/new-sdk/utils/types.d.ts +11 -0
  180. package/dist/types/offchain/AbstractOffchainNamespace.d.ts +21 -28
  181. package/dist/types/offchain/GearboxAPI.d.ts +13 -9
  182. package/dist/types/offchain/errors/OffchainInvalidJsonError.d.ts +16 -0
  183. package/dist/types/offchain/errors/OffchainNotConfiguredError.d.ts +16 -0
  184. package/dist/types/offchain/errors/OffchainNotImplementedError.d.ts +15 -0
  185. package/dist/types/offchain/errors/OffchainRequestFailedError.d.ts +12 -0
  186. package/dist/types/offchain/errors/OffchainStatusError.d.ts +16 -0
  187. package/dist/types/offchain/errors/OffchainTransportError.d.ts +43 -0
  188. package/dist/types/offchain/errors/OffchainValidationError.d.ts +21 -0
  189. package/dist/types/offchain/errors/backendMessage.d.ts +9 -0
  190. package/dist/types/offchain/errors/errorCause.d.ts +22 -0
  191. package/dist/types/offchain/errors/index.d.ts +11 -0
  192. package/dist/types/offchain/errors/readResponseBody.d.ts +8 -0
  193. package/dist/types/offchain/index.d.ts +13 -2
  194. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +9 -8
  195. package/dist/types/offchain/positions/OffchainPositions.d.ts +9 -15
  196. package/dist/types/offchain/types.d.ts +7 -88
  197. package/dist/types/sdk/accounts/credit-account-compressor/types.d.ts +4 -0
  198. package/dist/types/sdk/accounts/index.d.ts +3 -3
  199. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +2 -2
  200. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +15 -14
  201. package/dist/types/sdk/accounts/liquidations/index.d.ts +2 -2
  202. package/dist/types/sdk/accounts/liquidations/types.d.ts +32 -16
  203. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +4 -4
  204. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +2 -2
  205. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +2 -2
  206. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +26 -4
  207. package/dist/types/sdk/base/MultichainConstruct.d.ts +63 -14
  208. package/dist/types/sdk/base/index.d.ts +2 -2
  209. package/dist/types/sdk/chain/chains.d.ts +10 -2
  210. package/dist/types/sdk/chain/index.d.ts +2 -2
  211. package/dist/types/sdk/index.d.ts +7 -7
  212. package/dist/types/sdk/market/MarketSuite.d.ts +1 -1
  213. package/dist/types/sdk/market/rwa/RWARegistry.d.ts +2 -1
  214. package/dist/types/sdk/opportunities/MultichainOpportunitiesService.d.ts +13 -16
  215. package/dist/types/sdk/pools/types.d.ts +4 -0
  216. package/dist/types/sdk/positions/MultichainPositionsService.d.ts +2 -12
  217. package/dist/types/sdk/positions/index.d.ts +2 -2
  218. package/dist/types/sdk/positions/types.d.ts +14 -5
  219. package/dist/types/sdk/types/index.d.ts +2 -2
  220. package/dist/types/sdk/types/multichain.d.ts +16 -36
  221. package/package.json +1 -1
@@ -1,40 +1,37 @@
1
- import { MultichainResult } from "../types/multichain.js";
2
1
  import { PluginsMap } from "../plugins/types.js";
3
2
  import "../plugins/index.js";
4
3
  import { Opportunity, OpportunityFilter, PoolOpportunityDetail, PoolOpportunityKey, StrategyOpportunityDetail, StrategyOpportunityKey } from "../../model/opportunities.js";
4
+ import { DataResponse } from "../../model/response.js";
5
5
  import "../../model/index.js";
6
- import "../types/index.js";
7
6
  import { MultichainConstruct } from "../base/MultichainConstruct.js";
8
7
  import "../base/index.js";
9
8
  //#region src/sdk/opportunities/MultichainOpportunitiesService.d.ts
10
9
  /**
11
- * Cross-chain counterpart of {@link OpportunitiesService}.
12
- *
13
- * Fans out over every chain configured in {@link MultichainSDK}. A chain that
14
- * fails is logged and skipped so one dead RPC does not empty the list; its
15
- * failure is reported in {@link MultichainResult.meta}.
16
- *
17
- * Detail reads need no fan-out: an opportunity key names its chain.
10
+ * Cross-chain counterpart of {@link OpportunitiesService}. Every read walks
11
+ * loaded market state, so the block it reports is the SDK's snapshot.
18
12
  *
19
13
  * @typeParam Plugins - Map of attached plugin types.
20
14
  **/
21
15
  declare class MultichainOpportunitiesService<const Plugins extends PluginsMap = {}> extends MultichainConstruct<Plugins> {
22
- #private;
23
16
  /**
24
17
  * Opportunities of all queried chains, see {@link OpportunitiesService.list}.
25
- *
26
- * A filter that names chains narrows the fan-out itself, so chains whose rows
27
- * would be discarded are never queried and never appear in the meta.
18
+ * A filter that names chains narrows the fan-out itself, so a chain whose
19
+ * rows would be discarded is never queried and never appears in the meta.
28
20
  **/
29
- list(filter?: OpportunityFilter): Promise<MultichainResult<Opportunity[]>>;
21
+ list(filter?: OpportunityFilter): Promise<DataResponse<Opportunity[]>>;
30
22
  /**
31
23
  * {@inheritDoc OpportunitiesService.getPool}
24
+ *
25
+ * The key names its chain, so there is no fan-out. Throws when that chain
26
+ * cannot answer.
32
27
  **/
33
- getPool(key: PoolOpportunityKey): Promise<PoolOpportunityDetail>;
28
+ getPool(key: PoolOpportunityKey): Promise<DataResponse<PoolOpportunityDetail>>;
34
29
  /**
35
30
  * {@inheritDoc OpportunitiesService.getStrategy}
31
+ *
32
+ * See {@link MultichainOpportunitiesService.getPool}.
36
33
  **/
37
- getStrategy(key: StrategyOpportunityKey): Promise<StrategyOpportunityDetail>;
34
+ getStrategy(key: StrategyOpportunityKey): Promise<DataResponse<StrategyOpportunityDetail>>;
38
35
  }
39
36
  //#endregion
40
37
  export { MultichainOpportunitiesService };
@@ -100,6 +100,10 @@ interface ListPoolPositionsProps {
100
100
  * Wallet whose pool shares to describe.
101
101
  **/
102
102
  wallet: Address;
103
+ /**
104
+ * Block to read at. Defaults to the latest block.
105
+ **/
106
+ blockNumber?: bigint;
103
107
  }
104
108
  /**
105
109
  * Service interface for pool liquidity operations.
@@ -1,33 +1,23 @@
1
- import { MultichainResult } from "../types/multichain.js";
2
1
  import { PluginsMap } from "../plugins/types.js";
3
2
  import "../plugins/index.js";
4
3
  import { Position } from "../../model/positions.js";
4
+ import { DataResponse } from "../../model/response.js";
5
5
  import "../../model/index.js";
6
6
  import { ListPositionsProps } from "./types.js";
7
- import "../types/index.js";
8
7
  import { MultichainConstruct } from "../base/MultichainConstruct.js";
9
8
  import "../base/index.js";
10
9
  //#region src/sdk/positions/MultichainPositionsService.d.ts
11
10
  /**
12
11
  * Cross-chain counterpart of {@link PositionsService}.
13
12
  *
14
- * Fans out over every chain configured in {@link MultichainSDK}. A chain that
15
- * fails is logged and skipped so one dead RPC does not hide the positions a
16
- * wallet holds elsewhere; its failure is reported in
17
- * {@link MultichainResult.meta}.
18
- *
19
13
  * @typeParam Plugins - Map of attached plugin types.
20
14
  **/
21
15
  declare class MultichainPositionsService<const Plugins extends PluginsMap = {}> extends MultichainConstruct<Plugins> {
22
- #private;
23
16
  /**
24
17
  * Positions of a wallet on all queried chains, see
25
18
  * {@link PositionsService.list}.
26
- *
27
- * A filter that names chains narrows the fan-out itself, so chains whose rows
28
- * would be discarded are never queried and never appear in the meta.
29
19
  **/
30
- list(props: ListPositionsProps): Promise<MultichainResult<Position[]>>;
20
+ list(props: ListPositionsProps<true>): Promise<DataResponse<Position[]>>;
31
21
  }
32
22
  //#endregion
33
23
  export { MultichainPositionsService };
@@ -1,4 +1,4 @@
1
- import { ListPositionsProps } from "./types.js";
1
+ import { ListPositionsProps, ListPositionsPropsBase } from "./types.js";
2
2
  import { MultichainPositionsService } from "./MultichainPositionsService.js";
3
3
  import { PositionsService } from "./PositionsService.js";
4
- export { ListPositionsProps, MultichainPositionsService, PositionsService };
4
+ export { ListPositionsProps, ListPositionsPropsBase, MultichainPositionsService, PositionsService };
@@ -1,15 +1,16 @@
1
+ import { WithBlock } from "../types/multichain.js";
1
2
  import { PositionFilter } from "../../model/positions.js";
2
3
  import "../../model/index.js";
4
+ import "../types/index.js";
3
5
  import { Address } from "viem";
4
6
  //#region src/sdk/positions/types.d.ts
5
7
  /**
6
- * Props for {@link PositionsService.list}.
8
+ * Chain-independent part of {@link ListPositionsProps}.
7
9
  *
8
10
  * Chain scoping is expressed by {@link PositionFilter.chainIds} rather than by
9
- * the `networks` prop of the other multichain services, so the props are the
10
- * same on both, see {@link MultichainPositionsService.list}.
11
+ * the `networks` prop of the other multichain services.
11
12
  **/
12
- interface ListPositionsProps {
13
+ interface ListPositionsPropsBase {
13
14
  /**
14
15
  * Wallet whose positions to list. Every kind of position belongs to a wallet:
15
16
  * pool shares and credit accounts to their holder, delayed withdrawals to the
@@ -21,5 +22,13 @@ interface ListPositionsProps {
21
22
  **/
22
23
  filter?: PositionFilter;
23
24
  }
25
+ /**
26
+ * Props for {@link PositionsService.list}.
27
+ *
28
+ * {@link BlockNumberProps.blockNumber} is only on the single-chain form: a
29
+ * height is not shared across the networks of the fan-out, see
30
+ * {@link MultichainPositionsService.list}.
31
+ **/
32
+ type ListPositionsProps<Multichain extends boolean = false> = ListPositionsPropsBase & WithBlock<Multichain>;
24
33
  //#endregion
25
- export { ListPositionsProps };
34
+ export { ListPositionsProps, ListPositionsPropsBase };
@@ -1,6 +1,6 @@
1
1
  import { ILogger, LogFn } from "./logger.js";
2
- import { MultichainNetworkMeta, MultichainNetworkProps, MultichainNetworksProps, MultichainResult, WithMultichain } from "./multichain.js";
2
+ import { BlockNumberProps, MultichainChainIdsProps, MultichainNetworkProps, WithBlock, WithMultichain } from "./multichain.js";
3
3
  import { AddressProviderV3StateHuman, AliasLossPolicyStateHuman, AssetPriceFeedStateHuman, BalancerWeightedPriceFeedStateHuman, BaseContractStateHuman, BasePriceFeedStateHuman, BotListStateHuman, BoundedOracleStateHuman, ConstantOracleStateHuman, CoreStateHuman, CreditConfiguratorStateHuman, CreditFacadeStateHuman, CreditManagerDebtParamsHuman, CreditManagerStateHuman, CreditSuiteStateHuman, GaugeParamsHuman, GaugeStateHuman, GearStakingV3StateHuman, GearboxStateHuman, InterestRateModelStateHuman, LPPriceFeedStateHuman, LinearInterestRateModelStateHuman, LossPolicyStateHuman, MarketStateHuman, MultichainStateHuman, PoolQuotaKeeperStateHuman, PoolStateHuman, PoolSuiteStateHuman, PriceFeedStateHuman, PriceOracleStateHuman, QuotaParamsHuman, RateKeeperStateHuman, RedstonePriceFeedStateHuman, TumblerStateHuman, ZapperStateHuman } from "./state-human.js";
4
4
  import { ContractMethod, IPriceUpdateTx, MultiCall, RawTx } from "./transactions.js";
5
5
  import { GearboxState, MultichainState } from "./state.js";
6
- export type { AddressProviderV3StateHuman, AliasLossPolicyStateHuman, AssetPriceFeedStateHuman, BalancerWeightedPriceFeedStateHuman, BaseContractStateHuman, BasePriceFeedStateHuman, BotListStateHuman, BoundedOracleStateHuman, ConstantOracleStateHuman, ContractMethod, CoreStateHuman, CreditConfiguratorStateHuman, CreditFacadeStateHuman, CreditManagerDebtParamsHuman, CreditManagerStateHuman, CreditSuiteStateHuman, GaugeParamsHuman, GaugeStateHuman, GearStakingV3StateHuman, GearboxState, GearboxStateHuman, ILogger, IPriceUpdateTx, InterestRateModelStateHuman, LPPriceFeedStateHuman, LinearInterestRateModelStateHuman, LogFn, LossPolicyStateHuman, MarketStateHuman, MultiCall, MultichainNetworkMeta, MultichainNetworkProps, MultichainNetworksProps, MultichainResult, MultichainState, MultichainStateHuman, PoolQuotaKeeperStateHuman, PoolStateHuman, PoolSuiteStateHuman, PriceFeedStateHuman, PriceOracleStateHuman, QuotaParamsHuman, RateKeeperStateHuman, RawTx, RedstonePriceFeedStateHuman, TumblerStateHuman, WithMultichain, ZapperStateHuman };
6
+ export type { AddressProviderV3StateHuman, AliasLossPolicyStateHuman, AssetPriceFeedStateHuman, BalancerWeightedPriceFeedStateHuman, BaseContractStateHuman, BasePriceFeedStateHuman, BlockNumberProps, BotListStateHuman, BoundedOracleStateHuman, ConstantOracleStateHuman, ContractMethod, CoreStateHuman, CreditConfiguratorStateHuman, CreditFacadeStateHuman, CreditManagerDebtParamsHuman, CreditManagerStateHuman, CreditSuiteStateHuman, GaugeParamsHuman, GaugeStateHuman, GearStakingV3StateHuman, GearboxState, GearboxStateHuman, ILogger, IPriceUpdateTx, InterestRateModelStateHuman, LPPriceFeedStateHuman, LinearInterestRateModelStateHuman, LogFn, LossPolicyStateHuman, MarketStateHuman, MultiCall, MultichainChainIdsProps, MultichainNetworkProps, MultichainState, MultichainStateHuman, PoolQuotaKeeperStateHuman, PoolStateHuman, PoolSuiteStateHuman, PriceFeedStateHuman, PriceOracleStateHuman, QuotaParamsHuman, RateKeeperStateHuman, RawTx, RedstonePriceFeedStateHuman, TumblerStateHuman, WithBlock, WithMultichain, ZapperStateHuman };
@@ -1,3 +1,4 @@
1
+ import { ChainId } from "../../model/primitives.js";
1
2
  import { NetworkType } from "../chain/chains.js";
2
3
  //#region src/sdk/types/multichain.d.ts
3
4
  /**
@@ -12,54 +13,33 @@ interface MultichainNetworkProps {
12
13
  /**
13
14
  * Restricts which chains a multichain list method queries.
14
15
  **/
15
- interface MultichainNetworksProps {
16
+ interface MultichainChainIdsProps {
16
17
  /**
17
- * Networks to query. All chains configured in {@link MultichainSDK} when
18
- * omitted.
18
+ * Chains to query. All chains configured in {@link MultichainSDK} when
19
+ * omitted, and one the SDK is not configured for is dropped.
20
+ *
21
+ * A caller who thinks in network labels converts with {@link toChainIds}.
19
22
  **/
20
- networks?: NetworkType[];
23
+ chainIds?: ChainId[];
21
24
  }
22
25
  /**
23
26
  * Adds chain-scoping props `T` only when the service spans multiple chains.
24
27
  **/
25
28
  type WithMultichain<Multichain extends boolean, T extends object> = Multichain extends true ? T : {};
26
29
  /**
27
- * Outcome of a fan-out request on a single chain.
30
+ * Pins a live read to a block. Only meaningful on one chain: a height is not
31
+ * a shared moment across networks.
28
32
  **/
29
- interface MultichainNetworkMeta {
33
+ interface BlockNumberProps {
30
34
  /**
31
- * Network the request was sent to.
35
+ * Block to read at. Defaults to the latest block.
32
36
  **/
33
- network: NetworkType;
34
- /**
35
- * Whether the per-chain request succeeded.
36
- **/
37
- status: "success" | "error";
38
- /**
39
- * Rejection reason of the per-chain request. Only set when
40
- * {@link status} is `"error"`.
41
- **/
42
- error?: unknown;
37
+ blockNumber?: bigint;
43
38
  }
44
39
  /**
45
- * Result of a multichain fan-out request: the combined payload of all
46
- * successful chains plus the outcome of every queried chain.
47
- *
48
- * Methods with no payload use `MultichainResult<void>`, i.e. `result` is
49
- * `undefined` and only {@link meta} carries information.
50
- *
51
- * @typeParam T - Combined payload type.
40
+ * Adds {@link BlockNumberProps} only for a single-chain call. Fan-out methods
41
+ * omit it so a caller cannot pass one height to every network.
52
42
  **/
53
- interface MultichainResult<T> {
54
- /**
55
- * Combined payload of the chains that responded successfully. Chains that
56
- * failed contribute nothing and are reported in {@link meta}.
57
- **/
58
- result: T;
59
- /**
60
- * Per-chain request outcome, one entry per queried chain.
61
- **/
62
- meta: MultichainNetworkMeta[];
63
- }
43
+ type WithBlock<Multichain extends boolean> = Multichain extends true ? {} : BlockNumberProps;
64
44
  //#endregion
65
- export { MultichainNetworkMeta, MultichainNetworkProps, MultichainNetworksProps, MultichainResult, WithMultichain };
45
+ export { BlockNumberProps, MultichainChainIdsProps, MultichainNetworkProps, WithBlock, WithMultichain };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "14.12.0-next.80",
3
+ "version": "14.12.0-next.82",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {