@gearbox-protocol/sdk 1.5.10 → 1.5.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.
@@ -8,6 +8,7 @@ export declare class CreditManagerData {
8
8
  readonly id: string;
9
9
  readonly address: string;
10
10
  readonly underlyingToken: string;
11
+ readonly pool: string;
11
12
  readonly isWETH: boolean;
12
13
  readonly canBorrow: boolean;
13
14
  readonly borrowRate: number;
@@ -39,28 +39,27 @@ var CreditManagerData = /** @class */ (function () {
39
39
  this.isPaused = false;
40
40
  this.id = payload.addr.toLowerCase();
41
41
  this.address = payload.addr.toLowerCase();
42
- this.underlyingToken = (payload.underlying || "").toLowerCase();
43
- this.isWETH = payload.isWETH || false;
44
- this.canBorrow = payload.canBorrow || false;
42
+ this.underlyingToken = payload.underlying.toLowerCase();
43
+ this.pool = payload.pool.toLowerCase();
44
+ this.isWETH = payload.isWETH;
45
+ this.canBorrow = payload.canBorrow;
45
46
  this.borrowRate =
46
- ethers_1.BigNumber.from(payload.borrowRate || 0)
47
+ ethers_1.BigNumber.from(payload.borrowRate)
47
48
  .mul(ethers_1.BigNumber.from(payload.feeInterest).add(constants_1.PERCENTAGE_FACTOR))
48
49
  .mul(constants_1.PERCENTAGE_DECIMALS)
49
50
  .div(constants_1.RAY)
50
51
  .toNumber() / constants_1.PERCENTAGE_FACTOR;
51
- this.minAmount = ethers_1.BigNumber.from(payload.minAmount || 0);
52
- this.maxAmount = ethers_1.BigNumber.from(payload.maxAmount || 0);
53
- this.maxLeverageFactor = ethers_1.BigNumber.from(payload.maxLeverageFactor || 0).toNumber();
54
- this.availableLiquidity = ethers_1.BigNumber.from(payload.availableLiquidity || 0);
55
- this.collateralTokens = (payload.collateralTokens || []).map(function (t) {
56
- return t.toLowerCase();
57
- });
58
- this.adapters = (payload.adapters || []).reduce(function (acc, _a) {
52
+ this.minAmount = ethers_1.BigNumber.from(payload.minAmount);
53
+ this.maxAmount = ethers_1.BigNumber.from(payload.maxAmount);
54
+ this.maxLeverageFactor = ethers_1.BigNumber.from(payload.maxLeverageFactor).toNumber();
55
+ this.availableLiquidity = ethers_1.BigNumber.from(payload.availableLiquidity);
56
+ this.collateralTokens = payload.collateralTokens.map(function (t) { return t.toLowerCase(); });
57
+ this.adapters = payload.adapters.reduce(function (acc, _a) {
59
58
  var _b;
60
59
  var allowedContract = _a.allowedContract, adapter = _a.adapter;
61
60
  return (__assign(__assign({}, acc), (_b = {}, _b[allowedContract.toLowerCase()] = adapter.toLowerCase(), _b)));
62
61
  }, {});
63
- this.liquidationThresholds = (payload.liquidationThresholds || []).reduce(function (acc, threshold, index) {
62
+ this.liquidationThresholds = payload.liquidationThresholds.reduce(function (acc, threshold, index) {
64
63
  var address = payload.collateralTokens[index];
65
64
  if (address)
66
65
  acc[address.toLowerCase()] = ethers_1.BigNumber.from(threshold);
@@ -1,13 +1,14 @@
1
1
  import { Provider } from "@ethersproject/abstract-provider";
2
- import { BigNumber, BigNumberish, Signer } from "ethers";
2
+ import { BigNumberish, Signer } from "ethers";
3
3
  import { NetworkType } from "../core/constants";
4
4
  import { CreditAccountData } from "../core/creditAccount";
5
5
  import { CreditManagerData } from "../core/creditManager";
6
6
  import { SupportedToken } from "../tokens/token";
7
7
  import { IPathFinder } from "../types";
8
- import { PathFinderOpenStrategyResult, PathFinderResult, SwapOperation } from "./core";
8
+ import { MultiCall, PathFinderCloseResult, PathFinderOpenStrategyResult, PathFinderResult, SwapOperation } from "./core";
9
9
  export interface CloseResult {
10
10
  amount: BigNumberish;
11
+ calls: Array<MultiCall>;
11
12
  gasUsage: BigNumberish;
12
13
  }
13
14
  export declare class PathFinder {
@@ -18,7 +19,27 @@ export declare class PathFinder {
18
19
  constructor(address: string, provider: Signer | Provider, network?: NetworkType, connectors?: Array<SupportedToken>);
19
20
  findAllSwaps(creditAccount: CreditAccountData, swapOperation: SwapOperation, tokenIn: SupportedToken | string, tokenOut: SupportedToken | string, amount: BigNumberish, slippage: number): Promise<Array<PathFinderResult>>;
20
21
  findOneTokenPath(creditAccount: CreditAccountData, tokenIn: SupportedToken | string, tokenOut: SupportedToken | string, amount: BigNumberish, slippage: number): Promise<PathFinderResult>;
22
+ /**
23
+ * @dev Finds the best path for opening credit account and converting all NORMAL tokens and LP token in the way to TARGET
24
+ * @param cm CreditManagerData which represents credit manager you want to use to open credit account
25
+ * @param expectedBalances Expected balances which would be on account accounting also debt. For example,
26
+ * if you open an USDC credit account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
27
+ * from your own funds, expectedBalances should be: { "USDC": 60_000 * (10**6), "<address of WETH>": WAD.mul(10) }
28
+ *
29
+ * @param target Address of symbol of desired token
30
+ * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
31
+ * @returns PathFinderOpenStrategyResult which
32
+ */
21
33
  findOpenStrategyPath(cm: CreditManagerData, expectedBalances: Record<SupportedToken | string, BigNumberish>, target: SupportedToken | string, slippage: number): Promise<PathFinderOpenStrategyResult>;
22
- findBestClosePath(creditAccount: CreditAccountData, slippage: number): Promise<BigNumber>;
34
+ /**
35
+ * @dev Finds the path to swap / withdraw all assets from CreditAccount into underlying asset
36
+ * Can bu used for closing credit account and for liquidations as well.
37
+ * @param creditAccount CreditAccountData object used for close path computation
38
+ * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
39
+ * @return The best option in PathFinderCloseResult format, which
40
+ * - underlyingBalance - total balance of underlying token
41
+ * - calls - list of calls which should be done to swap & unwrap everything to underlying token
42
+ */
43
+ findBestClosePath(creditAccount: CreditAccountData, slippage: number): Promise<PathFinderCloseResult>;
23
44
  static compare(r1: CloseResult, r2: CloseResult, gasPriceRAY: BigNumberish): CloseResult;
24
45
  }
@@ -74,7 +74,6 @@ var PathFinder = /** @class */ (function () {
74
74
  results = _a.sent();
75
75
  return [2 /*return*/, results.map(function (r) { return ({
76
76
  amount: ethers_1.BigNumber.from(r.amount),
77
- gasUsage: r.gasUsage.toNumber(),
78
77
  calls: r.calls,
79
78
  }); })];
80
79
  }
@@ -102,6 +101,17 @@ var PathFinder = /** @class */ (function () {
102
101
  });
103
102
  });
104
103
  };
104
+ /**
105
+ * @dev Finds the best path for opening credit account and converting all NORMAL tokens and LP token in the way to TARGET
106
+ * @param cm CreditManagerData which represents credit manager you want to use to open credit account
107
+ * @param expectedBalances Expected balances which would be on account accounting also debt. For example,
108
+ * if you open an USDC credit account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
109
+ * from your own funds, expectedBalances should be: { "USDC": 60_000 * (10**6), "<address of WETH>": WAD.mul(10) }
110
+ *
111
+ * @param target Address of symbol of desired token
112
+ * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
113
+ * @returns PathFinderOpenStrategyResult which
114
+ */
105
115
  PathFinder.prototype.findOpenStrategyPath = function (cm, expectedBalances, target, slippage) {
106
116
  return __awaiter(this, void 0, void 0, function () {
107
117
  var targetAddr, expectedBalancesAddr, balances, result, balancesAfter;
@@ -135,6 +145,15 @@ var PathFinder = /** @class */ (function () {
135
145
  });
136
146
  });
137
147
  };
148
+ /**
149
+ * @dev Finds the path to swap / withdraw all assets from CreditAccount into underlying asset
150
+ * Can bu used for closing credit account and for liquidations as well.
151
+ * @param creditAccount CreditAccountData object used for close path computation
152
+ * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
153
+ * @return The best option in PathFinderCloseResult format, which
154
+ * - underlyingBalance - total balance of underlying token
155
+ * - calls - list of calls which should be done to swap & unwrap everything to underlying token
156
+ */
138
157
  PathFinder.prototype.findBestClosePath = function (creditAccount, slippage) {
139
158
  return __awaiter(this, void 0, void 0, function () {
140
159
  var loopsPerTx, pathOptions, requests, results, bestResult;
@@ -156,8 +175,12 @@ var PathFinder = /** @class */ (function () {
156
175
  }, {
157
176
  amount: ethers_1.BigNumber.from(0),
158
177
  gasUsage: 0,
178
+ calls: [],
159
179
  });
160
- return [2 /*return*/, ethers_1.BigNumber.from(bestResult.amount)];
180
+ return [2 /*return*/, {
181
+ underlyingBalance: ethers_1.BigNumber.from(bestResult.amount).add(creditAccount.allBalances[creditAccount.underlyingToken.toLowerCase()]),
182
+ calls: bestResult.calls,
183
+ }];
161
184
  }
162
185
  });
163
186
  });
@@ -8,10 +8,12 @@ describe("PathFinder test", function () {
8
8
  var r1 = {
9
9
  amount: 2000,
10
10
  gasUsage: 1000,
11
+ calls: [],
11
12
  };
12
13
  var r2 = {
13
14
  amount: 3000,
14
15
  gasUsage: 2000,
16
+ calls: [],
15
17
  };
16
18
  var result = pathfinder_1.PathFinder.compare(r1, r2, constants_1.RAY);
17
19
  (0, chai_1.expect)(result).to.be.eql(r2);
@@ -19,3 +19,4 @@ export declare const tokenDataByNetwork: Record<NetworkType, Record<SupportedTok
19
19
  export declare const tokenSymbolByAddress: Record<string, SupportedToken>;
20
20
  export declare const isSupportedToken: (t: unknown) => t is SupportedToken;
21
21
  export declare const isLPToken: (t: unknown) => t is LPTokens;
22
+ export declare function getDecimals(token: SupportedToken | string): number;
@@ -11,10 +11,11 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isLPToken = exports.isSupportedToken = exports.tokenSymbolByAddress = exports.tokenDataByNetwork = exports.supportedTokens = exports.lpTokens = void 0;
14
+ exports.getDecimals = exports.isLPToken = exports.isSupportedToken = exports.tokenSymbolByAddress = exports.tokenDataByNetwork = exports.supportedTokens = exports.lpTokens = void 0;
15
15
  var mappers_1 = require("../utils/mappers");
16
16
  var convex_1 = require("./convex");
17
17
  var curveLP_1 = require("./curveLP");
18
+ var decimals_1 = require("./decimals");
18
19
  var gear_1 = require("./gear");
19
20
  var normal_1 = require("./normal");
20
21
  var yearn_1 = require("./yearn");
@@ -171,3 +172,14 @@ var isLPToken = function (t) {
171
172
  return typeof t === "string" && !!exports.lpTokens[t];
172
173
  };
173
174
  exports.isLPToken = isLPToken;
175
+ function getDecimals(token) {
176
+ var dec = decimals_1.decimals[token];
177
+ if (dec)
178
+ return dec;
179
+ dec = decimals_1.decimals[exports.tokenSymbolByAddress[token.toLowerCase()]];
180
+ if (!dec) {
181
+ throw new Error("Decimals for ".concat(token, " not found"));
182
+ }
183
+ return dec;
184
+ }
185
+ exports.getDecimals = getDecimals;
@@ -87,6 +87,7 @@ export declare type ContractAdapterStructOutput = [string, string] & {
87
87
  export declare type CreditManagerDataStruct = {
88
88
  addr: string;
89
89
  underlying: string;
90
+ pool: string;
90
91
  isWETH: boolean;
91
92
  canBorrow: boolean;
92
93
  borrowRate: BigNumberish;
@@ -111,6 +112,7 @@ export declare type CreditManagerDataStruct = {
111
112
  liquidationDiscountExpired: BigNumberish;
112
113
  };
113
114
  export declare type CreditManagerDataStructOutput = [
115
+ string,
114
116
  string,
115
117
  string,
116
118
  boolean,
@@ -138,6 +140,7 @@ export declare type CreditManagerDataStructOutput = [
138
140
  ] & {
139
141
  addr: string;
140
142
  underlying: string;
143
+ pool: string;
141
144
  isWETH: boolean;
142
145
  canBorrow: boolean;
143
146
  borrowRate: BigNumber;
@@ -343,6 +343,11 @@ var _abi = [
343
343
  name: "underlying",
344
344
  type: "address",
345
345
  },
346
+ {
347
+ internalType: "address",
348
+ name: "pool",
349
+ type: "address",
350
+ },
346
351
  {
347
352
  internalType: "bool",
348
353
  name: "isWETH",
@@ -490,6 +495,11 @@ var _abi = [
490
495
  name: "underlying",
491
496
  type: "address",
492
497
  },
498
+ {
499
+ internalType: "address",
500
+ name: "pool",
501
+ type: "address",
502
+ },
493
503
  {
494
504
  internalType: "bool",
495
505
  name: "isWETH",
@@ -12,7 +12,7 @@ export declare class Multicall2__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): Multicall2;
14
14
  connect(signer: Signer): Multicall2__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50610b51806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc3660046107df565b6101c6565b6040516100e5929190610896565b6100db610373565b61012a61012536600461091e565b610386565b6040516100e5939291906109db565b436100db565b6100db61014d366004610a03565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461091e565b61039e565b6040516100e59190610a25565b61012a6101af3660046107df565b610599565b6100db6101c2366004610a38565b4090565b8051439060609067ffffffffffffffff8111156101e5576101e56105b6565b60405190808252806020026020018201604052801561021857816020015b60608152602001906001900390816102035790505b50905060005b835181101561036d5760008085838151811061023c5761023c610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061027057610270610a51565b6020026020010151602001516040516102899190610a80565b6000604051808303816000865af19150503d80600081146102c6576040519150601f19603f3d011682016040523d82523d6000602084013e6102cb565b606091505b50915091508161033c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061034f5761034f610a51565b602002602001018190525050508061036690610acb565b905061021e565b50915091565b6000610380600143610b04565b40905090565b4380406060610395858561039e565b90509250925092565b6060815167ffffffffffffffff8111156103ba576103ba6105b6565b60405190808252806020026020018201604052801561040057816020015b6040805180820190915260008152606060208201528152602001906001900390816103d85790505b50905060005b82518110156105925760008084838151811061042457610424610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061045857610458610a51565b6020026020010151602001516040516104719190610a80565b6000604051808303816000865af19150503d80600081146104ae576040519150601f19603f3d011682016040523d82523d6000602084013e6104b3565b606091505b5091509150851561054b578161054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610333565b604051806040016040528083151581526020018281525084848151811061057457610574610a51565b602002602001018190525050508061058b90610acb565b9050610406565b5092915050565b60008060606105a9600185610386565b9196909550909350915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610608576106086105b6565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610655576106556105b6565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068157600080fd5b919050565b6000601f838184011261069857600080fd5b8235602067ffffffffffffffff808311156106b5576106b56105b6565b8260051b6106c483820161060e565b93845286810183019383810190898611156106de57600080fd5b84890192505b858310156107d2578235848111156106fc5760008081fd5b890160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828d0381018213156107335760008081fd5b61073b6105e5565b61074689850161065d565b8152828401358881111561075a5760008081fd5b8085019450508d603f8501126107705760008081fd5b8884013588811115610784576107846105b6565b6107938a848e8401160161060e565b92508083528e848287010111156107aa5760008081fd5b808486018b85013760009083018a0152808901919091528452505091840191908401906106e4565b9998505050505050505050565b6000602082840312156107f157600080fd5b813567ffffffffffffffff81111561080857600080fd5b61081484828501610686565b949350505050565b60005b8381101561083757818101518382015260200161081f565b83811115610846576000848401525b50505050565b6000815180845261086481602086016020860161081c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610910577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184526108fe86835161084c565b955092840192908401906001016108c4565b509398975050505050505050565b6000806040838503121561093157600080fd5b8235801515811461094157600080fd5b9150602083013567ffffffffffffffff81111561095d57600080fd5b61096985828601610686565b9150509250929050565b6000815180845260208085019450848260051b860182860160005b858110156109ce578383038952815180511515845285015160408685018190526109ba8186018361084c565b9a87019a945050509084019060010161098e565b5090979650505050505050565b8381528260208201526060604082015260006109fa6060830184610973565b95945050505050565b600060208284031215610a1557600080fd5b610a1e8261065d565b9392505050565b602081526000610a1e6020830184610973565b600060208284031215610a4a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610a9281846020870161081c565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610afd57610afd610a9c565b5060010190565b600082821015610b1657610b16610a9c565b50039056fea26469706673582212202c69e970f479545d7be246c48610ba0d642f18252c98dea6e14ebbeeb819c8f864736f6c634300080a0033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50610b51806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc3660046107df565b6101c6565b6040516100e5929190610896565b6100db610373565b61012a61012536600461091e565b610386565b6040516100e5939291906109db565b436100db565b6100db61014d366004610a03565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461091e565b61039e565b6040516100e59190610a25565b61012a6101af3660046107df565b610599565b6100db6101c2366004610a38565b4090565b8051439060609067ffffffffffffffff8111156101e5576101e56105b6565b60405190808252806020026020018201604052801561021857816020015b60608152602001906001900390816102035790505b50905060005b835181101561036d5760008085838151811061023c5761023c610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061027057610270610a51565b6020026020010151602001516040516102899190610a80565b6000604051808303816000865af19150503d80600081146102c6576040519150601f19603f3d011682016040523d82523d6000602084013e6102cb565b606091505b50915091508161033c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061034f5761034f610a51565b602002602001018190525050508061036690610acb565b905061021e565b50915091565b6000610380600143610b04565b40905090565b4380406060610395858561039e565b90509250925092565b6060815167ffffffffffffffff8111156103ba576103ba6105b6565b60405190808252806020026020018201604052801561040057816020015b6040805180820190915260008152606060208201528152602001906001900390816103d85790505b50905060005b82518110156105925760008084838151811061042457610424610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061045857610458610a51565b6020026020010151602001516040516104719190610a80565b6000604051808303816000865af19150503d80600081146104ae576040519150601f19603f3d011682016040523d82523d6000602084013e6104b3565b606091505b5091509150851561054b578161054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610333565b604051806040016040528083151581526020018281525084848151811061057457610574610a51565b602002602001018190525050508061058b90610acb565b9050610406565b5092915050565b60008060606105a9600185610386565b9196909550909350915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610608576106086105b6565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610655576106556105b6565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068157600080fd5b919050565b6000601f838184011261069857600080fd5b8235602067ffffffffffffffff808311156106b5576106b56105b6565b8260051b6106c483820161060e565b93845286810183019383810190898611156106de57600080fd5b84890192505b858310156107d2578235848111156106fc5760008081fd5b890160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828d0381018213156107335760008081fd5b61073b6105e5565b61074689850161065d565b8152828401358881111561075a5760008081fd5b8085019450508d603f8501126107705760008081fd5b8884013588811115610784576107846105b6565b6107938a848e8401160161060e565b92508083528e848287010111156107aa5760008081fd5b808486018b85013760009083018a0152808901919091528452505091840191908401906106e4565b9998505050505050505050565b6000602082840312156107f157600080fd5b813567ffffffffffffffff81111561080857600080fd5b61081484828501610686565b949350505050565b60005b8381101561083757818101518382015260200161081f565b83811115610846576000848401525b50505050565b6000815180845261086481602086016020860161081c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610910577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184526108fe86835161084c565b955092840192908401906001016108c4565b509398975050505050505050565b6000806040838503121561093157600080fd5b8235801515811461094157600080fd5b9150602083013567ffffffffffffffff81111561095d57600080fd5b61096985828601610686565b9150509250929050565b6000815180845260208085019450848260051b860182860160005b858110156109ce578383038952815180511515845285015160408685018190526109ba8186018361084c565b9a87019a945050509084019060010161098e565b5090979650505050505050565b8381528260208201526060604082015260006109fa6060830184610973565b95945050505050565b600060208284031215610a1557600080fd5b610a1e8261065d565b9392505050565b602081526000610a1e6020830184610973565b600060208284031215610a4a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610a9281846020870161081c565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610afd57610afd610a9c565b5060010190565b600082821015610b1657610b16610a9c565b50039056fea2646970667358221220125df3e1e21b5f72a198b151923a51a6f30c33ef274b23d8593ad64b95e7c91f64736f6c634300080a0033";
16
16
  static readonly abi: {
17
17
  inputs: ({
18
18
  internalType: string;
@@ -333,7 +333,7 @@ var _abi = [
333
333
  type: "function",
334
334
  },
335
335
  ];
336
- var _bytecode = "0x608060405234801561001057600080fd5b50610b51806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc3660046107df565b6101c6565b6040516100e5929190610896565b6100db610373565b61012a61012536600461091e565b610386565b6040516100e5939291906109db565b436100db565b6100db61014d366004610a03565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461091e565b61039e565b6040516100e59190610a25565b61012a6101af3660046107df565b610599565b6100db6101c2366004610a38565b4090565b8051439060609067ffffffffffffffff8111156101e5576101e56105b6565b60405190808252806020026020018201604052801561021857816020015b60608152602001906001900390816102035790505b50905060005b835181101561036d5760008085838151811061023c5761023c610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061027057610270610a51565b6020026020010151602001516040516102899190610a80565b6000604051808303816000865af19150503d80600081146102c6576040519150601f19603f3d011682016040523d82523d6000602084013e6102cb565b606091505b50915091508161033c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061034f5761034f610a51565b602002602001018190525050508061036690610acb565b905061021e565b50915091565b6000610380600143610b04565b40905090565b4380406060610395858561039e565b90509250925092565b6060815167ffffffffffffffff8111156103ba576103ba6105b6565b60405190808252806020026020018201604052801561040057816020015b6040805180820190915260008152606060208201528152602001906001900390816103d85790505b50905060005b82518110156105925760008084838151811061042457610424610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061045857610458610a51565b6020026020010151602001516040516104719190610a80565b6000604051808303816000865af19150503d80600081146104ae576040519150601f19603f3d011682016040523d82523d6000602084013e6104b3565b606091505b5091509150851561054b578161054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610333565b604051806040016040528083151581526020018281525084848151811061057457610574610a51565b602002602001018190525050508061058b90610acb565b9050610406565b5092915050565b60008060606105a9600185610386565b9196909550909350915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610608576106086105b6565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610655576106556105b6565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068157600080fd5b919050565b6000601f838184011261069857600080fd5b8235602067ffffffffffffffff808311156106b5576106b56105b6565b8260051b6106c483820161060e565b93845286810183019383810190898611156106de57600080fd5b84890192505b858310156107d2578235848111156106fc5760008081fd5b890160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828d0381018213156107335760008081fd5b61073b6105e5565b61074689850161065d565b8152828401358881111561075a5760008081fd5b8085019450508d603f8501126107705760008081fd5b8884013588811115610784576107846105b6565b6107938a848e8401160161060e565b92508083528e848287010111156107aa5760008081fd5b808486018b85013760009083018a0152808901919091528452505091840191908401906106e4565b9998505050505050505050565b6000602082840312156107f157600080fd5b813567ffffffffffffffff81111561080857600080fd5b61081484828501610686565b949350505050565b60005b8381101561083757818101518382015260200161081f565b83811115610846576000848401525b50505050565b6000815180845261086481602086016020860161081c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610910577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184526108fe86835161084c565b955092840192908401906001016108c4565b509398975050505050505050565b6000806040838503121561093157600080fd5b8235801515811461094157600080fd5b9150602083013567ffffffffffffffff81111561095d57600080fd5b61096985828601610686565b9150509250929050565b6000815180845260208085019450848260051b860182860160005b858110156109ce578383038952815180511515845285015160408685018190526109ba8186018361084c565b9a87019a945050509084019060010161098e565b5090979650505050505050565b8381528260208201526060604082015260006109fa6060830184610973565b95945050505050565b600060208284031215610a1557600080fd5b610a1e8261065d565b9392505050565b602081526000610a1e6020830184610973565b600060208284031215610a4a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610a9281846020870161081c565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610afd57610afd610a9c565b5060010190565b600082821015610b1657610b16610a9c565b50039056fea26469706673582212202c69e970f479545d7be246c48610ba0d642f18252c98dea6e14ebbeeb819c8f864736f6c634300080a0033";
336
+ var _bytecode = "0x608060405234801561001057600080fd5b50610b51806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc3660046107df565b6101c6565b6040516100e5929190610896565b6100db610373565b61012a61012536600461091e565b610386565b6040516100e5939291906109db565b436100db565b6100db61014d366004610a03565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461091e565b61039e565b6040516100e59190610a25565b61012a6101af3660046107df565b610599565b6100db6101c2366004610a38565b4090565b8051439060609067ffffffffffffffff8111156101e5576101e56105b6565b60405190808252806020026020018201604052801561021857816020015b60608152602001906001900390816102035790505b50905060005b835181101561036d5760008085838151811061023c5761023c610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061027057610270610a51565b6020026020010151602001516040516102899190610a80565b6000604051808303816000865af19150503d80600081146102c6576040519150601f19603f3d011682016040523d82523d6000602084013e6102cb565b606091505b50915091508161033c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061034f5761034f610a51565b602002602001018190525050508061036690610acb565b905061021e565b50915091565b6000610380600143610b04565b40905090565b4380406060610395858561039e565b90509250925092565b6060815167ffffffffffffffff8111156103ba576103ba6105b6565b60405190808252806020026020018201604052801561040057816020015b6040805180820190915260008152606060208201528152602001906001900390816103d85790505b50905060005b82518110156105925760008084838151811061042457610424610a51565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061045857610458610a51565b6020026020010151602001516040516104719190610a80565b6000604051808303816000865af19150503d80600081146104ae576040519150601f19603f3d011682016040523d82523d6000602084013e6104b3565b606091505b5091509150851561054b578161054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610333565b604051806040016040528083151581526020018281525084848151811061057457610574610a51565b602002602001018190525050508061058b90610acb565b9050610406565b5092915050565b60008060606105a9600185610386565b9196909550909350915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610608576106086105b6565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610655576106556105b6565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068157600080fd5b919050565b6000601f838184011261069857600080fd5b8235602067ffffffffffffffff808311156106b5576106b56105b6565b8260051b6106c483820161060e565b93845286810183019383810190898611156106de57600080fd5b84890192505b858310156107d2578235848111156106fc5760008081fd5b890160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828d0381018213156107335760008081fd5b61073b6105e5565b61074689850161065d565b8152828401358881111561075a5760008081fd5b8085019450508d603f8501126107705760008081fd5b8884013588811115610784576107846105b6565b6107938a848e8401160161060e565b92508083528e848287010111156107aa5760008081fd5b808486018b85013760009083018a0152808901919091528452505091840191908401906106e4565b9998505050505050505050565b6000602082840312156107f157600080fd5b813567ffffffffffffffff81111561080857600080fd5b61081484828501610686565b949350505050565b60005b8381101561083757818101518382015260200161081f565b83811115610846576000848401525b50505050565b6000815180845261086481602086016020860161081c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610910577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184526108fe86835161084c565b955092840192908401906001016108c4565b509398975050505050505050565b6000806040838503121561093157600080fd5b8235801515811461094157600080fd5b9150602083013567ffffffffffffffff81111561095d57600080fd5b61096985828601610686565b9150509250929050565b6000815180845260208085019450848260051b860182860160005b858110156109ce578383038952815180511515845285015160408685018190526109ba8186018361084c565b9a87019a945050509084019060010161098e565b5090979650505050505050565b8381528260208201526060604082015260006109fa6060830184610973565b95945050505050565b600060208284031215610a1557600080fd5b610a1e8261065d565b9392505050565b602081526000610a1e6020830184610973565b600060208284031215610a4a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008251610a9281846020870161081c565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610afd57610afd610a9c565b5060010190565b600082821015610b1657610b16610a9c565b50039056fea2646970667358221220125df3e1e21b5f72a198b151923a51a6f30c33ef274b23d8593ad64b95e7c91f64736f6c634300080a0033";
337
337
  var isSuperArgs = function (xs) { return xs.length > 1; };
338
338
  var Multicall2__factory = /** @class */ (function (_super) {
339
339
  __extends(Multicall2__factory, _super);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "1.5.10",
3
+ "version": "1.5.13",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",