@gearbox-protocol/sdk 14.10.2 → 14.10.3-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/abi/iERC20Zapper.js +33 -0
  2. package/dist/cjs/abi/iETHZapper.js +30 -0
  3. package/dist/cjs/dev/AccountOpener.js +4 -5
  4. package/dist/cjs/sdk/market/ZapperRegister.js +5 -3
  5. package/dist/cjs/sdk/market/index.js +3 -1
  6. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +20 -0
  7. package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +98 -0
  8. package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +89 -0
  9. package/dist/cjs/sdk/market/zapper/Zapper.js +41 -0
  10. package/dist/cjs/sdk/market/zapper/createZapper.js +38 -0
  11. package/dist/cjs/sdk/market/zapper/index.js +28 -0
  12. package/dist/cjs/sdk/pools/PoolService.js +58 -60
  13. package/dist/esm/abi/iERC20Zapper.js +9 -0
  14. package/dist/esm/abi/iETHZapper.js +6 -0
  15. package/dist/esm/dev/AccountOpener.js +4 -5
  16. package/dist/esm/sdk/market/ZapperRegister.js +5 -3
  17. package/dist/esm/sdk/market/index.js +1 -0
  18. package/dist/esm/sdk/market/pool/PoolV310Contract.js +20 -0
  19. package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +74 -0
  20. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +65 -0
  21. package/dist/esm/sdk/market/zapper/Zapper.js +17 -0
  22. package/dist/esm/sdk/market/zapper/createZapper.js +14 -0
  23. package/dist/esm/sdk/market/zapper/index.js +4 -0
  24. package/dist/esm/sdk/pools/PoolService.js +62 -60
  25. package/dist/types/abi/iERC20Zapper.d.ts +313 -0
  26. package/dist/types/abi/iETHZapper.d.ts +153 -0
  27. package/dist/types/sdk/market/ZapperRegister.d.ts +4 -4
  28. package/dist/types/sdk/market/index.d.ts +1 -0
  29. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +12 -2
  30. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +350 -0
  31. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +186 -0
  32. package/dist/types/sdk/market/zapper/Zapper.d.ts +10 -0
  33. package/dist/types/sdk/market/zapper/createZapper.d.ts +6 -0
  34. package/dist/types/sdk/market/zapper/index.d.ts +4 -0
  35. package/dist/types/sdk/pools/PoolService.d.ts +3 -3
  36. package/dist/types/sdk/pools/types.d.ts +10 -5
  37. 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.writeContract({
527
+ txHash = await this.#anvil.sendTransaction({
528
528
  account: depositor,
529
- address: depositCall.target,
530
- abi: depositCall.abi,
531
- functionName: depositCall.functionName,
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 -> ZapperData[]
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(z);
86
+ existing.push(zapper);
85
87
  }
86
88
  } else {
87
- this.zappers.upsert(z.pool, [z]);
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,41 @@
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
+ class Zapper {
25
+ pool;
26
+ type;
27
+ baseParams;
28
+ tokenIn;
29
+ tokenOut;
30
+ constructor(data) {
31
+ this.pool = data.pool;
32
+ this.type = data.type;
33
+ this.baseParams = data.baseParams;
34
+ this.tokenIn = data.tokenIn;
35
+ this.tokenOut = data.tokenOut;
36
+ }
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ Zapper
41
+ });
@@ -0,0 +1,38 @@
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_constants = require("../../constants/index.js");
25
+ var import_utils = require("../../utils/index.js");
26
+ var import_IERC20ZapperContract = require("./IERC20ZapperContract.js");
27
+ var import_IETHZapperContract = require("./IETHZapperContract.js");
28
+ var import_Zapper = require("./Zapper.js");
29
+ function createZapper(sdk, data) {
30
+ if (data.type === "base") {
31
+ return (0, import_utils.hexEq)(data.tokenIn.addr, import_constants.NATIVE_ADDRESS) ? new import_IETHZapperContract.IETHZapperContract(sdk, data) : new import_IERC20ZapperContract.IERC20ZapperContract(sdk, data);
32
+ }
33
+ return new import_Zapper.Zapper(data);
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ createZapper
38
+ });
@@ -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 && (0, import_utils.hexEq)(zapper.tokenIn.addr, import_constants.NATIVE_ADDRESS)) {
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
- target: zapper.baseParams.addr,
105
- abi: import_iETHZapperDeposits.iethZapperDepositsAbi,
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
- return permit ? {
112
- target: zapper.baseParams.addr,
113
- abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
114
- functionName: "depositWithReferralAndPermit",
115
- args: [
116
- collateral.balance,
117
- wallet,
118
- referralCode,
119
- permit.deadline,
120
- permit.v,
121
- permit.r,
122
- permit.s
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
- target: pool,
133
- abi: import_generated.iPoolV310Abi,
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
- return {
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
- target: underlying.asset
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
- return permit ? {
187
- target: meta.zapper.baseParams.addr,
188
- abi: import_iZapper.iZapperAbi,
189
- functionName: "redeemWithPermit",
190
- args: [
191
- amount,
192
- wallet,
193
- permit.deadline,
194
- permit.v,
195
- permit.r,
196
- permit.s
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
- target: pool,
207
- abi: import_generated.iPoolV310Abi,
208
- functionName: "redeem",
209
- args: [amount, wallet, wallet]
206
+ tx,
207
+ calls: [{ target: pool, callData: tx.callData }]
210
208
  };
211
209
  }
212
210
  /**
@@ -0,0 +1,9 @@
1
+ import { ierc20ZapperDepositsAbi } from "./iERC20ZapperDeposits.js";
2
+ import { iZapperAbi } from "./iZapper.js";
3
+ const ierc20ZapperAbi = [
4
+ ...ierc20ZapperDepositsAbi,
5
+ ...iZapperAbi
6
+ ];
7
+ export {
8
+ ierc20ZapperAbi
9
+ };
@@ -0,0 +1,6 @@
1
+ import { iethZapperDepositsAbi } from "./iETHZapperDeposits.js";
2
+ import { iZapperAbi } from "./iZapper.js";
3
+ const iethZapperAbi = [...iethZapperDepositsAbi, ...iZapperAbi];
4
+ export {
5
+ iethZapperAbi
6
+ };
@@ -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.writeContract({
519
+ txHash = await this.#anvil.sendTransaction({
520
520
  account: depositor,
521
- address: depositCall.target,
522
- abi: depositCall.abi,
523
- functionName: depositCall.functionName,
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 });