@cowprotocol/sdk-flash-loans 1.0.0 → 1.1.1
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/index.d.mts +33 -45
- package/dist/index.d.ts +33 -45
- package/dist/index.js +157 -25
- package/dist/index.mjs +156 -25
- package/package.json +12 -10
package/dist/index.d.mts
CHANGED
|
@@ -84,6 +84,32 @@ interface CollateralPermitData {
|
|
|
84
84
|
s: string;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
declare const HASH_ZERO = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
88
|
+
declare enum AaveFlashLoanType {
|
|
89
|
+
CollateralSwap = "CollateralSwap",
|
|
90
|
+
DebtSwap = "DebtSwap",
|
|
91
|
+
RepayCollateral = "RepayCollateral"
|
|
92
|
+
}
|
|
93
|
+
declare const AAVE_POOL_ADDRESS: Record<SupportedChainId, string>;
|
|
94
|
+
declare const AAVE_ADAPTER_FACTORY: Record<SupportedChainId, string>;
|
|
95
|
+
declare const AAVE_HOOK_ADAPTER_PER_TYPE: Record<AaveFlashLoanType, Record<SupportedChainId, string>>;
|
|
96
|
+
declare const DEFAULT_HOOK_GAS_LIMIT: {
|
|
97
|
+
pre: bigint;
|
|
98
|
+
post: bigint;
|
|
99
|
+
};
|
|
100
|
+
declare const PERCENT_SCALE = 10000;
|
|
101
|
+
declare const DEFAULT_VALIDITY: number;
|
|
102
|
+
declare const GAS_ESTIMATION_ADDITION_PERCENT = 10;
|
|
103
|
+
declare const ADAPTER_DOMAIN_NAME = "AaveAdapterFactory";
|
|
104
|
+
declare const ADAPTER_DOMAIN_VERSION = "1";
|
|
105
|
+
declare const ADAPTER_SIGNATURE_TYPES: {
|
|
106
|
+
AdapterOrderSig: {
|
|
107
|
+
name: string;
|
|
108
|
+
type: string;
|
|
109
|
+
}[];
|
|
110
|
+
};
|
|
111
|
+
declare const EMPTY_PERMIT: CollateralPermitData;
|
|
112
|
+
|
|
87
113
|
/**
|
|
88
114
|
* SDK for executing Aave flash loan operations, particularly collateral swaps.
|
|
89
115
|
*
|
|
@@ -157,7 +183,7 @@ declare class AaveCollateralSwapSdk {
|
|
|
157
183
|
* @throws Will throw if contract address calculation fails or gas estimation fails.
|
|
158
184
|
* ```
|
|
159
185
|
*/
|
|
160
|
-
getOrderPostingSettings(params: CollateralSwapTradeParams, settings: CollateralSwapOrder): Promise<CollateralSwapPostParams>;
|
|
186
|
+
getOrderPostingSettings(flashLoanType: AaveFlashLoanType, params: CollateralSwapTradeParams, settings: CollateralSwapOrder): Promise<CollateralSwapPostParams>;
|
|
161
187
|
/**
|
|
162
188
|
* Checks the current allowance for the flash loan adapter to spend collateral tokens.
|
|
163
189
|
*
|
|
@@ -209,7 +235,7 @@ declare class AaveCollateralSwapSdk {
|
|
|
209
235
|
* ```
|
|
210
236
|
*/
|
|
211
237
|
approveCollateral(params: CollateralParameters): Promise<TransactionResponse>;
|
|
212
|
-
getExpectedInstanceAddress(chainId: SupportedChainId, trader: AccountAddress, hookAmounts: FlashLoanHookAmounts, order: EncodedOrder): Promise<AccountAddress>;
|
|
238
|
+
getExpectedInstanceAddress(flashLoanType: AaveFlashLoanType, chainId: SupportedChainId, trader: AccountAddress, hookAmounts: FlashLoanHookAmounts, order: EncodedOrder): Promise<AccountAddress>;
|
|
213
239
|
private approveCollateralIfNeeded;
|
|
214
240
|
calculateFlashLoanAmounts({ sellAmount, flashLoanFeePercent }: {
|
|
215
241
|
sellAmount: bigint;
|
|
@@ -220,50 +246,12 @@ declare class AaveCollateralSwapSdk {
|
|
|
220
246
|
};
|
|
221
247
|
private getPreHookCallData;
|
|
222
248
|
private buildHookOrderData;
|
|
223
|
-
private
|
|
249
|
+
private getFlashLoanPostHook;
|
|
250
|
+
private getCollateralSwapPostHookCallData;
|
|
251
|
+
private getDebtSwapPostHookCallData;
|
|
252
|
+
private getRepayPostHookCallData;
|
|
224
253
|
private getOrderHooks;
|
|
225
254
|
private adapterEIP1271Signature;
|
|
226
255
|
}
|
|
227
256
|
|
|
228
|
-
|
|
229
|
-
declare const AAVE_POOL_ADDRESS: Record<SupportedChainId, string>;
|
|
230
|
-
declare const AAVE_ADAPTER_FACTORY: {
|
|
231
|
-
100: string;
|
|
232
|
-
1: string;
|
|
233
|
-
56: string;
|
|
234
|
-
137: string;
|
|
235
|
-
232: string;
|
|
236
|
-
8453: string;
|
|
237
|
-
42161: string;
|
|
238
|
-
43114: string;
|
|
239
|
-
11155111: string;
|
|
240
|
-
};
|
|
241
|
-
declare const AAVE_COLLATERAL_SWAP_ADAPTER_HOOK: {
|
|
242
|
-
100: string;
|
|
243
|
-
1: string;
|
|
244
|
-
56: string;
|
|
245
|
-
137: string;
|
|
246
|
-
232: string;
|
|
247
|
-
8453: string;
|
|
248
|
-
42161: string;
|
|
249
|
-
43114: string;
|
|
250
|
-
11155111: string;
|
|
251
|
-
};
|
|
252
|
-
declare const DEFAULT_HOOK_GAS_LIMIT: {
|
|
253
|
-
pre: bigint;
|
|
254
|
-
post: bigint;
|
|
255
|
-
};
|
|
256
|
-
declare const PERCENT_SCALE = 10000;
|
|
257
|
-
declare const DEFAULT_VALIDITY: number;
|
|
258
|
-
declare const GAS_ESTIMATION_ADDITION_PERCENT = 10;
|
|
259
|
-
declare const ADAPTER_DOMAIN_NAME = "AaveAdapterFactory";
|
|
260
|
-
declare const ADAPTER_DOMAIN_VERSION = "1";
|
|
261
|
-
declare const ADAPTER_SIGNATURE_TYPES: {
|
|
262
|
-
AdapterOrderSig: {
|
|
263
|
-
name: string;
|
|
264
|
-
type: string;
|
|
265
|
-
}[];
|
|
266
|
-
};
|
|
267
|
-
declare const EMPTY_PERMIT: CollateralPermitData;
|
|
268
|
-
|
|
269
|
-
export { AAVE_ADAPTER_FACTORY, AAVE_COLLATERAL_SWAP_ADAPTER_HOOK, AAVE_POOL_ADDRESS, ADAPTER_DOMAIN_NAME, ADAPTER_DOMAIN_VERSION, ADAPTER_SIGNATURE_TYPES, AaveCollateralSwapSdk, type CollateralOrderData, type CollateralParameters, type CollateralPermitData, type CollateralSwapOrder, type CollateralSwapParams, type CollateralSwapPostParams, type CollateralSwapQuoteParams, type CollateralSwapTradeParams, DEFAULT_HOOK_GAS_LIMIT, DEFAULT_VALIDITY, EMPTY_PERMIT, type EncodedOrder, type FlashLoanHint, type FlashLoanHookAmounts, GAS_ESTIMATION_ADDITION_PERCENT, HASH_ZERO, PERCENT_SCALE };
|
|
257
|
+
export { AAVE_ADAPTER_FACTORY, AAVE_HOOK_ADAPTER_PER_TYPE, AAVE_POOL_ADDRESS, ADAPTER_DOMAIN_NAME, ADAPTER_DOMAIN_VERSION, ADAPTER_SIGNATURE_TYPES, AaveCollateralSwapSdk, AaveFlashLoanType, type CollateralOrderData, type CollateralParameters, type CollateralPermitData, type CollateralSwapOrder, type CollateralSwapParams, type CollateralSwapPostParams, type CollateralSwapQuoteParams, type CollateralSwapTradeParams, DEFAULT_HOOK_GAS_LIMIT, DEFAULT_VALIDITY, EMPTY_PERMIT, type EncodedOrder, type FlashLoanHint, type FlashLoanHookAmounts, GAS_ESTIMATION_ADDITION_PERCENT, HASH_ZERO, PERCENT_SCALE };
|
package/dist/index.d.ts
CHANGED
|
@@ -84,6 +84,32 @@ interface CollateralPermitData {
|
|
|
84
84
|
s: string;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
declare const HASH_ZERO = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
88
|
+
declare enum AaveFlashLoanType {
|
|
89
|
+
CollateralSwap = "CollateralSwap",
|
|
90
|
+
DebtSwap = "DebtSwap",
|
|
91
|
+
RepayCollateral = "RepayCollateral"
|
|
92
|
+
}
|
|
93
|
+
declare const AAVE_POOL_ADDRESS: Record<SupportedChainId, string>;
|
|
94
|
+
declare const AAVE_ADAPTER_FACTORY: Record<SupportedChainId, string>;
|
|
95
|
+
declare const AAVE_HOOK_ADAPTER_PER_TYPE: Record<AaveFlashLoanType, Record<SupportedChainId, string>>;
|
|
96
|
+
declare const DEFAULT_HOOK_GAS_LIMIT: {
|
|
97
|
+
pre: bigint;
|
|
98
|
+
post: bigint;
|
|
99
|
+
};
|
|
100
|
+
declare const PERCENT_SCALE = 10000;
|
|
101
|
+
declare const DEFAULT_VALIDITY: number;
|
|
102
|
+
declare const GAS_ESTIMATION_ADDITION_PERCENT = 10;
|
|
103
|
+
declare const ADAPTER_DOMAIN_NAME = "AaveAdapterFactory";
|
|
104
|
+
declare const ADAPTER_DOMAIN_VERSION = "1";
|
|
105
|
+
declare const ADAPTER_SIGNATURE_TYPES: {
|
|
106
|
+
AdapterOrderSig: {
|
|
107
|
+
name: string;
|
|
108
|
+
type: string;
|
|
109
|
+
}[];
|
|
110
|
+
};
|
|
111
|
+
declare const EMPTY_PERMIT: CollateralPermitData;
|
|
112
|
+
|
|
87
113
|
/**
|
|
88
114
|
* SDK for executing Aave flash loan operations, particularly collateral swaps.
|
|
89
115
|
*
|
|
@@ -157,7 +183,7 @@ declare class AaveCollateralSwapSdk {
|
|
|
157
183
|
* @throws Will throw if contract address calculation fails or gas estimation fails.
|
|
158
184
|
* ```
|
|
159
185
|
*/
|
|
160
|
-
getOrderPostingSettings(params: CollateralSwapTradeParams, settings: CollateralSwapOrder): Promise<CollateralSwapPostParams>;
|
|
186
|
+
getOrderPostingSettings(flashLoanType: AaveFlashLoanType, params: CollateralSwapTradeParams, settings: CollateralSwapOrder): Promise<CollateralSwapPostParams>;
|
|
161
187
|
/**
|
|
162
188
|
* Checks the current allowance for the flash loan adapter to spend collateral tokens.
|
|
163
189
|
*
|
|
@@ -209,7 +235,7 @@ declare class AaveCollateralSwapSdk {
|
|
|
209
235
|
* ```
|
|
210
236
|
*/
|
|
211
237
|
approveCollateral(params: CollateralParameters): Promise<TransactionResponse>;
|
|
212
|
-
getExpectedInstanceAddress(chainId: SupportedChainId, trader: AccountAddress, hookAmounts: FlashLoanHookAmounts, order: EncodedOrder): Promise<AccountAddress>;
|
|
238
|
+
getExpectedInstanceAddress(flashLoanType: AaveFlashLoanType, chainId: SupportedChainId, trader: AccountAddress, hookAmounts: FlashLoanHookAmounts, order: EncodedOrder): Promise<AccountAddress>;
|
|
213
239
|
private approveCollateralIfNeeded;
|
|
214
240
|
calculateFlashLoanAmounts({ sellAmount, flashLoanFeePercent }: {
|
|
215
241
|
sellAmount: bigint;
|
|
@@ -220,50 +246,12 @@ declare class AaveCollateralSwapSdk {
|
|
|
220
246
|
};
|
|
221
247
|
private getPreHookCallData;
|
|
222
248
|
private buildHookOrderData;
|
|
223
|
-
private
|
|
249
|
+
private getFlashLoanPostHook;
|
|
250
|
+
private getCollateralSwapPostHookCallData;
|
|
251
|
+
private getDebtSwapPostHookCallData;
|
|
252
|
+
private getRepayPostHookCallData;
|
|
224
253
|
private getOrderHooks;
|
|
225
254
|
private adapterEIP1271Signature;
|
|
226
255
|
}
|
|
227
256
|
|
|
228
|
-
|
|
229
|
-
declare const AAVE_POOL_ADDRESS: Record<SupportedChainId, string>;
|
|
230
|
-
declare const AAVE_ADAPTER_FACTORY: {
|
|
231
|
-
100: string;
|
|
232
|
-
1: string;
|
|
233
|
-
56: string;
|
|
234
|
-
137: string;
|
|
235
|
-
232: string;
|
|
236
|
-
8453: string;
|
|
237
|
-
42161: string;
|
|
238
|
-
43114: string;
|
|
239
|
-
11155111: string;
|
|
240
|
-
};
|
|
241
|
-
declare const AAVE_COLLATERAL_SWAP_ADAPTER_HOOK: {
|
|
242
|
-
100: string;
|
|
243
|
-
1: string;
|
|
244
|
-
56: string;
|
|
245
|
-
137: string;
|
|
246
|
-
232: string;
|
|
247
|
-
8453: string;
|
|
248
|
-
42161: string;
|
|
249
|
-
43114: string;
|
|
250
|
-
11155111: string;
|
|
251
|
-
};
|
|
252
|
-
declare const DEFAULT_HOOK_GAS_LIMIT: {
|
|
253
|
-
pre: bigint;
|
|
254
|
-
post: bigint;
|
|
255
|
-
};
|
|
256
|
-
declare const PERCENT_SCALE = 10000;
|
|
257
|
-
declare const DEFAULT_VALIDITY: number;
|
|
258
|
-
declare const GAS_ESTIMATION_ADDITION_PERCENT = 10;
|
|
259
|
-
declare const ADAPTER_DOMAIN_NAME = "AaveAdapterFactory";
|
|
260
|
-
declare const ADAPTER_DOMAIN_VERSION = "1";
|
|
261
|
-
declare const ADAPTER_SIGNATURE_TYPES: {
|
|
262
|
-
AdapterOrderSig: {
|
|
263
|
-
name: string;
|
|
264
|
-
type: string;
|
|
265
|
-
}[];
|
|
266
|
-
};
|
|
267
|
-
declare const EMPTY_PERMIT: CollateralPermitData;
|
|
268
|
-
|
|
269
|
-
export { AAVE_ADAPTER_FACTORY, AAVE_COLLATERAL_SWAP_ADAPTER_HOOK, AAVE_POOL_ADDRESS, ADAPTER_DOMAIN_NAME, ADAPTER_DOMAIN_VERSION, ADAPTER_SIGNATURE_TYPES, AaveCollateralSwapSdk, type CollateralOrderData, type CollateralParameters, type CollateralPermitData, type CollateralSwapOrder, type CollateralSwapParams, type CollateralSwapPostParams, type CollateralSwapQuoteParams, type CollateralSwapTradeParams, DEFAULT_HOOK_GAS_LIMIT, DEFAULT_VALIDITY, EMPTY_PERMIT, type EncodedOrder, type FlashLoanHint, type FlashLoanHookAmounts, GAS_ESTIMATION_ADDITION_PERCENT, HASH_ZERO, PERCENT_SCALE };
|
|
257
|
+
export { AAVE_ADAPTER_FACTORY, AAVE_HOOK_ADAPTER_PER_TYPE, AAVE_POOL_ADDRESS, ADAPTER_DOMAIN_NAME, ADAPTER_DOMAIN_VERSION, ADAPTER_SIGNATURE_TYPES, AaveCollateralSwapSdk, AaveFlashLoanType, type CollateralOrderData, type CollateralParameters, type CollateralPermitData, type CollateralSwapOrder, type CollateralSwapParams, type CollateralSwapPostParams, type CollateralSwapQuoteParams, type CollateralSwapTradeParams, DEFAULT_HOOK_GAS_LIMIT, DEFAULT_VALIDITY, EMPTY_PERMIT, type EncodedOrder, type FlashLoanHint, type FlashLoanHookAmounts, GAS_ESTIMATION_ADDITION_PERCENT, HASH_ZERO, PERCENT_SCALE };
|
package/dist/index.js
CHANGED
|
@@ -21,12 +21,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
AAVE_ADAPTER_FACTORY: () => AAVE_ADAPTER_FACTORY,
|
|
24
|
-
|
|
24
|
+
AAVE_HOOK_ADAPTER_PER_TYPE: () => AAVE_HOOK_ADAPTER_PER_TYPE,
|
|
25
25
|
AAVE_POOL_ADDRESS: () => AAVE_POOL_ADDRESS,
|
|
26
26
|
ADAPTER_DOMAIN_NAME: () => ADAPTER_DOMAIN_NAME,
|
|
27
27
|
ADAPTER_DOMAIN_VERSION: () => ADAPTER_DOMAIN_VERSION,
|
|
28
28
|
ADAPTER_SIGNATURE_TYPES: () => ADAPTER_SIGNATURE_TYPES,
|
|
29
29
|
AaveCollateralSwapSdk: () => AaveCollateralSwapSdk,
|
|
30
|
+
AaveFlashLoanType: () => AaveFlashLoanType,
|
|
30
31
|
DEFAULT_HOOK_GAS_LIMIT: () => DEFAULT_HOOK_GAS_LIMIT,
|
|
31
32
|
DEFAULT_VALIDITY: () => DEFAULT_VALIDITY,
|
|
32
33
|
EMPTY_PERMIT: () => EMPTY_PERMIT,
|
|
@@ -44,14 +45,21 @@ var import_sdk_order_book = require("@cowprotocol/sdk-order-book");
|
|
|
44
45
|
// src/aave/const.ts
|
|
45
46
|
var import_sdk_config = require("@cowprotocol/sdk-config");
|
|
46
47
|
var HASH_ZERO = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
48
|
+
var AaveFlashLoanType = /* @__PURE__ */ ((AaveFlashLoanType2) => {
|
|
49
|
+
AaveFlashLoanType2["CollateralSwap"] = "CollateralSwap";
|
|
50
|
+
AaveFlashLoanType2["DebtSwap"] = "DebtSwap";
|
|
51
|
+
AaveFlashLoanType2["RepayCollateral"] = "RepayCollateral";
|
|
52
|
+
return AaveFlashLoanType2;
|
|
53
|
+
})(AaveFlashLoanType || {});
|
|
47
54
|
var AAVE_POOL_ADDRESS = (0, import_sdk_config.mapAddressToSupportedNetworks)("0xb50201558B00496A145fE76f7424749556E326D8");
|
|
48
|
-
var AAVE_ADAPTER_FACTORY =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
[
|
|
55
|
+
var AAVE_ADAPTER_FACTORY = (0, import_sdk_config.mapAddressToSupportedNetworks)("0x889ee28C0a8a41a312546A8eeD77b4b097C84016");
|
|
56
|
+
var AAVE_COLLATERAL_SWAP_ADAPTER_HOOK = (0, import_sdk_config.mapAddressToSupportedNetworks)("0x0aeC794e544B81D96149a4C8C1cC57c6F31A978A");
|
|
57
|
+
var AAVE_DEBT_SWAP_ADAPTER_HOOK = (0, import_sdk_config.mapAddressToSupportedNetworks)("0x2d13ADCFa398073d7406e5e1aF3dD14663cdBF30");
|
|
58
|
+
var AAVE_REPAY_COLLATERAL_ADAPTER_HOOK = (0, import_sdk_config.mapAddressToSupportedNetworks)("0x193fd444802D6BC18a9AE0613D33C024F16A9dDC");
|
|
59
|
+
var AAVE_HOOK_ADAPTER_PER_TYPE = {
|
|
60
|
+
["CollateralSwap" /* CollateralSwap */]: AAVE_COLLATERAL_SWAP_ADAPTER_HOOK,
|
|
61
|
+
["DebtSwap" /* DebtSwap */]: AAVE_DEBT_SWAP_ADAPTER_HOOK,
|
|
62
|
+
["RepayCollateral" /* RepayCollateral */]: AAVE_REPAY_COLLATERAL_ADAPTER_HOOK
|
|
55
63
|
};
|
|
56
64
|
var DEFAULT_HOOK_GAS_LIMIT = {
|
|
57
65
|
pre: 300000n,
|
|
@@ -309,6 +317,94 @@ var collateralSwapAdapterHookAbi = [
|
|
|
309
317
|
}
|
|
310
318
|
];
|
|
311
319
|
|
|
320
|
+
// src/aave/abi/DebtSwapAdapter.ts
|
|
321
|
+
var debtSwapAdapterAbi = [
|
|
322
|
+
{
|
|
323
|
+
type: "function",
|
|
324
|
+
name: "debtSwapWithFlashLoan",
|
|
325
|
+
inputs: [
|
|
326
|
+
{
|
|
327
|
+
name: "creditDelegationSig",
|
|
328
|
+
type: "tuple",
|
|
329
|
+
internalType: "struct DataTypes.CreditDelegationSig",
|
|
330
|
+
components: [
|
|
331
|
+
{
|
|
332
|
+
name: "amount",
|
|
333
|
+
type: "uint256",
|
|
334
|
+
internalType: "uint256"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
name: "deadline",
|
|
338
|
+
type: "uint256",
|
|
339
|
+
internalType: "uint256"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
name: "v",
|
|
343
|
+
type: "uint8",
|
|
344
|
+
internalType: "uint8"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: "r",
|
|
348
|
+
type: "bytes32",
|
|
349
|
+
internalType: "bytes32"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
name: "s",
|
|
353
|
+
type: "bytes32",
|
|
354
|
+
internalType: "bytes32"
|
|
355
|
+
}
|
|
356
|
+
]
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
outputs: [],
|
|
360
|
+
stateMutability: "nonpayable"
|
|
361
|
+
}
|
|
362
|
+
];
|
|
363
|
+
|
|
364
|
+
// src/aave/abi/RepayWithCollateralAdapter.ts
|
|
365
|
+
var repayWithCollateralAdapterAbi = [
|
|
366
|
+
{
|
|
367
|
+
type: "function",
|
|
368
|
+
name: "repayDebtWithFlashLoan",
|
|
369
|
+
inputs: [
|
|
370
|
+
{
|
|
371
|
+
name: "erc20Permit",
|
|
372
|
+
type: "tuple",
|
|
373
|
+
internalType: "struct DataTypes.Permit",
|
|
374
|
+
components: [
|
|
375
|
+
{
|
|
376
|
+
name: "amount",
|
|
377
|
+
type: "uint256",
|
|
378
|
+
internalType: "uint256"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
name: "deadline",
|
|
382
|
+
type: "uint256",
|
|
383
|
+
internalType: "uint256"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
name: "v",
|
|
387
|
+
type: "uint8",
|
|
388
|
+
internalType: "uint8"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
name: "r",
|
|
392
|
+
type: "bytes32",
|
|
393
|
+
internalType: "bytes32"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
name: "s",
|
|
397
|
+
type: "bytes32",
|
|
398
|
+
internalType: "bytes32"
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
outputs: [],
|
|
404
|
+
stateMutability: "nonpayable"
|
|
405
|
+
}
|
|
406
|
+
];
|
|
407
|
+
|
|
312
408
|
// src/aave/AaveCollateralSwapSdk.ts
|
|
313
409
|
var AaveCollateralSwapSdk = class {
|
|
314
410
|
/**
|
|
@@ -340,12 +436,16 @@ var AaveCollateralSwapSdk = class {
|
|
|
340
436
|
const sellAmount = BigInt(amount);
|
|
341
437
|
const quoteAndPost = await tradingSdk.getQuote(quoteParams);
|
|
342
438
|
const { quoteResults, postSwapOrderFromQuote } = quoteAndPost;
|
|
343
|
-
const { swapSettings, instanceAddress } = await this.getOrderPostingSettings(
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
439
|
+
const { swapSettings, instanceAddress } = await this.getOrderPostingSettings(
|
|
440
|
+
"CollateralSwap" /* CollateralSwap */,
|
|
441
|
+
quoteParams,
|
|
442
|
+
{
|
|
443
|
+
sellAmount,
|
|
444
|
+
buyAmount: quoteResults.amountsAndCosts.afterSlippage.buyAmount,
|
|
445
|
+
orderToSign: quoteResults.orderToSign,
|
|
446
|
+
collateralPermit: settings?.collateralPermit
|
|
447
|
+
}
|
|
448
|
+
);
|
|
349
449
|
const collateralParams = {
|
|
350
450
|
instanceAddress,
|
|
351
451
|
trader: quoteParams.owner,
|
|
@@ -419,7 +519,7 @@ var AaveCollateralSwapSdk = class {
|
|
|
419
519
|
* @throws Will throw if contract address calculation fails or gas estimation fails.
|
|
420
520
|
* ```
|
|
421
521
|
*/
|
|
422
|
-
async getOrderPostingSettings(params, settings) {
|
|
522
|
+
async getOrderPostingSettings(flashLoanType, params, settings) {
|
|
423
523
|
const { sellAmount, buyAmount, orderToSign, collateralPermit } = settings;
|
|
424
524
|
const { chainId, flashLoanFeeAmount, validTo, owner: trader } = params;
|
|
425
525
|
const amount = sellAmount.toString();
|
|
@@ -434,7 +534,13 @@ var AaveCollateralSwapSdk = class {
|
|
|
434
534
|
sellAssetAmount: amount,
|
|
435
535
|
buyAssetAmount: buyAmount.toString()
|
|
436
536
|
};
|
|
437
|
-
const instanceAddress = await this.getExpectedInstanceAddress(
|
|
537
|
+
const instanceAddress = await this.getExpectedInstanceAddress(
|
|
538
|
+
flashLoanType,
|
|
539
|
+
chainId,
|
|
540
|
+
trader,
|
|
541
|
+
hookAmounts,
|
|
542
|
+
encodedOrder
|
|
543
|
+
);
|
|
438
544
|
const flashLoanHint = {
|
|
439
545
|
amount,
|
|
440
546
|
// this is actually in UNDERLYING but aave tokens are 1:1
|
|
@@ -444,6 +550,7 @@ var AaveCollateralSwapSdk = class {
|
|
|
444
550
|
token: orderToSign.sellToken
|
|
445
551
|
};
|
|
446
552
|
const hooks = await this.getOrderHooks(
|
|
553
|
+
flashLoanType,
|
|
447
554
|
chainId,
|
|
448
555
|
trader,
|
|
449
556
|
instanceAddress,
|
|
@@ -546,11 +653,11 @@ var AaveCollateralSwapSdk = class {
|
|
|
546
653
|
};
|
|
547
654
|
return adapter.signer.sendTransaction(txParams);
|
|
548
655
|
}
|
|
549
|
-
async getExpectedInstanceAddress(chainId, trader, hookAmounts, order) {
|
|
656
|
+
async getExpectedInstanceAddress(flashLoanType, chainId, trader, hookAmounts, order) {
|
|
550
657
|
const hookData = this.buildHookOrderData(trader, hookAmounts, order);
|
|
551
658
|
return await (0, import_sdk_common.getGlobalAdapter)().readContract({
|
|
552
659
|
address: AAVE_ADAPTER_FACTORY[chainId],
|
|
553
|
-
args: [
|
|
660
|
+
args: [AAVE_HOOK_ADAPTER_PER_TYPE[flashLoanType][chainId], hookData],
|
|
554
661
|
functionName: "getInstanceDeterministicAddress",
|
|
555
662
|
abi: aaveAdapterFactoryAbi
|
|
556
663
|
});
|
|
@@ -571,9 +678,9 @@ var AaveCollateralSwapSdk = class {
|
|
|
571
678
|
sellAmountToSign: sellAmount - flashLoanFeeAmount
|
|
572
679
|
};
|
|
573
680
|
}
|
|
574
|
-
getPreHookCallData(chainId, trader, hookAmounts, order, instanceAddress) {
|
|
681
|
+
getPreHookCallData(flashLoanType, chainId, trader, hookAmounts, order, instanceAddress) {
|
|
575
682
|
const hookData = this.buildHookOrderData(trader, hookAmounts, order);
|
|
576
|
-
const adapterImplementation =
|
|
683
|
+
const adapterImplementation = AAVE_HOOK_ADAPTER_PER_TYPE[flashLoanType][chainId];
|
|
577
684
|
return (0, import_sdk_common.getGlobalAdapter)().utils.encodeFunction(aaveAdapterFactoryAbi, "deployAndTransferFlashLoan", [
|
|
578
685
|
adapterImplementation,
|
|
579
686
|
{ ...hookData, receiver: instanceAddress }
|
|
@@ -597,14 +704,38 @@ var AaveCollateralSwapSdk = class {
|
|
|
597
704
|
hookBuyTokenAmount: hookAmounts.buyAssetAmount
|
|
598
705
|
};
|
|
599
706
|
}
|
|
600
|
-
|
|
707
|
+
getFlashLoanPostHook(flashLoanType, collateralPermit) {
|
|
708
|
+
if (flashLoanType === "DebtSwap" /* DebtSwap */) {
|
|
709
|
+
return this.getDebtSwapPostHookCallData(collateralPermit);
|
|
710
|
+
}
|
|
711
|
+
if (flashLoanType === "RepayCollateral" /* RepayCollateral */) {
|
|
712
|
+
return this.getRepayPostHookCallData(collateralPermit);
|
|
713
|
+
}
|
|
714
|
+
return this.getCollateralSwapPostHookCallData(collateralPermit);
|
|
715
|
+
}
|
|
716
|
+
getCollateralSwapPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
601
717
|
return (0, import_sdk_common.getGlobalAdapter)().utils.encodeFunction(collateralSwapAdapterHookAbi, "collateralSwapWithFlashLoan", [
|
|
602
718
|
collateralPermit
|
|
603
719
|
]);
|
|
604
720
|
}
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
721
|
+
getDebtSwapPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
722
|
+
return (0, import_sdk_common.getGlobalAdapter)().utils.encodeFunction(debtSwapAdapterAbi, "debtSwapWithFlashLoan", [collateralPermit]);
|
|
723
|
+
}
|
|
724
|
+
getRepayPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
725
|
+
return (0, import_sdk_common.getGlobalAdapter)().utils.encodeFunction(repayWithCollateralAdapterAbi, "repayDebtWithFlashLoan", [
|
|
726
|
+
collateralPermit
|
|
727
|
+
]);
|
|
728
|
+
}
|
|
729
|
+
async getOrderHooks(flashLoanType, chainId, trader, expectedInstanceAddress, hookAmounts, order, collateralPermit) {
|
|
730
|
+
const preHookCallData = this.getPreHookCallData(
|
|
731
|
+
flashLoanType,
|
|
732
|
+
chainId,
|
|
733
|
+
trader,
|
|
734
|
+
hookAmounts,
|
|
735
|
+
order,
|
|
736
|
+
expectedInstanceAddress
|
|
737
|
+
);
|
|
738
|
+
const postHookCallData = this.getFlashLoanPostHook(flashLoanType, collateralPermit);
|
|
608
739
|
return {
|
|
609
740
|
pre: [
|
|
610
741
|
{
|
|
@@ -648,12 +779,13 @@ var AaveCollateralSwapSdk = class {
|
|
|
648
779
|
// Annotate the CommonJS export names for ESM import in node:
|
|
649
780
|
0 && (module.exports = {
|
|
650
781
|
AAVE_ADAPTER_FACTORY,
|
|
651
|
-
|
|
782
|
+
AAVE_HOOK_ADAPTER_PER_TYPE,
|
|
652
783
|
AAVE_POOL_ADDRESS,
|
|
653
784
|
ADAPTER_DOMAIN_NAME,
|
|
654
785
|
ADAPTER_DOMAIN_VERSION,
|
|
655
786
|
ADAPTER_SIGNATURE_TYPES,
|
|
656
787
|
AaveCollateralSwapSdk,
|
|
788
|
+
AaveFlashLoanType,
|
|
657
789
|
DEFAULT_HOOK_GAS_LIMIT,
|
|
658
790
|
DEFAULT_VALIDITY,
|
|
659
791
|
EMPTY_PERMIT,
|
package/dist/index.mjs
CHANGED
|
@@ -9,16 +9,23 @@ import { OrderSigningUtils } from "@cowprotocol/sdk-order-signing";
|
|
|
9
9
|
import { SigningScheme } from "@cowprotocol/sdk-order-book";
|
|
10
10
|
|
|
11
11
|
// src/aave/const.ts
|
|
12
|
-
import { mapAddressToSupportedNetworks
|
|
12
|
+
import { mapAddressToSupportedNetworks } from "@cowprotocol/sdk-config";
|
|
13
13
|
var HASH_ZERO = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
14
|
+
var AaveFlashLoanType = /* @__PURE__ */ ((AaveFlashLoanType2) => {
|
|
15
|
+
AaveFlashLoanType2["CollateralSwap"] = "CollateralSwap";
|
|
16
|
+
AaveFlashLoanType2["DebtSwap"] = "DebtSwap";
|
|
17
|
+
AaveFlashLoanType2["RepayCollateral"] = "RepayCollateral";
|
|
18
|
+
return AaveFlashLoanType2;
|
|
19
|
+
})(AaveFlashLoanType || {});
|
|
14
20
|
var AAVE_POOL_ADDRESS = mapAddressToSupportedNetworks("0xb50201558B00496A145fE76f7424749556E326D8");
|
|
15
|
-
var AAVE_ADAPTER_FACTORY =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
[
|
|
21
|
+
var AAVE_ADAPTER_FACTORY = mapAddressToSupportedNetworks("0x889ee28C0a8a41a312546A8eeD77b4b097C84016");
|
|
22
|
+
var AAVE_COLLATERAL_SWAP_ADAPTER_HOOK = mapAddressToSupportedNetworks("0x0aeC794e544B81D96149a4C8C1cC57c6F31A978A");
|
|
23
|
+
var AAVE_DEBT_SWAP_ADAPTER_HOOK = mapAddressToSupportedNetworks("0x2d13ADCFa398073d7406e5e1aF3dD14663cdBF30");
|
|
24
|
+
var AAVE_REPAY_COLLATERAL_ADAPTER_HOOK = mapAddressToSupportedNetworks("0x193fd444802D6BC18a9AE0613D33C024F16A9dDC");
|
|
25
|
+
var AAVE_HOOK_ADAPTER_PER_TYPE = {
|
|
26
|
+
["CollateralSwap" /* CollateralSwap */]: AAVE_COLLATERAL_SWAP_ADAPTER_HOOK,
|
|
27
|
+
["DebtSwap" /* DebtSwap */]: AAVE_DEBT_SWAP_ADAPTER_HOOK,
|
|
28
|
+
["RepayCollateral" /* RepayCollateral */]: AAVE_REPAY_COLLATERAL_ADAPTER_HOOK
|
|
22
29
|
};
|
|
23
30
|
var DEFAULT_HOOK_GAS_LIMIT = {
|
|
24
31
|
pre: 300000n,
|
|
@@ -276,6 +283,94 @@ var collateralSwapAdapterHookAbi = [
|
|
|
276
283
|
}
|
|
277
284
|
];
|
|
278
285
|
|
|
286
|
+
// src/aave/abi/DebtSwapAdapter.ts
|
|
287
|
+
var debtSwapAdapterAbi = [
|
|
288
|
+
{
|
|
289
|
+
type: "function",
|
|
290
|
+
name: "debtSwapWithFlashLoan",
|
|
291
|
+
inputs: [
|
|
292
|
+
{
|
|
293
|
+
name: "creditDelegationSig",
|
|
294
|
+
type: "tuple",
|
|
295
|
+
internalType: "struct DataTypes.CreditDelegationSig",
|
|
296
|
+
components: [
|
|
297
|
+
{
|
|
298
|
+
name: "amount",
|
|
299
|
+
type: "uint256",
|
|
300
|
+
internalType: "uint256"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: "deadline",
|
|
304
|
+
type: "uint256",
|
|
305
|
+
internalType: "uint256"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
name: "v",
|
|
309
|
+
type: "uint8",
|
|
310
|
+
internalType: "uint8"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
name: "r",
|
|
314
|
+
type: "bytes32",
|
|
315
|
+
internalType: "bytes32"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
name: "s",
|
|
319
|
+
type: "bytes32",
|
|
320
|
+
internalType: "bytes32"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
outputs: [],
|
|
326
|
+
stateMutability: "nonpayable"
|
|
327
|
+
}
|
|
328
|
+
];
|
|
329
|
+
|
|
330
|
+
// src/aave/abi/RepayWithCollateralAdapter.ts
|
|
331
|
+
var repayWithCollateralAdapterAbi = [
|
|
332
|
+
{
|
|
333
|
+
type: "function",
|
|
334
|
+
name: "repayDebtWithFlashLoan",
|
|
335
|
+
inputs: [
|
|
336
|
+
{
|
|
337
|
+
name: "erc20Permit",
|
|
338
|
+
type: "tuple",
|
|
339
|
+
internalType: "struct DataTypes.Permit",
|
|
340
|
+
components: [
|
|
341
|
+
{
|
|
342
|
+
name: "amount",
|
|
343
|
+
type: "uint256",
|
|
344
|
+
internalType: "uint256"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: "deadline",
|
|
348
|
+
type: "uint256",
|
|
349
|
+
internalType: "uint256"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
name: "v",
|
|
353
|
+
type: "uint8",
|
|
354
|
+
internalType: "uint8"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
name: "r",
|
|
358
|
+
type: "bytes32",
|
|
359
|
+
internalType: "bytes32"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
name: "s",
|
|
363
|
+
type: "bytes32",
|
|
364
|
+
internalType: "bytes32"
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
outputs: [],
|
|
370
|
+
stateMutability: "nonpayable"
|
|
371
|
+
}
|
|
372
|
+
];
|
|
373
|
+
|
|
279
374
|
// src/aave/AaveCollateralSwapSdk.ts
|
|
280
375
|
var AaveCollateralSwapSdk = class {
|
|
281
376
|
/**
|
|
@@ -307,12 +402,16 @@ var AaveCollateralSwapSdk = class {
|
|
|
307
402
|
const sellAmount = BigInt(amount);
|
|
308
403
|
const quoteAndPost = await tradingSdk.getQuote(quoteParams);
|
|
309
404
|
const { quoteResults, postSwapOrderFromQuote } = quoteAndPost;
|
|
310
|
-
const { swapSettings, instanceAddress } = await this.getOrderPostingSettings(
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
405
|
+
const { swapSettings, instanceAddress } = await this.getOrderPostingSettings(
|
|
406
|
+
"CollateralSwap" /* CollateralSwap */,
|
|
407
|
+
quoteParams,
|
|
408
|
+
{
|
|
409
|
+
sellAmount,
|
|
410
|
+
buyAmount: quoteResults.amountsAndCosts.afterSlippage.buyAmount,
|
|
411
|
+
orderToSign: quoteResults.orderToSign,
|
|
412
|
+
collateralPermit: settings?.collateralPermit
|
|
413
|
+
}
|
|
414
|
+
);
|
|
316
415
|
const collateralParams = {
|
|
317
416
|
instanceAddress,
|
|
318
417
|
trader: quoteParams.owner,
|
|
@@ -386,7 +485,7 @@ var AaveCollateralSwapSdk = class {
|
|
|
386
485
|
* @throws Will throw if contract address calculation fails or gas estimation fails.
|
|
387
486
|
* ```
|
|
388
487
|
*/
|
|
389
|
-
async getOrderPostingSettings(params, settings) {
|
|
488
|
+
async getOrderPostingSettings(flashLoanType, params, settings) {
|
|
390
489
|
const { sellAmount, buyAmount, orderToSign, collateralPermit } = settings;
|
|
391
490
|
const { chainId, flashLoanFeeAmount, validTo, owner: trader } = params;
|
|
392
491
|
const amount = sellAmount.toString();
|
|
@@ -401,7 +500,13 @@ var AaveCollateralSwapSdk = class {
|
|
|
401
500
|
sellAssetAmount: amount,
|
|
402
501
|
buyAssetAmount: buyAmount.toString()
|
|
403
502
|
};
|
|
404
|
-
const instanceAddress = await this.getExpectedInstanceAddress(
|
|
503
|
+
const instanceAddress = await this.getExpectedInstanceAddress(
|
|
504
|
+
flashLoanType,
|
|
505
|
+
chainId,
|
|
506
|
+
trader,
|
|
507
|
+
hookAmounts,
|
|
508
|
+
encodedOrder
|
|
509
|
+
);
|
|
405
510
|
const flashLoanHint = {
|
|
406
511
|
amount,
|
|
407
512
|
// this is actually in UNDERLYING but aave tokens are 1:1
|
|
@@ -411,6 +516,7 @@ var AaveCollateralSwapSdk = class {
|
|
|
411
516
|
token: orderToSign.sellToken
|
|
412
517
|
};
|
|
413
518
|
const hooks = await this.getOrderHooks(
|
|
519
|
+
flashLoanType,
|
|
414
520
|
chainId,
|
|
415
521
|
trader,
|
|
416
522
|
instanceAddress,
|
|
@@ -513,11 +619,11 @@ var AaveCollateralSwapSdk = class {
|
|
|
513
619
|
};
|
|
514
620
|
return adapter.signer.sendTransaction(txParams);
|
|
515
621
|
}
|
|
516
|
-
async getExpectedInstanceAddress(chainId, trader, hookAmounts, order) {
|
|
622
|
+
async getExpectedInstanceAddress(flashLoanType, chainId, trader, hookAmounts, order) {
|
|
517
623
|
const hookData = this.buildHookOrderData(trader, hookAmounts, order);
|
|
518
624
|
return await getGlobalAdapter().readContract({
|
|
519
625
|
address: AAVE_ADAPTER_FACTORY[chainId],
|
|
520
|
-
args: [
|
|
626
|
+
args: [AAVE_HOOK_ADAPTER_PER_TYPE[flashLoanType][chainId], hookData],
|
|
521
627
|
functionName: "getInstanceDeterministicAddress",
|
|
522
628
|
abi: aaveAdapterFactoryAbi
|
|
523
629
|
});
|
|
@@ -538,9 +644,9 @@ var AaveCollateralSwapSdk = class {
|
|
|
538
644
|
sellAmountToSign: sellAmount - flashLoanFeeAmount
|
|
539
645
|
};
|
|
540
646
|
}
|
|
541
|
-
getPreHookCallData(chainId, trader, hookAmounts, order, instanceAddress) {
|
|
647
|
+
getPreHookCallData(flashLoanType, chainId, trader, hookAmounts, order, instanceAddress) {
|
|
542
648
|
const hookData = this.buildHookOrderData(trader, hookAmounts, order);
|
|
543
|
-
const adapterImplementation =
|
|
649
|
+
const adapterImplementation = AAVE_HOOK_ADAPTER_PER_TYPE[flashLoanType][chainId];
|
|
544
650
|
return getGlobalAdapter().utils.encodeFunction(aaveAdapterFactoryAbi, "deployAndTransferFlashLoan", [
|
|
545
651
|
adapterImplementation,
|
|
546
652
|
{ ...hookData, receiver: instanceAddress }
|
|
@@ -564,14 +670,38 @@ var AaveCollateralSwapSdk = class {
|
|
|
564
670
|
hookBuyTokenAmount: hookAmounts.buyAssetAmount
|
|
565
671
|
};
|
|
566
672
|
}
|
|
567
|
-
|
|
673
|
+
getFlashLoanPostHook(flashLoanType, collateralPermit) {
|
|
674
|
+
if (flashLoanType === "DebtSwap" /* DebtSwap */) {
|
|
675
|
+
return this.getDebtSwapPostHookCallData(collateralPermit);
|
|
676
|
+
}
|
|
677
|
+
if (flashLoanType === "RepayCollateral" /* RepayCollateral */) {
|
|
678
|
+
return this.getRepayPostHookCallData(collateralPermit);
|
|
679
|
+
}
|
|
680
|
+
return this.getCollateralSwapPostHookCallData(collateralPermit);
|
|
681
|
+
}
|
|
682
|
+
getCollateralSwapPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
568
683
|
return getGlobalAdapter().utils.encodeFunction(collateralSwapAdapterHookAbi, "collateralSwapWithFlashLoan", [
|
|
569
684
|
collateralPermit
|
|
570
685
|
]);
|
|
571
686
|
}
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
687
|
+
getDebtSwapPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
688
|
+
return getGlobalAdapter().utils.encodeFunction(debtSwapAdapterAbi, "debtSwapWithFlashLoan", [collateralPermit]);
|
|
689
|
+
}
|
|
690
|
+
getRepayPostHookCallData(collateralPermit = EMPTY_PERMIT) {
|
|
691
|
+
return getGlobalAdapter().utils.encodeFunction(repayWithCollateralAdapterAbi, "repayDebtWithFlashLoan", [
|
|
692
|
+
collateralPermit
|
|
693
|
+
]);
|
|
694
|
+
}
|
|
695
|
+
async getOrderHooks(flashLoanType, chainId, trader, expectedInstanceAddress, hookAmounts, order, collateralPermit) {
|
|
696
|
+
const preHookCallData = this.getPreHookCallData(
|
|
697
|
+
flashLoanType,
|
|
698
|
+
chainId,
|
|
699
|
+
trader,
|
|
700
|
+
hookAmounts,
|
|
701
|
+
order,
|
|
702
|
+
expectedInstanceAddress
|
|
703
|
+
);
|
|
704
|
+
const postHookCallData = this.getFlashLoanPostHook(flashLoanType, collateralPermit);
|
|
575
705
|
return {
|
|
576
706
|
pre: [
|
|
577
707
|
{
|
|
@@ -614,12 +744,13 @@ var AaveCollateralSwapSdk = class {
|
|
|
614
744
|
};
|
|
615
745
|
export {
|
|
616
746
|
AAVE_ADAPTER_FACTORY,
|
|
617
|
-
|
|
747
|
+
AAVE_HOOK_ADAPTER_PER_TYPE,
|
|
618
748
|
AAVE_POOL_ADDRESS,
|
|
619
749
|
ADAPTER_DOMAIN_NAME,
|
|
620
750
|
ADAPTER_DOMAIN_VERSION,
|
|
621
751
|
ADAPTER_SIGNATURE_TYPES,
|
|
622
752
|
AaveCollateralSwapSdk,
|
|
753
|
+
AaveFlashLoanType,
|
|
623
754
|
DEFAULT_HOOK_GAS_LIMIT,
|
|
624
755
|
DEFAULT_VALIDITY,
|
|
625
756
|
EMPTY_PERMIT,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cowprotocol/sdk-flash-loans",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Flash loans for CoW Protocol",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@cowprotocol/sdk-common": "0.
|
|
18
|
-
"@cowprotocol/sdk-
|
|
19
|
-
"@cowprotocol/sdk-
|
|
20
|
-
"@cowprotocol/sdk-order-
|
|
21
|
-
"@cowprotocol/sdk-order-
|
|
17
|
+
"@cowprotocol/sdk-common": "0.3.0",
|
|
18
|
+
"@cowprotocol/sdk-app-data": "4.1.5",
|
|
19
|
+
"@cowprotocol/sdk-trading": "0.4.3",
|
|
20
|
+
"@cowprotocol/sdk-order-signing": "0.1.8",
|
|
21
|
+
"@cowprotocol/sdk-order-book": "0.1.4",
|
|
22
22
|
"@cowprotocol/sdk-config": "0.2.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"ethers": "^5.7.2",
|
|
36
36
|
"viem": "2.30.5",
|
|
37
37
|
"@cow-sdk/typescript-config": "0.0.0-beta.0",
|
|
38
|
-
"@cowprotocol/sdk-ethers-v5-adapter": "0.
|
|
39
|
-
"@cowprotocol/sdk-
|
|
40
|
-
"@cowprotocol/sdk-
|
|
38
|
+
"@cowprotocol/sdk-ethers-v5-adapter": "0.2.0",
|
|
39
|
+
"@cowprotocol/sdk-viem-adapter": "0.2.0",
|
|
40
|
+
"@cowprotocol/sdk-ethers-v6-adapter": "0.2.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "tsup src/index.ts --format esm,cjs --dts",
|
|
@@ -46,7 +46,9 @@
|
|
|
46
46
|
"test": "jest",
|
|
47
47
|
"test:coverage": "jest --coverage --json --outputFile=jest.results.json && npx coveralls < ./coverage/lcov.info",
|
|
48
48
|
"test:coverage:html": "jest --silent=false --coverage --coverageReporters html",
|
|
49
|
-
"test:aave-collateral-
|
|
49
|
+
"test:integration:aave-collateral-swap": "npx jest --testNamePattern=^AaveFlashLoanIntegration.collateralSwap",
|
|
50
|
+
"test:integration:aave-debt-swap": "npx jest --testNamePattern=^AaveFlashLoanIntegration.debtSwap",
|
|
51
|
+
"test:integration:aave-repay-collateral": "npx jest --testNamePattern=^AaveFlashLoanIntegration.repayCollateral",
|
|
50
52
|
"typecheck": "tsc --noEmit"
|
|
51
53
|
}
|
|
52
54
|
}
|