@gearbox-protocol/sdk 12.3.16 → 12.4.0

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.
@@ -106,7 +106,11 @@ class TreasurySplitterContract extends import_sdk.BaseContract {
106
106
  const [receivers, proportions] = args;
107
107
  return {
108
108
  receivers: (0, import_sdk.json_stringify)(receivers),
109
- proportions: (0, import_sdk.json_stringify)(proportions.map((proportion) => `${proportion / 100}% [${proportion}]`))
109
+ proportions: (0, import_sdk.json_stringify)(
110
+ proportions.map(
111
+ (proportion) => `${proportion / 100}% [${proportion}]`
112
+ )
113
+ )
110
114
  };
111
115
  }
112
116
  default:
@@ -27,6 +27,7 @@ __reExport(sdk_exports, require("./market/index.js"), module.exports);
27
27
  __reExport(sdk_exports, require("./options.js"), module.exports);
28
28
  __reExport(sdk_exports, require("./plugins/index.js"), module.exports);
29
29
  __reExport(sdk_exports, require("./poolMigration/index.js"), module.exports);
30
+ __reExport(sdk_exports, require("./pools/index.js"), module.exports);
30
31
  __reExport(sdk_exports, require("./router/index.js"), module.exports);
31
32
  __reExport(sdk_exports, require("./sdk-gov-legacy/index.js"), module.exports);
32
33
  __reExport(sdk_exports, require("./sdk-legacy/index.js"), module.exports);
@@ -47,6 +48,7 @@ __reExport(sdk_exports, require("./utils/viem/index.js"), module.exports);
47
48
  ...require("./options.js"),
48
49
  ...require("./plugins/index.js"),
49
50
  ...require("./poolMigration/index.js"),
51
+ ...require("./pools/index.js"),
50
52
  ...require("./router/index.js"),
51
53
  ...require("./sdk-gov-legacy/index.js"),
52
54
  ...require("./sdk-legacy/index.js"),
@@ -0,0 +1,137 @@
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 AbstractPoolService_exports = {};
20
+ __export(AbstractPoolService_exports, {
21
+ AbstractPoolService: () => AbstractPoolService
22
+ });
23
+ module.exports = __toCommonJS(AbstractPoolService_exports);
24
+ var import_iERC20ZapperDeposits = require("../../abi/iERC20ZapperDeposits.js");
25
+ var import_iETHZapperDeposits = require("../../abi/iETHZapperDeposits.js");
26
+ var import_iZapper = require("../../abi/iZapper.js");
27
+ var import_v300 = require("../../abi/v300.js");
28
+ var import_base = require("../base/index.js");
29
+ class AbstractPoolService extends import_base.SDKConstruct {
30
+ #version;
31
+ constructor(sdk, version) {
32
+ super(sdk);
33
+ this.#version = version;
34
+ this.logger?.debug(`Created PoolService with version: ${this.#version}`);
35
+ }
36
+ addLiquidity({
37
+ collateral,
38
+ pool,
39
+ account,
40
+ zapper,
41
+ permit,
42
+ nativeTokenAddress,
43
+ referralCode = 0n,
44
+ migrate
45
+ }) {
46
+ if (zapper?.tokenIn === nativeTokenAddress) {
47
+ return [
48
+ {
49
+ target: zapper.zapper,
50
+ abi: import_iETHZapperDeposits.iethZapperDepositsAbi,
51
+ functionName: "depositWithReferral",
52
+ args: [account, referralCode],
53
+ value: collateral.balance
54
+ }
55
+ ];
56
+ } else if (zapper) {
57
+ return permit ? [
58
+ {
59
+ target: zapper.zapper,
60
+ abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
61
+ functionName: "depositWithReferralAndPermit",
62
+ args: [
63
+ collateral.balance,
64
+ account,
65
+ referralCode,
66
+ permit.deadline,
67
+ permit.v,
68
+ permit.r,
69
+ permit.s
70
+ ]
71
+ }
72
+ ] : [
73
+ {
74
+ target: zapper.zapper,
75
+ abi: import_iERC20ZapperDeposits.ierc20ZapperDepositsAbi,
76
+ functionName: "depositWithReferral",
77
+ args: [collateral.balance, account, referralCode]
78
+ }
79
+ ];
80
+ } else {
81
+ if (migrate) throw Error("No zapper for migration");
82
+ return [
83
+ {
84
+ target: pool,
85
+ abi: import_v300.iPoolV300Abi,
86
+ functionName: "depositWithReferral",
87
+ args: [collateral.balance, account, referralCode]
88
+ }
89
+ ];
90
+ }
91
+ }
92
+ removeLiquidity({
93
+ pool,
94
+ amount,
95
+ account,
96
+ zapper,
97
+ permit
98
+ }) {
99
+ if (zapper) {
100
+ return permit ? [
101
+ {
102
+ target: zapper.zapper,
103
+ abi: import_iZapper.iZapperAbi,
104
+ functionName: "redeemWithPermit",
105
+ args: [
106
+ amount,
107
+ account,
108
+ permit.deadline,
109
+ permit.v,
110
+ permit.r,
111
+ permit.s
112
+ ]
113
+ }
114
+ ] : [
115
+ {
116
+ target: zapper.zapper,
117
+ abi: import_iZapper.iZapperAbi,
118
+ functionName: "redeem",
119
+ args: [amount, account]
120
+ }
121
+ ];
122
+ } else {
123
+ return [
124
+ {
125
+ target: pool,
126
+ abi: import_v300.iPoolV300Abi,
127
+ functionName: "redeem",
128
+ args: [amount, account, account]
129
+ }
130
+ ];
131
+ }
132
+ }
133
+ }
134
+ // Annotate the CommonJS export names for ESM import in node:
135
+ 0 && (module.exports = {
136
+ AbstractPoolService
137
+ });
@@ -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 PoolServiceV300_exports = {};
20
+ __export(PoolServiceV300_exports, {
21
+ PoolServiceV300: () => PoolServiceV300
22
+ });
23
+ module.exports = __toCommonJS(PoolServiceV300_exports);
24
+ var import_AbstractPoolService = require("./AbstractPoolService.js");
25
+ class PoolServiceV300 extends import_AbstractPoolService.AbstractPoolService {
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ PoolServiceV300
30
+ });
@@ -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 PoolServiceV310_exports = {};
20
+ __export(PoolServiceV310_exports, {
21
+ PoolServiceV310: () => PoolServiceV310
22
+ });
23
+ module.exports = __toCommonJS(PoolServiceV310_exports);
24
+ var import_AbstractPoolService = require("./AbstractPoolService.js");
25
+ class PoolServiceV310 extends import_AbstractPoolService.AbstractPoolService {
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ PoolServiceV310
30
+ });
@@ -0,0 +1,39 @@
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 createPoolService_exports = {};
20
+ __export(createPoolService_exports, {
21
+ createPoolService: () => createPoolService
22
+ });
23
+ module.exports = __toCommonJS(createPoolService_exports);
24
+ var import_constants = require("../constants/index.js");
25
+ var import_PoolServiceV300 = require("./PoolServiceV300.js");
26
+ var import_PoolServiceV310 = require("./PoolServiceV310.js");
27
+ function createPoolService(sdk, version) {
28
+ if ((0, import_constants.isV300)(version)) {
29
+ return new import_PoolServiceV300.PoolServiceV300(sdk, version);
30
+ }
31
+ if ((0, import_constants.isV310)(version)) {
32
+ return new import_PoolServiceV310.PoolServiceV310(sdk, version);
33
+ }
34
+ throw new Error(`Unsupported Pool Service version ${version}`);
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ createPoolService
39
+ });
@@ -0,0 +1,26 @@
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 pools_exports = {};
17
+ module.exports = __toCommonJS(pools_exports);
18
+ __reExport(pools_exports, require("./AbstractPoolService.js"), module.exports);
19
+ __reExport(pools_exports, require("./createPoolService.js"), module.exports);
20
+ __reExport(pools_exports, require("./types.js"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./AbstractPoolService.js"),
24
+ ...require("./createPoolService.js"),
25
+ ...require("./types.js")
26
+ });
@@ -0,0 +1,16 @@
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -85,7 +85,11 @@ class TreasurySplitterContract extends BaseContract {
85
85
  const [receivers, proportions] = args;
86
86
  return {
87
87
  receivers: json_stringify(receivers),
88
- proportions: json_stringify(proportions.map((proportion) => `${proportion / 100}% [${proportion}]`))
88
+ proportions: json_stringify(
89
+ proportions.map(
90
+ (proportion) => `${proportion / 100}% [${proportion}]`
91
+ )
92
+ )
89
93
  };
90
94
  }
91
95
  default:
@@ -10,6 +10,7 @@ export * from "./market/index.js";
10
10
  export * from "./options.js";
11
11
  export * from "./plugins/index.js";
12
12
  export * from "./poolMigration/index.js";
13
+ export * from "./pools/index.js";
13
14
  export * from "./router/index.js";
14
15
  export * from "./sdk-gov-legacy/index.js";
15
16
  export * from "./sdk-legacy/index.js";
@@ -0,0 +1,113 @@
1
+ import { ierc20ZapperDepositsAbi } from "../../abi/iERC20ZapperDeposits.js";
2
+ import { iethZapperDepositsAbi } from "../../abi/iETHZapperDeposits.js";
3
+ import { iZapperAbi } from "../../abi/iZapper.js";
4
+ import { iPoolV300Abi } from "../../abi/v300.js";
5
+ import { SDKConstruct } from "../base/index.js";
6
+ class AbstractPoolService extends SDKConstruct {
7
+ #version;
8
+ constructor(sdk, version) {
9
+ super(sdk);
10
+ this.#version = version;
11
+ this.logger?.debug(`Created PoolService with version: ${this.#version}`);
12
+ }
13
+ addLiquidity({
14
+ collateral,
15
+ pool,
16
+ account,
17
+ zapper,
18
+ permit,
19
+ nativeTokenAddress,
20
+ referralCode = 0n,
21
+ migrate
22
+ }) {
23
+ if (zapper?.tokenIn === nativeTokenAddress) {
24
+ return [
25
+ {
26
+ target: zapper.zapper,
27
+ abi: iethZapperDepositsAbi,
28
+ functionName: "depositWithReferral",
29
+ args: [account, referralCode],
30
+ value: collateral.balance
31
+ }
32
+ ];
33
+ } else if (zapper) {
34
+ return permit ? [
35
+ {
36
+ target: zapper.zapper,
37
+ abi: ierc20ZapperDepositsAbi,
38
+ functionName: "depositWithReferralAndPermit",
39
+ args: [
40
+ collateral.balance,
41
+ account,
42
+ referralCode,
43
+ permit.deadline,
44
+ permit.v,
45
+ permit.r,
46
+ permit.s
47
+ ]
48
+ }
49
+ ] : [
50
+ {
51
+ target: zapper.zapper,
52
+ abi: ierc20ZapperDepositsAbi,
53
+ functionName: "depositWithReferral",
54
+ args: [collateral.balance, account, referralCode]
55
+ }
56
+ ];
57
+ } else {
58
+ if (migrate) throw Error("No zapper for migration");
59
+ return [
60
+ {
61
+ target: pool,
62
+ abi: iPoolV300Abi,
63
+ functionName: "depositWithReferral",
64
+ args: [collateral.balance, account, referralCode]
65
+ }
66
+ ];
67
+ }
68
+ }
69
+ removeLiquidity({
70
+ pool,
71
+ amount,
72
+ account,
73
+ zapper,
74
+ permit
75
+ }) {
76
+ if (zapper) {
77
+ return permit ? [
78
+ {
79
+ target: zapper.zapper,
80
+ abi: iZapperAbi,
81
+ functionName: "redeemWithPermit",
82
+ args: [
83
+ amount,
84
+ account,
85
+ permit.deadline,
86
+ permit.v,
87
+ permit.r,
88
+ permit.s
89
+ ]
90
+ }
91
+ ] : [
92
+ {
93
+ target: zapper.zapper,
94
+ abi: iZapperAbi,
95
+ functionName: "redeem",
96
+ args: [amount, account]
97
+ }
98
+ ];
99
+ } else {
100
+ return [
101
+ {
102
+ target: pool,
103
+ abi: iPoolV300Abi,
104
+ functionName: "redeem",
105
+ args: [amount, account, account]
106
+ }
107
+ ];
108
+ }
109
+ }
110
+ }
111
+ export {
112
+ AbstractPoolService
113
+ };
@@ -0,0 +1,6 @@
1
+ import { AbstractPoolService } from "./AbstractPoolService.js";
2
+ class PoolServiceV300 extends AbstractPoolService {
3
+ }
4
+ export {
5
+ PoolServiceV300
6
+ };
@@ -0,0 +1,6 @@
1
+ import { AbstractPoolService } from "./AbstractPoolService.js";
2
+ class PoolServiceV310 extends AbstractPoolService {
3
+ }
4
+ export {
5
+ PoolServiceV310
6
+ };
@@ -0,0 +1,15 @@
1
+ import { isV300, isV310 } from "../constants/index.js";
2
+ import { PoolServiceV300 } from "./PoolServiceV300.js";
3
+ import { PoolServiceV310 } from "./PoolServiceV310.js";
4
+ function createPoolService(sdk, version) {
5
+ if (isV300(version)) {
6
+ return new PoolServiceV300(sdk, version);
7
+ }
8
+ if (isV310(version)) {
9
+ return new PoolServiceV310(sdk, version);
10
+ }
11
+ throw new Error(`Unsupported Pool Service version ${version}`);
12
+ }
13
+ export {
14
+ createPoolService
15
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./AbstractPoolService.js";
2
+ export * from "./createPoolService.js";
3
+ export * from "./types.js";
File without changes
@@ -10,6 +10,7 @@ export * from "./market/index.js";
10
10
  export * from "./options.js";
11
11
  export * from "./plugins/index.js";
12
12
  export * from "./poolMigration/index.js";
13
+ export * from "./pools/index.js";
13
14
  export * from "./router/index.js";
14
15
  export * from "./sdk-gov-legacy/index.js";
15
16
  export * from "./sdk-legacy/index.js";
@@ -0,0 +1,9 @@
1
+ import { SDKConstruct } from "../base/index.js";
2
+ import type { GearboxSDK } from "../GearboxSDK.js";
3
+ import type { AddLiquidityCall, AddLiquidityProps, RemoveLiquidityCall, RemoveLiquidityProps } from "./types.js";
4
+ export declare abstract class AbstractPoolService extends SDKConstruct {
5
+ #private;
6
+ constructor(sdk: GearboxSDK, version: number);
7
+ addLiquidity({ collateral, pool, account, zapper, permit, nativeTokenAddress, referralCode, migrate, }: AddLiquidityProps): AddLiquidityCall;
8
+ removeLiquidity({ pool, amount, account, zapper, permit, }: RemoveLiquidityProps): RemoveLiquidityCall;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { AbstractPoolService } from "./AbstractPoolService.js";
2
+ import type { IPoolsService } from "./types.js";
3
+ export declare class PoolServiceV300 extends AbstractPoolService implements IPoolsService {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { AbstractPoolService } from "./AbstractPoolService.js";
2
+ import type { IPoolsService } from "./types.js";
3
+ export declare class PoolServiceV310 extends AbstractPoolService implements IPoolsService {
4
+ }
@@ -0,0 +1,8 @@
1
+ import type { GearboxSDK } from "../GearboxSDK.js";
2
+ import type { AbstractPoolService } from "./AbstractPoolService.js";
3
+ /**
4
+ * @sdk
5
+ * @version version of desired pool service; either v300 or v310
6
+ * @returns
7
+ */
8
+ export declare function createPoolService(sdk: GearboxSDK, version: number): AbstractPoolService;
@@ -0,0 +1,3 @@
1
+ export * from "./AbstractPoolService.js";
2
+ export * from "./createPoolService.js";
3
+ export * from "./types.js";
@@ -0,0 +1,92 @@
1
+ import type { Address } from "viem";
2
+ import type { ierc20ZapperDepositsAbi } from "../../abi/iERC20ZapperDeposits.js";
3
+ import type { iethZapperDepositsAbi } from "../../abi/iETHZapperDeposits.js";
4
+ import type { iZapperAbi } from "../../abi/iZapper.js";
5
+ import type { iPoolV300Abi } from "../../abi/v300.js";
6
+ import type { PoolData_Legacy } from "../index.js";
7
+ import type { Asset } from "../router/index.js";
8
+ interface PermitResult {
9
+ r: Address;
10
+ s: Address;
11
+ v: number;
12
+ token: Address;
13
+ owner: Address;
14
+ spender: Address;
15
+ value: bigint;
16
+ deadline: bigint;
17
+ nonce: bigint;
18
+ }
19
+ export interface AddLiquidityProps {
20
+ collateral: Asset;
21
+ pool: Address;
22
+ account: Address;
23
+ migrate: boolean;
24
+ zapper: PoolData_Legacy["zappers"][Address][Address] | undefined;
25
+ permit: PermitResult | undefined;
26
+ nativeTokenAddress: Address;
27
+ referralCode: bigint | undefined;
28
+ }
29
+ export type AddLiquidityCall = [
30
+ {
31
+ target: Address;
32
+ abi: typeof iethZapperDepositsAbi;
33
+ functionName: "depositWithReferral";
34
+ args: [Address, bigint];
35
+ value: bigint;
36
+ } | {
37
+ target: Address;
38
+ abi: typeof ierc20ZapperDepositsAbi;
39
+ functionName: "depositWithReferralAndPermit";
40
+ args: [bigint, Address, bigint, bigint, number, Address, Address];
41
+ } | {
42
+ target: Address;
43
+ abi: typeof ierc20ZapperDepositsAbi;
44
+ functionName: "depositWithReferral";
45
+ args: [bigint, Address, bigint];
46
+ } | {
47
+ target: Address;
48
+ abi: typeof iPoolV300Abi;
49
+ functionName: "depositWithReferral";
50
+ args: [bigint, Address, bigint];
51
+ }
52
+ ];
53
+ export interface RemoveLiquidityProps {
54
+ pool: Address;
55
+ amount: bigint;
56
+ account: Address;
57
+ permit: PermitResult | undefined;
58
+ zapper: PoolData_Legacy["zappers"][Address][Address];
59
+ }
60
+ export type RemoveLiquidityCall = [
61
+ {
62
+ target: Address;
63
+ abi: typeof iZapperAbi;
64
+ functionName: "redeemWithPermit";
65
+ args: [bigint, Address, bigint, number, Address, Address];
66
+ } | {
67
+ target: Address;
68
+ abi: typeof iZapperAbi;
69
+ functionName: "redeem";
70
+ args: [bigint, Address];
71
+ } | {
72
+ target: Address;
73
+ abi: typeof iPoolV300Abi;
74
+ functionName: "redeem";
75
+ args: [bigint, Address, Address];
76
+ }
77
+ ];
78
+ export interface IPoolsService {
79
+ /**
80
+ * Add liquidity to a pool
81
+ * @param props - {@link AddLiquidityProps}
82
+ * @returns - {@link AddLiquidityCall}
83
+ */
84
+ addLiquidity(props: AddLiquidityProps): AddLiquidityCall;
85
+ /**
86
+ * Remove liquidity from a pool
87
+ * @param props - {@link RemoveLiquidityProps}
88
+ * @returns - {@link RemoveLiquidityCall}
89
+ */
90
+ removeLiquidity(props: RemoveLiquidityProps): RemoveLiquidityCall;
91
+ }
92
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "12.3.16",
3
+ "version": "12.4.0",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",