@gearbox-protocol/sdk 3.0.0-next.11 → 3.0.0-next.13

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 (49) hide show
  1. package/lib/core/creditAccount.d.ts +1 -0
  2. package/lib/core/creditAccount.js +2 -0
  3. package/lib/core/creditManager.d.ts +1 -0
  4. package/lib/core/creditManager.js +2 -0
  5. package/lib/core/pool/data.d.ts +2 -0
  6. package/lib/core/pool/data.js +8 -3
  7. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +9 -12
  8. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +3 -5
  9. package/lib/types/ICreditFacadeV3Multicall.d.ts +24 -1
  10. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +19 -19
  11. package/lib/types/IDataCompressorV2_10.d.ts +17 -3
  12. package/lib/types/IDataCompressorV3_00.d.ts +17 -3
  13. package/lib/types/IERC20Permit.d.ts +74 -0
  14. package/lib/types/IERC20Permit.js +2 -0
  15. package/lib/types/IPoolV3.sol/IPoolV3.d.ts +41 -1
  16. package/lib/types/IWERC20Zapper.d.ts +25 -1
  17. package/lib/types/IWETHZapper.d.ts +25 -1
  18. package/lib/types/IZapper.d.ts +25 -1
  19. package/lib/types/factories/AddressProvider__factory.d.ts +1 -1
  20. package/lib/types/factories/AddressProvider__factory.js +1 -1
  21. package/lib/types/factories/Claimable__factory.d.ts +1 -1
  22. package/lib/types/factories/Claimable__factory.js +1 -1
  23. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +0 -5
  24. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +0 -6
  25. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +0 -9
  26. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js +0 -11
  27. package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +30 -0
  28. package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +38 -0
  29. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +11 -15
  30. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +13 -18
  31. package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +44 -4
  32. package/lib/types/factories/IDataCompressorV2_10__factory.js +54 -4
  33. package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +48 -4
  34. package/lib/types/factories/IDataCompressorV3_00__factory.js +59 -4
  35. package/lib/types/factories/IERC20Permit__factory.d.ts +66 -0
  36. package/lib/types/factories/IERC20Permit__factory.js +94 -0
  37. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +58 -0
  38. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +75 -0
  39. package/lib/types/factories/IWERC20Zapper__factory.d.ts +38 -0
  40. package/lib/types/factories/IWERC20Zapper__factory.js +49 -0
  41. package/lib/types/factories/IWETHZapper__factory.d.ts +38 -0
  42. package/lib/types/factories/IWETHZapper__factory.js +49 -0
  43. package/lib/types/factories/IZapper__factory.d.ts +38 -0
  44. package/lib/types/factories/IZapper__factory.js +49 -0
  45. package/lib/types/factories/index.d.ts +1 -0
  46. package/lib/types/factories/index.js +4 -2
  47. package/lib/types/index.d.ts +2 -0
  48. package/lib/types/index.js +4 -2
  49. package/package.json +5 -5
@@ -59,6 +59,7 @@ export type CreditAccountDataStruct = {
59
59
  addr: PromiseOrValue<string>;
60
60
  borrower: PromiseOrValue<string>;
61
61
  creditManager: PromiseOrValue<string>;
62
+ cmDescription: PromiseOrValue<string>;
62
63
  creditFacade: PromiseOrValue<string>;
63
64
  underlying: PromiseOrValue<string>;
64
65
  debt: PromiseOrValue<BigNumberish>;
@@ -91,6 +92,7 @@ export type CreditAccountDataStructOutput = [
91
92
  string,
92
93
  string,
93
94
  string,
95
+ string,
94
96
  BigNumber,
95
97
  BigNumber,
96
98
  BigNumber,
@@ -121,6 +123,7 @@ export type CreditAccountDataStructOutput = [
121
123
  addr: string;
122
124
  borrower: string;
123
125
  creditManager: string;
126
+ cmDescription: string;
124
127
  creditFacade: string;
125
128
  underlying: string;
126
129
  debt: BigNumber;
@@ -213,6 +216,7 @@ export type LinearModelStructOutput = [
213
216
  };
214
217
  export type CreditManagerDataStruct = {
215
218
  addr: PromiseOrValue<string>;
219
+ name: PromiseOrValue<string>;
216
220
  cfVersion: PromiseOrValue<BigNumberish>;
217
221
  creditFacade: PromiseOrValue<string>;
218
222
  creditConfigurator: PromiseOrValue<string>;
@@ -241,6 +245,7 @@ export type CreditManagerDataStruct = {
241
245
  isPaused: PromiseOrValue<boolean>;
242
246
  };
243
247
  export type CreditManagerDataStructOutput = [
248
+ string,
244
249
  string,
245
250
  BigNumber,
246
251
  string,
@@ -270,6 +275,7 @@ export type CreditManagerDataStructOutput = [
270
275
  boolean
271
276
  ] & {
272
277
  addr: string;
278
+ name: string;
273
279
  cfVersion: BigNumber;
274
280
  creditFacade: string;
275
281
  creditConfigurator: string;
@@ -315,17 +321,21 @@ export type CreditManagerDebtParamsStructOutput = [
315
321
  availableToBorrow: BigNumber;
316
322
  };
317
323
  export type ZapperInfoStruct = {
318
- tokenFrom: PromiseOrValue<string>;
319
324
  zapper: PromiseOrValue<string>;
325
+ tokenIn: PromiseOrValue<string>;
326
+ tokenOut: PromiseOrValue<string>;
320
327
  };
321
- export type ZapperInfoStructOutput = [string, string] & {
322
- tokenFrom: string;
328
+ export type ZapperInfoStructOutput = [string, string, string] & {
323
329
  zapper: string;
330
+ tokenIn: string;
331
+ tokenOut: string;
324
332
  };
325
333
  export type PoolDataStruct = {
326
334
  addr: PromiseOrValue<string>;
327
335
  underlying: PromiseOrValue<string>;
328
336
  dieselToken: PromiseOrValue<string>;
337
+ symbol: PromiseOrValue<string>;
338
+ name: PromiseOrValue<string>;
329
339
  linearCumulativeIndex: PromiseOrValue<BigNumberish>;
330
340
  availableLiquidity: PromiseOrValue<BigNumberish>;
331
341
  expectedLiquidity: PromiseOrValue<BigNumberish>;
@@ -349,6 +359,8 @@ export type PoolDataStruct = {
349
359
  isPaused: PromiseOrValue<boolean>;
350
360
  };
351
361
  export type PoolDataStructOutput = [
362
+ string,
363
+ string,
352
364
  string,
353
365
  string,
354
366
  string,
@@ -377,6 +389,8 @@ export type PoolDataStructOutput = [
377
389
  addr: string;
378
390
  underlying: string;
379
391
  dieselToken: string;
392
+ symbol: string;
393
+ name: string;
380
394
  linearCumulativeIndex: BigNumber;
381
395
  availableLiquidity: BigNumber;
382
396
  expectedLiquidity: BigNumber;
@@ -0,0 +1,74 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export interface IERC20PermitInterface extends utils.Interface {
6
+ functions: {
7
+ "DOMAIN_SEPARATOR()": FunctionFragment;
8
+ "nonces(address)": FunctionFragment;
9
+ "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "nonces" | "permit"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
13
+ encodeFunctionData(functionFragment: "nonces", values: [PromiseOrValue<string>]): string;
14
+ encodeFunctionData(functionFragment: "permit", values: [
15
+ PromiseOrValue<string>,
16
+ PromiseOrValue<string>,
17
+ PromiseOrValue<BigNumberish>,
18
+ PromiseOrValue<BigNumberish>,
19
+ PromiseOrValue<BigNumberish>,
20
+ PromiseOrValue<BytesLike>,
21
+ PromiseOrValue<BytesLike>
22
+ ]): string;
23
+ decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
24
+ decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
25
+ decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
26
+ events: {};
27
+ }
28
+ export interface IERC20Permit extends BaseContract {
29
+ connect(signerOrProvider: Signer | Provider | string): this;
30
+ attach(addressOrName: string): this;
31
+ deployed(): Promise<this>;
32
+ interface: IERC20PermitInterface;
33
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
34
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
35
+ listeners(eventName?: string): Array<Listener>;
36
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
37
+ removeAllListeners(eventName?: string): this;
38
+ off: OnEvent<this>;
39
+ on: OnEvent<this>;
40
+ once: OnEvent<this>;
41
+ removeListener: OnEvent<this>;
42
+ functions: {
43
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>;
44
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
45
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
46
+ from?: PromiseOrValue<string>;
47
+ }): Promise<ContractTransaction>;
48
+ };
49
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
50
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
51
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
52
+ from?: PromiseOrValue<string>;
53
+ }): Promise<ContractTransaction>;
54
+ callStatic: {
55
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
56
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
57
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
58
+ };
59
+ filters: {};
60
+ estimateGas: {
61
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>;
62
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
63
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
64
+ from?: PromiseOrValue<string>;
65
+ }): Promise<BigNumber>;
66
+ };
67
+ populateTransaction: {
68
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
69
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
70
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
71
+ from?: PromiseOrValue<string>;
72
+ }): Promise<PopulatedTransaction>;
73
+ };
74
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,6 +4,7 @@ import type { Listener, Provider } from "@ethersproject/providers";
4
4
  import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
5
5
  export interface IPoolV3Interface extends utils.Interface {
6
6
  functions: {
7
+ "DOMAIN_SEPARATOR()": FunctionFragment;
7
8
  "addressProvider()": FunctionFragment;
8
9
  "allowance(address,address)": FunctionFragment;
9
10
  "approve(address,uint256)": FunctionFragment;
@@ -35,6 +36,8 @@ export interface IPoolV3Interface extends utils.Interface {
35
36
  "mint(uint256,address)": FunctionFragment;
36
37
  "mintWithReferral(uint256,address,uint16)": FunctionFragment;
37
38
  "name()": FunctionFragment;
39
+ "nonces(address)": FunctionFragment;
40
+ "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment;
38
41
  "poolQuotaKeeper()": FunctionFragment;
39
42
  "previewDeposit(uint256)": FunctionFragment;
40
43
  "previewMint(uint256)": FunctionFragment;
@@ -64,7 +67,8 @@ export interface IPoolV3Interface extends utils.Interface {
64
67
  "withdraw(uint256,address,address)": FunctionFragment;
65
68
  "withdrawFee()": FunctionFragment;
66
69
  };
67
- getFunction(nameOrSignatureOrTopic: "addressProvider" | "allowance" | "approve" | "asset" | "availableLiquidity" | "balanceOf" | "baseInterestIndex" | "baseInterestIndexLU" | "baseInterestRate" | "convertToAssets" | "convertToShares" | "creditManagerBorrowable" | "creditManagerBorrowed" | "creditManagerDebtLimit" | "creditManagers" | "decimals" | "deposit" | "depositWithReferral" | "expectedLiquidity" | "expectedLiquidityLU" | "interestRateModel" | "lastBaseInterestUpdate" | "lastQuotaRevenueUpdate" | "lendCreditAccount" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "mint" | "mintWithReferral" | "name" | "poolQuotaKeeper" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "quotaRevenue" | "redeem" | "repayCreditAccount" | "setCreditManagerDebtLimit" | "setInterestRateModel" | "setPoolQuotaKeeper" | "setQuotaRevenue" | "setTotalDebtLimit" | "setWithdrawFee" | "supplyRate" | "symbol" | "totalAssets" | "totalBorrowed" | "totalDebtLimit" | "totalSupply" | "transfer" | "transferFrom" | "treasury" | "underlyingToken" | "updateQuotaRevenue" | "version" | "withdraw" | "withdrawFee"): FunctionFragment;
70
+ getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "addressProvider" | "allowance" | "approve" | "asset" | "availableLiquidity" | "balanceOf" | "baseInterestIndex" | "baseInterestIndexLU" | "baseInterestRate" | "convertToAssets" | "convertToShares" | "creditManagerBorrowable" | "creditManagerBorrowed" | "creditManagerDebtLimit" | "creditManagers" | "decimals" | "deposit" | "depositWithReferral" | "expectedLiquidity" | "expectedLiquidityLU" | "interestRateModel" | "lastBaseInterestUpdate" | "lastQuotaRevenueUpdate" | "lendCreditAccount" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "mint" | "mintWithReferral" | "name" | "nonces" | "permit" | "poolQuotaKeeper" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "quotaRevenue" | "redeem" | "repayCreditAccount" | "setCreditManagerDebtLimit" | "setInterestRateModel" | "setPoolQuotaKeeper" | "setQuotaRevenue" | "setTotalDebtLimit" | "setWithdrawFee" | "supplyRate" | "symbol" | "totalAssets" | "totalBorrowed" | "totalDebtLimit" | "totalSupply" | "transfer" | "transferFrom" | "treasury" | "underlyingToken" | "updateQuotaRevenue" | "version" | "withdraw" | "withdrawFee"): FunctionFragment;
71
+ encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
68
72
  encodeFunctionData(functionFragment: "addressProvider", values?: undefined): string;
69
73
  encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
70
74
  encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
@@ -104,6 +108,16 @@ export interface IPoolV3Interface extends utils.Interface {
104
108
  PromiseOrValue<BigNumberish>
105
109
  ]): string;
106
110
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
111
+ encodeFunctionData(functionFragment: "nonces", values: [PromiseOrValue<string>]): string;
112
+ encodeFunctionData(functionFragment: "permit", values: [
113
+ PromiseOrValue<string>,
114
+ PromiseOrValue<string>,
115
+ PromiseOrValue<BigNumberish>,
116
+ PromiseOrValue<BigNumberish>,
117
+ PromiseOrValue<BigNumberish>,
118
+ PromiseOrValue<BytesLike>,
119
+ PromiseOrValue<BytesLike>
120
+ ]): string;
107
121
  encodeFunctionData(functionFragment: "poolQuotaKeeper", values?: undefined): string;
108
122
  encodeFunctionData(functionFragment: "previewDeposit", values: [PromiseOrValue<BigNumberish>]): string;
109
123
  encodeFunctionData(functionFragment: "previewMint", values: [PromiseOrValue<BigNumberish>]): string;
@@ -148,6 +162,7 @@ export interface IPoolV3Interface extends utils.Interface {
148
162
  PromiseOrValue<string>
149
163
  ]): string;
150
164
  encodeFunctionData(functionFragment: "withdrawFee", values?: undefined): string;
165
+ decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
151
166
  decodeFunctionResult(functionFragment: "addressProvider", data: BytesLike): Result;
152
167
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
153
168
  decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
@@ -179,6 +194,8 @@ export interface IPoolV3Interface extends utils.Interface {
179
194
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
180
195
  decodeFunctionResult(functionFragment: "mintWithReferral", data: BytesLike): Result;
181
196
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
197
+ decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
198
+ decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
182
199
  decodeFunctionResult(functionFragment: "poolQuotaKeeper", data: BytesLike): Result;
183
200
  decodeFunctionResult(functionFragment: "previewDeposit", data: BytesLike): Result;
184
201
  decodeFunctionResult(functionFragment: "previewMint", data: BytesLike): Result;
@@ -391,6 +408,7 @@ export interface IPoolV3 extends BaseContract {
391
408
  once: OnEvent<this>;
392
409
  removeListener: OnEvent<this>;
393
410
  functions: {
411
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>;
394
412
  addressProvider(overrides?: CallOverrides): Promise<[string]>;
395
413
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
396
414
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -450,6 +468,10 @@ export interface IPoolV3 extends BaseContract {
450
468
  from?: PromiseOrValue<string>;
451
469
  }): Promise<ContractTransaction>;
452
470
  name(overrides?: CallOverrides): Promise<[string]>;
471
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
472
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
473
+ from?: PromiseOrValue<string>;
474
+ }): Promise<ContractTransaction>;
453
475
  poolQuotaKeeper(overrides?: CallOverrides): Promise<[string]>;
454
476
  previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & {
455
477
  shares: BigNumber;
@@ -513,6 +535,7 @@ export interface IPoolV3 extends BaseContract {
513
535
  }): Promise<ContractTransaction>;
514
536
  withdrawFee(overrides?: CallOverrides): Promise<[number]>;
515
537
  };
538
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
516
539
  addressProvider(overrides?: CallOverrides): Promise<string>;
517
540
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
518
541
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -556,6 +579,10 @@ export interface IPoolV3 extends BaseContract {
556
579
  from?: PromiseOrValue<string>;
557
580
  }): Promise<ContractTransaction>;
558
581
  name(overrides?: CallOverrides): Promise<string>;
582
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
583
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
584
+ from?: PromiseOrValue<string>;
585
+ }): Promise<ContractTransaction>;
559
586
  poolQuotaKeeper(overrides?: CallOverrides): Promise<string>;
560
587
  previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
561
588
  previewMint(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -609,6 +636,7 @@ export interface IPoolV3 extends BaseContract {
609
636
  }): Promise<ContractTransaction>;
610
637
  withdrawFee(overrides?: CallOverrides): Promise<number>;
611
638
  callStatic: {
639
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
612
640
  addressProvider(overrides?: CallOverrides): Promise<string>;
613
641
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
614
642
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
@@ -640,6 +668,8 @@ export interface IPoolV3 extends BaseContract {
640
668
  mint(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
641
669
  mintWithReferral(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
642
670
  name(overrides?: CallOverrides): Promise<string>;
671
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
672
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
643
673
  poolQuotaKeeper(overrides?: CallOverrides): Promise<string>;
644
674
  previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
645
675
  previewMint(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -700,6 +730,7 @@ export interface IPoolV3 extends BaseContract {
700
730
  Withdraw(sender?: PromiseOrValue<string> | null, receiver?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, assets?: null, shares?: null): WithdrawEventFilter;
701
731
  };
702
732
  estimateGas: {
733
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>;
703
734
  addressProvider(overrides?: CallOverrides): Promise<BigNumber>;
704
735
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
705
736
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -743,6 +774,10 @@ export interface IPoolV3 extends BaseContract {
743
774
  from?: PromiseOrValue<string>;
744
775
  }): Promise<BigNumber>;
745
776
  name(overrides?: CallOverrides): Promise<BigNumber>;
777
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
778
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
779
+ from?: PromiseOrValue<string>;
780
+ }): Promise<BigNumber>;
746
781
  poolQuotaKeeper(overrides?: CallOverrides): Promise<BigNumber>;
747
782
  previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
748
783
  previewMint(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -797,6 +832,7 @@ export interface IPoolV3 extends BaseContract {
797
832
  withdrawFee(overrides?: CallOverrides): Promise<BigNumber>;
798
833
  };
799
834
  populateTransaction: {
835
+ DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
800
836
  addressProvider(overrides?: CallOverrides): Promise<PopulatedTransaction>;
801
837
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
802
838
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -840,6 +876,10 @@ export interface IPoolV3 extends BaseContract {
840
876
  from?: PromiseOrValue<string>;
841
877
  }): Promise<PopulatedTransaction>;
842
878
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
879
+ nonces(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
880
+ permit(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
881
+ from?: PromiseOrValue<string>;
882
+ }): Promise<PopulatedTransaction>;
843
883
  poolQuotaKeeper(overrides?: CallOverrides): Promise<PopulatedTransaction>;
844
884
  previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
845
885
  previewMint(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -10,11 +10,12 @@ export interface IWERC20ZapperInterface extends utils.Interface {
10
10
  "previewDeposit(uint256)": FunctionFragment;
11
11
  "previewRedeem(uint256)": FunctionFragment;
12
12
  "redeem(uint256,address,address)": FunctionFragment;
13
+ "redeemWithPermit(uint256,address,address,uint256,uint8,bytes32,bytes32)": FunctionFragment;
13
14
  "tokenOut()": FunctionFragment;
14
15
  "unwrappedToken()": FunctionFragment;
15
16
  "wrappedToken()": FunctionFragment;
16
17
  };
17
- getFunction(nameOrSignatureOrTopic: "deposit" | "depositWithReferral" | "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
18
+ getFunction(nameOrSignatureOrTopic: "deposit" | "depositWithReferral" | "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "redeemWithPermit" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
18
19
  encodeFunctionData(functionFragment: "deposit", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
19
20
  encodeFunctionData(functionFragment: "depositWithReferral", values: [
20
21
  PromiseOrValue<BigNumberish>,
@@ -29,6 +30,15 @@ export interface IWERC20ZapperInterface extends utils.Interface {
29
30
  PromiseOrValue<string>,
30
31
  PromiseOrValue<string>
31
32
  ]): string;
33
+ encodeFunctionData(functionFragment: "redeemWithPermit", values: [
34
+ PromiseOrValue<BigNumberish>,
35
+ PromiseOrValue<string>,
36
+ PromiseOrValue<string>,
37
+ PromiseOrValue<BigNumberish>,
38
+ PromiseOrValue<BigNumberish>,
39
+ PromiseOrValue<BytesLike>,
40
+ PromiseOrValue<BytesLike>
41
+ ]): string;
32
42
  encodeFunctionData(functionFragment: "tokenOut", values?: undefined): string;
33
43
  encodeFunctionData(functionFragment: "unwrappedToken", values?: undefined): string;
34
44
  encodeFunctionData(functionFragment: "wrappedToken", values?: undefined): string;
@@ -38,6 +48,7 @@ export interface IWERC20ZapperInterface extends utils.Interface {
38
48
  decodeFunctionResult(functionFragment: "previewDeposit", data: BytesLike): Result;
39
49
  decodeFunctionResult(functionFragment: "previewRedeem", data: BytesLike): Result;
40
50
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
51
+ decodeFunctionResult(functionFragment: "redeemWithPermit", data: BytesLike): Result;
41
52
  decodeFunctionResult(functionFragment: "tokenOut", data: BytesLike): Result;
42
53
  decodeFunctionResult(functionFragment: "unwrappedToken", data: BytesLike): Result;
43
54
  decodeFunctionResult(functionFragment: "wrappedToken", data: BytesLike): Result;
@@ -74,6 +85,9 @@ export interface IWERC20Zapper extends BaseContract {
74
85
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
75
86
  from?: PromiseOrValue<string>;
76
87
  }): Promise<ContractTransaction>;
88
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
89
+ from?: PromiseOrValue<string>;
90
+ }): Promise<ContractTransaction>;
77
91
  tokenOut(overrides?: CallOverrides): Promise<[string]>;
78
92
  unwrappedToken(overrides?: CallOverrides): Promise<[string]>;
79
93
  wrappedToken(overrides?: CallOverrides): Promise<[string]>;
@@ -90,6 +104,9 @@ export interface IWERC20Zapper extends BaseContract {
90
104
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
91
105
  from?: PromiseOrValue<string>;
92
106
  }): Promise<ContractTransaction>;
107
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
108
+ from?: PromiseOrValue<string>;
109
+ }): Promise<ContractTransaction>;
93
110
  tokenOut(overrides?: CallOverrides): Promise<string>;
94
111
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
95
112
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -100,6 +117,7 @@ export interface IWERC20Zapper extends BaseContract {
100
117
  previewDeposit(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
101
118
  previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
102
119
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
120
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
103
121
  tokenOut(overrides?: CallOverrides): Promise<string>;
104
122
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
105
123
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -118,6 +136,9 @@ export interface IWERC20Zapper extends BaseContract {
118
136
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
119
137
  from?: PromiseOrValue<string>;
120
138
  }): Promise<BigNumber>;
139
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
140
+ from?: PromiseOrValue<string>;
141
+ }): Promise<BigNumber>;
121
142
  tokenOut(overrides?: CallOverrides): Promise<BigNumber>;
122
143
  unwrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
123
144
  wrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
@@ -135,6 +156,9 @@ export interface IWERC20Zapper extends BaseContract {
135
156
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
136
157
  from?: PromiseOrValue<string>;
137
158
  }): Promise<PopulatedTransaction>;
159
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
160
+ from?: PromiseOrValue<string>;
161
+ }): Promise<PopulatedTransaction>;
138
162
  tokenOut(overrides?: CallOverrides): Promise<PopulatedTransaction>;
139
163
  unwrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
140
164
  wrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -10,11 +10,12 @@ export interface IWETHZapperInterface extends utils.Interface {
10
10
  "previewDeposit(uint256)": FunctionFragment;
11
11
  "previewRedeem(uint256)": FunctionFragment;
12
12
  "redeem(uint256,address,address)": FunctionFragment;
13
+ "redeemWithPermit(uint256,address,address,uint256,uint8,bytes32,bytes32)": FunctionFragment;
13
14
  "tokenOut()": FunctionFragment;
14
15
  "unwrappedToken()": FunctionFragment;
15
16
  "wrappedToken()": FunctionFragment;
16
17
  };
17
- getFunction(nameOrSignatureOrTopic: "deposit" | "depositWithReferral" | "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
18
+ getFunction(nameOrSignatureOrTopic: "deposit" | "depositWithReferral" | "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "redeemWithPermit" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
18
19
  encodeFunctionData(functionFragment: "deposit", values: [PromiseOrValue<string>]): string;
19
20
  encodeFunctionData(functionFragment: "depositWithReferral", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
20
21
  encodeFunctionData(functionFragment: "pool", values?: undefined): string;
@@ -25,6 +26,15 @@ export interface IWETHZapperInterface extends utils.Interface {
25
26
  PromiseOrValue<string>,
26
27
  PromiseOrValue<string>
27
28
  ]): string;
29
+ encodeFunctionData(functionFragment: "redeemWithPermit", values: [
30
+ PromiseOrValue<BigNumberish>,
31
+ PromiseOrValue<string>,
32
+ PromiseOrValue<string>,
33
+ PromiseOrValue<BigNumberish>,
34
+ PromiseOrValue<BigNumberish>,
35
+ PromiseOrValue<BytesLike>,
36
+ PromiseOrValue<BytesLike>
37
+ ]): string;
28
38
  encodeFunctionData(functionFragment: "tokenOut", values?: undefined): string;
29
39
  encodeFunctionData(functionFragment: "unwrappedToken", values?: undefined): string;
30
40
  encodeFunctionData(functionFragment: "wrappedToken", values?: undefined): string;
@@ -34,6 +44,7 @@ export interface IWETHZapperInterface extends utils.Interface {
34
44
  decodeFunctionResult(functionFragment: "previewDeposit", data: BytesLike): Result;
35
45
  decodeFunctionResult(functionFragment: "previewRedeem", data: BytesLike): Result;
36
46
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
47
+ decodeFunctionResult(functionFragment: "redeemWithPermit", data: BytesLike): Result;
37
48
  decodeFunctionResult(functionFragment: "tokenOut", data: BytesLike): Result;
38
49
  decodeFunctionResult(functionFragment: "unwrappedToken", data: BytesLike): Result;
39
50
  decodeFunctionResult(functionFragment: "wrappedToken", data: BytesLike): Result;
@@ -70,6 +81,9 @@ export interface IWETHZapper extends BaseContract {
70
81
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
71
82
  from?: PromiseOrValue<string>;
72
83
  }): Promise<ContractTransaction>;
84
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
85
+ from?: PromiseOrValue<string>;
86
+ }): Promise<ContractTransaction>;
73
87
  tokenOut(overrides?: CallOverrides): Promise<[string]>;
74
88
  unwrappedToken(overrides?: CallOverrides): Promise<[string]>;
75
89
  wrappedToken(overrides?: CallOverrides): Promise<[string]>;
@@ -86,6 +100,9 @@ export interface IWETHZapper extends BaseContract {
86
100
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
87
101
  from?: PromiseOrValue<string>;
88
102
  }): Promise<ContractTransaction>;
103
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
104
+ from?: PromiseOrValue<string>;
105
+ }): Promise<ContractTransaction>;
89
106
  tokenOut(overrides?: CallOverrides): Promise<string>;
90
107
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
91
108
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -96,6 +113,7 @@ export interface IWETHZapper extends BaseContract {
96
113
  previewDeposit(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
97
114
  previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
98
115
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
116
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
99
117
  tokenOut(overrides?: CallOverrides): Promise<string>;
100
118
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
101
119
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -114,6 +132,9 @@ export interface IWETHZapper extends BaseContract {
114
132
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
115
133
  from?: PromiseOrValue<string>;
116
134
  }): Promise<BigNumber>;
135
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
136
+ from?: PromiseOrValue<string>;
137
+ }): Promise<BigNumber>;
117
138
  tokenOut(overrides?: CallOverrides): Promise<BigNumber>;
118
139
  unwrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
119
140
  wrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
@@ -131,6 +152,9 @@ export interface IWETHZapper extends BaseContract {
131
152
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
132
153
  from?: PromiseOrValue<string>;
133
154
  }): Promise<PopulatedTransaction>;
155
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
156
+ from?: PromiseOrValue<string>;
157
+ }): Promise<PopulatedTransaction>;
134
158
  tokenOut(overrides?: CallOverrides): Promise<PopulatedTransaction>;
135
159
  unwrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
136
160
  wrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -8,11 +8,12 @@ export interface IZapperInterface extends utils.Interface {
8
8
  "previewDeposit(uint256)": FunctionFragment;
9
9
  "previewRedeem(uint256)": FunctionFragment;
10
10
  "redeem(uint256,address,address)": FunctionFragment;
11
+ "redeemWithPermit(uint256,address,address,uint256,uint8,bytes32,bytes32)": FunctionFragment;
11
12
  "tokenOut()": FunctionFragment;
12
13
  "unwrappedToken()": FunctionFragment;
13
14
  "wrappedToken()": FunctionFragment;
14
15
  };
15
- getFunction(nameOrSignatureOrTopic: "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
16
+ getFunction(nameOrSignatureOrTopic: "pool" | "previewDeposit" | "previewRedeem" | "redeem" | "redeemWithPermit" | "tokenOut" | "unwrappedToken" | "wrappedToken"): FunctionFragment;
16
17
  encodeFunctionData(functionFragment: "pool", values?: undefined): string;
17
18
  encodeFunctionData(functionFragment: "previewDeposit", values: [PromiseOrValue<BigNumberish>]): string;
18
19
  encodeFunctionData(functionFragment: "previewRedeem", values: [PromiseOrValue<BigNumberish>]): string;
@@ -21,6 +22,15 @@ export interface IZapperInterface extends utils.Interface {
21
22
  PromiseOrValue<string>,
22
23
  PromiseOrValue<string>
23
24
  ]): string;
25
+ encodeFunctionData(functionFragment: "redeemWithPermit", values: [
26
+ PromiseOrValue<BigNumberish>,
27
+ PromiseOrValue<string>,
28
+ PromiseOrValue<string>,
29
+ PromiseOrValue<BigNumberish>,
30
+ PromiseOrValue<BigNumberish>,
31
+ PromiseOrValue<BytesLike>,
32
+ PromiseOrValue<BytesLike>
33
+ ]): string;
24
34
  encodeFunctionData(functionFragment: "tokenOut", values?: undefined): string;
25
35
  encodeFunctionData(functionFragment: "unwrappedToken", values?: undefined): string;
26
36
  encodeFunctionData(functionFragment: "wrappedToken", values?: undefined): string;
@@ -28,6 +38,7 @@ export interface IZapperInterface extends utils.Interface {
28
38
  decodeFunctionResult(functionFragment: "previewDeposit", data: BytesLike): Result;
29
39
  decodeFunctionResult(functionFragment: "previewRedeem", data: BytesLike): Result;
30
40
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
41
+ decodeFunctionResult(functionFragment: "redeemWithPermit", data: BytesLike): Result;
31
42
  decodeFunctionResult(functionFragment: "tokenOut", data: BytesLike): Result;
32
43
  decodeFunctionResult(functionFragment: "unwrappedToken", data: BytesLike): Result;
33
44
  decodeFunctionResult(functionFragment: "wrappedToken", data: BytesLike): Result;
@@ -58,6 +69,9 @@ export interface IZapper extends BaseContract {
58
69
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
59
70
  from?: PromiseOrValue<string>;
60
71
  }): Promise<ContractTransaction>;
72
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
73
+ from?: PromiseOrValue<string>;
74
+ }): Promise<ContractTransaction>;
61
75
  tokenOut(overrides?: CallOverrides): Promise<[string]>;
62
76
  unwrappedToken(overrides?: CallOverrides): Promise<[string]>;
63
77
  wrappedToken(overrides?: CallOverrides): Promise<[string]>;
@@ -68,6 +82,9 @@ export interface IZapper extends BaseContract {
68
82
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
69
83
  from?: PromiseOrValue<string>;
70
84
  }): Promise<ContractTransaction>;
85
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
86
+ from?: PromiseOrValue<string>;
87
+ }): Promise<ContractTransaction>;
71
88
  tokenOut(overrides?: CallOverrides): Promise<string>;
72
89
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
73
90
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -76,6 +93,7 @@ export interface IZapper extends BaseContract {
76
93
  previewDeposit(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
77
94
  previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
78
95
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
96
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
79
97
  tokenOut(overrides?: CallOverrides): Promise<string>;
80
98
  unwrappedToken(overrides?: CallOverrides): Promise<string>;
81
99
  wrappedToken(overrides?: CallOverrides): Promise<string>;
@@ -88,6 +106,9 @@ export interface IZapper extends BaseContract {
88
106
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
89
107
  from?: PromiseOrValue<string>;
90
108
  }): Promise<BigNumber>;
109
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
110
+ from?: PromiseOrValue<string>;
111
+ }): Promise<BigNumber>;
91
112
  tokenOut(overrides?: CallOverrides): Promise<BigNumber>;
92
113
  unwrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
93
114
  wrappedToken(overrides?: CallOverrides): Promise<BigNumber>;
@@ -99,6 +120,9 @@ export interface IZapper extends BaseContract {
99
120
  redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
100
121
  from?: PromiseOrValue<string>;
101
122
  }): Promise<PopulatedTransaction>;
123
+ redeemWithPermit(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
124
+ from?: PromiseOrValue<string>;
125
+ }): Promise<PopulatedTransaction>;
102
126
  tokenOut(overrides?: CallOverrides): Promise<PopulatedTransaction>;
103
127
  unwrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
104
128
  wrappedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -13,7 +13,7 @@ export declare class AddressProvider__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): AddressProvider;
15
15
  connect(signer: Signer): AddressProvider__factory;
16
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361005f565b60405130906f20a2222922a9a9afa82927ab24a222a960811b907fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c69190600090a36100af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c4c806100be6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806377532ed9116100f9578063bcaead9811610097578063ce3c4ae411610071578063ce3c4ae414610350578063e30c397814610363578063f2fde38b14610383578063fca513a81461039657600080fd5b8063bcaead9814610322578063c5120b3914610335578063c513c9bb1461034857600080fd5b80638da5cb5b116100d35780638da5cb5b146102e15780639068a868146102ff578063addc1a7614610307578063affd92431461031a57600080fd5b806377532ed9146102b35780637b6757ff146102bb57806386e09c08146102ce57600080fd5b80634c252f911161016657806354fd4d501161014057806354fd4d5014610253578063699f200f14610262578063715018a61461029857806376aad605146102a057600080fd5b80634c252f91146102305780634e71e0c814610238578063530e784f1461024057600080fd5b806321da58371161019757806321da58371461020d57806326c74fc31461022057806344b885631461022857600080fd5b8063060678c2146101be57806308737695146101f05780631ed65110146101f8575b600080fd5b6101c661039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c66103ce565b61020b610206366004610b54565b6103f9565b005b61020b61021b366004610b54565b61042e565b6101c6610460565b6101c661048b565b6101c66104b6565b61020b6104e1565b61020b61024e366004610b54565b6105d9565b604051600281526020016101e7565b6101c6610270366004610b91565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61020b61060b565b61020b6102ae366004610b54565b61061f565b6101c6610651565b61020b6102c9366004610b54565b61067c565b61020b6102dc366004610b54565b6106ae565b60005473ffffffffffffffffffffffffffffffffffffffff166101c6565b6101c66106e0565b61020b610315366004610b54565b61070b565b6101c661073d565b61020b610330366004610b54565b610768565b61020b610343366004610b54565b61079a565b6101c66107cc565b61020b61035e366004610b54565b6107f7565b6001546101c69073ffffffffffffffffffffffffffffffffffffffff1681565b61020b610391366004610b54565b610829565b6101c661091b565b60006103c97f444154415f434f4d50524553534f520000000000000000000000000000000000610942565b905090565b60006103c97f41434c0000000000000000000000000000000000000000000000000000000000610942565b6104016109e0565b61042b7f54524541535552595f434f4e545241435400000000000000000000000000000082610a61565b50565b6104366109e0565b61042b7f574554485f47415445574159000000000000000000000000000000000000000082610a61565b60006103c97f54524541535552595f434f4e5452414354000000000000000000000000000000610942565b60006103c97f4c45564552414745445f414354494f4e53000000000000000000000000000000610942565b60006103c97f574554485f544f4b454e00000000000000000000000000000000000000000000610942565b60015473ffffffffffffffffffffffffffffffffffffffff16331461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f436c61696d61626c653a2053656e646572206973206e6f742070656e64696e6760448201527f206f776e6572000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001546105af9073ffffffffffffffffffffffffffffffffffffffff16610adf565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6105e16109e0565b61042b7f50524943455f4f5241434c45000000000000000000000000000000000000000082610a61565b6106136109e0565b61061d6000610adf565b565b6106276109e0565b61042b7f41434c000000000000000000000000000000000000000000000000000000000082610a61565b60006103c97f574554485f474154455741590000000000000000000000000000000000000000610942565b6106846109e0565b61042b7f4c45564552414745445f414354494f4e5300000000000000000000000000000082610a61565b6106b66109e0565b61042b7f574554485f544f4b454e0000000000000000000000000000000000000000000082610a61565b60006103c97f4143434f554e545f464143544f52590000000000000000000000000000000000610942565b6107136109e0565b61042b7f4143434f554e545f464143544f5259000000000000000000000000000000000082610a61565b60006103c97f474541525f544f4b454e00000000000000000000000000000000000000000000610942565b6107706109e0565b61042b7f474541525f544f4b454e0000000000000000000000000000000000000000000082610a61565b6107a26109e0565b61042b7f444154415f434f4d50524553534f52000000000000000000000000000000000082610a61565b60006103c97f434f4e5452414354535f52454749535445520000000000000000000000000000610942565b6107ff6109e0565b61042b7f434f4e5452414354535f5245474953544552000000000000000000000000000082610a61565b6108316109e0565b73ffffffffffffffffffffffffffffffffffffffff81166108d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f436c61696d61626c653a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610584565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006103c97f50524943455f4f5241434c4500000000000000000000000000000000000000005b6000818152600260209081526040808320548151808301909252600382527f41503100000000000000000000000000000000000000000000000000000000009282019290925273ffffffffffffffffffffffffffffffffffffffff90911690816109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105849190610baa565b5092915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610584565b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6919190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b6657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fd5b9392505050565b600060208284031215610ba357600080fd5b5035919050565b600060208083528351808285015260005b81811015610bd757858101830151858201604001528201610bbb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509291505056fea2646970667358221220152d9a7976609cc3f3e6e8cafcd353cc81a3ec94d9e8adab3bb0761788fff2fa64736f6c63430008110033";
16
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361005f565b60405130906f20a2222922a9a9afa82927ab24a222a960811b907fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c69190600090a36100af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c4c806100be6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806377532ed9116100f9578063bcaead9811610097578063ce3c4ae411610071578063ce3c4ae414610350578063e30c397814610363578063f2fde38b14610383578063fca513a81461039657600080fd5b8063bcaead9814610322578063c5120b3914610335578063c513c9bb1461034857600080fd5b80638da5cb5b116100d35780638da5cb5b146102e15780639068a868146102ff578063addc1a7614610307578063affd92431461031a57600080fd5b806377532ed9146102b35780637b6757ff146102bb57806386e09c08146102ce57600080fd5b80634c252f911161016657806354fd4d501161014057806354fd4d5014610253578063699f200f14610262578063715018a61461029857806376aad605146102a057600080fd5b80634c252f91146102305780634e71e0c814610238578063530e784f1461024057600080fd5b806321da58371161019757806321da58371461020d57806326c74fc31461022057806344b885631461022857600080fd5b8063060678c2146101be57806308737695146101f05780631ed65110146101f8575b600080fd5b6101c661039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c66103ce565b61020b610206366004610b54565b6103f9565b005b61020b61021b366004610b54565b61042e565b6101c6610460565b6101c661048b565b6101c66104b6565b61020b6104e1565b61020b61024e366004610b54565b6105d9565b604051600281526020016101e7565b6101c6610270366004610b91565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61020b61060b565b61020b6102ae366004610b54565b61061f565b6101c6610651565b61020b6102c9366004610b54565b61067c565b61020b6102dc366004610b54565b6106ae565b60005473ffffffffffffffffffffffffffffffffffffffff166101c6565b6101c66106e0565b61020b610315366004610b54565b61070b565b6101c661073d565b61020b610330366004610b54565b610768565b61020b610343366004610b54565b61079a565b6101c66107cc565b61020b61035e366004610b54565b6107f7565b6001546101c69073ffffffffffffffffffffffffffffffffffffffff1681565b61020b610391366004610b54565b610829565b6101c661091b565b60006103c97f444154415f434f4d50524553534f520000000000000000000000000000000000610942565b905090565b60006103c97f41434c0000000000000000000000000000000000000000000000000000000000610942565b6104016109e0565b61042b7f54524541535552595f434f4e545241435400000000000000000000000000000082610a61565b50565b6104366109e0565b61042b7f574554485f47415445574159000000000000000000000000000000000000000082610a61565b60006103c97f54524541535552595f434f4e5452414354000000000000000000000000000000610942565b60006103c97f4c45564552414745445f414354494f4e53000000000000000000000000000000610942565b60006103c97f574554485f544f4b454e00000000000000000000000000000000000000000000610942565b60015473ffffffffffffffffffffffffffffffffffffffff16331461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f436c61696d61626c653a2053656e646572206973206e6f742070656e64696e6760448201527f206f776e6572000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001546105af9073ffffffffffffffffffffffffffffffffffffffff16610adf565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6105e16109e0565b61042b7f50524943455f4f5241434c45000000000000000000000000000000000000000082610a61565b6106136109e0565b61061d6000610adf565b565b6106276109e0565b61042b7f41434c000000000000000000000000000000000000000000000000000000000082610a61565b60006103c97f574554485f474154455741590000000000000000000000000000000000000000610942565b6106846109e0565b61042b7f4c45564552414745445f414354494f4e5300000000000000000000000000000082610a61565b6106b66109e0565b61042b7f574554485f544f4b454e0000000000000000000000000000000000000000000082610a61565b60006103c97f4143434f554e545f464143544f52590000000000000000000000000000000000610942565b6107136109e0565b61042b7f4143434f554e545f464143544f5259000000000000000000000000000000000082610a61565b60006103c97f474541525f544f4b454e00000000000000000000000000000000000000000000610942565b6107706109e0565b61042b7f474541525f544f4b454e0000000000000000000000000000000000000000000082610a61565b6107a26109e0565b61042b7f444154415f434f4d50524553534f52000000000000000000000000000000000082610a61565b60006103c97f434f4e5452414354535f52454749535445520000000000000000000000000000610942565b6107ff6109e0565b61042b7f434f4e5452414354535f5245474953544552000000000000000000000000000082610a61565b6108316109e0565b73ffffffffffffffffffffffffffffffffffffffff81166108d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f436c61696d61626c653a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610584565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006103c97f50524943455f4f5241434c4500000000000000000000000000000000000000005b6000818152600260209081526040808320548151808301909252600382527f41503100000000000000000000000000000000000000000000000000000000009282019290925273ffffffffffffffffffffffffffffffffffffffff90911690816109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105849190610baa565b5092915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610584565b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6919190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b6657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fd5b9392505050565b600060208284031215610ba357600080fd5b5035919050565b600060208083528351808285015260005b81811015610bd757858101830151858201604001528201610bbb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509291505056fea2646970667358221220f7d2e9d6816889d8c835f9a00515d541ab1a3874c2370f11a76096006ccb5f7a64736f6c63430008110033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [];
19
19
  readonly stateMutability: "nonpayable";