@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.
- package/dist/cjs/model/index.js +4 -0
- package/dist/cjs/model/result.js +27 -0
- package/dist/cjs/onchain/accounts/index.js +0 -2
- package/dist/cjs/onchain/accounts/intents/tail.js +1 -1
- package/dist/cjs/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +13 -7
- package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -19
- package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +1 -2
- package/dist/cjs/onchain/index.js +0 -5
- package/dist/cjs/onchain/market/index.js +0 -2
- package/dist/cjs/onchain/market/zapper/ZapperContract.js +15 -8
- package/dist/cjs/onchain/market/zapper/errors.js +0 -17
- package/dist/cjs/onchain/market/zapper/index.js +1 -2
- package/dist/cjs/onchain/validation/checks.js +1 -1
- package/dist/cjs/onchain/validation/index.js +0 -1
- package/dist/cjs/preview/index.js +2 -8
- package/dist/cjs/preview/parse/errors.js +0 -32
- package/dist/cjs/preview/parse/index.js +1 -5
- package/dist/cjs/preview/parse/parseOperationCalldata.js +28 -17
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +17 -11
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +5 -2
- package/dist/cjs/preview/preview/detectDelayedClaim.js +9 -7
- package/dist/cjs/preview/preview/detectDelayedOperation.js +11 -4
- package/dist/cjs/preview/preview/errors.js +0 -16
- package/dist/cjs/preview/preview/index.js +1 -2
- package/dist/cjs/preview/preview/previewOperation.js +30 -11
- package/dist/cjs/preview/preview/previewPoolPositionOperation.js +7 -3
- package/dist/cjs/preview/simulate/errors.js +15 -24
- package/dist/cjs/preview/simulate/index.js +1 -1
- package/dist/cjs/preview/simulate/simulateOperation.js +6 -4
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +6 -3
- package/dist/cjs/sdk/execute/ExecuteApi.js +1 -1
- package/dist/cjs/sdk/index.js +1 -1
- package/dist/cjs/sdk/prepare/PrepareApi.js +198 -278
- package/dist/cjs/sdk/prepare/errors.js +5 -2
- package/dist/cjs/sdk/prepare/index.js +1 -1
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/model/index.js +2 -1
- package/dist/esm/model/result.js +24 -0
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/onchain/accounts/index.js +1 -2
- package/dist/esm/onchain/accounts/intents/tail.js +1 -1
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +14 -8
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +1 -19
- package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +2 -2
- package/dist/esm/onchain/base/TokensMeta.js +3 -3
- package/dist/esm/onchain/core/createAddressProvider.js +1 -1
- package/dist/esm/onchain/index.js +2 -4
- package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/onchain/market/index.js +1 -2
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/ZapperContract.js +16 -9
- package/dist/esm/onchain/market/zapper/errors.js +1 -17
- package/dist/esm/onchain/market/zapper/index.js +2 -2
- package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/esm/onchain/validation/checks.js +1 -1
- package/dist/esm/onchain/validation/index.js +2 -2
- package/dist/esm/preview/index.js +3 -5
- package/dist/esm/preview/parse/errors.js +1 -30
- package/dist/esm/preview/parse/index.js +2 -3
- package/dist/esm/preview/parse/parseOperationCalldata.js +28 -17
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +17 -11
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +5 -2
- package/dist/esm/preview/preview/detectDelayedClaim.js +9 -7
- package/dist/esm/preview/preview/detectDelayedOperation.js +11 -4
- package/dist/esm/preview/preview/errors.js +1 -16
- package/dist/esm/preview/preview/index.js +2 -2
- package/dist/esm/preview/preview/previewOperation.js +30 -11
- package/dist/esm/preview/preview/previewPoolPositionOperation.js +7 -3
- package/dist/esm/preview/simulate/errors.js +16 -24
- package/dist/esm/preview/simulate/index.js +2 -2
- package/dist/esm/preview/simulate/simulateOperation.js +6 -4
- package/dist/esm/preview/simulate/simulatePoolOperation.js +7 -4
- package/dist/esm/preview/trace/extractTransfers.js +1 -1
- package/dist/esm/sdk/execute/ExecuteApi.js +1 -1
- package/dist/esm/sdk/index.js +2 -2
- package/dist/esm/sdk/prepare/PrepareApi.js +199 -279
- package/dist/esm/sdk/prepare/errors.js +5 -2
- package/dist/esm/sdk/prepare/index.js +2 -2
- package/dist/types/model/errors.d.ts +4 -32
- package/dist/types/model/index.d.ts +3 -2
- package/dist/types/model/result.d.ts +48 -0
- package/dist/types/onchain/accounts/index.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +6 -4
- package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +9 -5
- package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +6 -4
- package/dist/types/onchain/index.d.ts +4 -4
- package/dist/types/onchain/market/index.d.ts +1 -1
- package/dist/types/onchain/market/zapper/ZapperContract.d.ts +7 -3
- package/dist/types/onchain/market/zapper/errors.d.ts +11 -6
- package/dist/types/onchain/market/zapper/index.d.ts +1 -1
- package/dist/types/onchain/market/zapper/types.d.ts +4 -1
- package/dist/types/onchain/validation/checks.d.ts +1 -1
- package/dist/types/onchain/validation/index.d.ts +2 -2
- package/dist/types/preview/index.d.ts +5 -3
- package/dist/types/preview/parse/errors.d.ts +19 -12
- package/dist/types/preview/parse/index.d.ts +1 -1
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -1
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +5 -2
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +6 -1
- package/dist/types/preview/preview/detectDelayedClaim.d.ts +7 -6
- package/dist/types/preview/preview/detectDelayedOperation.d.ts +3 -1
- package/dist/types/preview/preview/errors.d.ts +8 -5
- package/dist/types/preview/preview/index.d.ts +2 -2
- package/dist/types/preview/preview/previewOperation.d.ts +21 -2
- package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +3 -1
- package/dist/types/preview/simulate/errors.d.ts +12 -8
- package/dist/types/preview/simulate/index.d.ts +2 -2
- package/dist/types/preview/simulate/simulateOperation.d.ts +4 -1
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +4 -1
- package/dist/types/sdk/execute/types.d.ts +6 -11
- package/dist/types/sdk/index.d.ts +3 -3
- package/dist/types/sdk/prepare/PrepareApi.d.ts +29 -26
- package/dist/types/sdk/prepare/errors.d.ts +57 -20
- package/dist/types/sdk/prepare/index.d.ts +3 -3
- package/dist/types/sdk/prepare/types.d.ts +73 -74
- package/dist/types/sdk/preview/PreviewNamespace.d.ts +4 -1
- package/dist/types/sdk/preview/types.d.ts +7 -3
- package/dist/types/sdk/types.d.ts +1 -3
- package/package.json +11 -2
package/dist/cjs/model/index.js
CHANGED
|
@@ -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
|
|
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
|
|
37
|
-
*
|
|
38
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
24
|
-
if (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|