@gearbox-protocol/sdk 16.0.0-next.42 → 16.0.0-next.44

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 (128) hide show
  1. package/dist/cjs/model/index.js +4 -0
  2. package/dist/cjs/model/result.js +27 -0
  3. package/dist/cjs/onchain/accounts/index.js +0 -2
  4. package/dist/cjs/onchain/accounts/intents/tail.js +1 -1
  5. package/dist/cjs/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +13 -7
  6. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -19
  7. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +1 -2
  8. package/dist/cjs/onchain/index.js +0 -5
  9. package/dist/cjs/onchain/market/index.js +0 -2
  10. package/dist/cjs/onchain/market/zapper/ZapperContract.js +15 -8
  11. package/dist/cjs/onchain/market/zapper/errors.js +0 -17
  12. package/dist/cjs/onchain/market/zapper/index.js +1 -2
  13. package/dist/cjs/onchain/validation/checks.js +1 -1
  14. package/dist/cjs/onchain/validation/index.js +0 -1
  15. package/dist/cjs/preview/index.js +2 -8
  16. package/dist/cjs/preview/parse/errors.js +0 -32
  17. package/dist/cjs/preview/parse/index.js +1 -5
  18. package/dist/cjs/preview/parse/parseOperationCalldata.js +28 -17
  19. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +17 -11
  20. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +5 -2
  21. package/dist/cjs/preview/preview/detectDelayedClaim.js +9 -7
  22. package/dist/cjs/preview/preview/detectDelayedOperation.js +11 -4
  23. package/dist/cjs/preview/preview/errors.js +0 -16
  24. package/dist/cjs/preview/preview/index.js +1 -2
  25. package/dist/cjs/preview/preview/previewOperation.js +30 -11
  26. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +7 -3
  27. package/dist/cjs/preview/simulate/errors.js +15 -24
  28. package/dist/cjs/preview/simulate/index.js +1 -1
  29. package/dist/cjs/preview/simulate/simulateOperation.js +6 -4
  30. package/dist/cjs/preview/simulate/simulatePoolOperation.js +6 -3
  31. package/dist/cjs/sdk/execute/ExecuteApi.js +1 -1
  32. package/dist/cjs/sdk/index.js +1 -1
  33. package/dist/cjs/sdk/prepare/PrepareApi.js +198 -278
  34. package/dist/cjs/sdk/prepare/errors.js +5 -2
  35. package/dist/cjs/sdk/prepare/index.js +1 -1
  36. package/dist/esm/dev/AccountOpener.js +1 -1
  37. package/dist/esm/dev/withdrawalUtils.js +1 -1
  38. package/dist/esm/model/index.js +2 -1
  39. package/dist/esm/model/result.js +24 -0
  40. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  41. package/dist/esm/onchain/accounts/index.js +1 -2
  42. package/dist/esm/onchain/accounts/intents/tail.js +1 -1
  43. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  44. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +14 -8
  45. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  46. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  47. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  48. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +1 -19
  49. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +2 -2
  50. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  51. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  52. package/dist/esm/onchain/index.js +2 -4
  53. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  54. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  55. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  56. package/dist/esm/onchain/market/index.js +1 -2
  57. package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
  58. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  59. package/dist/esm/onchain/market/zapper/ZapperContract.js +16 -9
  60. package/dist/esm/onchain/market/zapper/errors.js +1 -17
  61. package/dist/esm/onchain/market/zapper/index.js +2 -2
  62. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  63. package/dist/esm/onchain/validation/checks.js +1 -1
  64. package/dist/esm/onchain/validation/index.js +2 -2
  65. package/dist/esm/preview/index.js +3 -5
  66. package/dist/esm/preview/parse/errors.js +1 -30
  67. package/dist/esm/preview/parse/index.js +2 -3
  68. package/dist/esm/preview/parse/parseOperationCalldata.js +28 -17
  69. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +17 -11
  70. package/dist/esm/preview/prerequisites/checkPrerequisites.js +5 -2
  71. package/dist/esm/preview/preview/detectDelayedClaim.js +9 -7
  72. package/dist/esm/preview/preview/detectDelayedOperation.js +11 -4
  73. package/dist/esm/preview/preview/errors.js +1 -16
  74. package/dist/esm/preview/preview/index.js +2 -2
  75. package/dist/esm/preview/preview/previewOperation.js +30 -11
  76. package/dist/esm/preview/preview/previewPoolPositionOperation.js +7 -3
  77. package/dist/esm/preview/simulate/errors.js +16 -24
  78. package/dist/esm/preview/simulate/index.js +2 -2
  79. package/dist/esm/preview/simulate/simulateOperation.js +6 -4
  80. package/dist/esm/preview/simulate/simulatePoolOperation.js +7 -4
  81. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  82. package/dist/esm/sdk/execute/ExecuteApi.js +1 -1
  83. package/dist/esm/sdk/index.js +2 -2
  84. package/dist/esm/sdk/prepare/PrepareApi.js +199 -279
  85. package/dist/esm/sdk/prepare/errors.js +5 -2
  86. package/dist/esm/sdk/prepare/index.js +2 -2
  87. package/dist/types/model/errors.d.ts +4 -32
  88. package/dist/types/model/index.d.ts +3 -2
  89. package/dist/types/model/result.d.ts +48 -0
  90. package/dist/types/onchain/accounts/index.d.ts +1 -1
  91. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +6 -4
  92. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +9 -5
  93. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -1
  94. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +6 -4
  95. package/dist/types/onchain/index.d.ts +4 -4
  96. package/dist/types/onchain/market/index.d.ts +1 -1
  97. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +7 -3
  98. package/dist/types/onchain/market/zapper/errors.d.ts +11 -6
  99. package/dist/types/onchain/market/zapper/index.d.ts +1 -1
  100. package/dist/types/onchain/market/zapper/types.d.ts +4 -1
  101. package/dist/types/onchain/validation/checks.d.ts +1 -1
  102. package/dist/types/onchain/validation/index.d.ts +2 -2
  103. package/dist/types/preview/index.d.ts +5 -3
  104. package/dist/types/preview/parse/errors.d.ts +19 -12
  105. package/dist/types/preview/parse/index.d.ts +1 -1
  106. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -1
  107. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +5 -2
  108. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +6 -1
  109. package/dist/types/preview/preview/detectDelayedClaim.d.ts +7 -6
  110. package/dist/types/preview/preview/detectDelayedOperation.d.ts +3 -1
  111. package/dist/types/preview/preview/errors.d.ts +8 -5
  112. package/dist/types/preview/preview/index.d.ts +2 -2
  113. package/dist/types/preview/preview/previewOperation.d.ts +21 -2
  114. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +3 -1
  115. package/dist/types/preview/simulate/errors.d.ts +12 -8
  116. package/dist/types/preview/simulate/index.d.ts +2 -2
  117. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -1
  118. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +4 -1
  119. package/dist/types/sdk/execute/types.d.ts +6 -11
  120. package/dist/types/sdk/index.d.ts +3 -3
  121. package/dist/types/sdk/prepare/PrepareApi.d.ts +29 -26
  122. package/dist/types/sdk/prepare/errors.d.ts +57 -20
  123. package/dist/types/sdk/prepare/index.d.ts +3 -3
  124. package/dist/types/sdk/prepare/types.d.ts +73 -74
  125. package/dist/types/sdk/preview/PreviewNamespace.d.ts +4 -1
  126. package/dist/types/sdk/preview/types.d.ts +7 -3
  127. package/dist/types/sdk/types.d.ts +1 -3
  128. package/package.json +11 -2
@@ -21,6 +21,7 @@ const require_model_previews = require("./previews.js");
21
21
  require("./primitives.js");
22
22
  require("./response.js");
23
23
  const require_model_response_schema = require("./response.schema.js");
24
+ const require_model_result = require("./result.js");
24
25
  require("./withdrawals.js");
25
26
  const require_model_withdrawals_schema = require("./withdrawals.schema.js");
26
27
  exports.CHART_METRIC_UNITS = require_model_charts.CHART_METRIC_UNITS;
@@ -71,6 +72,7 @@ exports.filterAllSchema = require_model_filters_schema.filterAllSchema;
71
72
  exports.filterable = require_model_filters_schema.filterable;
72
73
  exports.instantReceivedAssetSchema = require_model_liquidations_schema.instantReceivedAssetSchema;
73
74
  exports.isFilterSet = require_model_filters.isFilterSet;
75
+ exports.isSDKError = require_model_result.isSDKError;
74
76
  exports.leverageSchema = require_model_primitives_schema.leverageSchema;
75
77
  exports.liquidatableAccountFilterSchema = require_model_liquidations_schema.liquidatableAccountFilterSchema;
76
78
  exports.liquidatableAccountSchema = require_model_liquidations_schema.liquidatableAccountSchema;
@@ -133,6 +135,8 @@ exports.responseMetadataSchema = require_model_response_schema.responseMetadataS
133
135
  exports.responseSchema = require_model_response_schema.responseSchema;
134
136
  exports.rewardsPnLSchema = require_model_positions_schema.rewardsPnLSchema;
135
137
  exports.rewardsSchema = require_model_opportunities_schema.rewardsSchema;
138
+ exports.sdkErr = require_model_result.sdkErr;
139
+ exports.sdkOk = require_model_result.sdkOk;
136
140
  exports.strategyOpportunityChartMetricSchema = require_model_charts_schema.strategyOpportunityChartMetricSchema;
137
141
  exports.strategyOpportunityDetailSchema = require_model_opportunities_schema.strategyOpportunityDetailSchema;
138
142
  exports.strategyOpportunityId = require_model_opportunities.strategyOpportunityId;
@@ -0,0 +1,27 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/model/result.ts
3
+ /** The success half, built. */
4
+ function sdkOk(data) {
5
+ return {
6
+ ok: true,
7
+ data
8
+ };
9
+ }
10
+ /** The failure half, built. */
11
+ function sdkErr(error) {
12
+ return {
13
+ ok: false,
14
+ error
15
+ };
16
+ }
17
+ /**
18
+ * Narrows a {@link SDKReturn} to its failure half. Trivial over `ok`, but it
19
+ * names the intent at call sites that would otherwise read `!r.ok`.
20
+ **/
21
+ function isSDKError(answer) {
22
+ return !answer.ok;
23
+ }
24
+ //#endregion
25
+ exports.isSDKError = isSDKError;
26
+ exports.sdkErr = sdkErr;
27
+ exports.sdkOk = sdkOk;
@@ -19,7 +19,6 @@ require("./types.js");
19
19
  const require_onchain_accounts_withdrawal_compressor_intent_codec = require("./withdrawal-compressor/intent-codec.js");
20
20
  const require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract = require("./withdrawal-compressor/AbstractWithdrawalCompressorContract.js");
21
21
  const require_onchain_accounts_withdrawal_compressor_addresses = require("./withdrawal-compressor/addresses.js");
22
- const require_onchain_accounts_withdrawal_compressor_errors = require("./withdrawal-compressor/errors.js");
23
22
  const require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract = require("./withdrawal-compressor/RedemptionLoggerV310Contract.js");
24
23
  const require_onchain_accounts_withdrawal_compressor_createRedemptionLogger = require("./withdrawal-compressor/createRedemptionLogger.js");
25
24
  const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract = require("./withdrawal-compressor/WithdrawalCompressorV310Contract.js");
@@ -36,7 +35,6 @@ exports.CreditAccountOperationsService = require_onchain_accounts_intents_index.
36
35
  exports.CreditAccountsServiceV310 = require_onchain_accounts_CreditAccountsServiceV310.CreditAccountsServiceV310;
37
36
  exports.DELAYED_INTENT_TYPES = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_TYPES;
38
37
  exports.DELAYED_INTENT_VERSION = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_VERSION;
39
- exports.InvalidDelayedIntentError = require_onchain_accounts_withdrawal_compressor_errors.InvalidDelayedIntentError;
40
38
  exports.LIQUIDATION_APPROVAL_BUFFER = require_onchain_accounts_liquidations_constants.LIQUIDATION_APPROVAL_BUFFER;
41
39
  exports.LIQUIDATION_COMPRESSOR_V313_ADDRESS = require_onchain_accounts_liquidations_constants.LIQUIDATION_COMPRESSOR_V313_ADDRESS;
42
40
  exports.LiquidationsService = require_onchain_accounts_liquidations_LiquidationsService.LiquidationsService;
@@ -54,7 +54,7 @@ async function projectTail(args) {
54
54
  const { request, delayed, creditAccount, sdk, quotaReserve } = args;
55
55
  const { claim } = delayed;
56
56
  const queued = request.outputs.find((o) => o.isDelayed);
57
- if (!queued || !claim) throw new Error("projectTail: the request queued nothing to claim");
57
+ if (!queued || !claim) throw new require_onchain_validation_refusal.IntentPreviewError("noRecordedIntent", void 0, "projectTail: the request queued nothing to claim");
58
58
  const next = sliceAfter(creditAccount, delayed.afterRequest);
59
59
  const steps = planTail({
60
60
  intent: delayed.record,
@@ -2,8 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_abi_iRedemptionLoggerV310 = require("../../../abi/iRedemptionLoggerV310.js");
3
3
  const require_onchain_base_BaseContract = require("../../base/BaseContract.js");
4
4
  require("../../base/index.js");
5
+ const require_model_result = require("../../../model/result.js");
6
+ require("../../../model/index.js");
5
7
  const require_onchain_accounts_withdrawal_compressor_intent_codec = require("./intent-codec.js");
6
- const require_onchain_accounts_withdrawal_compressor_errors = require("./errors.js");
7
8
  //#region src/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.ts
8
9
  const abi = require_abi_iRedemptionLoggerV310.iRedemptionLoggerV310Abi;
9
10
  /**
@@ -33,18 +34,23 @@ var RedemptionLoggerV310Contract = class extends require_onchain_base_BaseContra
33
34
  *
34
35
  * @param redeemer - Redeemer contract the withdrawal is claimed from.
35
36
  * @param blockNumber - Optional block number to read the log at.
36
- * @returns The decoded intent, or `undefined` when the log carries none
37
- * (including when nothing was logged for the redeemer).
38
- * @throws InvalidDelayedIntentError when the logged `extraData` is
37
+ * @returns The decoded intent behind `ok` (`undefined` when the log
38
+ * carries none, including when nothing was logged for the redeemer), or
39
+ * the `invalidDelayedIntent` refusal when the logged `extraData` is
39
40
  * non-empty but cannot be decoded as a `DelayedIntent`.
40
41
  **/
41
42
  async getDelayedIntent(redeemer, blockNumber) {
42
43
  const log = await this.getRedemptionLog(redeemer, blockNumber);
43
- if (!log.extraData || log.extraData === "0x") return;
44
+ if (!log.extraData || log.extraData === "0x") return require_model_result.sdkOk(void 0);
44
45
  try {
45
- return require_onchain_accounts_withdrawal_compressor_intent_codec.decodeDelayedIntent(log.extraData);
46
+ return require_model_result.sdkOk(require_onchain_accounts_withdrawal_compressor_intent_codec.decodeDelayedIntent(log.extraData));
46
47
  } catch (e) {
47
- throw new require_onchain_accounts_withdrawal_compressor_errors.InvalidDelayedIntentError(log.extraData, e);
48
+ return require_model_result.sdkErr({
49
+ code: "invalidDelayedIntent",
50
+ message: `cannot decode delayed intent from extraData ${log.extraData}`,
51
+ extraData: log.extraData,
52
+ cause: e instanceof Error ? e : new Error(String(e))
53
+ });
48
54
  }
49
55
  }
50
56
  };
@@ -1,20 +1 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/onchain/accounts/withdrawal-compressor/errors.ts
3
- /**
4
- * Thrown when a delayed-withdrawal request or redemption log carries
5
- * non-empty `extraData` that cannot be decoded as a `DelayedIntent`.
6
- * Requests produced by our stack always encode a valid intent, so garbage
7
- * here means a malformed/foreign transaction that must not be previewed as
8
- * if it were fine.
9
- */
10
- var InvalidDelayedIntentError = class extends Error {
11
- /** Raw `extraData` that failed to decode. */
12
- extraData;
13
- constructor(extraData, cause) {
14
- super(`cannot decode delayed intent from extraData ${extraData}`, { cause });
15
- this.name = "InvalidDelayedIntentError";
16
- this.extraData = extraData;
17
- }
18
- };
19
- //#endregion
20
- exports.InvalidDelayedIntentError = InvalidDelayedIntentError;
@@ -2,7 +2,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_accounts_withdrawal_compressor_intent_codec = require("./intent-codec.js");
3
3
  const require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract = require("./AbstractWithdrawalCompressorContract.js");
4
4
  const require_onchain_accounts_withdrawal_compressor_addresses = require("./addresses.js");
5
- const require_onchain_accounts_withdrawal_compressor_errors = require("./errors.js");
6
5
  const require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract = require("./RedemptionLoggerV310Contract.js");
7
6
  const require_onchain_accounts_withdrawal_compressor_createRedemptionLogger = require("./createRedemptionLogger.js");
8
7
  const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract = require("./WithdrawalCompressorV310Contract.js");
@@ -10,10 +9,10 @@ const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV311Con
10
9
  const require_onchain_accounts_withdrawal_compressor_types = require("./types.js");
11
10
  const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV313Contract = require("./WithdrawalCompressorV313Contract.js");
12
11
  const require_onchain_accounts_withdrawal_compressor_createWithdrawalCompressor = require("./createWithdrawalCompressor.js");
12
+ require("./errors.js");
13
13
  exports.AbstractWithdrawalCompressorContract = require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract.AbstractWithdrawalCompressorContract;
14
14
  exports.DELAYED_INTENT_TYPES = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_TYPES;
15
15
  exports.DELAYED_INTENT_VERSION = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_VERSION;
16
- exports.InvalidDelayedIntentError = require_onchain_accounts_withdrawal_compressor_errors.InvalidDelayedIntentError;
17
16
  exports.RedemptionLoggerV310Contract = require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract.RedemptionLoggerV310Contract;
18
17
  exports.WithdrawalCompressorV310Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract.WithdrawalCompressorV310Contract;
19
18
  exports.WithdrawalCompressorV311Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV311Contract.WithdrawalCompressorV311Contract;
@@ -177,7 +177,6 @@ const require_onchain_market_pool_LinearInterestRateModelContract = require("./m
177
177
  const require_onchain_market_pool_PoolV310Contract = require("./market/pool/PoolV310Contract.js");
178
178
  const require_onchain_market_pool_PoolSuite = require("./market/pool/PoolSuite.js");
179
179
  const require_onchain_market_MarketSuite = require("./market/MarketSuite.js");
180
- const require_onchain_market_zapper_errors = require("./market/zapper/errors.js");
181
180
  const require_onchain_market_zapper_ZapperContract = require("./market/zapper/ZapperContract.js");
182
181
  const require_onchain_market_zapper_IERC20ZapperContract = require("./market/zapper/IERC20ZapperContract.js");
183
182
  const require_onchain_market_zapper_IETHZapperContract = require("./market/zapper/IETHZapperContract.js");
@@ -209,7 +208,6 @@ const require_onchain_accounts_liquidations_MultichainLiquidationsService = requ
209
208
  const require_onchain_accounts_withdrawal_compressor_intent_codec = require("./accounts/withdrawal-compressor/intent-codec.js");
210
209
  const require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract = require("./accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js");
211
210
  const require_onchain_accounts_withdrawal_compressor_addresses = require("./accounts/withdrawal-compressor/addresses.js");
212
- const require_onchain_accounts_withdrawal_compressor_errors = require("./accounts/withdrawal-compressor/errors.js");
213
211
  const require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract = require("./accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js");
214
212
  const require_onchain_accounts_withdrawal_compressor_createRedemptionLogger = require("./accounts/withdrawal-compressor/createRedemptionLogger.js");
215
213
  const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract = require("./accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js");
@@ -346,8 +344,6 @@ exports.IERC20ZapperContract = require_onchain_market_zapper_IERC20ZapperContrac
346
344
  exports.IETHZapperContract = require_onchain_market_zapper_IETHZapperContract.IETHZapperContract;
347
345
  exports.InfinifiGatewayAdapterContract = require_onchain_market_adapters_contracts_InfinifiGatewayAdapterContract.InfinifiGatewayAdapterContract;
348
346
  exports.InfinifiUnwindingGatewayAdapterContract = require_onchain_market_adapters_contracts_InfinifiUnwindingGatewayAdapterContract.InfinifiUnwindingGatewayAdapterContract;
349
- exports.IntentPreviewError = require_onchain_validation_refusal.IntentPreviewError;
350
- exports.InvalidDelayedIntentError = require_onchain_accounts_withdrawal_compressor_errors.InvalidDelayedIntentError;
351
347
  exports.KelpLRTDepositPoolAdapterContract = require_onchain_market_adapters_contracts_KelpLRTDepositPoolAdapterContract.KelpLRTDepositPoolAdapterContract;
352
348
  exports.KelpLRTWithdrawalManagerAdapterContract = require_onchain_market_adapters_contracts_KelpLRTWithdrawalManagerAdapterContract.KelpLRTWithdrawalManagerAdapterContract;
353
349
  exports.LEVERAGE_DECIMALS = require_onchain_constants_math.LEVERAGE_DECIMALS;
@@ -456,7 +452,6 @@ exports.TypedObjectUtils = require_onchain_utils_mappers.TypedObjectUtils;
456
452
  exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
457
453
  exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
458
454
  exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
459
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
460
455
  exports.UpshiftVaultAdapterContract = require_onchain_market_adapters_contracts_UpshiftVaultAdapterContract.UpshiftVaultAdapterContract;
461
456
  exports.VERSION_RANGE_310 = require_onchain_constants_versions.VERSION_RANGE_310;
462
457
  exports.VelodromeV2RouterAdapterContract = require_onchain_market_adapters_contracts_VelodromeV2AdapterContract.VelodromeV2RouterAdapterContract;
@@ -129,7 +129,6 @@ const require_onchain_market_pool_PoolV310Contract = require("./pool/PoolV310Con
129
129
  const require_onchain_market_pool_PoolSuite = require("./pool/PoolSuite.js");
130
130
  require("./pool/index.js");
131
131
  const require_onchain_market_MarketSuite = require("./MarketSuite.js");
132
- const require_onchain_market_zapper_errors = require("./zapper/errors.js");
133
132
  const require_onchain_market_zapper_ZapperContract = require("./zapper/ZapperContract.js");
134
133
  const require_onchain_market_zapper_IERC20ZapperContract = require("./zapper/IERC20ZapperContract.js");
135
134
  const require_onchain_market_zapper_IETHZapperContract = require("./zapper/IETHZapperContract.js");
@@ -233,7 +232,6 @@ exports.TraderJoeRouterAdapterContract = require_onchain_market_adapters_contrac
233
232
  exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
234
233
  exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
235
234
  exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
236
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
237
235
  exports.UpshiftVaultAdapterContract = require_onchain_market_adapters_contracts_UpshiftVaultAdapterContract.UpshiftVaultAdapterContract;
238
236
  exports.VelodromeV2RouterAdapterContract = require_onchain_market_adapters_contracts_VelodromeV2AdapterContract.VelodromeV2RouterAdapterContract;
239
237
  exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_WstETHPriceFeed.WstETHPriceFeedContract;
@@ -2,7 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_abi_iZapper = require("../../../abi/iZapper.js");
3
3
  const require_onchain_base_BaseContract = require("../../base/BaseContract.js");
4
4
  require("../../base/index.js");
5
- const require_onchain_market_zapper_errors = require("./errors.js");
5
+ const require_model_result = require("../../../model/result.js");
6
+ require("../../../model/index.js");
6
7
  //#region src/onchain/market/zapper/ZapperContract.ts
7
8
  /**
8
9
  * Base contract for every Gearbox zapper. Specialized zappers (e.g.
@@ -33,8 +34,9 @@ var ZapperContract = class extends require_onchain_base_BaseContract.BaseContrac
33
34
  this.tokenOut = data.tokenOut;
34
35
  }
35
36
  /**
36
- * Decodes zapper calldata into {@link ParsedZapperOperation}.
37
- * Throws {@link UnsupportedZapperFunctionError} for unknown selectors.
37
+ * Decodes zapper calldata into {@link ParsedZapperOperation} behind `ok`,
38
+ * or refuses with {@link UnsupportedZapperFunctionError} for unknown
39
+ * selectors.
38
40
  */
39
41
  parseOperation(calldata, value) {
40
42
  const parsed = this.parseFunctionDataV2(calldata);
@@ -43,7 +45,7 @@ var ZapperContract = class extends require_onchain_base_BaseContract.BaseContrac
43
45
  const zapper = this.address;
44
46
  const underlying = this.sdk.marketRegister.findByPool(pool).underlying;
45
47
  const receiver = rawArgs.receiver;
46
- if (parsed.functionName.startsWith("deposit")) return {
48
+ if (parsed.functionName.startsWith("deposit")) return require_model_result.sdkOk({
47
49
  operation: "Deposit",
48
50
  pool,
49
51
  zapper,
@@ -51,16 +53,21 @@ var ZapperContract = class extends require_onchain_base_BaseContract.BaseContrac
51
53
  assets: rawArgs.tokenInAmount ?? value ?? 0n,
52
54
  underlying,
53
55
  referralCode: rawArgs.referralCode
54
- };
55
- if (parsed.functionName.startsWith("redeem")) return {
56
+ });
57
+ if (parsed.functionName.startsWith("redeem")) return require_model_result.sdkOk({
56
58
  operation: "Redeem",
57
59
  pool,
58
60
  zapper,
59
61
  receiver,
60
62
  shares: rawArgs.tokenOutAmount,
61
63
  underlying
62
- };
63
- throw new require_onchain_market_zapper_errors.UnsupportedZapperFunctionError(zapper, parsed.functionName);
64
+ });
65
+ return require_model_result.sdkErr({
66
+ code: "unsupportedZapperFunction",
67
+ message: `unsupported zapper function "${parsed.functionName}" on ${zapper}`,
68
+ zapper,
69
+ functionName: parsed.functionName
70
+ });
64
71
  }
65
72
  /**
66
73
  * Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
@@ -1,18 +1 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/onchain/market/zapper/errors.ts
3
- /**
4
- * Thrown when a zapper call uses a function other than a known
5
- * `deposit`/`redeem` variant.
6
- */
7
- var UnsupportedZapperFunctionError = class extends Error {
8
- zapper;
9
- functionName;
10
- constructor(zapper, functionName) {
11
- super(`unsupported zapper function "${functionName}" on ${zapper}`);
12
- this.name = "UnsupportedZapperFunctionError";
13
- this.zapper = zapper;
14
- this.functionName = functionName;
15
- }
16
- };
17
- //#endregion
18
- exports.UnsupportedZapperFunctionError = UnsupportedZapperFunctionError;
@@ -1,12 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_zapper_errors = require("./errors.js");
3
2
  const require_onchain_market_zapper_ZapperContract = require("./ZapperContract.js");
4
3
  const require_onchain_market_zapper_IERC20ZapperContract = require("./IERC20ZapperContract.js");
5
4
  const require_onchain_market_zapper_IETHZapperContract = require("./IETHZapperContract.js");
6
5
  const require_onchain_market_zapper_createZapper = require("./createZapper.js");
6
+ require("./errors.js");
7
7
  require("./types.js");
8
8
  exports.IERC20ZapperContract = require_onchain_market_zapper_IERC20ZapperContract.IERC20ZapperContract;
9
9
  exports.IETHZapperContract = require_onchain_market_zapper_IETHZapperContract.IETHZapperContract;
10
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
11
10
  exports.ZapperContract = require_onchain_market_zapper_ZapperContract.ZapperContract;
12
11
  exports.createZapper = require_onchain_market_zapper_createZapper.createZapper;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/onchain/validation/checks.ts
3
3
  /**
4
- * Every verdict the protocol can pass on an operation, as values.
4
+ * Every refusal the protocol can pass on an operation, as values.
5
5
  *
6
6
  * Each check is handed the numbers it compares — never a suite, a market or an
7
7
  * SDK — so the engine, `checkOperation` and the strategy lists share one
@@ -2,7 +2,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_validation_checks = require("./checks.js");
3
3
  const require_onchain_validation_refusal = require("./refusal.js");
4
4
  const require_onchain_validation_token = require("./token.js");
5
- exports.IntentPreviewError = require_onchain_validation_refusal.IntentPreviewError;
6
5
  exports.MIN_HEALTH_FACTOR_FACADE = require_onchain_validation_checks.MIN_HEALTH_FACTOR_FACADE;
7
6
  exports.MIN_HEALTH_FACTOR_FORM = require_onchain_validation_checks.MIN_HEALTH_FACTOR_FORM;
8
7
  exports.MIN_HF_LIMITED = require_onchain_validation_checks.MIN_HF_LIMITED;
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_zapper_errors = require("../onchain/market/zapper/errors.js");
3
2
  const require_onchain_validation_refusal = require("../onchain/validation/refusal.js");
4
3
  const require_preview_trace_errors = require("./trace/errors.js");
5
4
  const require_preview_trace_extractAdapterCallTraces = require("./trace/extractAdapterCallTraces.js");
@@ -7,7 +6,6 @@ const require_preview_trace_extractTransfers = require("./trace/extractTransfers
7
6
  const require_preview_trace_findFacadeCalls = require("./trace/findFacadeCalls.js");
8
7
  require("./trace/index.js");
9
8
  const require_preview_parse_classifyInnerOperations = require("./parse/classifyInnerOperations.js");
10
- const require_preview_parse_errors = require("./parse/errors.js");
11
9
  const require_preview_parse_parseFacadeOperationCalldata = require("./parse/parseFacadeOperationCalldata.js");
12
10
  const require_preview_parse_parsePoolOperationCalldata = require("./parse/parsePoolOperationCalldata.js");
13
11
  const require_preview_parse_parseRWAFactoryOperationCalldata = require("./parse/parseRWAFactoryOperationCalldata.js");
@@ -25,12 +23,12 @@ const require_preview_preview_CreditAccountState = require("./preview/CreditAcco
25
23
  const require_preview_preview_detectCloseOrRepay = require("./preview/detectCloseOrRepay.js");
26
24
  const require_preview_preview_detectDelayedClaim = require("./preview/detectDelayedClaim.js");
27
25
  const require_preview_preview_detectDelayedOperation = require("./preview/detectDelayedOperation.js");
28
- const require_preview_preview_errors = require("./preview/errors.js");
29
26
  const require_preview_preview_estimateClaimableAt = require("./preview/estimateClaimableAt.js");
30
27
  const require_preview_preview_replayInnerOperations = require("./preview/replayInnerOperations.js");
31
28
  const require_preview_preview_replayMulticall = require("./preview/replayMulticall.js");
32
29
  const require_preview_preview_previewAdjustStrategyPosition = require("./preview/previewAdjustStrategyPosition.js");
33
30
  const require_preview_preview_previewExitOrRepayStrategyPosition = require("./preview/previewExitOrRepayStrategyPosition.js");
31
+ const require_preview_simulate_errors = require("./simulate/errors.js");
34
32
  const require_preview_preview_previewOperation = require("./preview/previewOperation.js");
35
33
  require("./preview/index.js");
36
34
  require("./types.js");
@@ -40,18 +38,14 @@ require("./validate/index.js");
40
38
  exports.AllowancePrerequisite = require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite;
41
39
  exports.BalancePrerequisite = require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite;
42
40
  exports.CreditAccountState = require_preview_preview_CreditAccountState.CreditAccountState;
43
- exports.IntentPreviewError = require_onchain_validation_refusal.IntentPreviewError;
44
41
  exports.Prerequisite = require_preview_prerequisites_Prerequisite.Prerequisite;
45
42
  exports.RWAOpenRequirementsPrerequisite = require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite;
46
43
  exports.TransferAlignmentError = require_preview_trace_errors.TransferAlignmentError;
47
44
  exports.UnexpectedFacadeEventOrderError = require_preview_trace_errors.UnexpectedFacadeEventOrderError;
48
45
  exports.UnknownAdapterError = require_preview_trace_errors.UnknownAdapterError;
49
46
  exports.UnknownFacadeCallError = require_preview_trace_errors.UnknownFacadeCallError;
50
- exports.UnsupportedOperationError = require_preview_preview_errors.UnsupportedOperationError;
51
- exports.UnsupportedPoolFunctionError = require_preview_parse_errors.UnsupportedPoolFunctionError;
52
- exports.UnsupportedTargetError = require_preview_parse_errors.UnsupportedTargetError;
53
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
54
47
  exports.WithdrawCollateralAlignmentError = require_preview_trace_errors.WithdrawCollateralAlignmentError;
48
+ exports.asPreviewSimulationError = require_preview_simulate_errors.asPreviewSimulationError;
55
49
  exports.buildDelayedStrategyPositionOperationPreview = require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
56
50
  exports.checkOperation = require_preview_validate_checkOperation.checkOperation;
57
51
  exports.checkPrerequisites = require_preview_prerequisites_checkPrerequisites.checkPrerequisites;
@@ -1,33 +1 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_zapper_errors = require("../../onchain/market/zapper/errors.js");
3
- require("../../onchain/index.js");
4
- //#region src/preview/parse/errors.ts
5
- /**
6
- * Thrown when the target of a transaction is neither a known Gearbox pool nor a
7
- * credit facade.
8
- */
9
- var UnsupportedTargetError = class extends Error {
10
- target;
11
- constructor(target) {
12
- super(`unsupported transaction target: ${target}`);
13
- this.name = "UnsupportedTargetError";
14
- this.target = target;
15
- }
16
- };
17
- /**
18
- * Thrown when a pool call uses a function other than ERC4626 `deposit`/`redeem`.
19
- */
20
- var UnsupportedPoolFunctionError = class extends Error {
21
- pool;
22
- functionName;
23
- constructor(pool, functionName) {
24
- super(`unsupported pool function "${functionName}" on ${pool}`);
25
- this.name = "UnsupportedPoolFunctionError";
26
- this.pool = pool;
27
- this.functionName = functionName;
28
- }
29
- };
30
- //#endregion
31
- exports.UnsupportedPoolFunctionError = UnsupportedPoolFunctionError;
32
- exports.UnsupportedTargetError = UnsupportedTargetError;
33
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
@@ -1,15 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_zapper_errors = require("../../onchain/market/zapper/errors.js");
3
2
  const require_preview_parse_classifyInnerOperations = require("./classifyInnerOperations.js");
4
- const require_preview_parse_errors = require("./errors.js");
3
+ require("./errors.js");
5
4
  const require_preview_parse_parseFacadeOperationCalldata = require("./parseFacadeOperationCalldata.js");
6
5
  const require_preview_parse_parsePoolOperationCalldata = require("./parsePoolOperationCalldata.js");
7
6
  const require_preview_parse_parseRWAFactoryOperationCalldata = require("./parseRWAFactoryOperationCalldata.js");
8
7
  const require_preview_parse_parseOperationCalldata = require("./parseOperationCalldata.js");
9
8
  const require_preview_parse_types = require("./types.js");
10
- exports.UnsupportedPoolFunctionError = require_preview_parse_errors.UnsupportedPoolFunctionError;
11
- exports.UnsupportedTargetError = require_preview_parse_errors.UnsupportedTargetError;
12
- exports.UnsupportedZapperFunctionError = require_onchain_market_zapper_errors.UnsupportedZapperFunctionError;
13
9
  exports.classifyInnerOperations = require_preview_parse_classifyInnerOperations.classifyInnerOperations;
14
10
  exports.isPoolOperation = require_preview_parse_types.isPoolOperation;
15
11
  exports.isRWAOperation = require_preview_parse_types.isRWAOperation;
@@ -1,10 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_market_credit_CreditFacadeV310Contract = require("../../onchain/market/credit/CreditFacadeV310Contract.js");
3
+ const require_model_result = require("../../model/result.js");
4
+ require("../../model/index.js");
3
5
  const require_onchain_market_pool_PoolV310Contract = require("../../onchain/market/pool/PoolV310Contract.js");
4
6
  const require_onchain_market_zapper_ZapperContract = require("../../onchain/market/zapper/ZapperContract.js");
5
7
  const require_onchain_market_rwa_types = require("../../onchain/market/rwa/types.js");
6
8
  require("../../onchain/index.js");
7
- const require_preview_parse_errors = require("./errors.js");
8
9
  const require_preview_parse_parseFacadeOperationCalldata = require("./parseFacadeOperationCalldata.js");
9
10
  const require_preview_parse_parsePoolOperationCalldata = require("./parsePoolOperationCalldata.js");
10
11
  const require_preview_parse_parseRWAFactoryOperationCalldata = require("./parseRWAFactoryOperationCalldata.js");
@@ -20,19 +21,24 @@ function parseOperationCalldata(input) {
20
21
  const contract = sdk.getContract(to);
21
22
  if (contract instanceof require_onchain_market_pool_PoolV310Contract.PoolV310Contract) return require_preview_parse_parsePoolOperationCalldata.parsePoolOperationCalldata(sdk, contract, calldata);
22
23
  if (contract instanceof require_onchain_market_zapper_ZapperContract.ZapperContract) {
23
- const parsed = contract.parseOperation(calldata, value);
24
- if (parsed.operation === "Deposit") return {
25
- operation: "Deposit",
26
- pool: parsed.pool,
27
- receiver: parsed.receiver,
28
- assets: parsed.assets,
29
- underlying: parsed.underlying,
30
- tokenIn: contract.tokenIn.addr,
31
- tokenOut: contract.tokenOut.addr,
32
- zapper: parsed.zapper,
33
- referralCode: parsed.referralCode
34
- };
35
- return {
24
+ const answer = contract.parseOperation(calldata, value);
25
+ if (require_model_result.isSDKError(answer)) return answer;
26
+ const parsed = answer.data;
27
+ if (parsed.operation === "Deposit") {
28
+ const op = {
29
+ operation: "Deposit",
30
+ pool: parsed.pool,
31
+ receiver: parsed.receiver,
32
+ assets: parsed.assets,
33
+ underlying: parsed.underlying,
34
+ tokenIn: contract.tokenIn.addr,
35
+ tokenOut: contract.tokenOut.addr,
36
+ zapper: parsed.zapper,
37
+ referralCode: parsed.referralCode
38
+ };
39
+ return require_model_result.sdkOk(op);
40
+ }
41
+ const op = {
36
42
  operation: "Redeem",
37
43
  pool: parsed.pool,
38
44
  receiver: parsed.receiver,
@@ -43,10 +49,15 @@ function parseOperationCalldata(input) {
43
49
  tokenOut: contract.tokenIn.addr,
44
50
  zapper: parsed.zapper
45
51
  };
52
+ return require_model_result.sdkOk(op);
46
53
  }
47
- if (contract instanceof require_onchain_market_credit_CreditFacadeV310Contract.CreditFacadeV310Contract) return require_preview_parse_parseFacadeOperationCalldata.parseFacadeOperationCalldata(sdk, contract, calldata);
48
- if (contract && require_onchain_market_rwa_types.isRWAFactory(contract)) return require_preview_parse_parseRWAFactoryOperationCalldata.parseRWAFactoryOperationCalldata(sdk, contract, calldata);
49
- throw new require_preview_parse_errors.UnsupportedTargetError(to);
54
+ if (contract instanceof require_onchain_market_credit_CreditFacadeV310Contract.CreditFacadeV310Contract) return require_model_result.sdkOk(require_preview_parse_parseFacadeOperationCalldata.parseFacadeOperationCalldata(sdk, contract, calldata));
55
+ if (contract && require_onchain_market_rwa_types.isRWAFactory(contract)) return require_model_result.sdkOk(require_preview_parse_parseRWAFactoryOperationCalldata.parseRWAFactoryOperationCalldata(sdk, contract, calldata));
56
+ return require_model_result.sdkErr({
57
+ code: "unsupportedTarget",
58
+ message: `unsupported transaction target: ${to}`,
59
+ target: to
60
+ });
50
61
  }
51
62
  //#endregion
52
63
  exports.parseOperationCalldata = parseOperationCalldata;
@@ -1,5 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_preview_parse_errors = require("./errors.js");
2
+ const require_model_result = require("../../model/result.js");
3
+ require("../../model/index.js");
3
4
  //#region src/preview/parse/parsePoolOperationCalldata.ts
4
5
  /**
5
6
  * Decodes pool calldata into a {@link PoolOperation}.
@@ -7,7 +8,7 @@ const require_preview_parse_errors = require("./errors.js");
7
8
  * @param sdk - The SDK instance.
8
9
  * @param pool - The pool contract.
9
10
  * @param calldata - The calldata to parse.
10
- * @returns The parsed operation.
11
+ * @returns The parsed operation behind `ok`, or the refusal.
11
12
  */
12
13
  function parsePoolOperationCalldata(sdk, pool, calldata) {
13
14
  const parsed = sdk.parseFunctionDataV2(pool.address, calldata);
@@ -16,7 +17,7 @@ function parsePoolOperationCalldata(sdk, pool, calldata) {
16
17
  const underlying = pool.underlying;
17
18
  switch (functionName) {
18
19
  case "deposit":
19
- case "depositWithReferral": return {
20
+ case "depositWithReferral": return require_model_result.sdkOk({
20
21
  operation: "Deposit",
21
22
  pool: pool.address,
22
23
  receiver: rawArgs.receiver,
@@ -26,9 +27,9 @@ function parsePoolOperationCalldata(sdk, pool, calldata) {
26
27
  tokenOut: pool.address,
27
28
  zapper: void 0,
28
29
  referralCode: functionName === "depositWithReferral" ? rawArgs.referralCode : void 0
29
- };
30
+ });
30
31
  case "mint":
31
- case "mintWithReferral": return {
32
+ case "mintWithReferral": return require_model_result.sdkOk({
32
33
  operation: "Mint",
33
34
  pool: pool.address,
34
35
  receiver: rawArgs.receiver,
@@ -38,8 +39,8 @@ function parsePoolOperationCalldata(sdk, pool, calldata) {
38
39
  tokenOut: pool.address,
39
40
  zapper: void 0,
40
41
  referralCode: functionName === "mintWithReferral" ? rawArgs.referralCode : void 0
41
- };
42
- case "withdraw": return {
42
+ });
43
+ case "withdraw": return require_model_result.sdkOk({
43
44
  operation: "Withdraw",
44
45
  pool: pool.address,
45
46
  receiver: rawArgs.receiver,
@@ -49,8 +50,8 @@ function parsePoolOperationCalldata(sdk, pool, calldata) {
49
50
  tokenIn: pool.address,
50
51
  tokenOut: underlying,
51
52
  zapper: void 0
52
- };
53
- case "redeem": return {
53
+ });
54
+ case "redeem": return require_model_result.sdkOk({
54
55
  operation: "Redeem",
55
56
  pool: pool.address,
56
57
  receiver: rawArgs.receiver,
@@ -60,8 +61,13 @@ function parsePoolOperationCalldata(sdk, pool, calldata) {
60
61
  tokenIn: pool.address,
61
62
  tokenOut: underlying,
62
63
  zapper: void 0
63
- };
64
- default: throw new require_preview_parse_errors.UnsupportedPoolFunctionError(pool.address, parsed.functionName);
64
+ });
65
+ default: return require_model_result.sdkErr({
66
+ code: "unsupportedPoolFunction",
67
+ message: `unsupported pool function "${parsed.functionName}" on ${pool.address}`,
68
+ pool: pool.address,
69
+ functionName: parsed.functionName
70
+ });
65
71
  }
66
72
  }
67
73
  //#endregion
@@ -1,4 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_model_result = require("../../model/result.js");
3
+ require("../../model/index.js");
2
4
  const require_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
3
5
  require("../parse/index.js");
4
6
  const require_preview_prerequisites_buildCollateralPrerequisites = require("./buildCollateralPrerequisites.js");
@@ -24,14 +26,15 @@ const require_preview_prerequisites_buildRWAPrerequisites = require("./buildRWAP
24
26
  async function checkPrerequisites(input, options) {
25
27
  const { sdk, sender: wallet } = input;
26
28
  const tx = require_preview_parse_parseOperationCalldata.parseOperationCalldata(input);
29
+ if (require_model_result.isSDKError(tx)) return tx;
27
30
  const ctx = {
28
31
  sdk,
29
32
  wallet,
30
33
  blockNumber: options?.blockNumber,
31
34
  value: input.value ?? 0n
32
35
  };
33
- const prereqs = await buildPrerequisites(tx, ctx);
34
- return Promise.all(prereqs.map((p) => p.verify(ctx)));
36
+ const prereqs = await buildPrerequisites(tx.data, ctx);
37
+ return require_model_result.sdkOk(await Promise.all(prereqs.map((p) => p.verify(ctx))));
35
38
  }
36
39
  /**
37
40
  * Dispatches a parsed operation to the per-operation-family prerequisite