@gearbox-protocol/sdk 14.10.3 → 14.10.5-next.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/cjs/abi/iERC20Zapper.js +33 -0
- package/dist/cjs/abi/iETHZapper.js +30 -0
- package/dist/cjs/dev/AccountOpener.js +4 -5
- package/dist/cjs/sdk/market/ZapperRegister.js +5 -3
- package/dist/cjs/sdk/market/index.js +3 -1
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +20 -0
- package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +98 -0
- package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +89 -0
- package/dist/cjs/sdk/market/zapper/Zapper.js +47 -0
- package/dist/cjs/sdk/market/zapper/createZapper.js +45 -0
- package/dist/cjs/sdk/market/zapper/index.js +28 -0
- package/dist/cjs/sdk/pools/PoolService.js +58 -60
- package/dist/esm/abi/iERC20Zapper.js +9 -0
- package/dist/esm/abi/iETHZapper.js +6 -0
- package/dist/esm/dev/AccountOpener.js +4 -5
- package/dist/esm/sdk/market/ZapperRegister.js +5 -3
- package/dist/esm/sdk/market/index.js +1 -0
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +20 -0
- package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +74 -0
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +65 -0
- package/dist/esm/sdk/market/zapper/Zapper.js +23 -0
- package/dist/esm/sdk/market/zapper/createZapper.js +21 -0
- package/dist/esm/sdk/market/zapper/index.js +4 -0
- package/dist/esm/sdk/pools/PoolService.js +62 -60
- package/dist/types/abi/iERC20Zapper.d.ts +313 -0
- package/dist/types/abi/iETHZapper.d.ts +153 -0
- package/dist/types/sdk/base/types.d.ts +9 -0
- package/dist/types/sdk/market/ZapperRegister.d.ts +4 -4
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +2 -1
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +2 -2
- package/dist/types/sdk/market/credit/createCreditFacade.d.ts +2 -2
- package/dist/types/sdk/market/credit/types.d.ts +134 -6
- package/dist/types/sdk/market/index.d.ts +1 -0
- package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -2
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +14 -3
- package/dist/types/sdk/market/pool/createPool.d.ts +2 -2
- package/dist/types/sdk/market/pool/types.d.ts +117 -4
- package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +350 -0
- package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +186 -0
- package/dist/types/sdk/market/zapper/Zapper.d.ts +13 -0
- package/dist/types/sdk/market/zapper/createZapper.d.ts +6 -0
- package/dist/types/sdk/market/zapper/index.d.ts +4 -0
- package/dist/types/sdk/pools/PoolService.d.ts +3 -3
- package/dist/types/sdk/pools/types.d.ts +10 -5
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var iERC20Zapper_exports = {};
|
|
20
|
+
__export(iERC20Zapper_exports, {
|
|
21
|
+
ierc20ZapperAbi: () => ierc20ZapperAbi
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(iERC20Zapper_exports);
|
|
24
|
+
var import_iERC20ZapperDeposits = require("./iERC20ZapperDeposits.js");
|
|
25
|
+
var import_iZapper = require("./iZapper.js");
|
|
26
|
+
const ierc20ZapperAbi = [
|
|
27
|
+
...import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
|
|
28
|
+
...import_iZapper.iZapperAbi
|
|
29
|
+
];
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
ierc20ZapperAbi
|
|
33
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var iETHZapper_exports = {};
|
|
20
|
+
__export(iETHZapper_exports, {
|
|
21
|
+
iethZapperAbi: () => iethZapperAbi
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(iETHZapper_exports);
|
|
24
|
+
var import_iETHZapperDeposits = require("./iETHZapperDeposits.js");
|
|
25
|
+
var import_iZapper = require("./iZapper.js");
|
|
26
|
+
const iethZapperAbi = [...import_iETHZapperDeposits.iethZapperDepositsAbi, ...import_iZapper.iZapperAbi];
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
iethZapperAbi
|
|
30
|
+
});
|
|
@@ -524,12 +524,11 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
524
524
|
if (!depositCall) {
|
|
525
525
|
throw new Error(`no deposit call could be created for ${poolName}`);
|
|
526
526
|
}
|
|
527
|
-
txHash = await this.#anvil.
|
|
527
|
+
txHash = await this.#anvil.sendTransaction({
|
|
528
528
|
account: depositor,
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
args: depositCall.args,
|
|
529
|
+
to: depositCall.tx.to,
|
|
530
|
+
data: depositCall.tx.callData,
|
|
531
|
+
value: BigInt(depositCall.tx.value ?? "0"),
|
|
533
532
|
chain: this.#anvil.chain
|
|
534
533
|
});
|
|
535
534
|
receipt = await this.#anvil.waitForTransactionReceipt({ hash: txHash });
|
|
@@ -25,9 +25,10 @@ var import_peripheryCompressor = require("../../abi/compressors/peripheryCompres
|
|
|
25
25
|
var import_base = require("../base/index.js");
|
|
26
26
|
var import_constants = require("../constants/index.js");
|
|
27
27
|
var import_utils = require("../utils/index.js");
|
|
28
|
+
var import_zapper = require("./zapper/index.js");
|
|
28
29
|
class ZapperRegister extends import_base.SDKConstruct {
|
|
29
30
|
/**
|
|
30
|
-
* Mapping pool.address ->
|
|
31
|
+
* Mapping pool.address -> Zapper[]
|
|
31
32
|
* Needs to be loaded explicitly using loadZappers method
|
|
32
33
|
*/
|
|
33
34
|
#zappers;
|
|
@@ -75,16 +76,17 @@ class ZapperRegister extends import_base.SDKConstruct {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
#addZapper(z) {
|
|
79
|
+
const zapper = (0, import_zapper.createZapper)(this.sdk, z);
|
|
78
80
|
const existing = this.zappers.get(z.pool);
|
|
79
81
|
if (existing) {
|
|
80
82
|
const hasZapper = existing.some(
|
|
81
83
|
(zz) => (0, import_utils.hexEq)(zz.baseParams.addr, z.baseParams.addr)
|
|
82
84
|
);
|
|
83
85
|
if (!hasZapper) {
|
|
84
|
-
existing.push(
|
|
86
|
+
existing.push(zapper);
|
|
85
87
|
}
|
|
86
88
|
} else {
|
|
87
|
-
this.zappers.upsert(z.pool, [
|
|
89
|
+
this.zappers.upsert(z.pool, [zapper]);
|
|
88
90
|
}
|
|
89
91
|
const zappersTokens = [z.tokenIn, z.tokenOut];
|
|
90
92
|
for (const t of zappersTokens) {
|
|
@@ -24,6 +24,7 @@ __reExport(market_exports, require("./pool/index.js"), module.exports);
|
|
|
24
24
|
__reExport(market_exports, require("./pricefeeds/index.js"), module.exports);
|
|
25
25
|
__reExport(market_exports, require("./rwa/index.js"), module.exports);
|
|
26
26
|
__reExport(market_exports, require("./types.js"), module.exports);
|
|
27
|
+
__reExport(market_exports, require("./zapper/index.js"), module.exports);
|
|
27
28
|
// Annotate the CommonJS export names for ESM import in node:
|
|
28
29
|
0 && (module.exports = {
|
|
29
30
|
...require("./adapters/index.js"),
|
|
@@ -34,5 +35,6 @@ __reExport(market_exports, require("./types.js"), module.exports);
|
|
|
34
35
|
...require("./pool/index.js"),
|
|
35
36
|
...require("./pricefeeds/index.js"),
|
|
36
37
|
...require("./rwa/index.js"),
|
|
37
|
-
...require("./types.js")
|
|
38
|
+
...require("./types.js"),
|
|
39
|
+
...require("./zapper/index.js")
|
|
38
40
|
});
|
|
@@ -127,6 +127,26 @@ class PoolV310Contract extends import_base.BaseContract {
|
|
|
127
127
|
break;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Deposits underlying assets into the pool on behalf of a user with a
|
|
132
|
+
* referral code.
|
|
133
|
+
*/
|
|
134
|
+
depositWithReferral(amount, onBehalfOf, referralCode) {
|
|
135
|
+
return this.createRawTx({
|
|
136
|
+
functionName: "depositWithReferral",
|
|
137
|
+
args: [amount, onBehalfOf, referralCode]
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Redeems pool shares from the owner and sends the underlying assets to
|
|
142
|
+
* the receiver.
|
|
143
|
+
*/
|
|
144
|
+
redeem(amount, owner, receiver) {
|
|
145
|
+
return this.createRawTx({
|
|
146
|
+
functionName: "redeem",
|
|
147
|
+
args: [amount, owner, receiver]
|
|
148
|
+
});
|
|
149
|
+
}
|
|
130
150
|
stringifyFunctionParams(params) {
|
|
131
151
|
switch (params.functionName) {
|
|
132
152
|
case "deposit": {
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var IERC20ZapperContract_exports = {};
|
|
20
|
+
__export(IERC20ZapperContract_exports, {
|
|
21
|
+
IERC20ZapperContract: () => IERC20ZapperContract
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(IERC20ZapperContract_exports);
|
|
24
|
+
var import_iERC20Zapper = require("../../../abi/iERC20Zapper.js");
|
|
25
|
+
var import_base = require("../../base/index.js");
|
|
26
|
+
const abi = import_iERC20Zapper.ierc20ZapperAbi;
|
|
27
|
+
class IERC20ZapperContract extends import_base.BaseContract {
|
|
28
|
+
pool;
|
|
29
|
+
type;
|
|
30
|
+
baseParams;
|
|
31
|
+
tokenIn;
|
|
32
|
+
tokenOut;
|
|
33
|
+
constructor(sdk, data) {
|
|
34
|
+
super(sdk, {
|
|
35
|
+
addr: data.baseParams.addr,
|
|
36
|
+
abi,
|
|
37
|
+
name: `ERC20Zapper(${sdk.labelAddress(data.baseParams.addr)})`,
|
|
38
|
+
version: data.baseParams.version,
|
|
39
|
+
contractType: data.baseParams.contractType
|
|
40
|
+
});
|
|
41
|
+
this.pool = data.pool;
|
|
42
|
+
this.type = data.type;
|
|
43
|
+
this.baseParams = data.baseParams;
|
|
44
|
+
this.tokenIn = data.tokenIn;
|
|
45
|
+
this.tokenOut = data.tokenOut;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Deposits ERC20 tokens into the pool via this zapper.
|
|
49
|
+
*/
|
|
50
|
+
deposit(tokenInAmount, receiver) {
|
|
51
|
+
return this.createRawTx({
|
|
52
|
+
functionName: "deposit",
|
|
53
|
+
args: [tokenInAmount, receiver]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Deposits ERC20 tokens into the pool via this zapper using a referral code.
|
|
58
|
+
*/
|
|
59
|
+
depositWithReferral(tokenInAmount, receiver, referralCode) {
|
|
60
|
+
return this.createRawTx({
|
|
61
|
+
functionName: "depositWithReferral",
|
|
62
|
+
args: [tokenInAmount, receiver, referralCode]
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Deposits ERC20 tokens via this zapper with a referral code and an
|
|
67
|
+
* EIP-2612 permit signature, skipping a separate approve transaction.
|
|
68
|
+
*/
|
|
69
|
+
depositWithReferralAndPermit(tokenInAmount, receiver, referralCode, deadline, v, r, s) {
|
|
70
|
+
return this.createRawTx({
|
|
71
|
+
functionName: "depositWithReferralAndPermit",
|
|
72
|
+
args: [tokenInAmount, receiver, referralCode, deadline, v, r, s]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
77
|
+
*/
|
|
78
|
+
redeem(tokenInAmount, receiver) {
|
|
79
|
+
return this.createRawTx({
|
|
80
|
+
functionName: "redeem",
|
|
81
|
+
args: [tokenInAmount, receiver]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
86
|
+
* skipping a separate approve transaction.
|
|
87
|
+
*/
|
|
88
|
+
redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
|
|
89
|
+
return this.createRawTx({
|
|
90
|
+
functionName: "redeemWithPermit",
|
|
91
|
+
args: [tokenInAmount, receiver, deadline, v, r, s]
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
97
|
+
IERC20ZapperContract
|
|
98
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var IETHZapperContract_exports = {};
|
|
20
|
+
__export(IETHZapperContract_exports, {
|
|
21
|
+
IETHZapperContract: () => IETHZapperContract
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(IETHZapperContract_exports);
|
|
24
|
+
var import_iETHZapper = require("../../../abi/iETHZapper.js");
|
|
25
|
+
var import_base = require("../../base/index.js");
|
|
26
|
+
const abi = import_iETHZapper.iethZapperAbi;
|
|
27
|
+
class IETHZapperContract extends import_base.BaseContract {
|
|
28
|
+
pool;
|
|
29
|
+
type;
|
|
30
|
+
baseParams;
|
|
31
|
+
tokenIn;
|
|
32
|
+
tokenOut;
|
|
33
|
+
constructor(sdk, data) {
|
|
34
|
+
super(sdk, {
|
|
35
|
+
addr: data.baseParams.addr,
|
|
36
|
+
abi,
|
|
37
|
+
name: `ETHZapper(${sdk.labelAddress(data.baseParams.addr)})`,
|
|
38
|
+
version: data.baseParams.version,
|
|
39
|
+
contractType: data.baseParams.contractType
|
|
40
|
+
});
|
|
41
|
+
this.pool = data.pool;
|
|
42
|
+
this.type = data.type;
|
|
43
|
+
this.baseParams = data.baseParams;
|
|
44
|
+
this.tokenIn = data.tokenIn;
|
|
45
|
+
this.tokenOut = data.tokenOut;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Deposits native ETH into the pool via this zapper.
|
|
49
|
+
*/
|
|
50
|
+
deposit(receiver) {
|
|
51
|
+
return this.createRawTx({
|
|
52
|
+
functionName: "deposit",
|
|
53
|
+
args: [receiver]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Deposits native ETH into the pool via this zapper using a referral code.
|
|
58
|
+
* The caller must attach the deposit amount as msg.value.
|
|
59
|
+
*/
|
|
60
|
+
depositWithReferral(receiver, referralCode) {
|
|
61
|
+
return this.createRawTx({
|
|
62
|
+
functionName: "depositWithReferral",
|
|
63
|
+
args: [receiver, referralCode]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
68
|
+
*/
|
|
69
|
+
redeem(tokenInAmount, receiver) {
|
|
70
|
+
return this.createRawTx({
|
|
71
|
+
functionName: "redeem",
|
|
72
|
+
args: [tokenInAmount, receiver]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
77
|
+
* skipping a separate approve transaction.
|
|
78
|
+
*/
|
|
79
|
+
redeemWithPermit(tokenInAmount, receiver, deadline, v, r, s) {
|
|
80
|
+
return this.createRawTx({
|
|
81
|
+
functionName: "redeemWithPermit",
|
|
82
|
+
args: [tokenInAmount, receiver, deadline, v, r, s]
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
IETHZapperContract
|
|
89
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Zapper_exports = {};
|
|
20
|
+
__export(Zapper_exports, {
|
|
21
|
+
Zapper: () => Zapper
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Zapper_exports);
|
|
24
|
+
var import_utils = require("../../utils/index.js");
|
|
25
|
+
class Zapper {
|
|
26
|
+
pool;
|
|
27
|
+
type;
|
|
28
|
+
baseParams;
|
|
29
|
+
tokenIn;
|
|
30
|
+
tokenOut;
|
|
31
|
+
contractType;
|
|
32
|
+
constructor(data) {
|
|
33
|
+
this.pool = data.pool;
|
|
34
|
+
this.type = data.type;
|
|
35
|
+
this.baseParams = data.baseParams;
|
|
36
|
+
this.tokenIn = data.tokenIn;
|
|
37
|
+
this.tokenOut = data.tokenOut;
|
|
38
|
+
this.contractType = Zapper.contractType(data.baseParams);
|
|
39
|
+
}
|
|
40
|
+
static contractType(baseParams) {
|
|
41
|
+
return (0, import_utils.bytes32ToString)(baseParams.contractType);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
Zapper
|
|
47
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var createZapper_exports = {};
|
|
20
|
+
__export(createZapper_exports, {
|
|
21
|
+
createZapper: () => createZapper
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(createZapper_exports);
|
|
24
|
+
var import_IERC20ZapperContract = require("./IERC20ZapperContract.js");
|
|
25
|
+
var import_IETHZapperContract = require("./IETHZapperContract.js");
|
|
26
|
+
var import_Zapper = require("./Zapper.js");
|
|
27
|
+
function createZapper(sdk, data) {
|
|
28
|
+
if (data.type === "base") {
|
|
29
|
+
const contractType = import_Zapper.Zapper.contractType(data.baseParams);
|
|
30
|
+
switch (contractType) {
|
|
31
|
+
case "ZAPPER::ERC4626_UNDERLYING":
|
|
32
|
+
return new import_IERC20ZapperContract.IERC20ZapperContract(sdk, data);
|
|
33
|
+
case "ZAPPER::WETH_DEPOSIT":
|
|
34
|
+
return new import_IETHZapperContract.IETHZapperContract(sdk, data);
|
|
35
|
+
default:
|
|
36
|
+
sdk.logger?.warn(`Unknown zapper contract type: ${contractType}`);
|
|
37
|
+
return new import_Zapper.Zapper(data);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return new import_Zapper.Zapper(data);
|
|
41
|
+
}
|
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
+
0 && (module.exports = {
|
|
44
|
+
createZapper
|
|
45
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var zapper_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(zapper_exports);
|
|
18
|
+
__reExport(zapper_exports, require("./createZapper.js"), module.exports);
|
|
19
|
+
__reExport(zapper_exports, require("./IERC20ZapperContract.js"), module.exports);
|
|
20
|
+
__reExport(zapper_exports, require("./IETHZapperContract.js"), module.exports);
|
|
21
|
+
__reExport(zapper_exports, require("./Zapper.js"), module.exports);
|
|
22
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
+
0 && (module.exports = {
|
|
24
|
+
...require("./createZapper.js"),
|
|
25
|
+
...require("./IERC20ZapperContract.js"),
|
|
26
|
+
...require("./IETHZapperContract.js"),
|
|
27
|
+
...require("./Zapper.js")
|
|
28
|
+
});
|
|
@@ -21,13 +21,10 @@ __export(PoolService_exports, {
|
|
|
21
21
|
PoolService: () => PoolService
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(PoolService_exports);
|
|
24
|
-
var import_generated = require("../../abi/310/generated.js");
|
|
25
24
|
var import_iERC20 = require("../../abi/iERC20.js");
|
|
26
|
-
var import_iERC20ZapperDeposits = require("../../abi/iERC20ZapperDeposits.js");
|
|
27
|
-
var import_iETHZapperDeposits = require("../../abi/iETHZapperDeposits.js");
|
|
28
|
-
var import_iZapper = require("../../abi/iZapper.js");
|
|
29
25
|
var import_base = require("../base/index.js");
|
|
30
26
|
var import_constants = require("../constants/index.js");
|
|
27
|
+
var import_market = require("../market/index.js");
|
|
31
28
|
var import_utils = require("../utils/index.js");
|
|
32
29
|
class PoolService extends import_base.SDKConstruct {
|
|
33
30
|
/**
|
|
@@ -99,42 +96,42 @@ class PoolService extends import_base.SDKConstruct {
|
|
|
99
96
|
}
|
|
100
97
|
}
|
|
101
98
|
const { zapper } = meta;
|
|
102
|
-
if (zapper
|
|
99
|
+
if (zapper instanceof import_market.IETHZapperContract) {
|
|
100
|
+
const tx2 = zapper.depositWithReferral(wallet, referralCode ?? 0n);
|
|
101
|
+
tx2.value = collateral.balance.toString();
|
|
103
102
|
return {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
functionName: "depositWithReferral",
|
|
107
|
-
args: [wallet, referralCode],
|
|
108
|
-
value: collateral.balance
|
|
103
|
+
tx: tx2,
|
|
104
|
+
calls: [{ target: zapper.baseParams.addr, callData: tx2.callData }]
|
|
109
105
|
};
|
|
110
|
-
} else if (zapper) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
} : {
|
|
125
|
-
target: zapper.baseParams.addr,
|
|
126
|
-
abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
|
|
127
|
-
functionName: "depositWithReferral",
|
|
128
|
-
args: [collateral.balance, wallet, referralCode]
|
|
129
|
-
};
|
|
130
|
-
} else {
|
|
106
|
+
} else if (zapper instanceof import_market.IERC20ZapperContract) {
|
|
107
|
+
const tx2 = permit ? zapper.depositWithReferralAndPermit(
|
|
108
|
+
collateral.balance,
|
|
109
|
+
wallet,
|
|
110
|
+
referralCode ?? 0n,
|
|
111
|
+
permit.deadline,
|
|
112
|
+
permit.v,
|
|
113
|
+
permit.r,
|
|
114
|
+
permit.s
|
|
115
|
+
) : zapper.depositWithReferral(
|
|
116
|
+
collateral.balance,
|
|
117
|
+
wallet,
|
|
118
|
+
referralCode ?? 0n
|
|
119
|
+
);
|
|
131
120
|
return {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
functionName: "depositWithReferral",
|
|
135
|
-
args: [collateral.balance, wallet, referralCode]
|
|
121
|
+
tx: tx2,
|
|
122
|
+
calls: [{ target: zapper.baseParams.addr, callData: tx2.callData }]
|
|
136
123
|
};
|
|
137
124
|
}
|
|
125
|
+
const poolContract = this.sdk.marketRegister.findByPool(pool).pool.pool;
|
|
126
|
+
const tx = poolContract.depositWithReferral(
|
|
127
|
+
collateral.balance,
|
|
128
|
+
wallet,
|
|
129
|
+
referralCode ?? 0n
|
|
130
|
+
);
|
|
131
|
+
return {
|
|
132
|
+
tx,
|
|
133
|
+
calls: [{ target: pool, callData: tx.callData }]
|
|
134
|
+
};
|
|
138
135
|
}
|
|
139
136
|
/**
|
|
140
137
|
* {@inheritDoc IPoolsService.getWithdrawalTokensIn}
|
|
@@ -174,39 +171,40 @@ class PoolService extends import_base.SDKConstruct {
|
|
|
174
171
|
const underlying = this.#describeUnderlying(pool);
|
|
175
172
|
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
176
173
|
if (underlying.contractType === import_base.RWA_UNDERLYING_ON_DEMAND) {
|
|
177
|
-
|
|
174
|
+
const tokenContract = new import_base.BaseContract(this.sdk, {
|
|
175
|
+
addr: underlying.asset,
|
|
178
176
|
abi: import_iERC20.ierc20Abi,
|
|
177
|
+
name: "ERC20"
|
|
178
|
+
});
|
|
179
|
+
const tx2 = tokenContract.createRawTx({
|
|
179
180
|
functionName: "approve",
|
|
180
|
-
args: [underlying.liquidityProvider, 0n]
|
|
181
|
-
|
|
181
|
+
args: [underlying.liquidityProvider.addr, 0n]
|
|
182
|
+
});
|
|
183
|
+
return {
|
|
184
|
+
tx: tx2,
|
|
185
|
+
calls: [{ target: underlying.asset, callData: tx2.callData }]
|
|
182
186
|
};
|
|
183
187
|
}
|
|
184
188
|
}
|
|
185
|
-
if (meta.zapper) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
]
|
|
198
|
-
} : {
|
|
199
|
-
target: meta.zapper.baseParams.addr,
|
|
200
|
-
abi: import_iZapper.iZapperAbi,
|
|
201
|
-
functionName: "redeem",
|
|
202
|
-
args: [amount, wallet]
|
|
189
|
+
if (meta.zapper instanceof import_market.IETHZapperContract || meta.zapper instanceof import_market.IERC20ZapperContract) {
|
|
190
|
+
const tx2 = permit ? meta.zapper.redeemWithPermit(
|
|
191
|
+
amount,
|
|
192
|
+
wallet,
|
|
193
|
+
permit.deadline,
|
|
194
|
+
permit.v,
|
|
195
|
+
permit.r,
|
|
196
|
+
permit.s
|
|
197
|
+
) : meta.zapper.redeem(amount, wallet);
|
|
198
|
+
return {
|
|
199
|
+
tx: tx2,
|
|
200
|
+
calls: [{ target: meta.zapper.baseParams.addr, callData: tx2.callData }]
|
|
203
201
|
};
|
|
204
202
|
}
|
|
203
|
+
const poolContract = this.sdk.marketRegister.findByPool(pool).pool.pool;
|
|
204
|
+
const tx = poolContract.redeem(amount, wallet, wallet);
|
|
205
205
|
return {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
functionName: "redeem",
|
|
209
|
-
args: [amount, wallet, wallet]
|
|
206
|
+
tx,
|
|
207
|
+
calls: [{ target: pool, callData: tx.callData }]
|
|
210
208
|
};
|
|
211
209
|
}
|
|
212
210
|
/**
|
|
@@ -516,12 +516,11 @@ class AccountOpener extends SDKConstruct {
|
|
|
516
516
|
if (!depositCall) {
|
|
517
517
|
throw new Error(`no deposit call could be created for ${poolName}`);
|
|
518
518
|
}
|
|
519
|
-
txHash = await this.#anvil.
|
|
519
|
+
txHash = await this.#anvil.sendTransaction({
|
|
520
520
|
account: depositor,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
args: depositCall.args,
|
|
521
|
+
to: depositCall.tx.to,
|
|
522
|
+
data: depositCall.tx.callData,
|
|
523
|
+
value: BigInt(depositCall.tx.value ?? "0"),
|
|
525
524
|
chain: this.#anvil.chain
|
|
526
525
|
});
|
|
527
526
|
receipt = await this.#anvil.waitForTransactionReceipt({ hash: txHash });
|