@gearbox-protocol/sdk 9.15.1 → 9.15.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 (27) hide show
  1. package/dist/cjs/abi/router/pendleRouterWorker.js +0 -16
  2. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +3 -0
  3. package/dist/cjs/plugins/adapters/abi/actionAbi.js +4 -2
  4. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -1
  5. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +29 -9
  6. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +45 -0
  7. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +52 -23
  8. package/dist/cjs/plugins/adapters/contracts/types.js +17 -0
  9. package/dist/cjs/plugins/adapters/types.js +1 -0
  10. package/dist/cjs/sdk/sdk-legacy/core/transactions.js +30 -30
  11. package/dist/esm/abi/router/pendleRouterWorker.js +0 -16
  12. package/dist/esm/plugins/adapters/AdaptersPlugin.js +3 -0
  13. package/dist/esm/plugins/adapters/abi/actionAbi.js +4 -2
  14. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -1
  15. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +29 -9
  16. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -0
  17. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +52 -23
  18. package/dist/esm/plugins/adapters/contracts/types.js +15 -0
  19. package/dist/esm/plugins/adapters/types.js +1 -0
  20. package/dist/esm/sdk/sdk-legacy/core/transactions.js +31 -31
  21. package/dist/types/abi/router/pendleRouterWorker.d.ts +0 -20
  22. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +5 -1
  23. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +11 -0
  24. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +7 -1
  25. package/dist/types/plugins/adapters/contracts/types.d.ts +11 -0
  26. package/dist/types/plugins/adapters/types.d.ts +2 -1
  27. package/package.json +1 -1
@@ -30,13 +30,6 @@ const pendleRouterWorkerAbi = [
30
30
  ],
31
31
  stateMutability: "nonpayable"
32
32
  },
33
- {
34
- type: "function",
35
- name: "approxSlippage",
36
- inputs: [],
37
- outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
38
- stateMutability: "view"
39
- },
40
33
  {
41
34
  type: "function",
42
35
  name: "buildEdges",
@@ -435,15 +428,6 @@ const pendleRouterWorkerAbi = [
435
428
  outputs: [{ name: "", type: "address", internalType: "address" }],
436
429
  stateMutability: "view"
437
430
  },
438
- {
439
- type: "function",
440
- name: "setApproxSlippage",
441
- inputs: [
442
- { name: "_approxSlippage", type: "uint256", internalType: "uint256" }
443
- ],
444
- outputs: [],
445
- stateMutability: "nonpayable"
446
- },
447
431
  {
448
432
  type: "function",
449
433
  name: "trimSpecialVertex",
@@ -22,6 +22,7 @@ __export(AdaptersPlugin_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(AdaptersPlugin_exports);
24
24
  var import_sdk = require("../../sdk/index.js");
25
+ var import_BalancerV3WrapperAdapterContract = require("./contracts/BalancerV3WrapperAdapterContract.js");
25
26
  var import_contracts = require("./contracts/index.js");
26
27
  class AdaptersPlugin extends import_sdk.BasePlugin {
27
28
  name = "Adapters";
@@ -35,6 +36,8 @@ class AdaptersPlugin extends import_sdk.BasePlugin {
35
36
  switch (adapterType) {
36
37
  case "ADAPTER::BALANCER_V3_ROUTER":
37
38
  return new import_contracts.BalancerV3RouterAdapterContract(this.sdk, args);
39
+ case "ADAPTER::BALANCER_V3_WRAPPER":
40
+ return new import_BalancerV3WrapperAdapterContract.BalancerV3WrapperAdapterContract(this.sdk, args);
38
41
  case "ADAPTER::BALANCER_VAULT":
39
42
  return new import_contracts.BalancerV2VaultAdapterContract(this.sdk, args);
40
43
  case "ADAPTER::CAMELOT_V3_ROUTER":
@@ -30,7 +30,8 @@ const adapterActionSignatures = {
30
30
  310: "function setPoolStatus(bytes32,uint8)"
31
31
  },
32
32
  [import_types.AdapterType.BALANCER_V3_ROUTER]: {
33
- 310: "function setPoolStatusBatch(address[],bool[])"
33
+ 310: "function setPoolStatusBatch(address[],bool[])",
34
+ 311: "function setPoolStatusBatch((address,uint8)[])"
34
35
  },
35
36
  [import_types.AdapterType.CAMELOT_V3_ROUTER]: {
36
37
  310: "function setPoolStatusBatch((address,address,bool)[])"
@@ -51,7 +52,8 @@ const adapterActionSignatures = {
51
52
  310: "function setVaultStatusBatch((address,bool)[])"
52
53
  },
53
54
  [import_types.AdapterType.PENDLE_ROUTER]: {
54
- 310: "function setPairStatusBatch((address,address,address,uint8)[])"
55
+ 310: "function setPairStatusBatch((address,address,address,uint8)[])",
56
+ 311: "function setPairStatusBatch((address,address,address,uint8,uint8)[])"
55
57
  },
56
58
  [import_types.AdapterType.TRADERJOE_ROUTER]: {
57
59
  310: "function setPoolStatusBatch((address,address,uint256,uint8,bool)[])"
@@ -29,6 +29,10 @@ const adapterConstructorAbi = {
29
29
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
30
30
  },
31
31
  [import_types.AdapterType.BALANCER_V3_ROUTER]: {
32
+ 310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI,
33
+ 311: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
34
+ },
35
+ [import_types.AdapterType.BALANCER_V3_WRAPPER]: {
32
36
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
33
37
  },
34
38
  [import_types.AdapterType.CAMELOT_V3_ROUTER]: {
@@ -53,7 +57,8 @@ const adapterConstructorAbi = {
53
57
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
54
58
  },
55
59
  [import_types.AdapterType.PENDLE_ROUTER]: {
56
- 310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
60
+ 310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI,
61
+ 311: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
57
62
  },
58
63
  [import_types.AdapterType.DAI_USDS_EXCHANGE]: {
59
64
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
@@ -29,15 +29,35 @@ class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAda
29
29
  allowedPools;
30
30
  constructor(sdk, args) {
31
31
  super(sdk, { ...args, abi });
32
- const decoded = (0, import_viem.decodeAbiParameters)(
33
- [
34
- { type: "address", name: "creditManager" },
35
- { type: "address", name: "targetContract" },
36
- { type: "address[]", name: "allowedPools" }
37
- ],
38
- args.baseParams.serializedParams
39
- );
40
- this.allowedPools = [...decoded[2]];
32
+ const version = Number(args.baseParams.version);
33
+ if (version === 310) {
34
+ const decoded = (0, import_viem.decodeAbiParameters)(
35
+ [
36
+ { type: "address", name: "creditManager" },
37
+ { type: "address", name: "targetContract" },
38
+ { type: "address[]", name: "allowedPools" }
39
+ ],
40
+ args.baseParams.serializedParams
41
+ );
42
+ this.allowedPools = [...decoded[2]];
43
+ } else {
44
+ const decoded = (0, import_viem.decodeAbiParameters)(
45
+ [
46
+ { type: "address", name: "creditManager" },
47
+ { type: "address", name: "targetContract" },
48
+ {
49
+ type: "tuple[]",
50
+ name: "allowedPairs",
51
+ components: [
52
+ { type: "address", name: "pool" },
53
+ { type: "uint8", name: "status" }
54
+ ]
55
+ }
56
+ ],
57
+ args.baseParams.serializedParams
58
+ );
59
+ this.allowedPools = [...decoded[2]];
60
+ }
41
61
  }
42
62
  }
43
63
  // Annotate the CommonJS export names for ESM import in node:
@@ -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 BalancerV3WrapperAdapterContract_exports = {};
20
+ __export(BalancerV3WrapperAdapterContract_exports, {
21
+ BalancerV3WrapperAdapterContract: () => BalancerV3WrapperAdapterContract
22
+ });
23
+ module.exports = __toCommonJS(BalancerV3WrapperAdapterContract_exports);
24
+ var import_viem = require("viem");
25
+ var import_AbstractAdapter = require("./AbstractAdapter.js");
26
+ const abi = [];
27
+ class BalancerV3WrapperAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
28
+ balancerPoolToken;
29
+ constructor(sdk, args) {
30
+ super(sdk, { ...args, abi });
31
+ const decoded = (0, import_viem.decodeAbiParameters)(
32
+ [
33
+ { type: "address", name: "creditManager" },
34
+ { type: "address", name: "targetContract" },
35
+ { type: "address", name: "balancerPoolToken" }
36
+ ],
37
+ args.baseParams.serializedParams
38
+ );
39
+ this.balancerPoolToken = decoded[2];
40
+ }
41
+ }
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ BalancerV3WrapperAdapterContract
45
+ });
@@ -29,29 +29,58 @@ class PendleRouterAdapterContract extends import_AbstractAdapter.AbstractAdapter
29
29
  allowedPairs;
30
30
  constructor(sdk, args) {
31
31
  super(sdk, { ...args, abi });
32
- const decoded = (0, import_viem.decodeAbiParameters)(
33
- [
34
- { type: "address", name: "creditManager" },
35
- { type: "address", name: "targetContract" },
36
- {
37
- type: "tuple[]",
38
- name: "allowedPairs",
39
- components: [
40
- { type: "address", name: "market" },
41
- { type: "address", name: "inputToken" },
42
- { type: "address", name: "pendleToken" },
43
- { type: "uint8", name: "status" }
44
- ]
45
- }
46
- ],
47
- args.baseParams.serializedParams
48
- );
49
- this.allowedPairs = decoded[2].map((pair) => ({
50
- market: pair.market,
51
- inputToken: pair.inputToken,
52
- pendleToken: pair.pendleToken,
53
- status: pair.status
54
- }));
32
+ const version = Number(args.baseParams.version);
33
+ if (version === 310) {
34
+ const decoded = (0, import_viem.decodeAbiParameters)(
35
+ [
36
+ { type: "address", name: "creditManager" },
37
+ { type: "address", name: "targetContract" },
38
+ {
39
+ type: "tuple[]",
40
+ name: "allowedPairs",
41
+ components: [
42
+ { type: "address", name: "market" },
43
+ { type: "address", name: "inputToken" },
44
+ { type: "address", name: "pendleToken" },
45
+ { type: "uint8", name: "status" }
46
+ ]
47
+ }
48
+ ],
49
+ args.baseParams.serializedParams
50
+ );
51
+ this.allowedPairs = decoded[2].map((pair) => ({
52
+ market: pair.market,
53
+ inputToken: pair.inputToken,
54
+ pendleToken: pair.pendleToken,
55
+ status: pair.status
56
+ }));
57
+ } else {
58
+ const decoded = (0, import_viem.decodeAbiParameters)(
59
+ [
60
+ { type: "address", name: "creditManager" },
61
+ { type: "address", name: "targetContract" },
62
+ {
63
+ type: "tuple[]",
64
+ name: "allowedPairs",
65
+ components: [
66
+ { type: "address", name: "market" },
67
+ { type: "address", name: "inputToken" },
68
+ { type: "address", name: "pendleToken" },
69
+ { type: "uint8", name: "pendleTokenType" },
70
+ { type: "uint8", name: "status" }
71
+ ]
72
+ }
73
+ ],
74
+ args.baseParams.serializedParams
75
+ );
76
+ this.allowedPairs = decoded[2].map((pair) => ({
77
+ market: pair.market,
78
+ inputToken: pair.inputToken,
79
+ pendleToken: pair.pendleToken,
80
+ pendleTokenType: pair.pendleTokenType,
81
+ status: pair.status
82
+ }));
83
+ }
55
84
  }
56
85
  }
57
86
  // Annotate the CommonJS export names for ESM import in node:
@@ -19,8 +19,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
21
  BalancerV2PoolStatus: () => BalancerV2PoolStatus,
22
+ BalancerV3PoolStatus: () => BalancerV3PoolStatus,
22
23
  KodiakIslandStatus: () => KodiakIslandStatus,
23
24
  PendlePairStatus: () => PendlePairStatus,
25
+ PendleTokenType: () => PendleTokenType,
24
26
  TraderJoePoolVersion: () => TraderJoePoolVersion
25
27
  });
26
28
  module.exports = __toCommonJS(types_exports);
@@ -38,6 +40,11 @@ var KodiakIslandStatus = /* @__PURE__ */ ((KodiakIslandStatus2) => {
38
40
  KodiakIslandStatus2[KodiakIslandStatus2["EXIT_ONLY"] = 3] = "EXIT_ONLY";
39
41
  return KodiakIslandStatus2;
40
42
  })(KodiakIslandStatus || {});
43
+ var PendleTokenType = /* @__PURE__ */ ((PendleTokenType2) => {
44
+ PendleTokenType2[PendleTokenType2["PT"] = 0] = "PT";
45
+ PendleTokenType2[PendleTokenType2["LP"] = 1] = "LP";
46
+ return PendleTokenType2;
47
+ })(PendleTokenType || {});
41
48
  var PendlePairStatus = /* @__PURE__ */ ((PendlePairStatus2) => {
42
49
  PendlePairStatus2[PendlePairStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
43
50
  PendlePairStatus2[PendlePairStatus2["ALLOWED"] = 1] = "ALLOWED";
@@ -51,10 +58,20 @@ var TraderJoePoolVersion = /* @__PURE__ */ ((TraderJoePoolVersion2) => {
51
58
  TraderJoePoolVersion2[TraderJoePoolVersion2["V2_2"] = 3] = "V2_2";
52
59
  return TraderJoePoolVersion2;
53
60
  })(TraderJoePoolVersion || {});
61
+ var BalancerV3PoolStatus = /* @__PURE__ */ ((BalancerV3PoolStatus2) => {
62
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
63
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["ALLOWED"] = 1] = "ALLOWED";
64
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_AND_SWAP"] = 2] = "EXIT_AND_SWAP";
65
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["SWAP_ONLY"] = 3] = "SWAP_ONLY";
66
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_ONLY"] = 4] = "EXIT_ONLY";
67
+ return BalancerV3PoolStatus2;
68
+ })(BalancerV3PoolStatus || {});
54
69
  // Annotate the CommonJS export names for ESM import in node:
55
70
  0 && (module.exports = {
56
71
  BalancerV2PoolStatus,
72
+ BalancerV3PoolStatus,
57
73
  KodiakIslandStatus,
58
74
  PendlePairStatus,
75
+ PendleTokenType,
59
76
  TraderJoePoolVersion
60
77
  });
@@ -23,6 +23,7 @@ __export(types_exports, {
23
23
  module.exports = __toCommonJS(types_exports);
24
24
  var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
25
25
  AdapterType2["BALANCER_V3_ROUTER"] = "BALANCER_V3_ROUTER";
26
+ AdapterType2["BALANCER_V3_WRAPPER"] = "BALANCER_V3_WRAPPER";
26
27
  AdapterType2["BALANCER_VAULT"] = "BALANCER_VAULT";
27
28
  AdapterType2["CAMELOT_V3_ROUTER"] = "CAMELOT_V3_ROUTER";
28
29
  AdapterType2["CURVE_STABLE_NG"] = "CURVE_STABLE_NG";
@@ -54,11 +54,11 @@ var import_eventOrTx = require("./eventOrTx.js");
54
54
  const GEAR_DECIMALS = 18;
55
55
  class TxSerializer {
56
56
  static serialize(items) {
57
- return JSON.stringify(items.map((i) => i.serialize()));
57
+ return (0, import_utils.json_stringify)(items.map((i) => i.serialize()));
58
58
  }
59
59
  static deserialize(data) {
60
- return JSON.parse(data).map((e) => {
61
- const params = JSON.parse(e.content);
60
+ return (0, import_utils.json_parse)(data).map((e) => {
61
+ const params = (0, import_utils.json_parse)(e.content);
62
62
  switch (e.type) {
63
63
  case "TxAddLiquidity":
64
64
  return new TxAddLiquidity(params);
@@ -140,7 +140,7 @@ class TxAddLiquidity extends import_eventOrTx.EVMTx {
140
140
  serialize() {
141
141
  return {
142
142
  type: "TxAddLiquidity",
143
- content: JSON.stringify(this)
143
+ content: (0, import_utils.json_stringify)(this)
144
144
  };
145
145
  }
146
146
  }
@@ -164,7 +164,7 @@ class TxRemoveLiquidity extends import_eventOrTx.EVMTx {
164
164
  serialize() {
165
165
  return {
166
166
  type: "TxRemoveLiquidity",
167
- content: JSON.stringify(this)
167
+ content: (0, import_utils.json_stringify)(this)
168
168
  };
169
169
  }
170
170
  }
@@ -191,7 +191,7 @@ class TxStakeDiesel extends import_eventOrTx.EVMTx {
191
191
  serialize() {
192
192
  return {
193
193
  type: "TxStakeDiesel",
194
- content: JSON.stringify(this)
194
+ content: (0, import_utils.json_stringify)(this)
195
195
  };
196
196
  }
197
197
  }
@@ -218,7 +218,7 @@ class TxUnstakeDiesel extends import_eventOrTx.EVMTx {
218
218
  serialize() {
219
219
  return {
220
220
  type: "TxUnstakeDiesel",
221
- content: JSON.stringify(this)
221
+ content: (0, import_utils.json_stringify)(this)
222
222
  };
223
223
  }
224
224
  }
@@ -250,7 +250,7 @@ class TXSwap extends import_eventOrTx.EVMTx {
250
250
  serialize() {
251
251
  return {
252
252
  type: "TxSwap",
253
- content: JSON.stringify(this)
253
+ content: (0, import_utils.json_stringify)(this)
254
254
  };
255
255
  }
256
256
  }
@@ -274,7 +274,7 @@ class TxAddCollateral extends import_eventOrTx.EVMTx {
274
274
  serialize() {
275
275
  return {
276
276
  type: "TxAddCollateral",
277
- content: JSON.stringify(this)
277
+ content: (0, import_utils.json_stringify)(this)
278
278
  };
279
279
  }
280
280
  }
@@ -298,7 +298,7 @@ class TxIncreaseBorrowAmount extends import_eventOrTx.EVMTx {
298
298
  serialize() {
299
299
  return {
300
300
  type: "TxIncreaseBorrowAmount",
301
- content: JSON.stringify(this)
301
+ content: (0, import_utils.json_stringify)(this)
302
302
  };
303
303
  }
304
304
  }
@@ -322,7 +322,7 @@ class TxDecreaseBorrowAmount extends import_eventOrTx.EVMTx {
322
322
  serialize() {
323
323
  return {
324
324
  type: "TxIncreaseBorrowAmount",
325
- content: JSON.stringify(this)
325
+ content: (0, import_utils.json_stringify)(this)
326
326
  };
327
327
  }
328
328
  }
@@ -363,7 +363,7 @@ class TxOpenMultitokenAccount extends import_eventOrTx.EVMTx {
363
363
  serialize() {
364
364
  return {
365
365
  type: "TxOpenMultitokenAccount",
366
- content: JSON.stringify(this)
366
+ content: (0, import_utils.json_stringify)(this)
367
367
  };
368
368
  }
369
369
  }
@@ -374,7 +374,7 @@ class TxClaimNFT extends import_eventOrTx.EVMTx {
374
374
  serialize() {
375
375
  return {
376
376
  type: "TxClaimNFT",
377
- content: JSON.stringify(this)
377
+ content: (0, import_utils.json_stringify)(this)
378
378
  };
379
379
  }
380
380
  }
@@ -400,7 +400,7 @@ class TxClaimRewards extends import_eventOrTx.EVMTx {
400
400
  serialize() {
401
401
  return {
402
402
  type: "TxClaimRewards",
403
- content: JSON.stringify(this)
403
+ content: (0, import_utils.json_stringify)(this)
404
404
  };
405
405
  }
406
406
  }
@@ -445,7 +445,7 @@ class TxStartDelayedWithdrawal extends import_eventOrTx.EVMTx {
445
445
  serialize() {
446
446
  return {
447
447
  type: "TxStartDelayedWithdrawal",
448
- content: JSON.stringify(this)
448
+ content: (0, import_utils.json_stringify)(this)
449
449
  };
450
450
  }
451
451
  }
@@ -461,7 +461,7 @@ class TxMigrateCreditAccount extends import_eventOrTx.EVMTx {
461
461
  serialize() {
462
462
  return {
463
463
  type: "TxMigrateCreditAccount",
464
- content: JSON.stringify(this)
464
+ content: (0, import_utils.json_stringify)(this)
465
465
  };
466
466
  }
467
467
  }
@@ -477,7 +477,7 @@ class TxRepayAccount extends import_eventOrTx.EVMTx {
477
477
  serialize() {
478
478
  return {
479
479
  type: "TxRepayAccount",
480
- content: JSON.stringify(this)
480
+ content: (0, import_utils.json_stringify)(this)
481
481
  };
482
482
  }
483
483
  }
@@ -493,7 +493,7 @@ class TxLiquidateAccount extends import_eventOrTx.EVMTx {
493
493
  serialize() {
494
494
  return {
495
495
  type: "TxLiquidateAccount",
496
- content: JSON.stringify(this)
496
+ content: (0, import_utils.json_stringify)(this)
497
497
  };
498
498
  }
499
499
  }
@@ -509,7 +509,7 @@ class TxCloseAccount extends import_eventOrTx.EVMTx {
509
509
  serialize() {
510
510
  return {
511
511
  type: "TxCloseAccount",
512
- content: JSON.stringify(this)
512
+ content: (0, import_utils.json_stringify)(this)
513
513
  };
514
514
  }
515
515
  }
@@ -526,7 +526,7 @@ class TxApprove extends import_eventOrTx.EVMTx {
526
526
  serialize() {
527
527
  return {
528
528
  type: "TxApprove",
529
- content: JSON.stringify(this)
529
+ content: (0, import_utils.json_stringify)(this)
530
530
  };
531
531
  }
532
532
  }
@@ -559,7 +559,7 @@ class TxUpdateQuota extends import_eventOrTx.EVMTx {
559
559
  serialize() {
560
560
  return {
561
561
  type: "TxUpdateQuota",
562
- content: JSON.stringify(this)
562
+ content: (0, import_utils.json_stringify)(this)
563
563
  };
564
564
  }
565
565
  }
@@ -576,7 +576,7 @@ class TxGaugeStake extends import_eventOrTx.EVMTx {
576
576
  serialize() {
577
577
  return {
578
578
  type: "TxGaugeStake",
579
- content: JSON.stringify(this)
579
+ content: (0, import_utils.json_stringify)(this)
580
580
  };
581
581
  }
582
582
  }
@@ -593,7 +593,7 @@ class TxGaugeUnstake extends import_eventOrTx.EVMTx {
593
593
  serialize() {
594
594
  return {
595
595
  type: "TxGaugeUnstake",
596
- content: JSON.stringify(this)
596
+ content: (0, import_utils.json_stringify)(this)
597
597
  };
598
598
  }
599
599
  }
@@ -604,7 +604,7 @@ class TxGaugeClaim extends import_eventOrTx.EVMTx {
604
604
  serialize() {
605
605
  return {
606
606
  type: "TxGaugeClaim",
607
- content: JSON.stringify(this)
607
+ content: (0, import_utils.json_stringify)(this)
608
608
  };
609
609
  }
610
610
  }
@@ -623,7 +623,7 @@ class TxGaugeVote extends import_eventOrTx.EVMTx {
623
623
  serialize() {
624
624
  return {
625
625
  type: "TxGaugeVote",
626
- content: JSON.stringify(this)
626
+ content: (0, import_utils.json_stringify)(this)
627
627
  };
628
628
  }
629
629
  }
@@ -649,7 +649,7 @@ class TxWithdrawCollateral extends import_eventOrTx.EVMTx {
649
649
  serialize() {
650
650
  return {
651
651
  type: "TxWithdrawCollateral",
652
- content: JSON.stringify(this)
652
+ content: (0, import_utils.json_stringify)(this)
653
653
  };
654
654
  }
655
655
  }
@@ -665,7 +665,7 @@ class TxAddBot extends import_eventOrTx.EVMTx {
665
665
  serialize() {
666
666
  return {
667
667
  type: "TxAddBot",
668
- content: JSON.stringify(this)
668
+ content: (0, import_utils.json_stringify)(this)
669
669
  };
670
670
  }
671
671
  }
@@ -681,7 +681,7 @@ class TxRemoveBot extends import_eventOrTx.EVMTx {
681
681
  serialize() {
682
682
  return {
683
683
  type: "TxAddBot",
684
- content: JSON.stringify(this)
684
+ content: (0, import_utils.json_stringify)(this)
685
685
  };
686
686
  }
687
687
  }
@@ -709,7 +709,7 @@ class TxEnableTokens extends import_eventOrTx.EVMTx {
709
709
  serialize() {
710
710
  return {
711
711
  type: "TxEnableTokens",
712
- content: JSON.stringify(this)
712
+ content: (0, import_utils.json_stringify)(this)
713
713
  };
714
714
  }
715
715
  }
@@ -733,7 +733,7 @@ class TxFillOrder extends import_eventOrTx.EVMTx {
733
733
  serialize() {
734
734
  return {
735
735
  type: "TxFillOrder",
736
- content: JSON.stringify(this)
736
+ content: (0, import_utils.json_stringify)(this)
737
737
  };
738
738
  }
739
739
  }
@@ -7,13 +7,6 @@ const pendleRouterWorkerAbi = [
7
7
  ],
8
8
  stateMutability: "nonpayable"
9
9
  },
10
- {
11
- type: "function",
12
- name: "approxSlippage",
13
- inputs: [],
14
- outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
15
- stateMutability: "view"
16
- },
17
10
  {
18
11
  type: "function",
19
12
  name: "buildEdges",
@@ -412,15 +405,6 @@ const pendleRouterWorkerAbi = [
412
405
  outputs: [{ name: "", type: "address", internalType: "address" }],
413
406
  stateMutability: "view"
414
407
  },
415
- {
416
- type: "function",
417
- name: "setApproxSlippage",
418
- inputs: [
419
- { name: "_approxSlippage", type: "uint256", internalType: "uint256" }
420
- ],
421
- outputs: [],
422
- stateMutability: "nonpayable"
423
- },
424
408
  {
425
409
  type: "function",
426
410
  name: "trimSpecialVertex",
@@ -1,4 +1,5 @@
1
1
  import { BasePlugin, bytes32ToString } from "../../sdk/index.js";
2
+ import { BalancerV3WrapperAdapterContract } from "./contracts/BalancerV3WrapperAdapterContract.js";
2
3
  import {
3
4
  BalancerV2VaultAdapterContract,
4
5
  BalancerV3RouterAdapterContract,
@@ -46,6 +47,8 @@ class AdaptersPlugin extends BasePlugin {
46
47
  switch (adapterType) {
47
48
  case "ADAPTER::BALANCER_V3_ROUTER":
48
49
  return new BalancerV3RouterAdapterContract(this.sdk, args);
50
+ case "ADAPTER::BALANCER_V3_WRAPPER":
51
+ return new BalancerV3WrapperAdapterContract(this.sdk, args);
49
52
  case "ADAPTER::BALANCER_VAULT":
50
53
  return new BalancerV2VaultAdapterContract(this.sdk, args);
51
54
  case "ADAPTER::CAMELOT_V3_ROUTER":
@@ -5,7 +5,8 @@ const adapterActionSignatures = {
5
5
  310: "function setPoolStatus(bytes32,uint8)"
6
6
  },
7
7
  [AdapterType.BALANCER_V3_ROUTER]: {
8
- 310: "function setPoolStatusBatch(address[],bool[])"
8
+ 310: "function setPoolStatusBatch(address[],bool[])",
9
+ 311: "function setPoolStatusBatch((address,uint8)[])"
9
10
  },
10
11
  [AdapterType.CAMELOT_V3_ROUTER]: {
11
12
  310: "function setPoolStatusBatch((address,address,bool)[])"
@@ -26,7 +27,8 @@ const adapterActionSignatures = {
26
27
  310: "function setVaultStatusBatch((address,bool)[])"
27
28
  },
28
29
  [AdapterType.PENDLE_ROUTER]: {
29
- 310: "function setPairStatusBatch((address,address,address,uint8)[])"
30
+ 310: "function setPairStatusBatch((address,address,address,uint8)[])",
31
+ 311: "function setPairStatusBatch((address,address,address,uint8,uint8)[])"
30
32
  },
31
33
  [AdapterType.TRADERJOE_ROUTER]: {
32
34
  310: "function setPoolStatusBatch((address,address,uint256,uint8,bool)[])"
@@ -17,6 +17,10 @@ const adapterConstructorAbi = {
17
17
  310: BASIC_ADAPTER_ABI
18
18
  },
19
19
  [AdapterType.BALANCER_V3_ROUTER]: {
20
+ 310: BASIC_ADAPTER_ABI,
21
+ 311: BASIC_ADAPTER_ABI
22
+ },
23
+ [AdapterType.BALANCER_V3_WRAPPER]: {
20
24
  310: BASIC_ADAPTER_ABI
21
25
  },
22
26
  [AdapterType.CAMELOT_V3_ROUTER]: {
@@ -41,7 +45,8 @@ const adapterConstructorAbi = {
41
45
  310: BASIC_ADAPTER_ABI
42
46
  },
43
47
  [AdapterType.PENDLE_ROUTER]: {
44
- 310: BASIC_ADAPTER_ABI
48
+ 310: BASIC_ADAPTER_ABI,
49
+ 311: BASIC_ADAPTER_ABI
45
50
  },
46
51
  [AdapterType.DAI_USDS_EXCHANGE]: {
47
52
  310: BASIC_ADAPTER_ABI
@@ -6,15 +6,35 @@ class BalancerV3RouterAdapterContract extends AbstractAdapterContract {
6
6
  allowedPools;
7
7
  constructor(sdk, args) {
8
8
  super(sdk, { ...args, abi });
9
- const decoded = decodeAbiParameters(
10
- [
11
- { type: "address", name: "creditManager" },
12
- { type: "address", name: "targetContract" },
13
- { type: "address[]", name: "allowedPools" }
14
- ],
15
- args.baseParams.serializedParams
16
- );
17
- this.allowedPools = [...decoded[2]];
9
+ const version = Number(args.baseParams.version);
10
+ if (version === 310) {
11
+ const decoded = decodeAbiParameters(
12
+ [
13
+ { type: "address", name: "creditManager" },
14
+ { type: "address", name: "targetContract" },
15
+ { type: "address[]", name: "allowedPools" }
16
+ ],
17
+ args.baseParams.serializedParams
18
+ );
19
+ this.allowedPools = [...decoded[2]];
20
+ } else {
21
+ const decoded = decodeAbiParameters(
22
+ [
23
+ { type: "address", name: "creditManager" },
24
+ { type: "address", name: "targetContract" },
25
+ {
26
+ type: "tuple[]",
27
+ name: "allowedPairs",
28
+ components: [
29
+ { type: "address", name: "pool" },
30
+ { type: "uint8", name: "status" }
31
+ ]
32
+ }
33
+ ],
34
+ args.baseParams.serializedParams
35
+ );
36
+ this.allowedPools = [...decoded[2]];
37
+ }
18
38
  }
19
39
  }
20
40
  export {
@@ -0,0 +1,21 @@
1
+ import { decodeAbiParameters } from "viem";
2
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
+ const abi = [];
4
+ class BalancerV3WrapperAdapterContract extends AbstractAdapterContract {
5
+ balancerPoolToken;
6
+ constructor(sdk, args) {
7
+ super(sdk, { ...args, abi });
8
+ const decoded = decodeAbiParameters(
9
+ [
10
+ { type: "address", name: "creditManager" },
11
+ { type: "address", name: "targetContract" },
12
+ { type: "address", name: "balancerPoolToken" }
13
+ ],
14
+ args.baseParams.serializedParams
15
+ );
16
+ this.balancerPoolToken = decoded[2];
17
+ }
18
+ }
19
+ export {
20
+ BalancerV3WrapperAdapterContract
21
+ };
@@ -6,29 +6,58 @@ class PendleRouterAdapterContract extends AbstractAdapterContract {
6
6
  allowedPairs;
7
7
  constructor(sdk, args) {
8
8
  super(sdk, { ...args, abi });
9
- const decoded = decodeAbiParameters(
10
- [
11
- { type: "address", name: "creditManager" },
12
- { type: "address", name: "targetContract" },
13
- {
14
- type: "tuple[]",
15
- name: "allowedPairs",
16
- components: [
17
- { type: "address", name: "market" },
18
- { type: "address", name: "inputToken" },
19
- { type: "address", name: "pendleToken" },
20
- { type: "uint8", name: "status" }
21
- ]
22
- }
23
- ],
24
- args.baseParams.serializedParams
25
- );
26
- this.allowedPairs = decoded[2].map((pair) => ({
27
- market: pair.market,
28
- inputToken: pair.inputToken,
29
- pendleToken: pair.pendleToken,
30
- status: pair.status
31
- }));
9
+ const version = Number(args.baseParams.version);
10
+ if (version === 310) {
11
+ const decoded = decodeAbiParameters(
12
+ [
13
+ { type: "address", name: "creditManager" },
14
+ { type: "address", name: "targetContract" },
15
+ {
16
+ type: "tuple[]",
17
+ name: "allowedPairs",
18
+ components: [
19
+ { type: "address", name: "market" },
20
+ { type: "address", name: "inputToken" },
21
+ { type: "address", name: "pendleToken" },
22
+ { type: "uint8", name: "status" }
23
+ ]
24
+ }
25
+ ],
26
+ args.baseParams.serializedParams
27
+ );
28
+ this.allowedPairs = decoded[2].map((pair) => ({
29
+ market: pair.market,
30
+ inputToken: pair.inputToken,
31
+ pendleToken: pair.pendleToken,
32
+ status: pair.status
33
+ }));
34
+ } else {
35
+ const decoded = decodeAbiParameters(
36
+ [
37
+ { type: "address", name: "creditManager" },
38
+ { type: "address", name: "targetContract" },
39
+ {
40
+ type: "tuple[]",
41
+ name: "allowedPairs",
42
+ components: [
43
+ { type: "address", name: "market" },
44
+ { type: "address", name: "inputToken" },
45
+ { type: "address", name: "pendleToken" },
46
+ { type: "uint8", name: "pendleTokenType" },
47
+ { type: "uint8", name: "status" }
48
+ ]
49
+ }
50
+ ],
51
+ args.baseParams.serializedParams
52
+ );
53
+ this.allowedPairs = decoded[2].map((pair) => ({
54
+ market: pair.market,
55
+ inputToken: pair.inputToken,
56
+ pendleToken: pair.pendleToken,
57
+ pendleTokenType: pair.pendleTokenType,
58
+ status: pair.status
59
+ }));
60
+ }
32
61
  }
33
62
  }
34
63
  export {
@@ -12,6 +12,11 @@ var KodiakIslandStatus = /* @__PURE__ */ ((KodiakIslandStatus2) => {
12
12
  KodiakIslandStatus2[KodiakIslandStatus2["EXIT_ONLY"] = 3] = "EXIT_ONLY";
13
13
  return KodiakIslandStatus2;
14
14
  })(KodiakIslandStatus || {});
15
+ var PendleTokenType = /* @__PURE__ */ ((PendleTokenType2) => {
16
+ PendleTokenType2[PendleTokenType2["PT"] = 0] = "PT";
17
+ PendleTokenType2[PendleTokenType2["LP"] = 1] = "LP";
18
+ return PendleTokenType2;
19
+ })(PendleTokenType || {});
15
20
  var PendlePairStatus = /* @__PURE__ */ ((PendlePairStatus2) => {
16
21
  PendlePairStatus2[PendlePairStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
17
22
  PendlePairStatus2[PendlePairStatus2["ALLOWED"] = 1] = "ALLOWED";
@@ -25,9 +30,19 @@ var TraderJoePoolVersion = /* @__PURE__ */ ((TraderJoePoolVersion2) => {
25
30
  TraderJoePoolVersion2[TraderJoePoolVersion2["V2_2"] = 3] = "V2_2";
26
31
  return TraderJoePoolVersion2;
27
32
  })(TraderJoePoolVersion || {});
33
+ var BalancerV3PoolStatus = /* @__PURE__ */ ((BalancerV3PoolStatus2) => {
34
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
35
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["ALLOWED"] = 1] = "ALLOWED";
36
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_AND_SWAP"] = 2] = "EXIT_AND_SWAP";
37
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["SWAP_ONLY"] = 3] = "SWAP_ONLY";
38
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_ONLY"] = 4] = "EXIT_ONLY";
39
+ return BalancerV3PoolStatus2;
40
+ })(BalancerV3PoolStatus || {});
28
41
  export {
29
42
  BalancerV2PoolStatus,
43
+ BalancerV3PoolStatus,
30
44
  KodiakIslandStatus,
31
45
  PendlePairStatus,
46
+ PendleTokenType,
32
47
  TraderJoePoolVersion
33
48
  };
@@ -1,5 +1,6 @@
1
1
  var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
2
2
  AdapterType2["BALANCER_V3_ROUTER"] = "BALANCER_V3_ROUTER";
3
+ AdapterType2["BALANCER_V3_WRAPPER"] = "BALANCER_V3_WRAPPER";
3
4
  AdapterType2["BALANCER_VAULT"] = "BALANCER_VAULT";
4
5
  AdapterType2["CAMELOT_V3_ROUTER"] = "CAMELOT_V3_ROUTER";
5
6
  AdapterType2["CURVE_STABLE_NG"] = "CURVE_STABLE_NG";
@@ -1,14 +1,14 @@
1
- import { formatBN } from "../../utils/index.js";
1
+ import { formatBN, json_parse, json_stringify } from "../../utils/index.js";
2
2
  import { BigIntMath } from "../utils/math.js";
3
3
  import { EVMTx } from "./eventOrTx.js";
4
4
  const GEAR_DECIMALS = 18;
5
5
  class TxSerializer {
6
6
  static serialize(items) {
7
- return JSON.stringify(items.map((i) => i.serialize()));
7
+ return json_stringify(items.map((i) => i.serialize()));
8
8
  }
9
9
  static deserialize(data) {
10
- return JSON.parse(data).map((e) => {
11
- const params = JSON.parse(e.content);
10
+ return json_parse(data).map((e) => {
11
+ const params = json_parse(e.content);
12
12
  switch (e.type) {
13
13
  case "TxAddLiquidity":
14
14
  return new TxAddLiquidity(params);
@@ -90,7 +90,7 @@ class TxAddLiquidity extends EVMTx {
90
90
  serialize() {
91
91
  return {
92
92
  type: "TxAddLiquidity",
93
- content: JSON.stringify(this)
93
+ content: json_stringify(this)
94
94
  };
95
95
  }
96
96
  }
@@ -114,7 +114,7 @@ class TxRemoveLiquidity extends EVMTx {
114
114
  serialize() {
115
115
  return {
116
116
  type: "TxRemoveLiquidity",
117
- content: JSON.stringify(this)
117
+ content: json_stringify(this)
118
118
  };
119
119
  }
120
120
  }
@@ -141,7 +141,7 @@ class TxStakeDiesel extends EVMTx {
141
141
  serialize() {
142
142
  return {
143
143
  type: "TxStakeDiesel",
144
- content: JSON.stringify(this)
144
+ content: json_stringify(this)
145
145
  };
146
146
  }
147
147
  }
@@ -168,7 +168,7 @@ class TxUnstakeDiesel extends EVMTx {
168
168
  serialize() {
169
169
  return {
170
170
  type: "TxUnstakeDiesel",
171
- content: JSON.stringify(this)
171
+ content: json_stringify(this)
172
172
  };
173
173
  }
174
174
  }
@@ -200,7 +200,7 @@ class TXSwap extends EVMTx {
200
200
  serialize() {
201
201
  return {
202
202
  type: "TxSwap",
203
- content: JSON.stringify(this)
203
+ content: json_stringify(this)
204
204
  };
205
205
  }
206
206
  }
@@ -224,7 +224,7 @@ class TxAddCollateral extends EVMTx {
224
224
  serialize() {
225
225
  return {
226
226
  type: "TxAddCollateral",
227
- content: JSON.stringify(this)
227
+ content: json_stringify(this)
228
228
  };
229
229
  }
230
230
  }
@@ -248,7 +248,7 @@ class TxIncreaseBorrowAmount extends EVMTx {
248
248
  serialize() {
249
249
  return {
250
250
  type: "TxIncreaseBorrowAmount",
251
- content: JSON.stringify(this)
251
+ content: json_stringify(this)
252
252
  };
253
253
  }
254
254
  }
@@ -272,7 +272,7 @@ class TxDecreaseBorrowAmount extends EVMTx {
272
272
  serialize() {
273
273
  return {
274
274
  type: "TxIncreaseBorrowAmount",
275
- content: JSON.stringify(this)
275
+ content: json_stringify(this)
276
276
  };
277
277
  }
278
278
  }
@@ -313,7 +313,7 @@ class TxOpenMultitokenAccount extends EVMTx {
313
313
  serialize() {
314
314
  return {
315
315
  type: "TxOpenMultitokenAccount",
316
- content: JSON.stringify(this)
316
+ content: json_stringify(this)
317
317
  };
318
318
  }
319
319
  }
@@ -324,7 +324,7 @@ class TxClaimNFT extends EVMTx {
324
324
  serialize() {
325
325
  return {
326
326
  type: "TxClaimNFT",
327
- content: JSON.stringify(this)
327
+ content: json_stringify(this)
328
328
  };
329
329
  }
330
330
  }
@@ -350,7 +350,7 @@ class TxClaimRewards extends EVMTx {
350
350
  serialize() {
351
351
  return {
352
352
  type: "TxClaimRewards",
353
- content: JSON.stringify(this)
353
+ content: json_stringify(this)
354
354
  };
355
355
  }
356
356
  }
@@ -395,7 +395,7 @@ class TxStartDelayedWithdrawal extends EVMTx {
395
395
  serialize() {
396
396
  return {
397
397
  type: "TxStartDelayedWithdrawal",
398
- content: JSON.stringify(this)
398
+ content: json_stringify(this)
399
399
  };
400
400
  }
401
401
  }
@@ -411,7 +411,7 @@ class TxMigrateCreditAccount extends EVMTx {
411
411
  serialize() {
412
412
  return {
413
413
  type: "TxMigrateCreditAccount",
414
- content: JSON.stringify(this)
414
+ content: json_stringify(this)
415
415
  };
416
416
  }
417
417
  }
@@ -427,7 +427,7 @@ class TxRepayAccount extends EVMTx {
427
427
  serialize() {
428
428
  return {
429
429
  type: "TxRepayAccount",
430
- content: JSON.stringify(this)
430
+ content: json_stringify(this)
431
431
  };
432
432
  }
433
433
  }
@@ -443,7 +443,7 @@ class TxLiquidateAccount extends EVMTx {
443
443
  serialize() {
444
444
  return {
445
445
  type: "TxLiquidateAccount",
446
- content: JSON.stringify(this)
446
+ content: json_stringify(this)
447
447
  };
448
448
  }
449
449
  }
@@ -459,7 +459,7 @@ class TxCloseAccount extends EVMTx {
459
459
  serialize() {
460
460
  return {
461
461
  type: "TxCloseAccount",
462
- content: JSON.stringify(this)
462
+ content: json_stringify(this)
463
463
  };
464
464
  }
465
465
  }
@@ -476,7 +476,7 @@ class TxApprove extends EVMTx {
476
476
  serialize() {
477
477
  return {
478
478
  type: "TxApprove",
479
- content: JSON.stringify(this)
479
+ content: json_stringify(this)
480
480
  };
481
481
  }
482
482
  }
@@ -509,7 +509,7 @@ class TxUpdateQuota extends EVMTx {
509
509
  serialize() {
510
510
  return {
511
511
  type: "TxUpdateQuota",
512
- content: JSON.stringify(this)
512
+ content: json_stringify(this)
513
513
  };
514
514
  }
515
515
  }
@@ -526,7 +526,7 @@ class TxGaugeStake extends EVMTx {
526
526
  serialize() {
527
527
  return {
528
528
  type: "TxGaugeStake",
529
- content: JSON.stringify(this)
529
+ content: json_stringify(this)
530
530
  };
531
531
  }
532
532
  }
@@ -543,7 +543,7 @@ class TxGaugeUnstake extends EVMTx {
543
543
  serialize() {
544
544
  return {
545
545
  type: "TxGaugeUnstake",
546
- content: JSON.stringify(this)
546
+ content: json_stringify(this)
547
547
  };
548
548
  }
549
549
  }
@@ -554,7 +554,7 @@ class TxGaugeClaim extends EVMTx {
554
554
  serialize() {
555
555
  return {
556
556
  type: "TxGaugeClaim",
557
- content: JSON.stringify(this)
557
+ content: json_stringify(this)
558
558
  };
559
559
  }
560
560
  }
@@ -573,7 +573,7 @@ class TxGaugeVote extends EVMTx {
573
573
  serialize() {
574
574
  return {
575
575
  type: "TxGaugeVote",
576
- content: JSON.stringify(this)
576
+ content: json_stringify(this)
577
577
  };
578
578
  }
579
579
  }
@@ -599,7 +599,7 @@ class TxWithdrawCollateral extends EVMTx {
599
599
  serialize() {
600
600
  return {
601
601
  type: "TxWithdrawCollateral",
602
- content: JSON.stringify(this)
602
+ content: json_stringify(this)
603
603
  };
604
604
  }
605
605
  }
@@ -615,7 +615,7 @@ class TxAddBot extends EVMTx {
615
615
  serialize() {
616
616
  return {
617
617
  type: "TxAddBot",
618
- content: JSON.stringify(this)
618
+ content: json_stringify(this)
619
619
  };
620
620
  }
621
621
  }
@@ -631,7 +631,7 @@ class TxRemoveBot extends EVMTx {
631
631
  serialize() {
632
632
  return {
633
633
  type: "TxAddBot",
634
- content: JSON.stringify(this)
634
+ content: json_stringify(this)
635
635
  };
636
636
  }
637
637
  }
@@ -659,7 +659,7 @@ class TxEnableTokens extends EVMTx {
659
659
  serialize() {
660
660
  return {
661
661
  type: "TxEnableTokens",
662
- content: JSON.stringify(this)
662
+ content: json_stringify(this)
663
663
  };
664
664
  }
665
665
  }
@@ -683,7 +683,7 @@ class TxFillOrder extends EVMTx {
683
683
  serialize() {
684
684
  return {
685
685
  type: "TxFillOrder",
686
- content: JSON.stringify(this)
686
+ content: json_stringify(this)
687
687
  };
688
688
  }
689
689
  }
@@ -10,16 +10,6 @@ export declare const pendleRouterWorkerAbi: readonly [{
10
10
  readonly internalType: "address";
11
11
  }];
12
12
  readonly stateMutability: "nonpayable";
13
- }, {
14
- readonly type: "function";
15
- readonly name: "approxSlippage";
16
- readonly inputs: readonly [];
17
- readonly outputs: readonly [{
18
- readonly name: "";
19
- readonly type: "uint256";
20
- readonly internalType: "uint256";
21
- }];
22
- readonly stateMutability: "view";
23
13
  }, {
24
14
  readonly type: "function";
25
15
  readonly name: "buildEdges";
@@ -567,16 +557,6 @@ export declare const pendleRouterWorkerAbi: readonly [{
567
557
  readonly internalType: "address";
568
558
  }];
569
559
  readonly stateMutability: "view";
570
- }, {
571
- readonly type: "function";
572
- readonly name: "setApproxSlippage";
573
- readonly inputs: readonly [{
574
- readonly name: "_approxSlippage";
575
- readonly type: "uint256";
576
- readonly internalType: "uint256";
577
- }];
578
- readonly outputs: readonly [];
579
- readonly stateMutability: "nonpayable";
580
560
  }, {
581
561
  readonly type: "function";
582
562
  readonly name: "trimSpecialVertex";
@@ -2,6 +2,7 @@ import { type Address } from "viem";
2
2
  import type { GearboxSDK } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
+ import type { BalancerV3PoolStatus } from "./types.js";
5
6
  declare const abi: readonly [{
6
7
  readonly type: "function";
7
8
  readonly inputs: readonly [];
@@ -192,7 +193,10 @@ declare const abi: readonly [{
192
193
  }];
193
194
  type abi = typeof abi;
194
195
  export declare class BalancerV3RouterAdapterContract extends AbstractAdapterContract<abi> {
195
- readonly allowedPools: Address[];
196
+ readonly allowedPools: Address[] | {
197
+ pool: Address;
198
+ status: BalancerV3PoolStatus;
199
+ }[];
196
200
  constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
197
201
  }
198
202
  export {};
@@ -0,0 +1,11 @@
1
+ import { type Address } from "viem";
2
+ import type { GearboxSDK } from "../../../sdk/index.js";
3
+ import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
+ declare const abi: readonly [];
6
+ type abi = typeof abi;
7
+ export declare class BalancerV3WrapperAdapterContract extends AbstractAdapterContract<abi> {
8
+ readonly balancerPoolToken: Address;
9
+ constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
10
+ }
11
+ export {};
@@ -2,7 +2,7 @@ import { type Address } from "viem";
2
2
  import type { GearboxSDK } from "../../../sdk/index.js";
3
3
  import type { AbstractAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
- import type { PendlePairStatus } from "./types.js";
5
+ import type { PendlePairStatus, PendleTokenType } from "./types.js";
6
6
  declare const abi: readonly [{
7
7
  readonly type: "function";
8
8
  readonly inputs: readonly [];
@@ -817,6 +817,12 @@ export declare class PendleRouterAdapterContract extends AbstractAdapterContract
817
817
  inputToken: Address;
818
818
  pendleToken: Address;
819
819
  status: PendlePairStatus;
820
+ }[] | {
821
+ market: Address;
822
+ inputToken: Address;
823
+ pendleToken: Address;
824
+ pendleTokenType: PendleTokenType;
825
+ status: PendlePairStatus;
820
826
  }[];
821
827
  constructor(sdk: GearboxSDK, args: Omit<AbstractAdapterContractOptions<abi>, "abi">);
822
828
  }
@@ -10,6 +10,10 @@ export declare enum KodiakIslandStatus {
10
10
  SWAP_AND_EXIT_ONLY = 2,
11
11
  EXIT_ONLY = 3
12
12
  }
13
+ export declare enum PendleTokenType {
14
+ PT = 0,
15
+ LP = 1
16
+ }
13
17
  export declare enum PendlePairStatus {
14
18
  NOT_ALLOWED = 0,
15
19
  ALLOWED = 1,
@@ -21,3 +25,10 @@ export declare enum TraderJoePoolVersion {
21
25
  V2_1 = 2,
22
26
  V2_2 = 3
23
27
  }
28
+ export declare enum BalancerV3PoolStatus {
29
+ NOT_ALLOWED = 0,
30
+ ALLOWED = 1,
31
+ EXIT_AND_SWAP = 2,
32
+ SWAP_ONLY = 3,
33
+ EXIT_ONLY = 4
34
+ }
@@ -1,9 +1,10 @@
1
1
  import type { AbiParameter } from "viem";
2
2
  export type VersionedAbi = Record<number, readonly AbiParameter[]>;
3
3
  export type AdapterContractTypeLegacy = "AD_AAVE_V3_LENDING_POOL" | "AD_BALANCER_VAULT" | "AD_CAMELOT_V3_ROUTER" | "AD_CONVEX_L2_BOOSTER" | "AD_CONVEX_L2_REWARD_POOL" | "AD_CONVEX_V1_BASE_REWARD_POOL" | "AD_CONVEX_V1_BOOSTER" | "AD_CURVE_STABLE_NG" | "AD_CURVE_V1_2ASSETS" | "AD_CURVE_V1_3ASSETS" | "AD_CURVE_V1_4ASSETS" | "AD_CURVE_V1_EXCHANGE_ONLY" | "AD_CURVE_V1_STECRV_POOL" | "AD_CURVE_V1_WRAPPER" | "AD_DAI_USDS_EXCHANGE" | "AD_EQUALIZER_ROUTER" | "AD_ERC4626_VAULT" | "AD_LIDO_V1" | "AD_LIDO_WSTETH_V1" | "AD_MELLOW_ERC4626_VAULT" | "AD_MELLOW_LRT_VAULT" | "AD_PENDLE_ROUTER" | "AD_STAKING_REWARDS" | "AD_SYMBIOTIC_DEFAULT_COLLATERAL" | "AD_UNISWAP_V2_ROUTER" | "AD_UNISWAP_V3_ROUTER" | "AD_VELODROME_V2_ROUTER" | "AD_YEARN_V2" | "AD_ZIRCUIT_POOL";
4
- export type AdapterContractType = "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADERJOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
4
+ export type AdapterContractType = "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADERJOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
5
5
  export declare enum AdapterType {
6
6
  BALANCER_V3_ROUTER = "BALANCER_V3_ROUTER",
7
+ BALANCER_V3_WRAPPER = "BALANCER_V3_WRAPPER",
7
8
  BALANCER_VAULT = "BALANCER_VAULT",
8
9
  CAMELOT_V3_ROUTER = "CAMELOT_V3_ROUTER",
9
10
  CURVE_STABLE_NG = "CURVE_STABLE_NG",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "9.15.1",
3
+ "version": "9.15.2",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",