@gearbox-protocol/sdk 1.2.10 → 1.3.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.
Files changed (44) hide show
  1. package/lib/core/creditAccount.js +1 -0
  2. package/lib/core/creditManager.js +10 -8
  3. package/lib/pathfinder/path.js +1 -1
  4. package/lib/pathfinder/yVault.js +1 -1
  5. package/lib/types/contracts/interfaces/V1/{IPriceOracle.sol/IPriceOracleV2.d.ts → IPriceOracle.d.ts} +4 -4
  6. package/lib/types/contracts/interfaces/V1/{IPriceOracle.sol/IPriceOracleV2.js → IPriceOracle.js} +0 -0
  7. package/lib/types/contracts/interfaces/V1/index.d.ts +1 -2
  8. package/lib/types/contracts/pathfinder/interfaces/IDepositor.sol/IDepositorOptions.d.ts +31 -8
  9. package/lib/types/contracts/pathfinder/interfaces/IPathFinder.d.ts +36 -7
  10. package/lib/types/contracts/test/index.d.ts +2 -0
  11. package/lib/types/contracts/test/suites/index.d.ts +2 -0
  12. package/lib/types/contracts/{interfaces/V1/IPriceOracle.sol → test/suites}/index.js +0 -0
  13. package/lib/types/contracts/test/suites/mainnet/IPriceFeedsRegistry.d.ts +42 -0
  14. package/lib/types/contracts/test/suites/mainnet/IPriceFeedsRegistry.js +2 -0
  15. package/lib/types/contracts/test/suites/mainnet/ITokenTestSuite.d.ts +58 -0
  16. package/lib/types/contracts/test/suites/mainnet/ITokenTestSuite.js +2 -0
  17. package/lib/types/contracts/test/suites/mainnet/index.d.ts +2 -0
  18. package/lib/types/contracts/test/suites/mainnet/index.js +2 -0
  19. package/lib/types/factories/contracts/interfaces/V1/{IPriceOracle.sol/IPriceOracleV2__factory.d.ts → IPriceOracle__factory.d.ts} +4 -4
  20. package/lib/types/factories/contracts/interfaces/V1/{IPriceOracle.sol/IPriceOracleV2__factory.js → IPriceOracle__factory.js} +8 -8
  21. package/lib/types/factories/contracts/interfaces/V1/index.d.ts +1 -1
  22. package/lib/types/factories/contracts/interfaces/V1/index.js +3 -25
  23. package/lib/types/factories/contracts/pathfinder/interfaces/IDepositor.sol/IDepositorOptions__factory.js +235 -0
  24. package/lib/types/factories/contracts/pathfinder/interfaces/IPathFinder__factory.js +45 -28
  25. package/lib/types/factories/contracts/support/MultiCall.sol/Multicall2__factory.d.ts +1 -1
  26. package/lib/types/factories/contracts/support/MultiCall.sol/Multicall2__factory.js +1 -1
  27. package/lib/types/factories/contracts/test/index.d.ts +1 -0
  28. package/lib/types/factories/contracts/test/index.js +2 -1
  29. package/lib/types/factories/contracts/test/suites/index.d.ts +1 -0
  30. package/lib/types/factories/contracts/test/suites/index.js +30 -0
  31. package/lib/types/factories/contracts/test/suites/mainnet/IPriceFeedsRegistry__factory.d.ts +32 -0
  32. package/lib/types/factories/contracts/test/suites/mainnet/IPriceFeedsRegistry__factory.js +52 -0
  33. package/lib/types/factories/contracts/test/suites/mainnet/ITokenTestSuite__factory.d.ts +32 -0
  34. package/lib/types/factories/contracts/test/suites/mainnet/ITokenTestSuite__factory.js +90 -0
  35. package/lib/types/factories/contracts/test/suites/mainnet/index.d.ts +2 -0
  36. package/lib/types/factories/contracts/test/suites/mainnet/index.js +10 -0
  37. package/lib/types/index.d.ts +6 -0
  38. package/lib/types/index.js +7 -1
  39. package/lib/utils/extracter.d.ts +1 -1
  40. package/lib/utils/loading.js +1 -1
  41. package/package.json +1 -1
  42. package/lib/types/contracts/interfaces/V1/IPriceOracle.sol/index.d.ts +0 -1
  43. package/lib/types/factories/contracts/interfaces/V1/IPriceOracle.sol/index.d.ts +0 -1
  44. package/lib/types/factories/contracts/interfaces/V1/IPriceOracle.sol/index.js +0 -8
@@ -53,6 +53,7 @@ var CreditAccountData = /** @class */ (function () {
53
53
  _this.allTokens.push(tokenLC);
54
54
  });
55
55
  this.isDeleting = false;
56
+ this.version = ethers_1.BigNumber.from(payload.version || 1).toNumber();
56
57
  }
57
58
  CreditAccountData.prototype.balancesSorted = function (prices, tokens) {
58
59
  return sortBalances(this.balances, prices, tokens).map(function (_a) {
@@ -41,7 +41,7 @@ var CreditManagerData = /** @class */ (function () {
41
41
  this.canBorrow = payload.canBorrow || false;
42
42
  this.borrowRate =
43
43
  ethers_1.BigNumber.from(payload.borrowRate || 0)
44
- .mul(constants_1.PERCENTAGE_FACTOR)
44
+ .mul(ethers_1.BigNumber.from(payload.feeInterest).add(constants_1.PERCENTAGE_FACTOR))
45
45
  .mul(constants_1.PERCENTAGE_DECIMALS)
46
46
  .div(constants_1.RAY)
47
47
  .toNumber() / constants_1.PERCENTAGE_FACTOR;
@@ -70,10 +70,10 @@ var CreditManagerData = /** @class */ (function () {
70
70
  this.isIncreaseDebtForbidden = payload.isIncreaseDebtForbidden || false;
71
71
  this.forbiddenTokenMask = ethers_1.BigNumber.from(payload.forbiddenTokenMask || 0);
72
72
  this.feeInterest = ethers_1.BigNumber.from(payload.feeInterest).toNumber();
73
- this.feeLiquidation = ethers_1.BigNumber.from(payload.feeInterest).toNumber();
74
- this.liquidationDiscount = ethers_1.BigNumber.from(payload.feeInterest).toNumber();
75
- this.feeLiquidationExpired = ethers_1.BigNumber.from(payload.feeInterest).toNumber();
76
- this.liquidationDiscountExpired = ethers_1.BigNumber.from(payload.feeInterest).toNumber();
73
+ this.feeLiquidation = ethers_1.BigNumber.from(payload.feeLiquidation).toNumber();
74
+ this.liquidationDiscount = ethers_1.BigNumber.from(payload.feeLiquidation).toNumber();
75
+ this.feeLiquidationExpired = ethers_1.BigNumber.from(payload.feeLiquidationExpired).toNumber();
76
+ this.liquidationDiscountExpired = ethers_1.BigNumber.from(payload.feeLiquidationExpired).toNumber();
77
77
  }
78
78
  CreditManagerData.prototype.getContractETH = function (signer) {
79
79
  return types_1.ICreditManager__factory.connect(this.address, signer);
@@ -138,9 +138,11 @@ var CreditManagerData = /** @class */ (function () {
138
138
  exports.CreditManagerData = CreditManagerData;
139
139
  function calcMaxIncreaseBorrow(healthFactor, borrowAmountPlusInterest, maxLeverageFactor) {
140
140
  var healthFactorPercentage = Math.floor(healthFactor * constants_1.PERCENTAGE_FACTOR);
141
- var minHealthFactor = Math.floor((constants_1.UNDERLYING_TOKEN_LIQUIDATION_THRESHOLD *
142
- (maxLeverageFactor + constants_1.LEVERAGE_DECIMALS)) /
143
- maxLeverageFactor);
141
+ var minHealthFactor = maxLeverageFactor > 0
142
+ ? Math.floor((constants_1.UNDERLYING_TOKEN_LIQUIDATION_THRESHOLD *
143
+ (maxLeverageFactor + constants_1.LEVERAGE_DECIMALS)) /
144
+ maxLeverageFactor)
145
+ : 10000;
144
146
  var result = borrowAmountPlusInterest
145
147
  .mul(healthFactorPercentage - minHealthFactor)
146
148
  .div(minHealthFactor - constants_1.UNDERLYING_TOKEN_LIQUIDATION_THRESHOLD);
@@ -120,7 +120,7 @@ var Path = /** @class */ (function () {
120
120
  return [4 /*yield*/, initialPath.withdrawTokens()];
121
121
  case 2:
122
122
  lpPaths = _a.sent();
123
- // const pathFinder = ISwapPathFinder__factory.connect(
123
+ // const pathFinder = ISwapAggregator__factory.connect(
124
124
  // pathFindersByNetwork[networkType].PATH_FINDER,
125
125
  // provider,
126
126
  // );
@@ -57,7 +57,7 @@ var YearnVaultPathFinder = /** @class */ (function () {
57
57
  return __generator(this, function (_a) {
58
58
  switch (_a.label) {
59
59
  case 0:
60
- p = Object.assign(Object.create(Object.getPrototypeOf(path)), path);
60
+ p = path.clone();
61
61
  vaultBalances = (0, mappers_1.objectEntries)(yearn_1.yearnTokens).reduce(function (acc, _a) {
62
62
  var yVault = _a[0], tokenData = _a[1];
63
63
  var typedVault = yVault;
@@ -1,8 +1,8 @@
1
1
  import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../../common";
5
- export interface IPriceOracleV2Interface extends utils.Interface {
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
5
+ export interface IPriceOracleInterface extends utils.Interface {
6
6
  functions: {
7
7
  "addPriceFeed(address,address)": FunctionFragment;
8
8
  "convert(uint256,address,address)": FunctionFragment;
@@ -29,11 +29,11 @@ export declare type NewPriceFeedEvent = TypedEvent<[
29
29
  string
30
30
  ], NewPriceFeedEventObject>;
31
31
  export declare type NewPriceFeedEventFilter = TypedEventFilter<NewPriceFeedEvent>;
32
- export interface IPriceOracleV2 extends BaseContract {
32
+ export interface IPriceOracle extends BaseContract {
33
33
  connect(signerOrProvider: Signer | Provider | string): this;
34
34
  attach(addressOrName: string): this;
35
35
  deployed(): Promise<this>;
36
- interface: IPriceOracleV2Interface;
36
+ interface: IPriceOracleInterface;
37
37
  queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
38
38
  listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
39
39
  listeners(eventName?: string): Array<Listener>;
@@ -1,4 +1,3 @@
1
- import type * as iPriceOracleSol from "./IPriceOracle.sol";
2
- export type { iPriceOracleSol };
3
1
  export type { ICreditFilter } from "./ICreditFilter";
4
2
  export type { ICreditManager } from "./ICreditManager";
3
+ export type { IPriceOracle } from "./IPriceOracle";
@@ -70,15 +70,18 @@ export declare type StrategyPathTaskStructOutput = [
70
70
  export interface IDepositorOptionsInterface extends utils.Interface {
71
71
  functions: {
72
72
  "deposit(uint8,address,uint256,address,(address,(address,uint256)[],address,address[],address[],uint256,uint8,(address,address[])[],uint256,uint256,uint256,(address,bytes)[]))": FunctionFragment;
73
- "depositAll(address,(address,(address,uint256)[],address,address[],address[],uint256,uint8,(address,address[])[],uint256,uint256,uint256,(address,bytes)[]))": FunctionFragment;
73
+ "depositAll(uint8,address,address,(address,(address,uint256)[],address,address[],address[],uint256,uint8,(address,address[])[],uint256,uint256,uint256,(address,bytes)[]))": FunctionFragment;
74
+ "depositAllTokens(address,(address,(address,uint256)[],address,address[],address[],uint256,uint8,(address,address[])[],uint256,uint256,uint256,(address,bytes)[]))": FunctionFragment;
74
75
  "getUnderlyings(uint8,address,(address,(address,uint256)[],address,address[],address[],uint256,uint8,(address,address[])[],uint256,uint256,uint256,(address,bytes)[]))": FunctionFragment;
75
76
  };
76
- getFunction(nameOrSignatureOrTopic: "deposit" | "depositAll" | "getUnderlyings"): FunctionFragment;
77
+ getFunction(nameOrSignatureOrTopic: "deposit" | "depositAll" | "depositAllTokens" | "getUnderlyings"): FunctionFragment;
77
78
  encodeFunctionData(functionFragment: "deposit", values: [BigNumberish, string, BigNumberish, string, StrategyPathTaskStruct]): string;
78
- encodeFunctionData(functionFragment: "depositAll", values: [string, StrategyPathTaskStruct]): string;
79
+ encodeFunctionData(functionFragment: "depositAll", values: [BigNumberish, string, string, StrategyPathTaskStruct]): string;
80
+ encodeFunctionData(functionFragment: "depositAllTokens", values: [string, StrategyPathTaskStruct]): string;
79
81
  encodeFunctionData(functionFragment: "getUnderlyings", values: [BigNumberish, string, StrategyPathTaskStruct]): string;
80
82
  decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
81
83
  decodeFunctionResult(functionFragment: "depositAll", data: BytesLike): Result;
84
+ decodeFunctionResult(functionFragment: "depositAllTokens", data: BytesLike): Result;
82
85
  decodeFunctionResult(functionFragment: "getUnderlyings", data: BytesLike): Result;
83
86
  events: {};
84
87
  }
@@ -103,7 +106,13 @@ export interface IDepositorOptions extends BaseContract {
103
106
  ] & {
104
107
  amountOut: BigNumber;
105
108
  }>;
106
- depositAll(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
109
+ depositAll(ttIn: BigNumberish, tokenIn: string, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
110
+ BigNumber,
111
+ StrategyPathTaskStructOutput
112
+ ] & {
113
+ amountOut: BigNumber;
114
+ }>;
115
+ depositAllTokens(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
107
116
  BigNumber,
108
117
  StrategyPathTaskStructOutput
109
118
  ] & {
@@ -122,7 +131,13 @@ export interface IDepositorOptions extends BaseContract {
122
131
  ] & {
123
132
  amountOut: BigNumber;
124
133
  }>;
125
- depositAll(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
134
+ depositAll(ttIn: BigNumberish, tokenIn: string, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
135
+ BigNumber,
136
+ StrategyPathTaskStructOutput
137
+ ] & {
138
+ amountOut: BigNumber;
139
+ }>;
140
+ depositAllTokens(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
126
141
  BigNumber,
127
142
  StrategyPathTaskStructOutput
128
143
  ] & {
@@ -138,7 +153,13 @@ export interface IDepositorOptions extends BaseContract {
138
153
  ] & {
139
154
  amountOut: BigNumber;
140
155
  }>;
141
- depositAll(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
156
+ depositAll(ttIn: BigNumberish, tokenIn: string, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
157
+ BigNumber,
158
+ StrategyPathTaskStructOutput
159
+ ] & {
160
+ amountOut: BigNumber;
161
+ }>;
162
+ depositAllTokens(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<[
142
163
  BigNumber,
143
164
  StrategyPathTaskStructOutput
144
165
  ] & {
@@ -154,12 +175,14 @@ export interface IDepositorOptions extends BaseContract {
154
175
  filters: {};
155
176
  estimateGas: {
156
177
  deposit(ttIn: BigNumberish, tokenIn: string, amount: BigNumberish, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<BigNumber>;
157
- depositAll(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<BigNumber>;
178
+ depositAll(ttIn: BigNumberish, tokenIn: string, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<BigNumber>;
179
+ depositAllTokens(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<BigNumber>;
158
180
  getUnderlyings(ttIn: BigNumberish, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<BigNumber>;
159
181
  };
160
182
  populateTransaction: {
161
183
  deposit(ttIn: BigNumberish, tokenIn: string, amount: BigNumberish, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
162
- depositAll(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
184
+ depositAll(ttIn: BigNumberish, tokenIn: string, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
185
+ depositAllTokens(tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
163
186
  getUnderlyings(ttIn: BigNumberish, tokenOut: string, task: StrategyPathTaskStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
164
187
  };
165
188
  }
@@ -2,6 +2,35 @@ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, C
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
4
  import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
5
+ export declare type SwapTaskStruct = {
6
+ swapOperation: BigNumberish;
7
+ creditAccount: string;
8
+ tokenIn: string;
9
+ tokenOut: string;
10
+ connectors: string[];
11
+ amount: BigNumberish;
12
+ slippage: BigNumberish;
13
+ externalSlippage: boolean;
14
+ };
15
+ export declare type SwapTaskStructOutput = [
16
+ number,
17
+ string,
18
+ string,
19
+ string,
20
+ string[],
21
+ BigNumber,
22
+ BigNumber,
23
+ boolean
24
+ ] & {
25
+ swapOperation: number;
26
+ creditAccount: string;
27
+ tokenIn: string;
28
+ tokenOut: string;
29
+ connectors: string[];
30
+ amount: BigNumber;
31
+ slippage: BigNumber;
32
+ externalSlippage: boolean;
33
+ };
5
34
  export declare type MultiCallStruct = {
6
35
  target: string;
7
36
  callData: BytesLike;
@@ -45,7 +74,7 @@ export declare type BalanceStructOutput = [string, BigNumber] & {
45
74
  export interface IPathFinderInterface extends utils.Interface {
46
75
  functions: {
47
76
  "componentAddressById(uint8)": FunctionFragment;
48
- "findAllSwaps(address,uint256,address,address,address[],uint256)": FunctionFragment;
77
+ "findAllSwaps((uint8,address,address,address,address[],uint256,uint256,bool))": FunctionFragment;
49
78
  "findBestClosePath(address,address[],uint256,(address,uint8,uint8)[],uint256)": FunctionFragment;
50
79
  "findOneTokenPath(address,uint256,address,address,address[],uint256)": FunctionFragment;
51
80
  "findOpenStrategyPath(address,(address,uint256)[],address,address[],uint256)": FunctionFragment;
@@ -56,7 +85,7 @@ export interface IPathFinderInterface extends utils.Interface {
56
85
  };
57
86
  getFunction(nameOrSignatureOrTopic: "componentAddressById" | "findAllSwaps" | "findBestClosePath" | "findOneTokenPath" | "findOpenStrategyPath" | "getGasPriceTokenOutRAY" | "isPathFinderConfigurator" | "tokenTypes" | "version"): FunctionFragment;
58
87
  encodeFunctionData(functionFragment: "componentAddressById", values: [BigNumberish]): string;
59
- encodeFunctionData(functionFragment: "findAllSwaps", values: [string, BigNumberish, string, string, string[], BigNumberish]): string;
88
+ encodeFunctionData(functionFragment: "findAllSwaps", values: [SwapTaskStruct]): string;
60
89
  encodeFunctionData(functionFragment: "findBestClosePath", values: [string, string[], BigNumberish, PathOptionStruct[], BigNumberish]): string;
61
90
  encodeFunctionData(functionFragment: "findOneTokenPath", values: [string, BigNumberish, string, string, string[], BigNumberish]): string;
62
91
  encodeFunctionData(functionFragment: "findOpenStrategyPath", values: [string, BalanceStruct[], string, string[], BigNumberish]): string;
@@ -116,7 +145,7 @@ export interface IPathFinder extends BaseContract {
116
145
  removeListener: OnEvent<this>;
117
146
  functions: {
118
147
  componentAddressById(pf: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
119
- findAllSwaps(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: Overrides & {
148
+ findAllSwaps(swapTask: SwapTaskStruct, overrides?: Overrides & {
120
149
  from?: string | Promise<string>;
121
150
  }): Promise<ContractTransaction>;
122
151
  findBestClosePath(creditAccount: string, connectors: string[], slippage: BigNumberish, pathOptions: PathOptionStruct[], iterations: BigNumberish, overrides?: Overrides & {
@@ -136,7 +165,7 @@ export interface IPathFinder extends BaseContract {
136
165
  version(overrides?: CallOverrides): Promise<[BigNumber]>;
137
166
  };
138
167
  componentAddressById(pf: BigNumberish, overrides?: CallOverrides): Promise<string>;
139
- findAllSwaps(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: Overrides & {
168
+ findAllSwaps(swapTask: SwapTaskStruct, overrides?: Overrides & {
140
169
  from?: string | Promise<string>;
141
170
  }): Promise<ContractTransaction>;
142
171
  findBestClosePath(creditAccount: string, connectors: string[], slippage: BigNumberish, pathOptions: PathOptionStruct[], iterations: BigNumberish, overrides?: Overrides & {
@@ -154,7 +183,7 @@ export interface IPathFinder extends BaseContract {
154
183
  version(overrides?: CallOverrides): Promise<BigNumber>;
155
184
  callStatic: {
156
185
  componentAddressById(pf: BigNumberish, overrides?: CallOverrides): Promise<string>;
157
- findAllSwaps(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: CallOverrides): Promise<PathFinderResultStructOutput[]>;
186
+ findAllSwaps(swapTask: SwapTaskStruct, overrides?: CallOverrides): Promise<PathFinderResultStructOutput[]>;
158
187
  findBestClosePath(creditAccount: string, connectors: string[], slippage: BigNumberish, pathOptions: PathOptionStruct[], iterations: BigNumberish, overrides?: CallOverrides): Promise<PathFinderResultStructOutput>;
159
188
  findOneTokenPath(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: CallOverrides): Promise<PathFinderResultStructOutput>;
160
189
  findOpenStrategyPath(creditManager: string, balances: BalanceStruct[], target: string, connectors: string[], slippage: BigNumberish, overrides?: CallOverrides): Promise<[BalanceStructOutput[], PathFinderResultStructOutput]>;
@@ -171,7 +200,7 @@ export interface IPathFinder extends BaseContract {
171
200
  };
172
201
  estimateGas: {
173
202
  componentAddressById(pf: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
174
- findAllSwaps(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: Overrides & {
203
+ findAllSwaps(swapTask: SwapTaskStruct, overrides?: Overrides & {
175
204
  from?: string | Promise<string>;
176
205
  }): Promise<BigNumber>;
177
206
  findBestClosePath(creditAccount: string, connectors: string[], slippage: BigNumberish, pathOptions: PathOptionStruct[], iterations: BigNumberish, overrides?: Overrides & {
@@ -190,7 +219,7 @@ export interface IPathFinder extends BaseContract {
190
219
  };
191
220
  populateTransaction: {
192
221
  componentAddressById(pf: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
193
- findAllSwaps(tokenIn: string, amount: BigNumberish, tokenOut: string, creditAccount: string, connectors: string[], slippage: BigNumberish, overrides?: Overrides & {
222
+ findAllSwaps(swapTask: SwapTaskStruct, overrides?: Overrides & {
194
223
  from?: string | Promise<string>;
195
224
  }): Promise<PopulatedTransaction>;
196
225
  findBestClosePath(creditAccount: string, connectors: string[], slippage: BigNumberish, pathOptions: PathOptionStruct[], iterations: BigNumberish, overrides?: Overrides & {
@@ -2,3 +2,5 @@ import type * as mocks from "./mocks";
2
2
  export type { mocks };
3
3
  import type * as sigp from "./sigp";
4
4
  export type { sigp };
5
+ import type * as suites from "./suites";
6
+ export type { suites };
@@ -0,0 +1,2 @@
1
+ import type * as mainnet from "./mainnet";
2
+ export type { mainnet };
@@ -0,0 +1,42 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, 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 } from "../../../../common";
5
+ export interface IPriceFeedsRegistryInterface extends utils.Interface {
6
+ functions: {
7
+ "priceFeeds(uint8)": FunctionFragment;
8
+ };
9
+ getFunction(nameOrSignatureOrTopic: "priceFeeds"): FunctionFragment;
10
+ encodeFunctionData(functionFragment: "priceFeeds", values: [BigNumberish]): string;
11
+ decodeFunctionResult(functionFragment: "priceFeeds", data: BytesLike): Result;
12
+ events: {};
13
+ }
14
+ export interface IPriceFeedsRegistry extends BaseContract {
15
+ connect(signerOrProvider: Signer | Provider | string): this;
16
+ attach(addressOrName: string): this;
17
+ deployed(): Promise<this>;
18
+ interface: IPriceFeedsRegistryInterface;
19
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
20
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
21
+ listeners(eventName?: string): Array<Listener>;
22
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
23
+ removeAllListeners(eventName?: string): this;
24
+ off: OnEvent<this>;
25
+ on: OnEvent<this>;
26
+ once: OnEvent<this>;
27
+ removeListener: OnEvent<this>;
28
+ functions: {
29
+ priceFeeds(token: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
30
+ };
31
+ priceFeeds(token: BigNumberish, overrides?: CallOverrides): Promise<string>;
32
+ callStatic: {
33
+ priceFeeds(token: BigNumberish, overrides?: CallOverrides): Promise<string>;
34
+ };
35
+ filters: {};
36
+ estimateGas: {
37
+ priceFeeds(token: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
38
+ };
39
+ populateTransaction: {
40
+ priceFeeds(token: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
41
+ };
42
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, 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 } from "../../../../common";
5
+ export interface ITokenTestSuiteInterface extends utils.Interface {
6
+ functions: {
7
+ "addressOf(uint8)": FunctionFragment;
8
+ "priceFeeds(uint8)": FunctionFragment;
9
+ "priceFeeds(address)": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "addressOf" | "priceFeeds(uint8)" | "priceFeeds(address)"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "addressOf", values: [BigNumberish]): string;
13
+ encodeFunctionData(functionFragment: "priceFeeds(uint8)", values: [BigNumberish]): string;
14
+ encodeFunctionData(functionFragment: "priceFeeds(address)", values: [string]): string;
15
+ decodeFunctionResult(functionFragment: "addressOf", data: BytesLike): Result;
16
+ decodeFunctionResult(functionFragment: "priceFeeds(uint8)", data: BytesLike): Result;
17
+ decodeFunctionResult(functionFragment: "priceFeeds(address)", data: BytesLike): Result;
18
+ events: {};
19
+ }
20
+ export interface ITokenTestSuite extends BaseContract {
21
+ connect(signerOrProvider: Signer | Provider | string): this;
22
+ attach(addressOrName: string): this;
23
+ deployed(): Promise<this>;
24
+ interface: ITokenTestSuiteInterface;
25
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
26
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
27
+ listeners(eventName?: string): Array<Listener>;
28
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
29
+ removeAllListeners(eventName?: string): this;
30
+ off: OnEvent<this>;
31
+ on: OnEvent<this>;
32
+ once: OnEvent<this>;
33
+ removeListener: OnEvent<this>;
34
+ functions: {
35
+ addressOf(t: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
36
+ "priceFeeds(uint8)"(t: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
37
+ "priceFeeds(address)"(token: string, overrides?: CallOverrides): Promise<[string]>;
38
+ };
39
+ addressOf(t: BigNumberish, overrides?: CallOverrides): Promise<string>;
40
+ "priceFeeds(uint8)"(t: BigNumberish, overrides?: CallOverrides): Promise<string>;
41
+ "priceFeeds(address)"(token: string, overrides?: CallOverrides): Promise<string>;
42
+ callStatic: {
43
+ addressOf(t: BigNumberish, overrides?: CallOverrides): Promise<string>;
44
+ "priceFeeds(uint8)"(t: BigNumberish, overrides?: CallOverrides): Promise<string>;
45
+ "priceFeeds(address)"(token: string, overrides?: CallOverrides): Promise<string>;
46
+ };
47
+ filters: {};
48
+ estimateGas: {
49
+ addressOf(t: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
50
+ "priceFeeds(uint8)"(t: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
51
+ "priceFeeds(address)"(token: string, overrides?: CallOverrides): Promise<BigNumber>;
52
+ };
53
+ populateTransaction: {
54
+ addressOf(t: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
55
+ "priceFeeds(uint8)"(t: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
56
+ "priceFeeds(address)"(token: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
57
+ };
58
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export type { IPriceFeedsRegistry } from "./IPriceFeedsRegistry";
2
+ export type { ITokenTestSuite } from "./ITokenTestSuite";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  import { Signer } from "ethers";
2
2
  import type { Provider } from "@ethersproject/providers";
3
- import type { IPriceOracleV2, IPriceOracleV2Interface } from "../../../../../contracts/interfaces/V1/IPriceOracle.sol/IPriceOracleV2";
4
- export declare class IPriceOracleV2__factory {
3
+ import type { IPriceOracle, IPriceOracleInterface } from "../../../../contracts/interfaces/V1/IPriceOracle";
4
+ export declare class IPriceOracle__factory {
5
5
  static readonly abi: ({
6
6
  anonymous: boolean;
7
7
  inputs: {
@@ -30,6 +30,6 @@ export declare class IPriceOracleV2__factory {
30
30
  type: string;
31
31
  anonymous?: undefined;
32
32
  })[];
33
- static createInterface(): IPriceOracleV2Interface;
34
- static connect(address: string, signerOrProvider: Signer | Provider): IPriceOracleV2;
33
+ static createInterface(): IPriceOracleInterface;
34
+ static connect(address: string, signerOrProvider: Signer | Provider): IPriceOracle;
35
35
  }
@@ -3,7 +3,7 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.IPriceOracleV2__factory = void 0;
6
+ exports.IPriceOracle__factory = void 0;
7
7
  var ethers_1 = require("ethers");
8
8
  var _abi = [
9
9
  {
@@ -97,16 +97,16 @@ var _abi = [
97
97
  type: "function",
98
98
  },
99
99
  ];
100
- var IPriceOracleV2__factory = /** @class */ (function () {
101
- function IPriceOracleV2__factory() {
100
+ var IPriceOracle__factory = /** @class */ (function () {
101
+ function IPriceOracle__factory() {
102
102
  }
103
- IPriceOracleV2__factory.createInterface = function () {
103
+ IPriceOracle__factory.createInterface = function () {
104
104
  return new ethers_1.utils.Interface(_abi);
105
105
  };
106
- IPriceOracleV2__factory.connect = function (address, signerOrProvider) {
106
+ IPriceOracle__factory.connect = function (address, signerOrProvider) {
107
107
  return new ethers_1.Contract(address, _abi, signerOrProvider);
108
108
  };
109
- IPriceOracleV2__factory.abi = _abi;
110
- return IPriceOracleV2__factory;
109
+ IPriceOracle__factory.abi = _abi;
110
+ return IPriceOracle__factory;
111
111
  }());
112
- exports.IPriceOracleV2__factory = IPriceOracleV2__factory;
112
+ exports.IPriceOracle__factory = IPriceOracle__factory;
@@ -1,3 +1,3 @@
1
- export * as iPriceOracleSol from "./IPriceOracle.sol";
2
1
  export { ICreditFilter__factory } from "./ICreditFilter__factory";
3
2
  export { ICreditManager__factory } from "./ICreditManager__factory";
3
+ export { IPriceOracle__factory } from "./IPriceOracle__factory";
@@ -1,34 +1,12 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ICreditManager__factory = exports.ICreditFilter__factory = exports.iPriceOracleSol = void 0;
3
+ exports.IPriceOracle__factory = exports.ICreditManager__factory = exports.ICreditFilter__factory = void 0;
27
4
  /* Autogenerated file. Do not edit manually. */
28
5
  /* tslint:disable */
29
6
  /* eslint-disable */
30
- exports.iPriceOracleSol = __importStar(require("./IPriceOracle.sol"));
31
7
  var ICreditFilter__factory_1 = require("./ICreditFilter__factory");
32
8
  Object.defineProperty(exports, "ICreditFilter__factory", { enumerable: true, get: function () { return ICreditFilter__factory_1.ICreditFilter__factory; } });
33
9
  var ICreditManager__factory_1 = require("./ICreditManager__factory");
34
10
  Object.defineProperty(exports, "ICreditManager__factory", { enumerable: true, get: function () { return ICreditManager__factory_1.ICreditManager__factory; } });
11
+ var IPriceOracle__factory_1 = require("./IPriceOracle__factory");
12
+ Object.defineProperty(exports, "IPriceOracle__factory", { enumerable: true, get: function () { return IPriceOracle__factory_1.IPriceOracle__factory; } });