@gearbox-protocol/sdk 14.10.4 → 14.10.5

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 (38) 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 +47 -0
  10. package/dist/cjs/sdk/market/zapper/createZapper.js +45 -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 +23 -0
  22. package/dist/esm/sdk/market/zapper/createZapper.js +21 -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/pool/types.d.ts +11 -1
  31. package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +350 -0
  32. package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +186 -0
  33. package/dist/types/sdk/market/zapper/Zapper.d.ts +13 -0
  34. package/dist/types/sdk/market/zapper/createZapper.d.ts +6 -0
  35. package/dist/types/sdk/market/zapper/index.d.ts +4 -0
  36. package/dist/types/sdk/pools/PoolService.d.ts +3 -3
  37. package/dist/types/sdk/pools/types.d.ts +10 -5
  38. package/package.json +1 -1
@@ -0,0 +1,313 @@
1
+ export declare const ierc20ZapperAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly inputs: readonly [{
4
+ readonly name: "tokenInAmount";
5
+ readonly internalType: "uint256";
6
+ readonly type: "uint256";
7
+ }, {
8
+ readonly name: "receiver";
9
+ readonly internalType: "address";
10
+ readonly type: "address";
11
+ }];
12
+ readonly name: "deposit";
13
+ readonly outputs: readonly [{
14
+ readonly name: "tokenOutAmount";
15
+ readonly internalType: "uint256";
16
+ readonly type: "uint256";
17
+ }];
18
+ readonly stateMutability: "nonpayable";
19
+ }, {
20
+ readonly type: "function";
21
+ readonly inputs: readonly [{
22
+ readonly name: "tokenInAmount";
23
+ readonly internalType: "uint256";
24
+ readonly type: "uint256";
25
+ }, {
26
+ readonly name: "receiver";
27
+ readonly internalType: "address";
28
+ readonly type: "address";
29
+ }, {
30
+ readonly name: "deadline";
31
+ readonly internalType: "uint256";
32
+ readonly type: "uint256";
33
+ }, {
34
+ readonly name: "v";
35
+ readonly internalType: "uint8";
36
+ readonly type: "uint8";
37
+ }, {
38
+ readonly name: "r";
39
+ readonly internalType: "bytes32";
40
+ readonly type: "bytes32";
41
+ }, {
42
+ readonly name: "s";
43
+ readonly internalType: "bytes32";
44
+ readonly type: "bytes32";
45
+ }];
46
+ readonly name: "depositWithPermit";
47
+ readonly outputs: readonly [{
48
+ readonly name: "tokenOutAmount";
49
+ readonly internalType: "uint256";
50
+ readonly type: "uint256";
51
+ }];
52
+ readonly stateMutability: "nonpayable";
53
+ }, {
54
+ readonly type: "function";
55
+ readonly inputs: readonly [{
56
+ readonly name: "tokenInAmount";
57
+ readonly internalType: "uint256";
58
+ readonly type: "uint256";
59
+ }, {
60
+ readonly name: "receiver";
61
+ readonly internalType: "address";
62
+ readonly type: "address";
63
+ }, {
64
+ readonly name: "nonce";
65
+ readonly internalType: "uint256";
66
+ readonly type: "uint256";
67
+ }, {
68
+ readonly name: "expiry";
69
+ readonly internalType: "uint256";
70
+ readonly type: "uint256";
71
+ }, {
72
+ readonly name: "v";
73
+ readonly internalType: "uint8";
74
+ readonly type: "uint8";
75
+ }, {
76
+ readonly name: "r";
77
+ readonly internalType: "bytes32";
78
+ readonly type: "bytes32";
79
+ }, {
80
+ readonly name: "s";
81
+ readonly internalType: "bytes32";
82
+ readonly type: "bytes32";
83
+ }];
84
+ readonly name: "depositWithPermitAllowed";
85
+ readonly outputs: readonly [{
86
+ readonly name: "tokenOutAmount";
87
+ readonly internalType: "uint256";
88
+ readonly type: "uint256";
89
+ }];
90
+ readonly stateMutability: "nonpayable";
91
+ }, {
92
+ readonly type: "function";
93
+ readonly inputs: readonly [{
94
+ readonly name: "tokenInAmount";
95
+ readonly internalType: "uint256";
96
+ readonly type: "uint256";
97
+ }, {
98
+ readonly name: "receiver";
99
+ readonly internalType: "address";
100
+ readonly type: "address";
101
+ }, {
102
+ readonly name: "referralCode";
103
+ readonly internalType: "uint256";
104
+ readonly type: "uint256";
105
+ }];
106
+ readonly name: "depositWithReferral";
107
+ readonly outputs: readonly [{
108
+ readonly name: "tokenOutAmount";
109
+ readonly internalType: "uint256";
110
+ readonly type: "uint256";
111
+ }];
112
+ readonly stateMutability: "nonpayable";
113
+ }, {
114
+ readonly type: "function";
115
+ readonly inputs: readonly [{
116
+ readonly name: "tokenInAmount";
117
+ readonly internalType: "uint256";
118
+ readonly type: "uint256";
119
+ }, {
120
+ readonly name: "receiver";
121
+ readonly internalType: "address";
122
+ readonly type: "address";
123
+ }, {
124
+ readonly name: "referralCode";
125
+ readonly internalType: "uint256";
126
+ readonly type: "uint256";
127
+ }, {
128
+ readonly name: "deadline";
129
+ readonly internalType: "uint256";
130
+ readonly type: "uint256";
131
+ }, {
132
+ readonly name: "v";
133
+ readonly internalType: "uint8";
134
+ readonly type: "uint8";
135
+ }, {
136
+ readonly name: "r";
137
+ readonly internalType: "bytes32";
138
+ readonly type: "bytes32";
139
+ }, {
140
+ readonly name: "s";
141
+ readonly internalType: "bytes32";
142
+ readonly type: "bytes32";
143
+ }];
144
+ readonly name: "depositWithReferralAndPermit";
145
+ readonly outputs: readonly [{
146
+ readonly name: "tokenOutAmount";
147
+ readonly internalType: "uint256";
148
+ readonly type: "uint256";
149
+ }];
150
+ readonly stateMutability: "nonpayable";
151
+ }, {
152
+ readonly type: "function";
153
+ readonly inputs: readonly [{
154
+ readonly name: "tokenInAmount";
155
+ readonly internalType: "uint256";
156
+ readonly type: "uint256";
157
+ }, {
158
+ readonly name: "receiver";
159
+ readonly internalType: "address";
160
+ readonly type: "address";
161
+ }, {
162
+ readonly name: "referralCode";
163
+ readonly internalType: "uint256";
164
+ readonly type: "uint256";
165
+ }, {
166
+ readonly name: "nonce";
167
+ readonly internalType: "uint256";
168
+ readonly type: "uint256";
169
+ }, {
170
+ readonly name: "expiry";
171
+ readonly internalType: "uint256";
172
+ readonly type: "uint256";
173
+ }, {
174
+ readonly name: "v";
175
+ readonly internalType: "uint8";
176
+ readonly type: "uint8";
177
+ }, {
178
+ readonly name: "r";
179
+ readonly internalType: "bytes32";
180
+ readonly type: "bytes32";
181
+ }, {
182
+ readonly name: "s";
183
+ readonly internalType: "bytes32";
184
+ readonly type: "bytes32";
185
+ }];
186
+ readonly name: "depositWithReferralAndPermitAllowed";
187
+ readonly outputs: readonly [{
188
+ readonly name: "tokenOutAmount";
189
+ readonly internalType: "uint256";
190
+ readonly type: "uint256";
191
+ }];
192
+ readonly stateMutability: "nonpayable";
193
+ }, {
194
+ readonly type: "function";
195
+ readonly inputs: readonly [];
196
+ readonly name: "pool";
197
+ readonly outputs: readonly [{
198
+ readonly name: "";
199
+ readonly internalType: "address";
200
+ readonly type: "address";
201
+ }];
202
+ readonly stateMutability: "view";
203
+ }, {
204
+ readonly type: "function";
205
+ readonly inputs: readonly [{
206
+ readonly name: "tokenInAmount";
207
+ readonly internalType: "uint256";
208
+ readonly type: "uint256";
209
+ }];
210
+ readonly name: "previewDeposit";
211
+ readonly outputs: readonly [{
212
+ readonly name: "tokenOutAmount";
213
+ readonly internalType: "uint256";
214
+ readonly type: "uint256";
215
+ }];
216
+ readonly stateMutability: "view";
217
+ }, {
218
+ readonly type: "function";
219
+ readonly inputs: readonly [{
220
+ readonly name: "tokenOutAmount";
221
+ readonly internalType: "uint256";
222
+ readonly type: "uint256";
223
+ }];
224
+ readonly name: "previewRedeem";
225
+ readonly outputs: readonly [{
226
+ readonly name: "tokenInAmount";
227
+ readonly internalType: "uint256";
228
+ readonly type: "uint256";
229
+ }];
230
+ readonly stateMutability: "view";
231
+ }, {
232
+ readonly type: "function";
233
+ readonly inputs: readonly [{
234
+ readonly name: "tokenOutAmount";
235
+ readonly internalType: "uint256";
236
+ readonly type: "uint256";
237
+ }, {
238
+ readonly name: "receiver";
239
+ readonly internalType: "address";
240
+ readonly type: "address";
241
+ }];
242
+ readonly name: "redeem";
243
+ readonly outputs: readonly [{
244
+ readonly name: "tokenInAmount";
245
+ readonly internalType: "uint256";
246
+ readonly type: "uint256";
247
+ }];
248
+ readonly stateMutability: "nonpayable";
249
+ }, {
250
+ readonly type: "function";
251
+ readonly inputs: readonly [{
252
+ readonly name: "tokenOutAmount";
253
+ readonly internalType: "uint256";
254
+ readonly type: "uint256";
255
+ }, {
256
+ readonly name: "receiver";
257
+ readonly internalType: "address";
258
+ readonly type: "address";
259
+ }, {
260
+ readonly name: "deadline";
261
+ readonly internalType: "uint256";
262
+ readonly type: "uint256";
263
+ }, {
264
+ readonly name: "v";
265
+ readonly internalType: "uint8";
266
+ readonly type: "uint8";
267
+ }, {
268
+ readonly name: "r";
269
+ readonly internalType: "bytes32";
270
+ readonly type: "bytes32";
271
+ }, {
272
+ readonly name: "s";
273
+ readonly internalType: "bytes32";
274
+ readonly type: "bytes32";
275
+ }];
276
+ readonly name: "redeemWithPermit";
277
+ readonly outputs: readonly [{
278
+ readonly name: "tokenInAmount";
279
+ readonly internalType: "uint256";
280
+ readonly type: "uint256";
281
+ }];
282
+ readonly stateMutability: "nonpayable";
283
+ }, {
284
+ readonly type: "function";
285
+ readonly inputs: readonly [];
286
+ readonly name: "tokenIn";
287
+ readonly outputs: readonly [{
288
+ readonly name: "";
289
+ readonly internalType: "address";
290
+ readonly type: "address";
291
+ }];
292
+ readonly stateMutability: "view";
293
+ }, {
294
+ readonly type: "function";
295
+ readonly inputs: readonly [];
296
+ readonly name: "tokenOut";
297
+ readonly outputs: readonly [{
298
+ readonly name: "";
299
+ readonly internalType: "address";
300
+ readonly type: "address";
301
+ }];
302
+ readonly stateMutability: "view";
303
+ }, {
304
+ readonly type: "function";
305
+ readonly inputs: readonly [];
306
+ readonly name: "underlying";
307
+ readonly outputs: readonly [{
308
+ readonly name: "";
309
+ readonly internalType: "address";
310
+ readonly type: "address";
311
+ }];
312
+ readonly stateMutability: "view";
313
+ }];
@@ -0,0 +1,153 @@
1
+ export declare const iethZapperAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly inputs: readonly [{
4
+ readonly name: "receiver";
5
+ readonly internalType: "address";
6
+ readonly type: "address";
7
+ }];
8
+ readonly name: "deposit";
9
+ readonly outputs: readonly [{
10
+ readonly name: "tokenOutAmount";
11
+ readonly internalType: "uint256";
12
+ readonly type: "uint256";
13
+ }];
14
+ readonly stateMutability: "payable";
15
+ }, {
16
+ readonly type: "function";
17
+ readonly inputs: readonly [{
18
+ readonly name: "receiver";
19
+ readonly internalType: "address";
20
+ readonly type: "address";
21
+ }, {
22
+ readonly name: "referralCode";
23
+ readonly internalType: "uint256";
24
+ readonly type: "uint256";
25
+ }];
26
+ readonly name: "depositWithReferral";
27
+ readonly outputs: readonly [{
28
+ readonly name: "tokenOutAmount";
29
+ readonly internalType: "uint256";
30
+ readonly type: "uint256";
31
+ }];
32
+ readonly stateMutability: "payable";
33
+ }, {
34
+ readonly type: "function";
35
+ readonly inputs: readonly [];
36
+ readonly name: "pool";
37
+ readonly outputs: readonly [{
38
+ readonly name: "";
39
+ readonly internalType: "address";
40
+ readonly type: "address";
41
+ }];
42
+ readonly stateMutability: "view";
43
+ }, {
44
+ readonly type: "function";
45
+ readonly inputs: readonly [{
46
+ readonly name: "tokenInAmount";
47
+ readonly internalType: "uint256";
48
+ readonly type: "uint256";
49
+ }];
50
+ readonly name: "previewDeposit";
51
+ readonly outputs: readonly [{
52
+ readonly name: "tokenOutAmount";
53
+ readonly internalType: "uint256";
54
+ readonly type: "uint256";
55
+ }];
56
+ readonly stateMutability: "view";
57
+ }, {
58
+ readonly type: "function";
59
+ readonly inputs: readonly [{
60
+ readonly name: "tokenOutAmount";
61
+ readonly internalType: "uint256";
62
+ readonly type: "uint256";
63
+ }];
64
+ readonly name: "previewRedeem";
65
+ readonly outputs: readonly [{
66
+ readonly name: "tokenInAmount";
67
+ readonly internalType: "uint256";
68
+ readonly type: "uint256";
69
+ }];
70
+ readonly stateMutability: "view";
71
+ }, {
72
+ readonly type: "function";
73
+ readonly inputs: readonly [{
74
+ readonly name: "tokenOutAmount";
75
+ readonly internalType: "uint256";
76
+ readonly type: "uint256";
77
+ }, {
78
+ readonly name: "receiver";
79
+ readonly internalType: "address";
80
+ readonly type: "address";
81
+ }];
82
+ readonly name: "redeem";
83
+ readonly outputs: readonly [{
84
+ readonly name: "tokenInAmount";
85
+ readonly internalType: "uint256";
86
+ readonly type: "uint256";
87
+ }];
88
+ readonly stateMutability: "nonpayable";
89
+ }, {
90
+ readonly type: "function";
91
+ readonly inputs: readonly [{
92
+ readonly name: "tokenOutAmount";
93
+ readonly internalType: "uint256";
94
+ readonly type: "uint256";
95
+ }, {
96
+ readonly name: "receiver";
97
+ readonly internalType: "address";
98
+ readonly type: "address";
99
+ }, {
100
+ readonly name: "deadline";
101
+ readonly internalType: "uint256";
102
+ readonly type: "uint256";
103
+ }, {
104
+ readonly name: "v";
105
+ readonly internalType: "uint8";
106
+ readonly type: "uint8";
107
+ }, {
108
+ readonly name: "r";
109
+ readonly internalType: "bytes32";
110
+ readonly type: "bytes32";
111
+ }, {
112
+ readonly name: "s";
113
+ readonly internalType: "bytes32";
114
+ readonly type: "bytes32";
115
+ }];
116
+ readonly name: "redeemWithPermit";
117
+ readonly outputs: readonly [{
118
+ readonly name: "tokenInAmount";
119
+ readonly internalType: "uint256";
120
+ readonly type: "uint256";
121
+ }];
122
+ readonly stateMutability: "nonpayable";
123
+ }, {
124
+ readonly type: "function";
125
+ readonly inputs: readonly [];
126
+ readonly name: "tokenIn";
127
+ readonly outputs: readonly [{
128
+ readonly name: "";
129
+ readonly internalType: "address";
130
+ readonly type: "address";
131
+ }];
132
+ readonly stateMutability: "view";
133
+ }, {
134
+ readonly type: "function";
135
+ readonly inputs: readonly [];
136
+ readonly name: "tokenOut";
137
+ readonly outputs: readonly [{
138
+ readonly name: "";
139
+ readonly internalType: "address";
140
+ readonly type: "address";
141
+ }];
142
+ readonly stateMutability: "view";
143
+ }, {
144
+ readonly type: "function";
145
+ readonly inputs: readonly [];
146
+ readonly name: "underlying";
147
+ readonly outputs: readonly [{
148
+ readonly name: "";
149
+ readonly internalType: "address";
150
+ readonly type: "address";
151
+ }];
152
+ readonly stateMutability: "view";
153
+ }];
@@ -1,17 +1,17 @@
1
1
  import type { Address } from "viem";
2
2
  import { SDKConstruct } from "../base/index.js";
3
3
  import { AddressMap } from "../utils/index.js";
4
- import type { ZapperData } from "./types.js";
4
+ import { type Zapper } from "./zapper/index.js";
5
5
  export declare class ZapperRegister extends SDKConstruct {
6
6
  #private;
7
7
  /**
8
8
  * Load zappers for all pools using periphery compressor, adds hardcoded zappers
9
9
  */
10
10
  loadZappers(force?: boolean): Promise<void>;
11
- get zappers(): AddressMap<ZapperData[]>;
12
- poolZappers(pool: Address): ZapperData[];
11
+ get zappers(): AddressMap<Zapper[]>;
12
+ poolZappers(pool: Address): Zapper[];
13
13
  /**
14
14
  * Can return multiple zappers if there are multiple zappers for the same tokenIn and tokenOut
15
15
  */
16
- getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<ZapperData> | undefined;
16
+ getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<Zapper> | undefined;
17
17
  }
@@ -7,3 +7,4 @@ export * from "./pool/index.js";
7
7
  export * from "./pricefeeds/index.js";
8
8
  export * from "./rwa/index.js";
9
9
  export * from "./types.js";
10
+ export * from "./zapper/index.js";
@@ -1,8 +1,8 @@
1
- import type { ContractEventName, DecodeFunctionDataReturnType, Log } from "viem";
1
+ import type { Address, ContractEventName, DecodeFunctionDataReturnType, Log } from "viem";
2
2
  import type { CreditManagerDebtParams, PoolState } from "../../base/index.js";
3
3
  import { BaseContract } from "../../base/index.js";
4
4
  import type { OnchainSDK } from "../../OnchainSDK.js";
5
- import type { PoolStateHuman } from "../../types/index.js";
5
+ import type { PoolStateHuman, RawTx } from "../../types/index.js";
6
6
  import { AddressMap } from "../../utils/index.js";
7
7
  import type { IRWAFactory } from "../rwa/types.js";
8
8
  import type { IPoolContract } from "./types.js";
@@ -1139,6 +1139,16 @@ export declare class PoolV310Contract extends BaseContract<abi> implements IPool
1139
1139
  get rwaFactory(): IRWAFactory | undefined;
1140
1140
  stateHuman(raw?: boolean): PoolStateHuman;
1141
1141
  processLog(log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
1142
+ /**
1143
+ * Deposits underlying assets into the pool on behalf of a user with a
1144
+ * referral code.
1145
+ */
1146
+ depositWithReferral(amount: bigint, onBehalfOf: Address, referralCode: bigint): RawTx;
1147
+ /**
1148
+ * Redeems pool shares from the owner and sends the underlying assets to
1149
+ * the receiver.
1150
+ */
1151
+ redeem(amount: bigint, owner: Address, receiver: Address): RawTx;
1142
1152
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
1143
1153
  }
1144
1154
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { Address } from "viem";
2
2
  import type { CreditManagerDebtParams, IBaseContract } from "../../base/index.js";
3
- import type { InterestRateModelStateHuman, PoolStateHuman, RateKeeperStateHuman } from "../../types/index.js";
3
+ import type { InterestRateModelStateHuman, PoolStateHuman, RateKeeperStateHuman, RawTx } from "../../types/index.js";
4
4
  import type { AddressMap } from "../../utils/index.js";
5
5
  import type { IRWAFactory } from "../rwa/types.js";
6
6
  import type { PoolQuotaKeeperV310Contract } from "./PoolQuotaKeeperV310Contract.js";
@@ -115,5 +115,15 @@ export interface IPoolContract extends IBaseContract {
115
115
  */
116
116
  readonly rwaFactory: IRWAFactory | undefined;
117
117
  stateHuman: (raw?: boolean) => PoolStateHuman;
118
+ /**
119
+ * Deposits underlying assets into the pool on behalf of a user with a
120
+ * referral code.
121
+ */
122
+ depositWithReferral(amount: bigint, onBehalfOf: Address, referralCode: bigint): RawTx;
123
+ /**
124
+ * Redeems pool shares from the owner and sends the underlying assets to
125
+ * the receiver.
126
+ */
127
+ redeem(amount: bigint, owner: Address, receiver: Address): RawTx;
118
128
  }
119
129
  export type PoolQuotaKeeperContract = PoolQuotaKeeperV310Contract;