@gearbox-protocol/sdk 14.12.0-next.69 → 14.12.0-next.70
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/common-utils/charts/credit-session.js +0 -1
- package/dist/cjs/common-utils/index.js +1 -1
- package/dist/cjs/common-utils/utils/creditAccount/index.js +1 -1
- package/dist/cjs/common-utils/utils/creditAccount/quota-utils.js +0 -1
- package/dist/cjs/common-utils/utils/index.js +1 -1
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +81 -66
- package/dist/cjs/sdk/accounts/index.js +2 -0
- package/dist/cjs/sdk/accounts/intents/index.js +388 -0
- package/dist/cjs/sdk/accounts/intents/intents/index.js +14 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +121 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.fixtures.js +108 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.js +51 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +130 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +83 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +117 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +95 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/index.js +13 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +138 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +161 -0
- package/dist/cjs/sdk/accounts/intents/operations/add-collateral/index.js +17 -0
- package/dist/cjs/sdk/accounts/intents/operations/claim-delayed/index.js +54 -0
- package/dist/cjs/sdk/accounts/intents/operations/close-credit-account/index.js +26 -0
- package/dist/cjs/sdk/accounts/intents/operations/decrease-debt/index.js +12 -0
- package/dist/cjs/sdk/accounts/intents/operations/increase-debt/index.js +12 -0
- package/dist/cjs/sdk/accounts/intents/operations/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/operations/quota-update/index.js +22 -0
- package/dist/cjs/sdk/accounts/intents/operations/repay-credit-account/index.js +22 -0
- package/dist/cjs/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +18 -0
- package/dist/cjs/sdk/accounts/intents/operations/swap/index.js +18 -0
- package/dist/cjs/sdk/accounts/intents/operations/types.js +1 -0
- package/dist/cjs/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/operations/withdraw-collateral/index.js +43 -0
- package/dist/cjs/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/quoters/close.js +58 -0
- package/dist/cjs/sdk/accounts/intents/quoters/index.js +7 -0
- package/dist/cjs/sdk/accounts/intents/quoters/swap.js +79 -0
- package/dist/cjs/sdk/accounts/intents/testing/expect.js +167 -0
- package/dist/cjs/sdk/accounts/intents/testing/resume.js +172 -0
- package/dist/cjs/sdk/accounts/intents/testing/sdk-mock.js +179 -0
- package/dist/cjs/sdk/accounts/intents/types.js +1 -0
- package/dist/cjs/sdk/accounts/intents/utils/assemble-operation-calls.js +7 -0
- package/dist/cjs/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +13 -0
- package/dist/cjs/sdk/accounts/intents/utils/common.js +43 -0
- package/dist/cjs/sdk/accounts/intents/utils/convert-amount.js +37 -0
- package/dist/cjs/sdk/accounts/intents/utils/index.js +19 -0
- package/dist/cjs/sdk/accounts/intents/utils/quotas-for-update.js +122 -0
- package/dist/cjs/sdk/accounts/intents/utils/simulate-adjust-state.js +39 -0
- package/dist/cjs/sdk/accounts/intents/utils/simulate-assets.js +69 -0
- package/dist/cjs/sdk/accounts/intents/utils/with-quota-update.js +13 -0
- package/dist/cjs/sdk/index.js +2 -0
- package/dist/esm/common-utils/charts/credit-session.js +0 -1
- package/dist/esm/common-utils/index.js +1 -1
- package/dist/esm/common-utils/utils/creditAccount/index.js +1 -1
- package/dist/esm/common-utils/utils/creditAccount/quota-utils.js +0 -1
- package/dist/esm/common-utils/utils/index.js +1 -1
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
- package/dist/esm/preview/trace/extractTransfers.js +1 -1
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +83 -68
- package/dist/esm/sdk/accounts/index.js +2 -1
- package/dist/esm/sdk/accounts/intents/index.js +387 -0
- package/dist/esm/sdk/accounts/intents/intents/index.js +8 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +107 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.fixtures.js +94 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.js +50 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +114 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +82 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +110 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +88 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/index.js +7 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +121 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +160 -0
- package/dist/esm/sdk/accounts/intents/operations/add-collateral/index.js +16 -0
- package/dist/esm/sdk/accounts/intents/operations/claim-delayed/index.js +52 -0
- package/dist/esm/sdk/accounts/intents/operations/close-credit-account/index.js +25 -0
- package/dist/esm/sdk/accounts/intents/operations/decrease-debt/index.js +11 -0
- package/dist/esm/sdk/accounts/intents/operations/increase-debt/index.js +11 -0
- package/dist/esm/sdk/accounts/intents/operations/index.js +14 -0
- package/dist/esm/sdk/accounts/intents/operations/quota-update/index.js +21 -0
- package/dist/esm/sdk/accounts/intents/operations/repay-credit-account/index.js +21 -0
- package/dist/esm/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +17 -0
- package/dist/esm/sdk/accounts/intents/operations/swap/index.js +17 -0
- package/dist/esm/sdk/accounts/intents/operations/types.js +1 -0
- package/dist/esm/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +26 -0
- package/dist/esm/sdk/accounts/intents/operations/withdraw-collateral/index.js +42 -0
- package/dist/esm/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +26 -0
- package/dist/esm/sdk/accounts/intents/quoters/close.js +56 -0
- package/dist/esm/sdk/accounts/intents/quoters/index.js +3 -0
- package/dist/esm/sdk/accounts/intents/quoters/swap.js +77 -0
- package/dist/esm/sdk/accounts/intents/testing/expect.js +162 -0
- package/dist/esm/sdk/accounts/intents/testing/resume.js +157 -0
- package/dist/esm/sdk/accounts/intents/testing/sdk-mock.js +172 -0
- package/dist/esm/sdk/accounts/intents/types.js +1 -0
- package/dist/esm/sdk/accounts/intents/utils/assemble-operation-calls.js +6 -0
- package/dist/esm/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +12 -0
- package/dist/esm/sdk/accounts/intents/utils/common.js +40 -0
- package/dist/esm/sdk/accounts/intents/utils/convert-amount.js +36 -0
- package/dist/esm/sdk/accounts/intents/utils/index.js +9 -0
- package/dist/esm/sdk/accounts/intents/utils/quotas-for-update.js +121 -0
- package/dist/esm/sdk/accounts/intents/utils/simulate-adjust-state.js +38 -0
- package/dist/esm/sdk/accounts/intents/utils/simulate-assets.js +68 -0
- package/dist/esm/sdk/accounts/intents/utils/with-quota-update.js +12 -0
- package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +2 -2
- package/dist/esm/sdk/chain/detectNetwork.js +1 -1
- package/dist/esm/sdk/core/createAddressProvider.js +1 -1
- package/dist/esm/sdk/index.js +2 -1
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/sdk/pools/PoolService.js +1 -1
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/types/common-utils/index.d.ts +19 -19
- package/dist/types/common-utils/static/index.d.ts +1 -1
- package/dist/types/common-utils/utils/apy/index.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/calc-overall-apy.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +1 -1
- package/dist/types/common-utils/utils/creditAccount/quota-utils.d.ts +0 -1
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +1 -1
- package/dist/types/common-utils/utils/index.d.ts +3 -3
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/types.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
- package/dist/types/plugins/apy/ApyPlugin.d.ts +1 -1
- package/dist/types/plugins/apy/pool-apy-utils.d.ts +1 -1
- package/dist/types/plugins/apy/strategy-data-source.d.ts +1 -1
- package/dist/types/plugins/apy/types.d.ts +1 -1
- package/dist/types/plugins/remote-configs/CustomConfigSource.d.ts +1 -1
- package/dist/types/plugins/remote-configs/RemoteConfigSource.d.ts +1 -1
- package/dist/types/plugins/remote-configs/RemoteConfigsPlugin.d.ts +1 -1
- package/dist/types/plugins/remote-configs/index.d.ts +1 -1
- package/dist/types/plugins/remote-configs/types.d.ts +1 -1
- package/dist/types/rewards/rewards/extra-apy.d.ts +1 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +30 -10
- package/dist/types/sdk/accounts/index.d.ts +2 -1
- package/dist/types/sdk/accounts/intents/index.d.ts +22 -0
- package/dist/types/sdk/accounts/intents/intents/index.d.ts +8 -0
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.d.ts +38 -0
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.d.ts +26 -0
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.fixtures.d.ts +63 -0
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.d.ts +26 -0
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.d.ts +86 -0
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.d.ts +48 -0
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.d.ts +46 -0
- package/dist/types/sdk/accounts/intents/intents/resume/index.d.ts +7 -0
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.d.ts +33 -0
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.d.ts +68 -0
- package/dist/types/sdk/accounts/intents/operations/add-collateral/index.d.ts +23 -0
- package/dist/types/sdk/accounts/intents/operations/claim-delayed/index.d.ts +55 -0
- package/dist/types/sdk/accounts/intents/operations/close-credit-account/index.d.ts +22 -0
- package/dist/types/sdk/accounts/intents/operations/decrease-debt/index.d.ts +18 -0
- package/dist/types/sdk/accounts/intents/operations/increase-debt/index.d.ts +18 -0
- package/dist/types/sdk/accounts/intents/operations/index.d.ts +14 -0
- package/dist/types/sdk/accounts/intents/operations/quota-update/index.d.ts +24 -0
- package/dist/types/sdk/accounts/intents/operations/repay-credit-account/index.d.ts +32 -0
- package/dist/types/sdk/accounts/intents/operations/start-delayed-withdrawal/index.d.ts +23 -0
- package/dist/types/sdk/accounts/intents/operations/swap/index.d.ts +28 -0
- package/dist/types/sdk/accounts/intents/operations/types.d.ts +21 -0
- package/dist/types/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.d.ts +30 -0
- package/dist/types/sdk/accounts/intents/operations/withdraw-collateral/index.d.ts +36 -0
- package/dist/types/sdk/accounts/intents/operations/wrap-rwa-collateral/index.d.ts +30 -0
- package/dist/types/sdk/accounts/intents/quoters/close.d.ts +43 -0
- package/dist/types/sdk/accounts/intents/quoters/index.d.ts +3 -0
- package/dist/types/sdk/accounts/intents/quoters/swap.d.ts +43 -0
- package/dist/types/sdk/accounts/intents/testing/expect.d.ts +52 -0
- package/dist/types/sdk/accounts/intents/testing/resume.d.ts +84 -0
- package/dist/types/sdk/accounts/intents/testing/sdk-mock.d.ts +90 -0
- package/dist/types/sdk/accounts/intents/types.d.ts +75 -0
- package/dist/types/sdk/accounts/intents/utils/assemble-operation-calls.d.ts +10 -0
- package/dist/types/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.d.ts +17 -0
- package/dist/types/sdk/accounts/intents/utils/common.d.ts +19 -0
- package/dist/types/sdk/accounts/intents/utils/convert-amount.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/utils/index.d.ts +9 -0
- package/dist/types/sdk/accounts/intents/utils/quotas-for-update.d.ts +35 -0
- package/dist/types/sdk/accounts/intents/utils/simulate-adjust-state.d.ts +19 -0
- package/dist/types/sdk/accounts/intents/utils/simulate-assets.d.ts +21 -0
- package/dist/types/sdk/accounts/intents/utils/with-quota-update.d.ts +16 -0
- package/dist/types/sdk/accounts/types.d.ts +20 -0
- package/dist/types/sdk/index.d.ts +2 -1
- package/package.json +1 -1
package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { MOCK_CLAIM_CALL } from "../../../testing/sdk-mock.js";
|
|
2
|
+
import { ANY, CREDIT_ACCOUNT, CREDIT_FACADE, CREDIT_MANAGER, RWA_ASSET, UND, buildResumeSdk } from "../../../testing/resume.js";
|
|
3
|
+
//#region src/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.ts
|
|
4
|
+
/**
|
|
5
|
+
* Resume decrease-leverage fixtures, ported from intent-calculator
|
|
6
|
+
* `decreaseLeverage.flowFixtures.ts` (resume cases only).
|
|
7
|
+
*/
|
|
8
|
+
/** Repay for L0 → L1_FOUR with fixed collateral. */
|
|
9
|
+
const DECREASE_REPAY = 1000000000000n;
|
|
10
|
+
/** CA ANY spent to fund {@link DECREASE_REPAY} (oracle: ANY@$1 → UND@$2). */
|
|
11
|
+
const DECREASE_AMOUNT_S = 20000000000000000000000n;
|
|
12
|
+
/** Post-resume metrics after claim repay (fixed C). */
|
|
13
|
+
const DECREASE_POST_T = 4000000000000n;
|
|
14
|
+
const DECREASE_POST_D = 3000000000000n;
|
|
15
|
+
/** Pre-repay account debt (D0). */
|
|
16
|
+
const DECREASE_PRE_D = 4000000000000n;
|
|
17
|
+
/** Pre-repay TVL with claim proceeds still on CA (T0). */
|
|
18
|
+
const DECREASE_PRE_T = 5000000000000n;
|
|
19
|
+
const PHANTOM = "0xb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1";
|
|
20
|
+
function buildDecreaseSdk(args) {
|
|
21
|
+
return buildResumeSdk({ claimedToken: args.claimedToken }, {
|
|
22
|
+
rwaAssets: args.rwaAssets,
|
|
23
|
+
phantom: PHANTOM
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function buildDecreaseOffchainOptions(args) {
|
|
27
|
+
return {
|
|
28
|
+
kind: "offchain",
|
|
29
|
+
phantomSpent: args.claimedAmount,
|
|
30
|
+
withdrawalConfig: {
|
|
31
|
+
creditManager: CREDIT_MANAGER,
|
|
32
|
+
token: args.claimedToken,
|
|
33
|
+
withdrawalPhantomToken: PHANTOM,
|
|
34
|
+
underlying: args.claimedToken,
|
|
35
|
+
withdrawalLength: 0n
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function buildDecreaseOnchainOptions(args) {
|
|
40
|
+
return {
|
|
41
|
+
kind: "onchain",
|
|
42
|
+
claimableWithdrawal: {
|
|
43
|
+
token: args.claimedToken,
|
|
44
|
+
withdrawalPhantomToken: PHANTOM,
|
|
45
|
+
withdrawalTokenSpent: args.claimedAmount,
|
|
46
|
+
outputs: [{
|
|
47
|
+
token: args.claimedToken,
|
|
48
|
+
amount: args.claimedAmount,
|
|
49
|
+
isDelayed: false
|
|
50
|
+
}],
|
|
51
|
+
claimCalls: [MOCK_CLAIM_CALL]
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function buildDecreaseResumeProps(args) {
|
|
56
|
+
return {
|
|
57
|
+
intent: { type: "DECREASE_LEVERAGE" },
|
|
58
|
+
creditAccount: {
|
|
59
|
+
creditAccount: CREDIT_ACCOUNT,
|
|
60
|
+
creditManager: CREDIT_MANAGER,
|
|
61
|
+
creditFacade: CREDIT_FACADE,
|
|
62
|
+
underlying: UND,
|
|
63
|
+
enabledTokensMask: 0n,
|
|
64
|
+
totalDebtUSD: 0n,
|
|
65
|
+
accountDebt: DECREASE_PRE_D,
|
|
66
|
+
tokens: args.tokens ?? [{
|
|
67
|
+
token: "0xb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1",
|
|
68
|
+
balance: args.claimedAmount,
|
|
69
|
+
quota: 0n,
|
|
70
|
+
mask: 0n,
|
|
71
|
+
success: true
|
|
72
|
+
}, {
|
|
73
|
+
token: "0x3333333333333333333333333333333333333333",
|
|
74
|
+
balance: 4000000000000n,
|
|
75
|
+
quota: 0n,
|
|
76
|
+
mask: 0n,
|
|
77
|
+
success: true
|
|
78
|
+
}]
|
|
79
|
+
},
|
|
80
|
+
sdk: args.sdk,
|
|
81
|
+
quotaReserve: void 0,
|
|
82
|
+
options: args.options,
|
|
83
|
+
slippage: args.slippage ?? 50
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/** Convenience: offchain props for a claimed token/amount. */
|
|
87
|
+
function buildDecreaseOffchainResumeProps(args) {
|
|
88
|
+
const sdk = buildDecreaseSdk({
|
|
89
|
+
claimedToken: args.claimedToken,
|
|
90
|
+
rwaAssets: args.rwaAssets
|
|
91
|
+
});
|
|
92
|
+
return buildDecreaseResumeProps({
|
|
93
|
+
claimedToken: args.claimedToken,
|
|
94
|
+
claimedAmount: args.claimedAmount,
|
|
95
|
+
options: buildDecreaseOffchainOptions(args),
|
|
96
|
+
sdk
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/** Convenience: onchain props for a claimed token/amount. */
|
|
100
|
+
function buildDecreaseOnchainResumeProps(args) {
|
|
101
|
+
const sdk = buildDecreaseSdk({
|
|
102
|
+
claimedToken: args.claimedToken,
|
|
103
|
+
rwaAssets: args.rwaAssets
|
|
104
|
+
});
|
|
105
|
+
return buildDecreaseResumeProps({
|
|
106
|
+
claimedToken: args.claimedToken,
|
|
107
|
+
claimedAmount: args.claimedAmount,
|
|
108
|
+
options: buildDecreaseOnchainOptions(args),
|
|
109
|
+
sdk,
|
|
110
|
+
slippage: args.slippage
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { ANY, DECREASE_AMOUNT_S, DECREASE_POST_D, DECREASE_POST_T, DECREASE_PRE_D, DECREASE_PRE_T, DECREASE_REPAY, PHANTOM, RWA_ASSET, UND, buildDecreaseOffchainOptions, buildDecreaseOffchainResumeProps, buildDecreaseOnchainOptions, buildDecreaseOnchainResumeProps, buildDecreaseResumeProps, buildDecreaseSdk };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { eq, toTargetDecimals } from "../../../utils/common.js";
|
|
2
|
+
import { simulateState } from "../../../utils/simulate-adjust-state.js";
|
|
3
|
+
import "../../../utils/index.js";
|
|
4
|
+
import { buildClaimDelayedWithdrawalOperation, primaryInstantOutput } from "../../../operations/claim-delayed/index.js";
|
|
5
|
+
import { buildDecreaseDebtOperation } from "../../../operations/decrease-debt/index.js";
|
|
6
|
+
import { buildSwapOperation } from "../../../operations/swap/index.js";
|
|
7
|
+
import { buildWrapRwaCollateralOperation } from "../../../operations/wrap-rwa-collateral/index.js";
|
|
8
|
+
import "../../../operations/index.js";
|
|
9
|
+
//#region src/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.ts
|
|
10
|
+
/**
|
|
11
|
+
* Resume decrease-leverage — linear op chain:
|
|
12
|
+
* claim → (wrapRwa | swap)? → decreaseDebt.
|
|
13
|
+
* All claimed proceeds fund debt repay (legacy
|
|
14
|
+
* `buildDecreaseLeverageResumeLogicalOps` + `buildResumeRepayFromClaimOps`).
|
|
15
|
+
* Conversion legs go through the given quoter; wrap is 1:1 decimals rescale.
|
|
16
|
+
*/
|
|
17
|
+
async function buildResumeDecreaseLeverageOperations(props, quoter) {
|
|
18
|
+
const { options, creditAccount, sdk } = props;
|
|
19
|
+
const underlying = creditAccount.underlying;
|
|
20
|
+
const rwaMeta = sdk.tokensMeta.rwaUnderlyings.get(underlying);
|
|
21
|
+
const claimOp = buildClaimDelayedWithdrawalOperation({
|
|
22
|
+
creditAccount,
|
|
23
|
+
sdk
|
|
24
|
+
}, options);
|
|
25
|
+
const primary = primaryInstantOutput(claimOp.outputs);
|
|
26
|
+
if (!primary || primary.amount <= 0n) throw new Error("No claimable assets");
|
|
27
|
+
const operations = [claimOp];
|
|
28
|
+
const decreaseDebt = (amount) => {
|
|
29
|
+
if (amount > 0n) operations.push(buildDecreaseDebtOperation({
|
|
30
|
+
amount,
|
|
31
|
+
creditAccount,
|
|
32
|
+
sdk
|
|
33
|
+
}, options));
|
|
34
|
+
};
|
|
35
|
+
if (eq(primary.token, underlying)) {
|
|
36
|
+
decreaseDebt(primary.amount);
|
|
37
|
+
return operations;
|
|
38
|
+
}
|
|
39
|
+
const rwaAsset = rwaMeta?.asset;
|
|
40
|
+
if (rwaAsset != null && eq(primary.token, rwaAsset)) {
|
|
41
|
+
const amountOut = toTargetDecimals(primary.amount, primary.token, underlying, sdk);
|
|
42
|
+
operations.push(await buildWrapRwaCollateralOperation({
|
|
43
|
+
tokenIn: primary.token,
|
|
44
|
+
amountIn: primary.amount,
|
|
45
|
+
tokenOut: underlying,
|
|
46
|
+
amountOut,
|
|
47
|
+
creditAccount,
|
|
48
|
+
sdk
|
|
49
|
+
}, options));
|
|
50
|
+
decreaseDebt(amountOut);
|
|
51
|
+
return operations;
|
|
52
|
+
} else {
|
|
53
|
+
const { state } = simulateState({
|
|
54
|
+
operations,
|
|
55
|
+
creditAccount,
|
|
56
|
+
sdk,
|
|
57
|
+
quotaReserve: props.quotaReserve
|
|
58
|
+
});
|
|
59
|
+
const tokenInBalance = state.assets.find((asset) => eq(asset.token, primary.token))?.balance ?? 0n;
|
|
60
|
+
const quote = await quoter({
|
|
61
|
+
from: [{
|
|
62
|
+
token: primary.token,
|
|
63
|
+
balance: primary.amount
|
|
64
|
+
}],
|
|
65
|
+
tokenOut: underlying,
|
|
66
|
+
tokenInBalance
|
|
67
|
+
});
|
|
68
|
+
operations.push(buildSwapOperation({
|
|
69
|
+
tokenIn: primary.token,
|
|
70
|
+
amountIn: primary.amount,
|
|
71
|
+
tokenOut: underlying,
|
|
72
|
+
amountOut: quote.minAmount,
|
|
73
|
+
calls: quote.calls,
|
|
74
|
+
creditAccount,
|
|
75
|
+
sdk
|
|
76
|
+
}, options));
|
|
77
|
+
decreaseDebt(quote.minAmount);
|
|
78
|
+
return operations;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { buildResumeDecreaseLeverageOperations };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ANY, RESUME_FIXTURE_PHANTOM, RWA_ASSET, UND, buildClaimResumeProps } from "../../../testing/resume.js";
|
|
2
|
+
//#region src/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.ts
|
|
3
|
+
/** Shared op amounts from deposit.flow (fixed-L collateral-up). */
|
|
4
|
+
const DEPOSIT_ADD_UND = 100000000000n;
|
|
5
|
+
const ANY_SWAP_OUT = 10000000000000000000000n;
|
|
6
|
+
const RWA_CLAIMED = 500000000000n;
|
|
7
|
+
const QUOTA_INCREASE = 460000000000n;
|
|
8
|
+
/** Post-claim metrics after fixed-L deposit (literals, not derived). */
|
|
9
|
+
const DEPOSIT_T1 = 5500000000000n;
|
|
10
|
+
const DEPOSIT_D1 = 4400000000000n;
|
|
11
|
+
/**
|
|
12
|
+
* Flow B non-RWA: C=und, T=any.
|
|
13
|
+
* Full: add + increaseDebt + swap(und→any) + changeQuota
|
|
14
|
+
* Resume: changeQuota only
|
|
15
|
+
*/
|
|
16
|
+
const case_b_und_any = {
|
|
17
|
+
claimedToken: ANY,
|
|
18
|
+
claimedAmount: ANY_SWAP_OUT,
|
|
19
|
+
postClaimTotalValue: DEPOSIT_T1,
|
|
20
|
+
postClaimDebt: DEPOSIT_D1,
|
|
21
|
+
resumeOps: [{
|
|
22
|
+
type: "claimDelayedWithdrawal",
|
|
23
|
+
token: ANY,
|
|
24
|
+
withdrawalPhantomToken: RESUME_FIXTURE_PHANTOM,
|
|
25
|
+
withdrawalTokenSpent: ANY_SWAP_OUT,
|
|
26
|
+
outputs: [{
|
|
27
|
+
token: ANY,
|
|
28
|
+
amount: ANY_SWAP_OUT,
|
|
29
|
+
isDelayed: false
|
|
30
|
+
}],
|
|
31
|
+
calls: []
|
|
32
|
+
}, {
|
|
33
|
+
type: "changeQuota",
|
|
34
|
+
quotaIncrease: [{
|
|
35
|
+
token: ANY,
|
|
36
|
+
balance: QUOTA_INCREASE
|
|
37
|
+
}],
|
|
38
|
+
quotaDecrease: [],
|
|
39
|
+
desiredQuota: {}
|
|
40
|
+
}],
|
|
41
|
+
expectedQuotaBalance: QUOTA_INCREASE
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Flow B RWA: C=und, T=asset.
|
|
45
|
+
* Full: add + increaseDebt + swap + unwrap + changeQuota
|
|
46
|
+
* Resume: changeQuota only
|
|
47
|
+
*/
|
|
48
|
+
const case_b_und_rwa = {
|
|
49
|
+
claimedToken: RWA_ASSET,
|
|
50
|
+
claimedAmount: RWA_CLAIMED,
|
|
51
|
+
postClaimTotalValue: DEPOSIT_T1,
|
|
52
|
+
postClaimDebt: DEPOSIT_D1,
|
|
53
|
+
resumeOps: [{
|
|
54
|
+
type: "claimDelayedWithdrawal",
|
|
55
|
+
token: RWA_ASSET,
|
|
56
|
+
withdrawalPhantomToken: RESUME_FIXTURE_PHANTOM,
|
|
57
|
+
withdrawalTokenSpent: RWA_CLAIMED,
|
|
58
|
+
outputs: [{
|
|
59
|
+
token: RWA_ASSET,
|
|
60
|
+
amount: RWA_CLAIMED,
|
|
61
|
+
isDelayed: false
|
|
62
|
+
}],
|
|
63
|
+
calls: []
|
|
64
|
+
}, {
|
|
65
|
+
type: "changeQuota",
|
|
66
|
+
quotaIncrease: [{
|
|
67
|
+
token: RWA_ASSET,
|
|
68
|
+
balance: QUOTA_INCREASE
|
|
69
|
+
}],
|
|
70
|
+
quotaDecrease: [],
|
|
71
|
+
desiredQuota: {}
|
|
72
|
+
}],
|
|
73
|
+
expectedQuotaBalance: QUOTA_INCREASE
|
|
74
|
+
};
|
|
75
|
+
/** Claimed und — no active quota-buy path. */
|
|
76
|
+
const case_claimed_und = {
|
|
77
|
+
claimedToken: UND,
|
|
78
|
+
claimedAmount: DEPOSIT_ADD_UND,
|
|
79
|
+
postClaimTotalValue: 5000000000000n,
|
|
80
|
+
postClaimDebt: 4000000000000n,
|
|
81
|
+
baseAssets: [{
|
|
82
|
+
token: ANY,
|
|
83
|
+
balance: 98000000000000000000000n,
|
|
84
|
+
quota: 0n,
|
|
85
|
+
mask: 0n,
|
|
86
|
+
success: true
|
|
87
|
+
}],
|
|
88
|
+
resumeOps: [{
|
|
89
|
+
type: "claimDelayedWithdrawal",
|
|
90
|
+
token: UND,
|
|
91
|
+
withdrawalPhantomToken: RESUME_FIXTURE_PHANTOM,
|
|
92
|
+
withdrawalTokenSpent: DEPOSIT_ADD_UND,
|
|
93
|
+
outputs: [{
|
|
94
|
+
token: UND,
|
|
95
|
+
amount: DEPOSIT_ADD_UND,
|
|
96
|
+
isDelayed: false
|
|
97
|
+
}],
|
|
98
|
+
calls: []
|
|
99
|
+
}]
|
|
100
|
+
};
|
|
101
|
+
function buildResumeDepositProps(args) {
|
|
102
|
+
return buildClaimResumeProps({
|
|
103
|
+
intent: args.delayedIntent,
|
|
104
|
+
case: args.case,
|
|
105
|
+
sdk: args.sdk,
|
|
106
|
+
options: args.options
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { ANY_SWAP_OUT, DEPOSIT_ADD_UND, QUOTA_INCREASE, buildResumeDepositProps, case_b_und_any, case_b_und_rwa, case_claimed_und };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { buildClaimDelayedWithdrawalOperation } from "../../../operations/claim-delayed/index.js";
|
|
2
|
+
import "../../../operations/index.js";
|
|
3
|
+
//#region src/sdk/accounts/intents/intents/resume/deposit/deposit.ts
|
|
4
|
+
/**
|
|
5
|
+
* Shared by DEPOSIT and DEPOSIT_AND_INCREASE_LEVERAGE resume
|
|
6
|
+
*/
|
|
7
|
+
function buildResumeDepositOperations(creditAccount, options, sdk) {
|
|
8
|
+
return [buildClaimDelayedWithdrawalOperation({
|
|
9
|
+
creditAccount,
|
|
10
|
+
sdk
|
|
11
|
+
}, options)];
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { buildResumeDepositOperations };
|
package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ANY, RESUME_FIXTURE_PHANTOM, RWA_ASSET, buildClaimResumeProps } from "../../../testing/resume.js";
|
|
2
|
+
//#region src/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.ts
|
|
3
|
+
/**
|
|
4
|
+
* Resume increase-leverage fixtures, ported from intent-calculator
|
|
5
|
+
* `increaseLeverage.flowFixtures.ts` (resume cases only). Shared token / sdk /
|
|
6
|
+
* options helpers live in `testing/resume.ts`.
|
|
7
|
+
*/
|
|
8
|
+
/** Borrow delta for L0→L1_SIX with fixed collateral. */
|
|
9
|
+
const INCREASE_DEBT_AMOUNT = 1000000000000n;
|
|
10
|
+
/** Oracle swap out for `INCREASE_DEBT_AMOUNT` und → ANY. */
|
|
11
|
+
const ANY_SWAP_AMOUNT_OUT = 20000000000000000000000n;
|
|
12
|
+
/** Quota increase for obtained ANY / RWA asset (buyQuotaMode excess). */
|
|
13
|
+
const QUOTA_INCREASE = 920000000000n;
|
|
14
|
+
/** Post-borrow / post-claim CA metrics (fixed C). */
|
|
15
|
+
const INCREASE_POST_T = 6000000000000n;
|
|
16
|
+
const INCREASE_POST_D = 5000000000000n;
|
|
17
|
+
/**
|
|
18
|
+
* Case 2.1 — NON RWA, target=ANY (borrow stays on CA).
|
|
19
|
+
* Full: increaseDebt → swap(und→any) → changeQuota(any)
|
|
20
|
+
* Resume: claim → changeQuota(any)
|
|
21
|
+
*/
|
|
22
|
+
const case_2_1_any = {
|
|
23
|
+
claimedToken: ANY,
|
|
24
|
+
claimedAmount: ANY_SWAP_AMOUNT_OUT,
|
|
25
|
+
postClaimTotalValue: INCREASE_POST_T,
|
|
26
|
+
postClaimDebt: INCREASE_POST_D,
|
|
27
|
+
resumeOps: [{
|
|
28
|
+
type: "claimDelayedWithdrawal",
|
|
29
|
+
token: ANY,
|
|
30
|
+
withdrawalPhantomToken: RESUME_FIXTURE_PHANTOM,
|
|
31
|
+
withdrawalTokenSpent: ANY_SWAP_AMOUNT_OUT,
|
|
32
|
+
outputs: [{
|
|
33
|
+
token: ANY,
|
|
34
|
+
amount: ANY_SWAP_AMOUNT_OUT,
|
|
35
|
+
isDelayed: false
|
|
36
|
+
}],
|
|
37
|
+
calls: []
|
|
38
|
+
}, {
|
|
39
|
+
type: "changeQuota",
|
|
40
|
+
quotaIncrease: [{
|
|
41
|
+
token: ANY,
|
|
42
|
+
balance: QUOTA_INCREASE
|
|
43
|
+
}],
|
|
44
|
+
quotaDecrease: [],
|
|
45
|
+
desiredQuota: {}
|
|
46
|
+
}]
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Case 1.2 — RWA, target=asset.
|
|
50
|
+
* Full: increaseDebt → unwrap(und→asset) → changeQuota(asset)
|
|
51
|
+
* Resume: claim(asset) → changeQuota(asset)
|
|
52
|
+
*/
|
|
53
|
+
const case_1_2_asset_rwa = {
|
|
54
|
+
claimedToken: RWA_ASSET,
|
|
55
|
+
claimedAmount: INCREASE_DEBT_AMOUNT,
|
|
56
|
+
postClaimTotalValue: INCREASE_POST_T,
|
|
57
|
+
postClaimDebt: INCREASE_POST_D,
|
|
58
|
+
resumeOps: [{
|
|
59
|
+
type: "claimDelayedWithdrawal",
|
|
60
|
+
token: RWA_ASSET,
|
|
61
|
+
withdrawalPhantomToken: RESUME_FIXTURE_PHANTOM,
|
|
62
|
+
withdrawalTokenSpent: INCREASE_DEBT_AMOUNT,
|
|
63
|
+
outputs: [{
|
|
64
|
+
token: RWA_ASSET,
|
|
65
|
+
amount: INCREASE_DEBT_AMOUNT,
|
|
66
|
+
isDelayed: false
|
|
67
|
+
}],
|
|
68
|
+
calls: []
|
|
69
|
+
}, {
|
|
70
|
+
type: "changeQuota",
|
|
71
|
+
quotaIncrease: [{
|
|
72
|
+
token: RWA_ASSET,
|
|
73
|
+
balance: QUOTA_INCREASE
|
|
74
|
+
}],
|
|
75
|
+
quotaDecrease: [],
|
|
76
|
+
desiredQuota: {}
|
|
77
|
+
}]
|
|
78
|
+
};
|
|
79
|
+
function buildResumeIncreaseLeverageProps(args) {
|
|
80
|
+
return buildClaimResumeProps({
|
|
81
|
+
intent: { type: "INCREASE_LEVERAGE" },
|
|
82
|
+
case: args.case,
|
|
83
|
+
sdk: args.sdk,
|
|
84
|
+
options: args.options
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { INCREASE_DEBT_AMOUNT, INCREASE_POST_D, INCREASE_POST_T, QUOTA_INCREASE, buildResumeIncreaseLeverageProps, case_1_2_asset_rwa, case_2_1_any };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { buildClaimDelayedWithdrawalOperation } from "../../../operations/claim-delayed/index.js";
|
|
2
|
+
import "../../../operations/index.js";
|
|
3
|
+
//#region src/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.ts
|
|
4
|
+
/**
|
|
5
|
+
* Resume increase-leverage: claim only
|
|
6
|
+
*/
|
|
7
|
+
function buildResumeIncreaseLeverageOperations(creditAccount, options, sdk) {
|
|
8
|
+
return [buildClaimDelayedWithdrawalOperation({
|
|
9
|
+
creditAccount,
|
|
10
|
+
sdk
|
|
11
|
+
}, options)];
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { buildResumeIncreaseLeverageOperations };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { buildResumeAddCollateralOperations } from "./add-collateral/add-collateral.js";
|
|
2
|
+
import { buildResumeCloseOperations } from "./close/close.js";
|
|
3
|
+
import { buildResumeDecreaseLeverageOperations } from "./decrease-leverage/decrease-leverage.js";
|
|
4
|
+
import { buildResumeDepositOperations } from "./deposit/deposit.js";
|
|
5
|
+
import { buildResumeIncreaseLeverageOperations } from "./increase-leverage/increase-leverage.js";
|
|
6
|
+
import { buildResumeWithdrawOperations } from "./withdraw/withdraw.js";
|
|
7
|
+
export { buildResumeAddCollateralOperations, buildResumeCloseOperations, buildResumeDecreaseLeverageOperations, buildResumeDepositOperations, buildResumeIncreaseLeverageOperations, buildResumeWithdrawOperations };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { toBN } from "../../../../../utils/formatter.js";
|
|
2
|
+
import "../../../../../index.js";
|
|
3
|
+
import { MOCK_CLAIM_CALL } from "../../../testing/sdk-mock.js";
|
|
4
|
+
import { CREDIT_ACCOUNT, CREDIT_FACADE, CREDIT_MANAGER, UND, buildResumeSdk } from "../../../testing/resume.js";
|
|
5
|
+
//#region src/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.ts
|
|
6
|
+
/**
|
|
7
|
+
* Resume withdraw fixtures, ported from intent-calculator
|
|
8
|
+
* `withdraw.flowFixtures.ts` (resume cases only).
|
|
9
|
+
*/
|
|
10
|
+
const WITHDRAW_UND = toBN("1000", 8);
|
|
11
|
+
const WITHDRAW_ANY = toBN("2000", 18);
|
|
12
|
+
const WITHDRAW_ANY2 = toBN("2000", 18);
|
|
13
|
+
/** Withdraw amount in rwa.asset units (8 decimals, priced 1:1 with UND). */
|
|
14
|
+
const WITHDRAW_RWA = toBN("2000", 8);
|
|
15
|
+
const DEBT_DELTA = toBN("4000", 8);
|
|
16
|
+
const PHANTOM = "0xb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1";
|
|
17
|
+
/** Per-token CA balance (legacy `A0_TOK` / und balance). */
|
|
18
|
+
const A0 = toBN("100000", 18);
|
|
19
|
+
const A0_UND = toBN("100000", 8);
|
|
20
|
+
const QUOTA0 = toBN("50000", 8);
|
|
21
|
+
/** Starting account debt on the fixture CA. */
|
|
22
|
+
const WITHDRAW_PRE_D = toBN("40000", 8);
|
|
23
|
+
/**
|
|
24
|
+
* Starting TVL of the fixture CA tokens (ANY + ANY2 + UND). Claim may add
|
|
25
|
+
* value when the phantom is absent from `tokens` (current fixtures).
|
|
26
|
+
*/
|
|
27
|
+
const WITHDRAW_BASE_TV = 20000000000000n;
|
|
28
|
+
const WITHDRAW_TO = "0x1234567890123456789012345678901234567890";
|
|
29
|
+
function withdrawAmountFor(token) {
|
|
30
|
+
if (token === "0x3333333333333333333333333333333333333333") return WITHDRAW_UND;
|
|
31
|
+
if (token === "0x1111111111111111111111111111111111111111") return WITHDRAW_ANY;
|
|
32
|
+
return WITHDRAW_ANY2;
|
|
33
|
+
}
|
|
34
|
+
function buildWithdrawSdk(args) {
|
|
35
|
+
return buildResumeSdk({ claimedToken: args.claimedToken }, {
|
|
36
|
+
extraPrices: args.extraPrices,
|
|
37
|
+
extraDecimals: args.extraDecimals,
|
|
38
|
+
rwaAssets: args.rwaAssets,
|
|
39
|
+
phantom: PHANTOM
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function buildWithdrawOffchainOptions(args) {
|
|
43
|
+
return {
|
|
44
|
+
kind: "offchain",
|
|
45
|
+
phantomSpent: args.claimedAmount,
|
|
46
|
+
withdrawalConfig: {
|
|
47
|
+
creditManager: CREDIT_MANAGER,
|
|
48
|
+
token: args.claimedToken,
|
|
49
|
+
withdrawalPhantomToken: PHANTOM,
|
|
50
|
+
underlying: args.claimedToken,
|
|
51
|
+
withdrawalLength: 0n
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function buildWithdrawOnchainOptions(args) {
|
|
56
|
+
return {
|
|
57
|
+
kind: "onchain",
|
|
58
|
+
claimableWithdrawal: {
|
|
59
|
+
token: args.claimedToken,
|
|
60
|
+
withdrawalPhantomToken: PHANTOM,
|
|
61
|
+
withdrawalTokenSpent: args.claimedAmount,
|
|
62
|
+
outputs: [{
|
|
63
|
+
token: args.claimedToken,
|
|
64
|
+
amount: args.claimedAmount,
|
|
65
|
+
isDelayed: false
|
|
66
|
+
}],
|
|
67
|
+
claimCalls: [MOCK_CLAIM_CALL]
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function buildWithdrawResumeProps(args) {
|
|
72
|
+
const creditAccount = {
|
|
73
|
+
creditAccount: CREDIT_ACCOUNT,
|
|
74
|
+
creditManager: CREDIT_MANAGER,
|
|
75
|
+
creditFacade: CREDIT_FACADE,
|
|
76
|
+
underlying: UND,
|
|
77
|
+
enabledTokensMask: 0n,
|
|
78
|
+
totalDebtUSD: 0n,
|
|
79
|
+
accountDebt: WITHDRAW_PRE_D,
|
|
80
|
+
tokens: args.tokens ?? [
|
|
81
|
+
{
|
|
82
|
+
token: "0x1111111111111111111111111111111111111111",
|
|
83
|
+
balance: A0,
|
|
84
|
+
quota: QUOTA0,
|
|
85
|
+
mask: 0n,
|
|
86
|
+
success: true
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
token: "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
90
|
+
balance: A0,
|
|
91
|
+
quota: QUOTA0,
|
|
92
|
+
mask: 0n,
|
|
93
|
+
success: true
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
token: "0x3333333333333333333333333333333333333333",
|
|
97
|
+
balance: A0_UND,
|
|
98
|
+
quota: 0n,
|
|
99
|
+
mask: 0n,
|
|
100
|
+
success: true
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
intent: {
|
|
106
|
+
type: "WITHDRAW_COLLATERAL",
|
|
107
|
+
to: WITHDRAW_TO,
|
|
108
|
+
sourceToken: args.sourceToken,
|
|
109
|
+
withdrawToken: args.withdrawToken,
|
|
110
|
+
withdrawAmount: args.withdrawAmount ?? withdrawAmountFor(args.withdrawToken),
|
|
111
|
+
debtRepaid: args.debtRepaid
|
|
112
|
+
},
|
|
113
|
+
creditAccount,
|
|
114
|
+
sdk: args.sdk,
|
|
115
|
+
quotaReserve: void 0,
|
|
116
|
+
options: args.options,
|
|
117
|
+
slippage: args.slippage ?? 50
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { A0, A0_UND, DEBT_DELTA, PHANTOM, QUOTA0, WITHDRAW_ANY, WITHDRAW_ANY2, WITHDRAW_BASE_TV, WITHDRAW_PRE_D, WITHDRAW_RWA, WITHDRAW_TO, WITHDRAW_UND, buildWithdrawOffchainOptions, buildWithdrawOnchainOptions, buildWithdrawResumeProps, buildWithdrawSdk, withdrawAmountFor };
|