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

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 (49) hide show
  1. package/dist/cjs/model/errors.js +1 -0
  2. package/dist/cjs/model/index.js +1 -0
  3. package/dist/cjs/onchain/accounts/intents/open-strategy.js +1 -1
  4. package/dist/cjs/onchain/positions/PositionsService.js +1 -11
  5. package/dist/cjs/sdk/execute/ExecuteApi.js +4 -4
  6. package/dist/cjs/sdk/index.js +5 -0
  7. package/dist/cjs/sdk/prepare/PrepareApi.js +326 -93
  8. package/dist/cjs/sdk/prepare/errors.js +90 -0
  9. package/dist/cjs/sdk/prepare/index.js +5 -0
  10. package/dist/esm/dev/AccountOpener.js +1 -1
  11. package/dist/esm/dev/withdrawalUtils.js +1 -1
  12. package/dist/esm/model/errors.js +1 -0
  13. package/dist/esm/model/index.js +1 -0
  14. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  15. package/dist/esm/onchain/accounts/intents/open-strategy.js +1 -1
  16. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  17. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  18. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  19. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  20. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  21. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  22. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  23. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  24. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  25. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  26. package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
  27. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  28. package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
  29. package/dist/esm/onchain/positions/PositionsService.js +1 -11
  30. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  31. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  32. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  33. package/dist/esm/sdk/execute/ExecuteApi.js +4 -4
  34. package/dist/esm/sdk/index.js +2 -1
  35. package/dist/esm/sdk/prepare/PrepareApi.js +327 -94
  36. package/dist/esm/sdk/prepare/errors.js +86 -0
  37. package/dist/esm/sdk/prepare/index.js +2 -1
  38. package/dist/types/model/errors.d.ts +74 -0
  39. package/dist/types/model/index.d.ts +2 -1
  40. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +3 -3
  41. package/dist/types/onchain/accounts/intents/types.d.ts +13 -14
  42. package/dist/types/onchain/positions/PositionsService.d.ts +0 -8
  43. package/dist/types/sdk/execute/types.d.ts +6 -6
  44. package/dist/types/sdk/index.d.ts +3 -2
  45. package/dist/types/sdk/prepare/PrepareApi.d.ts +11 -6
  46. package/dist/types/sdk/prepare/errors.d.ts +280 -0
  47. package/dist/types/sdk/prepare/index.d.ts +3 -2
  48. package/dist/types/sdk/prepare/types.d.ts +73 -46
  49. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/sdk/prepare/errors.ts
3
+ /**
4
+ * One sentence per refusal, naming what was ruled out rather than restating the
5
+ * numbers the error already carries.
6
+ *
7
+ * English and loggable, not a string to put on a screen: a form renders the
8
+ * code and the amounts in its own words, see {@link IGearboxError.message}.
9
+ **/
10
+ const MESSAGES = {
11
+ debtOutOfRange: "The debt this request implies is outside the market's band.",
12
+ leverageOutOfRange: "The leverage asked for cannot be expressed as a plan.",
13
+ insufficientSourceBalance: "Neither the account nor the wallet holds enough to fund this request.",
14
+ unsupportedCollateralToken: "This flow does not accept that token.",
15
+ unsupportedTokenPair: "No route exists between these two tokens.",
16
+ noDelayedRoute: "This request cannot be served as a delayed redemption.",
17
+ multipleDelayedWithdrawals: "The source asset has several redemption venues and none was named.",
18
+ withdrawalInProgress: "A redemption of this asset is already in flight on the account.",
19
+ noRecordedIntent: "The claim names no operation to resume.",
20
+ marketPaused: "The market is paused.",
21
+ marketExpired: "The market is past its expiration date.",
22
+ insufficientPoolLiquidity: "The pool cannot lend what this plan draws.",
23
+ quotaLimitReached: "The market takes no more quota for a token this plan holds.",
24
+ forbiddenToken: "This plan would increase the balance of a forbidden token.",
25
+ insufficientCollateral: "The account would end this transaction under-collateralised.",
26
+ poolSunset: "The pool is winding down and takes no more deposits.",
27
+ quotaCountExceeded: "The account would hold more quoted tokens than the facade enables at once.",
28
+ malformedTransaction: "The transaction could not be replayed."
29
+ };
30
+ /**
31
+ * The engine's refusal, as the error the namespace answers with.
32
+ *
33
+ * One place does the lifting, so the two shapes cannot drift: `reason` becomes
34
+ * `code`, the detail is spread onto the error, and the sentence comes from
35
+ * {@link MESSAGES}. A malformed transaction is spelled out rather than spread,
36
+ * because its detail names a `code` and a `message` of its own and they are not
37
+ * the envelope's.
38
+ **/
39
+ function toPrepareError(issue) {
40
+ if (issue.reason === "malformedTransaction") return {
41
+ code: "malformedTransaction",
42
+ message: MESSAGES.malformedTransaction,
43
+ previewCode: issue.detail.code,
44
+ detail: issue.detail.message
45
+ };
46
+ return {
47
+ code: issue.reason,
48
+ message: MESSAGES[issue.reason],
49
+ ...issue.detail
50
+ };
51
+ }
52
+ /**
53
+ * {@inheritDoc NoStrategyTargetCollateralError}
54
+ **/
55
+ function noStrategyTargetCollateral(creditManager) {
56
+ return {
57
+ code: "noStrategyTargetCollateral",
58
+ message: `Credit manager ${creditManager} has no strategy target collateral, and none was named.`,
59
+ creditManager
60
+ };
61
+ }
62
+ /**
63
+ * {@inheritDoc CreditAccountNotFoundError}
64
+ **/
65
+ function creditAccountNotFound(creditAccount) {
66
+ return {
67
+ code: "creditAccountNotFound",
68
+ message: `Credit account not found: ${creditAccount}.`,
69
+ creditAccount
70
+ };
71
+ }
72
+ /**
73
+ * {@inheritDoc UnexpectedFailureError}
74
+ *
75
+ * Takes what was thrown, whatever that is: a `throw` is not obliged to raise an
76
+ * `Error`, and `cause` promises one.
77
+ **/
78
+ function unexpectedFailure(thrown) {
79
+ const cause = thrown instanceof Error ? thrown : new Error(String(thrown));
80
+ return {
81
+ code: "unexpectedFailure",
82
+ message: `The SDK could not prepare this operation: ${cause.message}`,
83
+ cause
84
+ };
85
+ }
86
+ //#endregion
87
+ exports.creditAccountNotFound = creditAccountNotFound;
88
+ exports.noStrategyTargetCollateral = noStrategyTargetCollateral;
89
+ exports.toPrepareError = toPrepareError;
90
+ exports.unexpectedFailure = unexpectedFailure;
@@ -1,8 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_validation_refusal = require("../../onchain/validation/refusal.js");
3
+ const require_sdk_prepare_errors = require("./errors.js");
3
4
  const require_sdk_prepare_PrepareApi = require("./PrepareApi.js");
4
5
  require("./types.js");
5
6
  exports.IntentPreviewError = require_onchain_validation_refusal.IntentPreviewError;
6
7
  exports.PrepareApi = require_sdk_prepare_PrepareApi.PrepareApi;
8
+ exports.creditAccountNotFound = require_sdk_prepare_errors.creditAccountNotFound;
9
+ exports.noStrategyTargetCollateral = require_sdk_prepare_errors.noStrategyTargetCollateral;
7
10
  exports.raise = require_onchain_validation_refusal.raise;
8
11
  exports.refuse = require_onchain_validation_refusal.refuse;
12
+ exports.toPrepareError = require_sdk_prepare_errors.toPrepareError;
13
+ exports.unexpectedFailure = require_sdk_prepare_errors.unexpectedFailure;
@@ -1,5 +1,5 @@
1
- import { iCreditFacadeV310Abi } from "../abi/310/generated.js";
2
1
  import { ierc20Abi } from "../abi/iERC20.js";
2
+ import { iCreditFacadeV310Abi } from "../abi/310/generated.js";
3
3
  import { AddressMap } from "../onchain/utils/AddressMap.js";
4
4
  import { AddressSet } from "../onchain/utils/AddressSet.js";
5
5
  import { AssetsMap } from "../onchain/utils/AssetsMap.js";
@@ -1,6 +1,6 @@
1
+ import { iWithdrawalCompressorV313Abi } from "../abi/IWithdrawalCompressorV313.js";
1
2
  import { getNetworkType } from "../onchain/chain/chains.js";
2
3
  import { getWithdrawalCompressorAddress } from "../onchain/accounts/withdrawal-compressor/addresses.js";
3
- import { iWithdrawalCompressorV313Abi } from "../abi/IWithdrawalCompressorV313.js";
4
4
  import "../onchain/index.js";
5
5
  import { iMidasDataFeedAbi, iMidasRedemptionVaultAbi, midasGatewayAbi, midasRedeemerAbi, midasRedemptionVaultPhantomTokenAbi, securitizeRedeemerAbi, securitizeRedemptionGatewayAbi, securitizeRedemptionPhantomTokenAbi } from "./withdrawalAbi.js";
6
6
  import { erc20Abi, hexToString, parseAbi, parseEther } from "viem";
@@ -0,0 +1 @@
1
+ export {};
@@ -5,6 +5,7 @@ import { chartBundleSchemaFor, chartDenominationSchema, chartMetricSchema, chart
5
5
  import "./curators.js";
6
6
  import { curatorNameSchema, curatorSchema } from "./curators.schema.js";
7
7
  import "./delayed-intents.js";
8
+ import "./errors.js";
8
9
  import { FILTER_ALL, isFilterSet } from "./filters.js";
9
10
  import { booleanParamSchema, encodeFlag, filterAllSchema, filterable } from "./filters.schema.js";
10
11
  import { matchesLiquidatableAccountFilter } from "./liquidations.js";
@@ -1,3 +1,5 @@
1
+ import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
2
+ import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
1
3
  import { AP_REWARDS_COMPRESSOR } from "../constants/address-provider.js";
2
4
  import { ADDRESS_0X0 } from "../constants/addresses.js";
3
5
  import { MAX_UINT256 } from "../constants/math.js";
@@ -8,8 +10,6 @@ import "../base/index.js";
8
10
  import { AccountBotsService } from "./bots/AccountBotsService.js";
9
11
  import "./bots/index.js";
10
12
  import { rewardsCompressorAbi } from "../../abi/compressors/rewardsCompressor.js";
11
- import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
12
- import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
13
13
  import { expectedBalanceDeltas } from "../market/credit/expectedBalanceDeltas.js";
14
14
  import "../market/index.js";
15
15
  import { CreditAccountCompressor } from "./credit-account-compressor/CreditAccountCompressor.js";
@@ -10,7 +10,7 @@ import "./utils/index.js";
10
10
  const NO_ACCOUNT = "0x0000000000000000000000000000000000000000";
11
11
  /**
12
12
  * Builds the state opening a leveraged position out of wallet collateral would
13
- * land in.
13
+ * reach.
14
14
  *
15
15
  * Debt follows from the target leverage against the supplied margin
16
16
  * (`debt = margin * (L - 1)`, `totalValue = margin * L`); the collateral and the
@@ -1,3 +1,4 @@
1
+ import { iLiquidationCompressorV313Abi } from "../../../abi/ILiquidationCompressorV313.js";
1
2
  import { AddressSet } from "../../utils/AddressSet.js";
2
3
  import { bytes32ToString } from "../../utils/bytes32ToString.js";
3
4
  import { ADDRESS_0X0 } from "../../constants/addresses.js";
@@ -19,7 +20,6 @@ import { SecuritizeLiquidatorContract } from "../../market/rwa/securitize/Securi
19
20
  import "../../market/rwa/securitize/index.js";
20
21
  import "../../market/index.js";
21
22
  import { LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS } from "./constants.js";
22
- import { iLiquidationCompressorV313Abi } from "../../../abi/ILiquidationCompressorV313.js";
23
23
  import { skipLiquidatableAccount } from "./skipLiquidatableAccount.js";
24
24
  //#region src/onchain/accounts/liquidations/LiquidationsService.ts
25
25
  /**
@@ -1,7 +1,7 @@
1
+ import { iRedemptionLoggerV310Abi } from "../../../abi/iRedemptionLoggerV310.js";
1
2
  import { BaseContract } from "../../base/BaseContract.js";
2
3
  import "../../base/index.js";
3
4
  import { decodeDelayedIntent } from "./intent-codec.js";
4
- import { iRedemptionLoggerV310Abi } from "../../../abi/iRedemptionLoggerV310.js";
5
5
  import { InvalidDelayedIntentError } from "./errors.js";
6
6
  //#region src/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.ts
7
7
  const abi = iRedemptionLoggerV310Abi;
@@ -1,5 +1,5 @@
1
- import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
2
1
  import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
3
  //#region src/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.ts
4
4
  const abi = iWithdrawalCompressorV310Abi;
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
2
1
  import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
2
+ import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
3
3
  //#region src/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.ts
4
4
  const abi = iWithdrawalCompressorV311Abi;
5
5
  /**
@@ -1,6 +1,6 @@
1
+ import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
1
2
  import { encodeDelayedIntent } from "./intent-codec.js";
2
3
  import { AbstractWithdrawalCompressorContract, iCreditAccountAbi, toClaimableWithdrawal, toPendingWithdrawal, toRequestableWithdrawal } from "./AbstractWithdrawalCompressorContract.js";
3
- import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
4
4
  import { toWithdrawalStatus } from "./types.js";
5
5
  //#region src/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.ts
6
6
  const abi = iWithdrawalCompressorV313Abi;
@@ -1,12 +1,12 @@
1
+ import { iExpirableAbi } from "../../abi/iExpirable.js";
2
+ import { iStateSerializerAbi } from "../../abi/iStateSerializer.js";
3
+ import { iVersionAbi } from "../../abi/iVersion.js";
1
4
  import { AddressMap } from "../utils/AddressMap.js";
2
5
  import { AddressSet } from "../utils/AddressSet.js";
3
6
  import { bytes32ToString } from "../utils/bytes32ToString.js";
4
7
  import { getAssetType } from "../chain/chains.js";
5
8
  import { formatBN } from "../utils/formatter.js";
6
9
  import "../utils/index.js";
7
- import { iExpirableAbi } from "../../abi/iExpirable.js";
8
- import { iStateSerializerAbi } from "../../abi/iStateSerializer.js";
9
- import { iVersionAbi } from "../../abi/iVersion.js";
10
10
  import { SdkRWADataNotLoadedError } from "../core/errors.js";
11
11
  import { executeMulticallBatches } from "../utils/viem/executeMulticallBatches.js";
12
12
  //#region src/onchain/base/TokensMeta.ts
@@ -1,8 +1,8 @@
1
+ import { iVersionAbi } from "../../abi/iVersion.js";
1
2
  import { AP_MARKET_COMPRESSOR, AP_PRICE_FEED_COMPRESSOR } from "../constants/address-provider.js";
2
3
  import { isV310 } from "../constants/versions.js";
3
4
  import "../constants/index.js";
4
5
  import { hexEq } from "../utils/hex.js";
5
- import { iVersionAbi } from "../../abi/iVersion.js";
6
6
  import { AddressProviderV310Contract } from "./AddressProviderV310Contract.js";
7
7
  //#region src/onchain/core/createAddressProvider.ts
8
8
  const OVERRIDE_ADDRESSES = { Mainnet: {
@@ -1,5 +1,5 @@
1
- import { AbstractAdapterContract } from "./AbstractAdapter.js";
2
1
  import { accountMigratorAbi } from "../../../../abi/AccountMigrator.js";
2
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
3
  //#region src/onchain/market/adapters/contracts/AccountMigratorAdapterContract.ts
4
4
  const abi = accountMigratorAbi;
5
5
  const protocolAbi = accountMigratorAbi;
@@ -1,6 +1,6 @@
1
+ import { ierc4626AdapterAbi } from "../../../../abi/ierc4626Adapter.js";
1
2
  import { MissingSerializedParamsError } from "../../../base/errors.js";
2
3
  import "../../../base/index.js";
3
- import { ierc4626AdapterAbi } from "../../../../abi/ierc4626Adapter.js";
4
4
  import { iERC4626Abi } from "../abi/targetContractAbi.js";
5
5
  import { fnSigToName, swapFromTransfers } from "../transferHelpers.js";
6
6
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1,7 +1,7 @@
1
+ import { iPausableAbi } from "../../../abi/iPausable.js";
1
2
  import { iCreditFacadeMulticallV310Abi, iCreditFacadeV310Abi } from "../../../abi/310/generated.js";
2
3
  import { BaseContract } from "../../base/BaseContract.js";
3
4
  import "../../base/index.js";
4
- import { iPausableAbi } from "../../../abi/iPausable.js";
5
5
  //#region src/onchain/market/credit/CreditFacadeV310BaseContract.ts
6
6
  const abi = [
7
7
  ...iCreditFacadeV310Abi,
@@ -1,3 +1,4 @@
1
+ import { iPausableAbi } from "../../../abi/iPausable.js";
1
2
  import { iPoolV310Abi } from "../../../abi/310/generated.js";
2
3
  import { AddressMap } from "../../utils/AddressMap.js";
3
4
  import { RAY } from "../../constants/math.js";
@@ -7,7 +8,6 @@ import "../../utils/index.js";
7
8
  import { SdkRWADataNotLoadedError } from "../../core/errors.js";
8
9
  import { BaseContract } from "../../base/BaseContract.js";
9
10
  import "../../base/index.js";
10
- import { iPausableAbi } from "../../../abi/iPausable.js";
11
11
  //#region src/onchain/market/pool/PoolV310Contract.ts
12
12
  const abi = [...iPoolV310Abi, ...iPausableAbi];
13
13
  var PoolV310Contract = class extends BaseContract {
@@ -1,5 +1,5 @@
1
- import { ZapperContract } from "./ZapperContract.js";
2
1
  import { iethZapperAbi } from "../../../abi/iETHZapper.js";
2
+ import { ZapperContract } from "./ZapperContract.js";
3
3
  //#region src/onchain/market/zapper/IETHZapperContract.ts
4
4
  const abi = iethZapperAbi;
5
5
  var IETHZapperContract = class extends ZapperContract {
@@ -1,6 +1,6 @@
1
+ import { iZapperAbi } from "../../../abi/iZapper.js";
1
2
  import { BaseContract } from "../../base/BaseContract.js";
2
3
  import "../../base/index.js";
3
- import { iZapperAbi } from "../../../abi/iZapper.js";
4
4
  import { UnsupportedZapperFunctionError } from "./errors.js";
5
5
  //#region src/onchain/market/zapper/ZapperContract.ts
6
6
  /**
@@ -68,14 +68,6 @@ var PositionsService = class extends SDKConstruct {
68
68
  }
69
69
  /**
70
70
  * Returns delayed withdrawals of a strategy position
71
- *
72
- * Empty when this chain has no withdrawal compressor, or when the account's
73
- * credit manager has no withdrawal config — no config, no withdrawal, and
74
- * nothing to ask the chain about.
75
- *
76
- * The manager comes from the caller. It used to be read off the account
77
- * here, which cost an uncached read of the whole account to learn one field
78
- * every caller already knows.
79
71
  **/
80
72
  async getCurrentWithdrawals(props) {
81
73
  const { creditAccount, creditManager, blockNumber } = props;
@@ -84,9 +76,7 @@ var PositionsService = class extends SDKConstruct {
84
76
  pending: []
85
77
  };
86
78
  const compressor = this.sdk.withdrawalCompressor;
87
- if (!compressor) return empty;
88
- await compressor.loadWithdrawableAssets();
89
- if (compressor.getWithdrawableAssets(creditManager).length === 0) return empty;
79
+ if (!compressor?.getWithdrawableAssets(creditManager).length) return empty;
90
80
  const { priceOracle } = this.sdk.marketRegister.findByCreditManager(creditManager);
91
81
  return this.#toPositionWithdrawals(await compressor.getCurrentWithdrawals(creditAccount, blockNumber), priceOracle);
92
82
  }
@@ -1,6 +1,6 @@
1
1
  import { errorAbis } from "../../../abi/errors.js";
2
- import { generateCastTraceCall } from "./cast.js";
3
2
  import { iUpdatablePriceFeedAbi } from "../../../abi/iUpdatablePriceFeed.js";
3
+ import { generateCastTraceCall } from "./cast.js";
4
4
  import { simulateMulticall } from "./simulateMulticall.js";
5
5
  import { BaseError, CallExecutionError, ContractFunctionRevertedError, decodeFunctionData, decodeFunctionResult, encodeFunctionData, parseAbi } from "viem";
6
6
  import { getAction, parseAccount } from "viem/utils";
@@ -1,5 +1,5 @@
1
- import { iPoolV310Abi } from "../../abi/310/generated.js";
2
1
  import { iZapperAbi } from "../../abi/iZapper.js";
2
+ import { iPoolV310Abi } from "../../abi/310/generated.js";
3
3
  import { asPreviewSimulationError } from "./errors.js";
4
4
  //#region src/preview/simulate/simulatePoolOperation.ts
5
5
  function previewRead(operation) {
@@ -1,5 +1,5 @@
1
- import { iCreditFacadeV310Abi } from "../../abi/310/generated.js";
2
1
  import { ierc20Abi } from "../../abi/iERC20.js";
2
+ import { iCreditFacadeV310Abi } from "../../abi/310/generated.js";
3
3
  import { AddressMap } from "../../onchain/utils/AddressMap.js";
4
4
  import "../../onchain/index.js";
5
5
  import { UnexpectedFacadeEventOrderError } from "./errors.js";
@@ -11,7 +11,7 @@ var ExecuteApi = class {
11
11
  * {@inheritDoc IOpportunitiesExecute.buildTx}
12
12
  **/
13
13
  async buildTx(request) {
14
- if (!request.sim.ok) throw new Error(`cannot build a transaction from a failed ${request.kind} preparation`);
14
+ if (!request.sim.success) throw new Error(`cannot build a transaction from a failed ${request.kind} preparation`);
15
15
  const sdk = this.#chainOf(request.chainId);
16
16
  switch (request.kind) {
17
17
  case "pool": return poolTx(sdk, request);
@@ -22,7 +22,7 @@ var ExecuteApi = class {
22
22
  };
23
23
  function poolTx(sdk, request) {
24
24
  const { pool, wallet, sim } = request;
25
- const { tokenIn, tokenOut } = sim.state;
25
+ const { tokenIn, tokenOut } = sim.data.state;
26
26
  if (request.op === "deposit") {
27
27
  const meta = sdk.pools.getDepositMetadata(pool, tokenIn.token.address, tokenOut.token.address);
28
28
  const result = sdk.pools.addLiquidity({
@@ -49,7 +49,7 @@ function poolTx(sdk, request) {
49
49
  }
50
50
  async function openTx(sdk, request) {
51
51
  const { creditManager, wallet, collateral, ethAmount, sim } = request;
52
- const { state } = sim;
52
+ const { state } = sim.data;
53
53
  return sdk.accounts.openCA({
54
54
  creditManager,
55
55
  to: wallet,
@@ -82,7 +82,7 @@ async function openRwaOptions(sdk, request) {
82
82
  async function accountTx(sdk, request) {
83
83
  const account = await sdk.accounts.getCreditAccountData(request.creditAccount);
84
84
  if (!account) throw new Error(`credit account not found: ${request.creditAccount}`);
85
- return sdk.accounts.executeCaUpdate(account, request.sim.calls, { ethAmount: nativeValue(request.sim.operations) });
85
+ return sdk.accounts.executeCaUpdate(account, request.sim.data.calls, { ethAmount: nativeValue(request.sim.data.operations) });
86
86
  }
87
87
  /**
88
88
  * The coin the preparation asked the wallet for, which the facade wraps out of
@@ -12,6 +12,7 @@ import { LiquidationsNamespace } from "./liquidations/LiquidationsNamespace.js";
12
12
  import "./liquidations/index.js";
13
13
  import { ExecuteApi } from "./execute/ExecuteApi.js";
14
14
  import "./execute/index.js";
15
+ import { creditAccountNotFound, noStrategyTargetCollateral, toPrepareError, unexpectedFailure } from "./prepare/errors.js";
15
16
  import { PrepareApi } from "./prepare/PrepareApi.js";
16
17
  import "./prepare/index.js";
17
18
  import { filterResponse } from "./utils/filterResponse.js";
@@ -25,4 +26,4 @@ import { PreviewNamespace } from "./preview/PreviewNamespace.js";
25
26
  import "./preview/index.js";
26
27
  import { DEFAULT_MAX_STATE_AGE, GearboxSDK } from "./GearboxSDK.js";
27
28
  import "./types.js";
28
- export { AbstractNamespace, AllSourcesFailedError, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, ExecuteApi, GearboxSDK, IntentPreviewError, LiquidationsNamespace, MissingSourceError, NoSourceServedError, OpportunitiesNamespace, PositionsNamespace, PrepareApi, PreviewNamespace, SourceChainMismatchError, SourceUnavailableError, assertSameChains, everyChainFailed, filterResponse, mergeChainList, mergeChainOne, raise, refuse };
29
+ export { AbstractNamespace, AllSourcesFailedError, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, ExecuteApi, GearboxSDK, IntentPreviewError, LiquidationsNamespace, MissingSourceError, NoSourceServedError, OpportunitiesNamespace, PositionsNamespace, PrepareApi, PreviewNamespace, SourceChainMismatchError, SourceUnavailableError, assertSameChains, creditAccountNotFound, everyChainFailed, filterResponse, mergeChainList, mergeChainOne, noStrategyTargetCollateral, raise, refuse, toPrepareError, unexpectedFailure };