@gearbox-protocol/sdk 3.0.0-next.120 → 3.0.0-next.121

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.
@@ -32,6 +32,7 @@ const NORMAL_TO_LAMA = {
32
32
  sDAI: "c8a24fee-ec00-4f38-86c0-9f6daebc4225",
33
33
  rETH: "d4b3c522-6127-4b89-bedf-83641cdcd2eb",
34
34
  osETH: "4d01599c-69ae-41a3-bae1-5fab896f04c8",
35
+ auraB_rETH_STABLE_vault: "a4b5b995-99e7-4b8f-916d-8940b5627d70",
35
36
  },
36
37
  Optimism: { rETH: "d4b3c522-6127-4b89-bedf-83641cdcd2eb" },
37
38
  Arbitrum: {},
@@ -38,24 +38,21 @@ class PathOptionFactory {
38
38
  return result;
39
39
  }
40
40
  static getCurvePools(balances) {
41
- const curveSymbols = Object.keys(sdk_gov_1.curveTokens);
42
- const curvePools = Object.entries(balances)
43
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
41
+ const nonZeroBalances = Object.entries(balances).filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1);
42
+ const curvePools = nonZeroBalances
44
43
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
45
- .filter(symbol => curveSymbols.includes(symbol));
44
+ .filter(symbol => (0, sdk_gov_1.isCurveLPToken)(symbol));
46
45
  const yearnCurveTokens = Object.entries(sdk_gov_1.yearnTokens)
47
- .filter(([, data]) => curveSymbols.includes(data.underlying))
46
+ .filter(([, data]) => (0, sdk_gov_1.isCurveLPToken)(data.underlying))
48
47
  .map(([token]) => token);
49
- const curvePoolsFromYearn = Object.entries(balances)
50
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
48
+ const curvePoolsFromYearn = nonZeroBalances
51
49
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
52
50
  .filter(symbol => yearnCurveTokens.includes(symbol))
53
51
  .map(symbol => sdk_gov_1.yearnTokens[symbol].underlying);
54
52
  const convexCurveTokens = Object.entries(sdk_gov_1.convexTokens)
55
- .filter(([, data]) => curveSymbols.includes(data.underlying))
53
+ .filter(([, data]) => (0, sdk_gov_1.isCurveLPToken)(data.underlying))
56
54
  .map(([token]) => token);
57
- const curvePoolsFromConvex = Object.entries(balances)
58
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
55
+ const curvePoolsFromConvex = nonZeroBalances
59
56
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
60
57
  .filter(symbol => convexCurveTokens.includes(symbol))
61
58
  .map(symbol => sdk_gov_1.convexTokens[symbol].underlying);
@@ -67,19 +64,17 @@ class PathOptionFactory {
67
64
  return Array.from(curveSet.values());
68
65
  }
69
66
  static getBalancerPools(balances) {
70
- const balancerSymbols = Object.keys(sdk_gov_1.balancerLpTokens);
71
- const balancerPools = Object.entries(balances)
72
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
67
+ const nonZeroBalances = Object.entries(balances).filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1);
68
+ const balancerPools = nonZeroBalances
73
69
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
74
- .filter(symbol => balancerSymbols.includes(symbol));
70
+ .filter(symbol => (0, sdk_gov_1.isBalancerLPToken)(symbol));
75
71
  const balancerAuraTokens = Object.entries(aura_1.auraTokens)
76
- .filter(([, data]) => balancerSymbols.includes(data.underlying))
72
+ .filter(([, data]) => (0, sdk_gov_1.isBalancerLPToken)(data.underlying))
77
73
  .map(([token]) => token);
78
- const balancerTokensFromAura = Object.entries(balances)
79
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
74
+ const balancerTokensFromAura = nonZeroBalances
80
75
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
81
76
  .filter(symbol => balancerAuraTokens.includes(symbol))
82
- .map(symbol => aura_1.auraLpTokens[symbol].underlying);
77
+ .map(symbol => aura_1.auraTokens[symbol].underlying);
83
78
  const balancerSet = new Set([...balancerPools, ...balancerTokensFromAura]);
84
79
  return Array.from(balancerSet.values());
85
80
  }
@@ -65,7 +65,7 @@ export declare class PathFinder {
65
65
  * - calls - list of calls which should be done to swap & unwrap everything to underlying token
66
66
  */
67
67
  findBestClosePath({ creditAccount, creditManager: cm, expectedBalances, leftoverBalances, slippage, noConcurrency, }: FindBestClosePathProps): Promise<PathFinderCloseResult>;
68
- static compare(r1: PathFinderResult, r2: PathFinderResult, gasPriceRAY: bigint): PathFinderResult;
68
+ static compare(r1: PathFinderResult, r2: PathFinderResult): PathFinderResult;
69
69
  getAvailableConnectors(availableList: Record<string, bigint> | Record<string, true>): string[];
70
70
  static getAvailableConnectors(availableList: Record<string, bigint> | Record<string, true>, connectors: string[]): string[];
71
71
  }
@@ -37,7 +37,6 @@ class PathFinder {
37
37
  unique[key] = {
38
38
  amount: (0, sdk_gov_1.toBigInt)(r.amount),
39
39
  minAmount: (0, sdk_gov_1.toBigInt)(r.minAmount),
40
- gasUsage: (0, sdk_gov_1.toBigInt)(r.gasUsage),
41
40
  calls: r.calls,
42
41
  };
43
42
  });
@@ -51,7 +50,6 @@ class PathFinder {
51
50
  return {
52
51
  amount: (0, sdk_gov_1.toBigInt)(result.amount),
53
52
  minAmount: (0, sdk_gov_1.toBigInt)(result.minAmount),
54
- gasUsage: (0, sdk_gov_1.toBigInt)(result.gasUsage),
55
53
  calls: result.calls,
56
54
  };
57
55
  }
@@ -96,7 +94,6 @@ class PathFinder {
96
94
  calls: result.calls,
97
95
  minAmount: (0, sdk_gov_1.toBigInt)(result.minAmount),
98
96
  amount: (0, sdk_gov_1.toBigInt)(result.amount),
99
- gasUsage: (0, sdk_gov_1.toBigInt)(result.gasUsage),
100
97
  };
101
98
  }
102
99
  /**
@@ -134,15 +131,13 @@ class PathFinder {
134
131
  }));
135
132
  results = await Promise.all(requests);
136
133
  }
137
- const bestResult = results.reduce((best, [pathFinderResult, gasPriceRAY]) => PathFinder.compare(best, {
134
+ const bestResult = results.reduce((best, pathFinderResult) => PathFinder.compare(best, {
138
135
  calls: pathFinderResult.calls,
139
136
  amount: (0, sdk_gov_1.toBigInt)(pathFinderResult.amount),
140
137
  minAmount: (0, sdk_gov_1.toBigInt)(pathFinderResult.minAmount),
141
- gasUsage: (0, sdk_gov_1.toBigInt)(pathFinderResult.gasUsage),
142
- }, (0, sdk_gov_1.toBigInt)(gasPriceRAY)), {
138
+ }), {
143
139
  amount: 0n,
144
140
  minAmount: 0n,
145
- gasUsage: 0n,
146
141
  calls: [],
147
142
  });
148
143
  return {
@@ -152,12 +147,12 @@ class PathFinder {
152
147
  .balance,
153
148
  };
154
149
  }
155
- static compare(r1, r2, gasPriceRAY) {
156
- const comparator = ({ minAmount, gasUsage }, gasPrice) => minAmount - (gasUsage * gasPrice) / sdk_gov_1.RAY;
157
- return comparator(r1, gasPriceRAY) > comparator(r2, gasPriceRAY) ? r1 : r2;
150
+ static compare(r1, r2) {
151
+ return r1.amount > r2.amount ? r1 : r2;
158
152
  }
159
153
  getAvailableConnectors(availableList) {
160
- return PathFinder.getAvailableConnectors(availableList, this._connectors);
154
+ const connectors = PathFinder.getAvailableConnectors(availableList, this._connectors);
155
+ return connectors;
161
156
  }
162
157
  static getAvailableConnectors(availableList, connectors) {
163
158
  return connectors.filter(t => availableList[t] !== undefined);
@@ -9,19 +9,15 @@ describe("PathFinder test", () => {
9
9
  const r1 = {
10
10
  minAmount: 2000n,
11
11
  amount: 20000n,
12
- gasUsage: 1000n,
13
12
  calls: [],
14
13
  };
15
14
  const r2 = {
16
15
  minAmount: 3000n,
17
16
  amount: 30000n,
18
- gasUsage: 2000n,
19
17
  calls: [],
20
18
  };
21
- let result = pathfinder_1.PathFinder.compare(r1, r2, sdk_gov_1.RAY);
19
+ let result = pathfinder_1.PathFinder.compare(r1, r2);
22
20
  (0, chai_1.expect)(result).to.be.eql(r2);
23
- result = pathfinder_1.PathFinder.compare(r1, r2, sdk_gov_1.RAY * 2n);
24
- (0, chai_1.expect)(result).to.be.eql(r1);
25
21
  });
26
22
  it("has all expected connectors", () => {
27
23
  const pf = new pathfinder_1.PathFinder("", new ethers_1.providers.JsonRpcProvider(), "Mainnet");
@@ -39,18 +39,15 @@ export type MultiCallStructOutput = [string, string] & {
39
39
  export type RouterResultStruct = {
40
40
  amount: PromiseOrValue<BigNumberish>;
41
41
  minAmount: PromiseOrValue<BigNumberish>;
42
- gasUsage: PromiseOrValue<BigNumberish>;
43
42
  calls: MultiCallStruct[];
44
43
  };
45
44
  export type RouterResultStructOutput = [
46
- BigNumber,
47
45
  BigNumber,
48
46
  BigNumber,
49
47
  MultiCallStructOutput[]
50
48
  ] & {
51
49
  amount: BigNumber;
52
50
  minAmount: BigNumber;
53
- gasUsage: BigNumber;
54
51
  calls: MultiCallStructOutput[];
55
52
  };
56
53
  export type BalanceStruct = {
@@ -78,12 +75,12 @@ export interface IRouterV3Interface extends utils.Interface {
78
75
  "findBestClosePath(address,(address,uint256)[],(address,uint256)[],address[],uint256,(address,uint8,uint8)[],uint256,bool)": FunctionFragment;
79
76
  "findOneTokenPath(address,uint256,address,address,address[],uint256)": FunctionFragment;
80
77
  "findOpenStrategyPath(address,(address,uint256)[],(address,uint256)[],address,address[],uint256)": FunctionFragment;
81
- "getGasPriceTokenOutRAY(address)": FunctionFragment;
78
+ "futureRouter()": FunctionFragment;
82
79
  "isRouterConfigurator(address)": FunctionFragment;
83
80
  "tokenTypes(address)": FunctionFragment;
84
81
  "version()": FunctionFragment;
85
82
  };
86
- getFunction(nameOrSignatureOrTopic: "componentAddressById" | "findAllSwaps" | "findBestClosePath" | "findOneTokenPath" | "findOpenStrategyPath" | "getGasPriceTokenOutRAY" | "isRouterConfigurator" | "tokenTypes" | "version"): FunctionFragment;
83
+ getFunction(nameOrSignatureOrTopic: "componentAddressById" | "findAllSwaps" | "findBestClosePath" | "findOneTokenPath" | "findOpenStrategyPath" | "futureRouter" | "isRouterConfigurator" | "tokenTypes" | "version"): FunctionFragment;
87
84
  encodeFunctionData(functionFragment: "componentAddressById", values: [PromiseOrValue<BigNumberish>]): string;
88
85
  encodeFunctionData(functionFragment: "findAllSwaps", values: [SwapTaskStruct, PromiseOrValue<BigNumberish>]): string;
89
86
  encodeFunctionData(functionFragment: "findBestClosePath", values: [
@@ -112,7 +109,7 @@ export interface IRouterV3Interface extends utils.Interface {
112
109
  PromiseOrValue<string>[],
113
110
  PromiseOrValue<BigNumberish>
114
111
  ]): string;
115
- encodeFunctionData(functionFragment: "getGasPriceTokenOutRAY", values: [PromiseOrValue<string>]): string;
112
+ encodeFunctionData(functionFragment: "futureRouter", values?: undefined): string;
116
113
  encodeFunctionData(functionFragment: "isRouterConfigurator", values: [PromiseOrValue<string>]): string;
117
114
  encodeFunctionData(functionFragment: "tokenTypes", values: [PromiseOrValue<string>]): string;
118
115
  encodeFunctionData(functionFragment: "version", values?: undefined): string;
@@ -121,17 +118,19 @@ export interface IRouterV3Interface extends utils.Interface {
121
118
  decodeFunctionResult(functionFragment: "findBestClosePath", data: BytesLike): Result;
122
119
  decodeFunctionResult(functionFragment: "findOneTokenPath", data: BytesLike): Result;
123
120
  decodeFunctionResult(functionFragment: "findOpenStrategyPath", data: BytesLike): Result;
124
- decodeFunctionResult(functionFragment: "getGasPriceTokenOutRAY", data: BytesLike): Result;
121
+ decodeFunctionResult(functionFragment: "futureRouter", data: BytesLike): Result;
125
122
  decodeFunctionResult(functionFragment: "isRouterConfigurator", data: BytesLike): Result;
126
123
  decodeFunctionResult(functionFragment: "tokenTypes", data: BytesLike): Result;
127
124
  decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
128
125
  events: {
129
126
  "ResolverUpdate(uint8,uint8,uint8)": EventFragment;
130
- "RouterComponentUpdate(uint8,address)": EventFragment;
127
+ "RouterComponentUpdate(uint8,address,uint256)": EventFragment;
128
+ "SetFutureRouter(address)": EventFragment;
131
129
  "TokenTypeUpdate(address,uint8)": EventFragment;
132
130
  };
133
131
  getEvent(nameOrSignatureOrTopic: "ResolverUpdate"): EventFragment;
134
132
  getEvent(nameOrSignatureOrTopic: "RouterComponentUpdate"): EventFragment;
133
+ getEvent(nameOrSignatureOrTopic: "SetFutureRouter"): EventFragment;
135
134
  getEvent(nameOrSignatureOrTopic: "TokenTypeUpdate"): EventFragment;
136
135
  }
137
136
  export interface ResolverUpdateEventObject {
@@ -148,12 +147,21 @@ export type ResolverUpdateEventFilter = TypedEventFilter<ResolverUpdateEvent>;
148
147
  export interface RouterComponentUpdateEventObject {
149
148
  arg0: number;
150
149
  arg1: string;
150
+ version: BigNumber;
151
151
  }
152
152
  export type RouterComponentUpdateEvent = TypedEvent<[
153
153
  number,
154
- string
154
+ string,
155
+ BigNumber
155
156
  ], RouterComponentUpdateEventObject>;
156
157
  export type RouterComponentUpdateEventFilter = TypedEventFilter<RouterComponentUpdateEvent>;
158
+ export interface SetFutureRouterEventObject {
159
+ arg0: string;
160
+ }
161
+ export type SetFutureRouterEvent = TypedEvent<[
162
+ string
163
+ ], SetFutureRouterEventObject>;
164
+ export type SetFutureRouterEventFilter = TypedEventFilter<SetFutureRouterEvent>;
157
165
  export interface TokenTypeUpdateEventObject {
158
166
  tokenAddress: string;
159
167
  tt: number;
@@ -191,9 +199,7 @@ export interface IRouterV3 extends BaseContract {
191
199
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], leftoverBalances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
192
200
  from?: PromiseOrValue<string>;
193
201
  }): Promise<ContractTransaction>;
194
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
195
- gasPrice: BigNumber;
196
- }>;
202
+ futureRouter(overrides?: CallOverrides): Promise<[string]>;
197
203
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
198
204
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
199
205
  version(overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -211,23 +217,17 @@ export interface IRouterV3 extends BaseContract {
211
217
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], leftoverBalances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
212
218
  from?: PromiseOrValue<string>;
213
219
  }): Promise<ContractTransaction>;
214
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
220
+ futureRouter(overrides?: CallOverrides): Promise<string>;
215
221
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
216
222
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
217
223
  version(overrides?: CallOverrides): Promise<BigNumber>;
218
224
  callStatic: {
219
225
  componentAddressById(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
220
226
  findAllSwaps(swapTask: SwapTaskStruct, slippage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<RouterResultStructOutput[]>;
221
- findBestClosePath(creditAccount: PromiseOrValue<string>, expectedBalances: BalanceStruct[], leftoverBalances: BalanceStruct[], connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, pathOptions: PathOptionStruct[], iterations: PromiseOrValue<BigNumberish>, force: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[
222
- RouterResultStructOutput,
223
- BigNumber
224
- ] & {
225
- result: RouterResultStructOutput;
226
- gasPriceTargetRAY: BigNumber;
227
- }>;
227
+ findBestClosePath(creditAccount: PromiseOrValue<string>, expectedBalances: BalanceStruct[], leftoverBalances: BalanceStruct[], connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, pathOptions: PathOptionStruct[], iterations: PromiseOrValue<BigNumberish>, force: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<RouterResultStructOutput>;
228
228
  findOneTokenPath(tokenIn: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, tokenOut: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<RouterResultStructOutput>;
229
229
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], leftoverBalances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BalanceStructOutput[], RouterResultStructOutput]>;
230
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
230
+ futureRouter(overrides?: CallOverrides): Promise<string>;
231
231
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
232
232
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
233
233
  version(overrides?: CallOverrides): Promise<BigNumber>;
@@ -235,8 +235,10 @@ export interface IRouterV3 extends BaseContract {
235
235
  filters: {
236
236
  "ResolverUpdate(uint8,uint8,uint8)"(ttIn?: PromiseOrValue<BigNumberish> | null, ttOut?: PromiseOrValue<BigNumberish> | null, rc?: PromiseOrValue<BigNumberish> | null): ResolverUpdateEventFilter;
237
237
  ResolverUpdate(ttIn?: PromiseOrValue<BigNumberish> | null, ttOut?: PromiseOrValue<BigNumberish> | null, rc?: PromiseOrValue<BigNumberish> | null): ResolverUpdateEventFilter;
238
- "RouterComponentUpdate(uint8,address)"(arg0?: PromiseOrValue<BigNumberish> | null, arg1?: PromiseOrValue<string> | null): RouterComponentUpdateEventFilter;
239
- RouterComponentUpdate(arg0?: PromiseOrValue<BigNumberish> | null, arg1?: PromiseOrValue<string> | null): RouterComponentUpdateEventFilter;
238
+ "RouterComponentUpdate(uint8,address,uint256)"(arg0?: PromiseOrValue<BigNumberish> | null, arg1?: PromiseOrValue<string> | null, version?: null): RouterComponentUpdateEventFilter;
239
+ RouterComponentUpdate(arg0?: PromiseOrValue<BigNumberish> | null, arg1?: PromiseOrValue<string> | null, version?: null): RouterComponentUpdateEventFilter;
240
+ "SetFutureRouter(address)"(arg0?: PromiseOrValue<string> | null): SetFutureRouterEventFilter;
241
+ SetFutureRouter(arg0?: PromiseOrValue<string> | null): SetFutureRouterEventFilter;
240
242
  "TokenTypeUpdate(address,uint8)"(tokenAddress?: PromiseOrValue<string> | null, tt?: PromiseOrValue<BigNumberish> | null): TokenTypeUpdateEventFilter;
241
243
  TokenTypeUpdate(tokenAddress?: PromiseOrValue<string> | null, tt?: PromiseOrValue<BigNumberish> | null): TokenTypeUpdateEventFilter;
242
244
  };
@@ -254,7 +256,7 @@ export interface IRouterV3 extends BaseContract {
254
256
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], leftoverBalances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
255
257
  from?: PromiseOrValue<string>;
256
258
  }): Promise<BigNumber>;
257
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
259
+ futureRouter(overrides?: CallOverrides): Promise<BigNumber>;
258
260
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
259
261
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
260
262
  version(overrides?: CallOverrides): Promise<BigNumber>;
@@ -273,7 +275,7 @@ export interface IRouterV3 extends BaseContract {
273
275
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], leftoverBalances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
274
276
  from?: PromiseOrValue<string>;
275
277
  }): Promise<PopulatedTransaction>;
276
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
278
+ futureRouter(overrides?: CallOverrides): Promise<PopulatedTransaction>;
277
279
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
278
280
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
279
281
  version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -69,10 +69,6 @@ export declare class IRouterV3__factory {
69
69
  readonly name: "minAmount";
70
70
  readonly type: "uint256";
71
71
  readonly internalType: "uint256";
72
- }, {
73
- readonly name: "gasUsage";
74
- readonly type: "uint256";
75
- readonly internalType: "uint256";
76
72
  }, {
77
73
  readonly name: "calls";
78
74
  readonly type: "tuple[]";
@@ -168,10 +164,6 @@ export declare class IRouterV3__factory {
168
164
  readonly name: "minAmount";
169
165
  readonly type: "uint256";
170
166
  readonly internalType: "uint256";
171
- }, {
172
- readonly name: "gasUsage";
173
- readonly type: "uint256";
174
- readonly internalType: "uint256";
175
167
  }, {
176
168
  readonly name: "calls";
177
169
  readonly type: "tuple[]";
@@ -186,10 +178,6 @@ export declare class IRouterV3__factory {
186
178
  readonly internalType: "bytes";
187
179
  }];
188
180
  }];
189
- }, {
190
- readonly name: "gasPriceTargetRAY";
191
- readonly type: "uint256";
192
- readonly internalType: "uint256";
193
181
  }];
194
182
  readonly stateMutability: "nonpayable";
195
183
  }, {
@@ -232,10 +220,6 @@ export declare class IRouterV3__factory {
232
220
  readonly name: "minAmount";
233
221
  readonly type: "uint256";
234
222
  readonly internalType: "uint256";
235
- }, {
236
- readonly name: "gasUsage";
237
- readonly type: "uint256";
238
- readonly internalType: "uint256";
239
223
  }, {
240
224
  readonly name: "calls";
241
225
  readonly type: "tuple[]";
@@ -323,10 +307,6 @@ export declare class IRouterV3__factory {
323
307
  readonly name: "minAmount";
324
308
  readonly type: "uint256";
325
309
  readonly internalType: "uint256";
326
- }, {
327
- readonly name: "gasUsage";
328
- readonly type: "uint256";
329
- readonly internalType: "uint256";
330
310
  }, {
331
311
  readonly name: "calls";
332
312
  readonly type: "tuple[]";
@@ -345,17 +325,13 @@ export declare class IRouterV3__factory {
345
325
  readonly stateMutability: "nonpayable";
346
326
  }, {
347
327
  readonly type: "function";
348
- readonly name: "getGasPriceTokenOutRAY";
349
- readonly inputs: readonly [{
350
- readonly name: "token";
328
+ readonly name: "futureRouter";
329
+ readonly inputs: readonly [];
330
+ readonly outputs: readonly [{
331
+ readonly name: "";
351
332
  readonly type: "address";
352
333
  readonly internalType: "address";
353
334
  }];
354
- readonly outputs: readonly [{
355
- readonly name: "gasPrice";
356
- readonly type: "uint256";
357
- readonly internalType: "uint256";
358
- }];
359
335
  readonly stateMutability: "view";
360
336
  }, {
361
337
  readonly type: "function";
@@ -428,6 +404,21 @@ export declare class IRouterV3__factory {
428
404
  readonly type: "address";
429
405
  readonly indexed: true;
430
406
  readonly internalType: "address";
407
+ }, {
408
+ readonly name: "version";
409
+ readonly type: "uint256";
410
+ readonly indexed: false;
411
+ readonly internalType: "uint256";
412
+ }];
413
+ readonly anonymous: false;
414
+ }, {
415
+ readonly type: "event";
416
+ readonly name: "SetFutureRouter";
417
+ readonly inputs: readonly [{
418
+ readonly name: "";
419
+ readonly type: "address";
420
+ readonly indexed: true;
421
+ readonly internalType: "address";
431
422
  }];
432
423
  readonly anonymous: false;
433
424
  }, {
@@ -93,11 +93,6 @@ const _abi = [
93
93
  type: "uint256",
94
94
  internalType: "uint256",
95
95
  },
96
- {
97
- name: "gasUsage",
98
- type: "uint256",
99
- internalType: "uint256",
100
- },
101
96
  {
102
97
  name: "calls",
103
98
  type: "tuple[]",
@@ -222,11 +217,6 @@ const _abi = [
222
217
  type: "uint256",
223
218
  internalType: "uint256",
224
219
  },
225
- {
226
- name: "gasUsage",
227
- type: "uint256",
228
- internalType: "uint256",
229
- },
230
220
  {
231
221
  name: "calls",
232
222
  type: "tuple[]",
@@ -246,11 +236,6 @@ const _abi = [
246
236
  },
247
237
  ],
248
238
  },
249
- {
250
- name: "gasPriceTargetRAY",
251
- type: "uint256",
252
- internalType: "uint256",
253
- },
254
239
  ],
255
240
  stateMutability: "nonpayable",
256
241
  },
@@ -305,11 +290,6 @@ const _abi = [
305
290
  type: "uint256",
306
291
  internalType: "uint256",
307
292
  },
308
- {
309
- name: "gasUsage",
310
- type: "uint256",
311
- internalType: "uint256",
312
- },
313
293
  {
314
294
  name: "calls",
315
295
  type: "tuple[]",
@@ -424,11 +404,6 @@ const _abi = [
424
404
  type: "uint256",
425
405
  internalType: "uint256",
426
406
  },
427
- {
428
- name: "gasUsage",
429
- type: "uint256",
430
- internalType: "uint256",
431
- },
432
407
  {
433
408
  name: "calls",
434
409
  type: "tuple[]",
@@ -453,21 +428,15 @@ const _abi = [
453
428
  },
454
429
  {
455
430
  type: "function",
456
- name: "getGasPriceTokenOutRAY",
457
- inputs: [
431
+ name: "futureRouter",
432
+ inputs: [],
433
+ outputs: [
458
434
  {
459
- name: "token",
435
+ name: "",
460
436
  type: "address",
461
437
  internalType: "address",
462
438
  },
463
439
  ],
464
- outputs: [
465
- {
466
- name: "gasPrice",
467
- type: "uint256",
468
- internalType: "uint256",
469
- },
470
- ],
471
440
  stateMutability: "view",
472
441
  },
473
442
  {
@@ -562,6 +531,25 @@ const _abi = [
562
531
  indexed: true,
563
532
  internalType: "address",
564
533
  },
534
+ {
535
+ name: "version",
536
+ type: "uint256",
537
+ indexed: false,
538
+ internalType: "uint256",
539
+ },
540
+ ],
541
+ anonymous: false,
542
+ },
543
+ {
544
+ type: "event",
545
+ name: "SetFutureRouter",
546
+ inputs: [
547
+ {
548
+ name: "",
549
+ type: "address",
550
+ indexed: true,
551
+ internalType: "address",
552
+ },
565
553
  ],
566
554
  anonymous: false,
567
555
  },
@@ -13,7 +13,7 @@ export declare class RedstonePriceFeed__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): RedstonePriceFeed;
15
15
  connect(signer: Signer): RedstonePriceFeed__factory;
16
- static readonly bytecode = "0x6102206040523480156200001257600080fd5b50604051620023d9380380620023d9833981016040819052620000359162000227565b60ff81161580620000495750600a8160ff16115b156200006857604051630d211b8f60e31b815260040160405180910390fd5b6000805b600a8110156200012f5760008482600a81106200008d576200008d620002e6565b60200201516001600160a01b0316146200012657600181015b600a8110156200011e578482600a8110620000c557620000c5620002e6565b60200201516001600160a01b03168582600a8110620000e857620000e8620002e6565b60200201516001600160a01b031603620001155760405163495df29160e11b815260040160405180910390fd5b600101620000a6565b508160010191505b6001016200006c565b508160ff168110156200015557604051630416f49d60e21b815260040160405180910390fd5b506001600160a01b03938416608090815260a09384528251851660c09081526020840151861660e0908152604085015187166101009081526060860151881661012090815293860151881661014052958501518716610160529084015186166101805283015185166101a0529282015184166101c0529101519091166101e05260ff1661020052620002fc565b80516001600160a01b0381168114620001fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff81168114620001fa57600080fd5b6000806000806101a085870312156200023f57600080fd5b6200024a85620001e2565b9350602080860151935086605f8701126200026457600080fd5b60405161014081016001600160401b03811182821017156200028a576200028a620001ff565b60405280610180880189811115620002a157600080fd5b604089015b81811015620002c857620002ba81620001e2565b8352918401918401620002a6565b50829550620002d78162000215565b94505050505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051611fd762000402600039600081816104f3015281816113c7015281816116be015261185901526000818161043201526109390152600081816102fa01526108de01526000818161025c01526108830152600081816103f801526108280152600081816104b401526107cd01526000818161036e015261077201526000818161021001526107170152600081816103d101526106bc0152600081816103320152610661015260008181610395015261060601526000818161029d0152610ca301526000818161051c0152610b430152611fd76000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638736ec47116100f9578063d62ada1111610097578063f50b2efe11610071578063f50b2efe146104de578063f90c4924146104f1578063fc0c546a14610517578063feaf968c1461053e57600080fd5b8063d62ada1114610497578063dcdacf89146104af578063e75aeec8146104d657600080fd5b8063b24ebfcc116100d3578063b24ebfcc1461041a578063bc48da9e1461042d578063bdbe420414610454578063c274583a1461048f57600080fd5b80638736ec47146103b75780638dba0538146103cc5780639e0153d4146103f357600080fd5b80634ee1a1e6116101665780635decfe37116101405780635decfe371461032d5780637284e416146103545780637ed0185f14610369578063816f444a1461039057600080fd5b80634ee1a1e6146102f557806354fd4d501461031c57806355a547d51461032557600080fd5b8063313ce567116101a2578063313ce5671461027e578063370c826b146102985780633ce142f5146102cd5780633fd0875f146102e057600080fd5b8063053f14da146101c957806309c032ba1461020b5780631ac23b3d14610257575b600080fd5b6000546101e5906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610286600881565b60405160ff9091168152602001610202565b6102bf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610202565b6102866102db366004611a60565b610598565b6102e8600f81565b6040516102029190611a96565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf61012c81565b6102bf6109dc565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61035c610b3f565b6040516102029190611afb565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6103ca6103c5366004611b4c565b610c16565b005b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf610428366004611c3c565b610da2565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60005461047990700100000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff9091168152602001610202565b61035c610db3565b61049f600081565b6040519015158152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61049f600181565b6103ca6104ec366004611cd6565b610de7565b7f0000000000000000000000000000000000000000000000000000000000000000610286565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60008054604080518381526fffffffffffffffffffffffffffffffff8316602082015290810183905270010000000000000000000000000000000090910464ffffffffff166060820152608081019190915260a001610202565b600073ffffffffffffffffffffffffffffffffffffffff8216610604576040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f57506000919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106ba57506001919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361071557506002919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077057506003919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cb57506004919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082657506005919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088157506006919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108dc57506007919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361093757506008919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361099257506009919050565b6040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105fb565b6000806109e7610e52565b905060006109f482610f87565b61ffff16905080600003610a34576040517f8552ff3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3f600283611d1e565b915060005b81811015610b39576000610a5784610fda565b9050600080610a67606887611d1e565b90506000610a758236611d31565b9050803592508265ffffffffffff16600003610abd576040517f336dc9d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600003610ad5578265ffffffffffff169750610b16565b878365ffffffffffff1614610b16576040517fd9d1f46500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b208488611d1e565b9650505050508080610b3190611d44565b915050610a44565b50505090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bf29190810190611dc2565b604051602001610c029190611e3e565b604051602081830303815290604052905090565b6000610c2482840184611e7f565b50600054909150700100000000000000000000000000000000900464ffffffffff168111610c5157505050565b610c5a81611016565b600080547fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000064ffffffffff841602178155610cc77f0000000000000000000000000000000000000000000000000000000000000000611072565b905080600003610d03576040517f53b798e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546fffffffffffffffffffffffffffffffff168114610d9c57610d27816110e2565b600080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790556040518181527f1a15ab7124a4e1ce00837351261771caf1691cd7d85ed3a0ac3157a1ee1a38059060200160405180910390a15b50505050565b6000610dad82611188565b92915050565b60606040517f608b530700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df56103e883611f33565b600054909150700100000000000000000000000000000000900464ffffffffff168114610e4e576040517f13f5f29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006602ed57011e00007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013581161480610eba576040517fe7764c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660291115610ef7576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd736013560006009610f30600362ffffff8516611d1e565b610f3a9190611d1e565b905036610f48600283611d1e565b1115610f80576040517fc30a7bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b600080610f95602084611d1e565b905036811115610fd1576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b36033592915050565b6000806000610fe884611193565b9092509050604e610ffa826020611d1e565b6110049084611f47565b61100e9190611d1e565b949350505050565b8042101561106557603c61102a4283611d31565b1115611062576040517f36764ab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b61025861102a8242611d31565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110ab576110ab611f5e565b6020026020010181815250506110c0816111ea565b6000815181106110d2576110d2611f5e565b6020026020010151915050919050565b60006fffffffffffffffffffffffffffffffff821115611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016105fb565b5090565b6000610dad826111f5565b6000808080806111a4604187611d1e565b905060006111bd6111b6602084611d1e565b36906112c9565b8035945090506111ce8160036112c9565b62ffffff9490941697933563ffffffff16965092945050505050565b6060610dad826112d5565b60008151600003611232576040517f9e198af900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61123b826114e1565b60006002835161124b9190611f33565b90506002835161125b9190611f8d565b6000036112b75760006112aa84611273600185611d31565b8151811061128357611283611f5e565b602002602001015185848151811061129d5761129d611f5e565b6020026020010151611529565b905061100e600282611f33565b8281815181106110d2576110d2611f5e565b6000610f808284611d31565b60606000825167ffffffffffffffff8111156112f3576112f3611bbe565b60405190808252806020026020018201604052801561131c578160200160208202803683370190505b5090506000835167ffffffffffffffff81111561133b5761133b611bbe565b604051908082528060200260200182016040528015611364578160200160208202803683370190505b5090506000845167ffffffffffffffff81111561138357611383611bbe565b6040519080825280602002602001820160405280156113b657816020015b60608152602001906001900390816113a15790505b50905060005b855181101561145b577f000000000000000000000000000000000000000000000000000000000000000060ff1667ffffffffffffffff81111561140157611401611bbe565b60405190808252806020026020018201604052801561142a578160200160208202803683370190505b5082828151811061143d5761143d611f5e565b6020026020010181905250808061145390611d44565b9150506113bc565b506000611466610e52565b9050600061147382610f87565b61ffff169050611484600283611d1e565b60405190925060005b828110156114ca5760006114a48a89898989611535565b90506114b08186611d1e565b9450826040525080806114c290611d44565b91505061148d565b506114d5848761180b565b98975050505050505050565b8051602082016020820281019150805b82811015610d9c57815b81811015611520578151815180821015611516578084528183525b50506020016114fb565b506020016114f1565b6000610f808284611d1e565b60008060008061154485611193565b909250905060008080606081600d611567611560602089611d1e565b899061195f565b6115719190611d1e565b905060006115836111b660688d611d1e565b905060006115a08361159660418f611d1e565b6111b69190611d1e565b90506115ac83826115bf565b9350826020850120945081359650611601565b604080518381526020818501810190925260009101838382377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0019392505050565b6116128765ffffffffffff16610de7565b6116268561162160418f611d1e565b61196b565b955061163186610598565b60ff1699505050505050505060008060005b848110156117d857611656888583611a01565b909350915060005b8c518110156117c5578c818151811061167957611679611f5e565b602002602001015184036117b35760008b828151811061169b5761169b611f5e565b602002602001015190506116b481896001901b16151590565b1580156116fc57507f000000000000000000000000000000000000000000000000000000000000000060ff168d83815181106116f2576116f2611f5e565b6020026020010151105b156117ad578c828151811061171357611713611f5e565b60200260200101805180919061172890611d44565b81525050838b838151811061173f5761173f611f5e565b602002602001015160018f858151811061175b5761175b611f5e565b602002602001015161176d9190611d31565b8151811061177d5761177d611f5e565b60209081029190910101526001881b81178c83815181106117a0576117a0611f5e565b6020026020010181815250505b506117c5565b806117bd81611d44565b91505061165e565b50806117d081611d44565b915050611643565b505050816020826117e99190611d1e565b6117f39190611f47565b6117fe90604e611d1e565b9998505050505050505050565b60606000835167ffffffffffffffff81111561182957611829611bbe565b604051908082528060200260200182016040528015611852578160200160208202803683370190505b50905060ff7f00000000000000000000000000000000000000000000000000000000000000001660005b8551811015611955578185828151811061189857611898611f5e565b602002602001015110156118fe578481815181106118b8576118b8611f5e565b6020026020010151826040517f2b13aef50000000000000000000000000000000000000000000000000000000081526004016105fb929190918252602082015260400190565b600061192287838151811061191557611915611f5e565b6020026020010151610da2565b90508084838151811061193757611937611f5e565b6020908102919091010152508061194d81611d44565b91505061187c565b5090949350505050565b6000610f808284611f47565b60408051600080825260208083018085528690523685900380850135831a948401859052803560608501819052910135608084018190529193909260019060a0016020604051602081039080840390855afa1580156119ce573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00151979650505050505050565b60008080611a10604e87611d1e565b90506000611a3d611a36611a25602089611d1e565b611a30886001611d1e565b9061195f565b8390611529565b90506000611a4b36836112c9565b80359960209091013598509650505050505050565b600060208284031215611a7257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f8057600080fd5b6020810160138310611ad1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60005b83811015611af2578181015183820152602001611ada565b50506000910152565b6020815260008251806020840152611b1a816040850160208701611ad7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060208385031215611b5f57600080fd5b823567ffffffffffffffff80821115611b7757600080fd5b818501915085601f830112611b8b57600080fd5b813581811115611b9a57600080fd5b866020828501011115611bac57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c3457611c34611bbe565b604052919050565b60006020808385031215611c4f57600080fd5b823567ffffffffffffffff80821115611c6757600080fd5b818501915085601f830112611c7b57600080fd5b813581811115611c8d57611c8d611bbe565b8060051b9150611c9e848301611bed565b8181529183018401918481019088841115611cb857600080fd5b938501935b838510156114d557843582529385019390850190611cbd565b600060208284031215611ce857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610dad57610dad611cef565b81810381811115610dad57610dad611cef565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d7557611d75611cef565b5060010190565b600067ffffffffffffffff821115611d9657611d96611bbe565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215611dd457600080fd5b815167ffffffffffffffff811115611deb57600080fd5b8201601f81018413611dfc57600080fd5b8051611e0f611e0a82611d7c565b611bed565b818152856020838501011115611e2457600080fd5b611e35826020830160208601611ad7565b95945050505050565b60008251611e50818460208701611ad7565b7f202f205553442052656473746f6e652070726963652066656564000000000000920191825250601a01919050565b60008060408385031215611e9257600080fd5b82359150602083013567ffffffffffffffff811115611eb057600080fd5b8301601f81018513611ec157600080fd5b8035611ecf611e0a82611d7c565b818152866020838501011115611ee457600080fd5b816020840160208301376000602083830101528093505050509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611f4257611f42611f04565b500490565b8082028115828204841417610dad57610dad611cef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082611f9c57611f9c611f04565b50069056fea2646970667358221220f70d881468a2a162d972ba3462bec5df846412ea1fc5c3701f1d77837836302364736f6c63430008110033";
16
+ static readonly bytecode = "0x6102206040523480156200001257600080fd5b50604051620023d9380380620023d9833981016040819052620000359162000227565b60ff81161580620000495750600a8160ff16115b156200006857604051630d211b8f60e31b815260040160405180910390fd5b6000805b600a8110156200012f5760008482600a81106200008d576200008d620002e6565b60200201516001600160a01b0316146200012657600181015b600a8110156200011e578482600a8110620000c557620000c5620002e6565b60200201516001600160a01b03168582600a8110620000e857620000e8620002e6565b60200201516001600160a01b031603620001155760405163495df29160e11b815260040160405180910390fd5b600101620000a6565b508160010191505b6001016200006c565b508160ff168110156200015557604051630416f49d60e21b815260040160405180910390fd5b506001600160a01b03938416608090815260a09384528251851660c09081526020840151861660e0908152604085015187166101009081526060860151881661012090815293860151881661014052958501518716610160529084015186166101805283015185166101a0529282015184166101c0529101519091166101e05260ff1661020052620002fc565b80516001600160a01b0381168114620001fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff81168114620001fa57600080fd5b6000806000806101a085870312156200023f57600080fd5b6200024a85620001e2565b9350602080860151935086605f8701126200026457600080fd5b60405161014081016001600160401b03811182821017156200028a576200028a620001ff565b60405280610180880189811115620002a157600080fd5b604089015b81811015620002c857620002ba81620001e2565b8352918401918401620002a6565b50829550620002d78162000215565b94505050505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051611fd762000402600039600081816104f3015281816113c7015281816116be015261185901526000818161043201526109390152600081816102fa01526108de01526000818161025c01526108830152600081816103f801526108280152600081816104b401526107cd01526000818161036e015261077201526000818161021001526107170152600081816103d101526106bc0152600081816103320152610661015260008181610395015261060601526000818161029d0152610ca301526000818161051c0152610b430152611fd76000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638736ec47116100f9578063d62ada1111610097578063f50b2efe11610071578063f50b2efe146104de578063f90c4924146104f1578063fc0c546a14610517578063feaf968c1461053e57600080fd5b8063d62ada1114610497578063dcdacf89146104af578063e75aeec8146104d657600080fd5b8063b24ebfcc116100d3578063b24ebfcc1461041a578063bc48da9e1461042d578063bdbe420414610454578063c274583a1461048f57600080fd5b80638736ec47146103b75780638dba0538146103cc5780639e0153d4146103f357600080fd5b80634ee1a1e6116101665780635decfe37116101405780635decfe371461032d5780637284e416146103545780637ed0185f14610369578063816f444a1461039057600080fd5b80634ee1a1e6146102f557806354fd4d501461031c57806355a547d51461032557600080fd5b8063313ce567116101a2578063313ce5671461027e578063370c826b146102985780633ce142f5146102cd5780633fd0875f146102e057600080fd5b8063053f14da146101c957806309c032ba1461020b5780631ac23b3d14610257575b600080fd5b6000546101e5906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610286600881565b60405160ff9091168152602001610202565b6102bf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610202565b6102866102db366004611a60565b610598565b6102e8600f81565b6040516102029190611a96565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf61012c81565b6102bf6109dc565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61035c610b3f565b6040516102029190611afb565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6103ca6103c5366004611b4c565b610c16565b005b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf610428366004611c3c565b610da2565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60005461047990700100000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff9091168152602001610202565b61035c610db3565b61049f600081565b6040519015158152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61049f600181565b6103ca6104ec366004611cd6565b610de7565b7f0000000000000000000000000000000000000000000000000000000000000000610286565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60008054604080518381526fffffffffffffffffffffffffffffffff8316602082015290810183905270010000000000000000000000000000000090910464ffffffffff166060820152608081019190915260a001610202565b600073ffffffffffffffffffffffffffffffffffffffff8216610604576040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f57506000919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106ba57506001919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361071557506002919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077057506003919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cb57506004919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082657506005919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088157506006919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108dc57506007919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361093757506008919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361099257506009919050565b6040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105fb565b6000806109e7610e52565b905060006109f482610f87565b61ffff16905080600003610a34576040517f8552ff3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3f600283611d1e565b915060005b81811015610b39576000610a5784610fda565b9050600080610a67606887611d1e565b90506000610a758236611d31565b9050803592508265ffffffffffff16600003610abd576040517f336dc9d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600003610ad5578265ffffffffffff169750610b16565b878365ffffffffffff1614610b16576040517fd9d1f46500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b208488611d1e565b9650505050508080610b3190611d44565b915050610a44565b50505090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bf29190810190611dc2565b604051602001610c029190611e3e565b604051602081830303815290604052905090565b6000610c2482840184611e7f565b50600054909150700100000000000000000000000000000000900464ffffffffff168111610c5157505050565b610c5a81611016565b600080547fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000064ffffffffff841602178155610cc77f0000000000000000000000000000000000000000000000000000000000000000611072565b905080600003610d03576040517f53b798e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546fffffffffffffffffffffffffffffffff168114610d9c57610d27816110e2565b600080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790556040518181527f1a15ab7124a4e1ce00837351261771caf1691cd7d85ed3a0ac3157a1ee1a38059060200160405180910390a15b50505050565b6000610dad82611188565b92915050565b60606040517f608b530700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df56103e883611f33565b600054909150700100000000000000000000000000000000900464ffffffffff168114610e4e576040517f13f5f29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006602ed57011e00007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013581161480610eba576040517fe7764c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660291115610ef7576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd736013560006009610f30600362ffffff8516611d1e565b610f3a9190611d1e565b905036610f48600283611d1e565b1115610f80576040517fc30a7bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b600080610f95602084611d1e565b905036811115610fd1576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b36033592915050565b6000806000610fe884611193565b9092509050604e610ffa826020611d1e565b6110049084611f47565b61100e9190611d1e565b949350505050565b8042101561106557603c61102a4283611d31565b1115611062576040517f36764ab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b61025861102a8242611d31565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110ab576110ab611f5e565b6020026020010181815250506110c0816111ea565b6000815181106110d2576110d2611f5e565b6020026020010151915050919050565b60006fffffffffffffffffffffffffffffffff821115611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016105fb565b5090565b6000610dad826111f5565b6000808080806111a4604187611d1e565b905060006111bd6111b6602084611d1e565b36906112c9565b8035945090506111ce8160036112c9565b62ffffff9490941697933563ffffffff16965092945050505050565b6060610dad826112d5565b60008151600003611232576040517f9e198af900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61123b826114e1565b60006002835161124b9190611f33565b90506002835161125b9190611f8d565b6000036112b75760006112aa84611273600185611d31565b8151811061128357611283611f5e565b602002602001015185848151811061129d5761129d611f5e565b6020026020010151611529565b905061100e600282611f33565b8281815181106110d2576110d2611f5e565b6000610f808284611d31565b60606000825167ffffffffffffffff8111156112f3576112f3611bbe565b60405190808252806020026020018201604052801561131c578160200160208202803683370190505b5090506000835167ffffffffffffffff81111561133b5761133b611bbe565b604051908082528060200260200182016040528015611364578160200160208202803683370190505b5090506000845167ffffffffffffffff81111561138357611383611bbe565b6040519080825280602002602001820160405280156113b657816020015b60608152602001906001900390816113a15790505b50905060005b855181101561145b577f000000000000000000000000000000000000000000000000000000000000000060ff1667ffffffffffffffff81111561140157611401611bbe565b60405190808252806020026020018201604052801561142a578160200160208202803683370190505b5082828151811061143d5761143d611f5e565b6020026020010181905250808061145390611d44565b9150506113bc565b506000611466610e52565b9050600061147382610f87565b61ffff169050611484600283611d1e565b60405190925060005b828110156114ca5760006114a48a89898989611535565b90506114b08186611d1e565b9450826040525080806114c290611d44565b91505061148d565b506114d5848761180b565b98975050505050505050565b8051602082016020820281019150805b82811015610d9c57815b81811015611520578151815180821015611516578084528183525b50506020016114fb565b506020016114f1565b6000610f808284611d1e565b60008060008061154485611193565b909250905060008080606081600d611567611560602089611d1e565b899061195f565b6115719190611d1e565b905060006115836111b660688d611d1e565b905060006115a08361159660418f611d1e565b6111b69190611d1e565b90506115ac83826115bf565b9350826020850120945081359650611601565b604080518381526020818501810190925260009101838382377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0019392505050565b6116128765ffffffffffff16610de7565b6116268561162160418f611d1e565b61196b565b955061163186610598565b60ff1699505050505050505060008060005b848110156117d857611656888583611a01565b909350915060005b8c518110156117c5578c818151811061167957611679611f5e565b602002602001015184036117b35760008b828151811061169b5761169b611f5e565b602002602001015190506116b481896001901b16151590565b1580156116fc57507f000000000000000000000000000000000000000000000000000000000000000060ff168d83815181106116f2576116f2611f5e565b6020026020010151105b156117ad578c828151811061171357611713611f5e565b60200260200101805180919061172890611d44565b81525050838b838151811061173f5761173f611f5e565b602002602001015160018f858151811061175b5761175b611f5e565b602002602001015161176d9190611d31565b8151811061177d5761177d611f5e565b60209081029190910101526001881b81178c83815181106117a0576117a0611f5e565b6020026020010181815250505b506117c5565b806117bd81611d44565b91505061165e565b50806117d081611d44565b915050611643565b505050816020826117e99190611d1e565b6117f39190611f47565b6117fe90604e611d1e565b9998505050505050505050565b60606000835167ffffffffffffffff81111561182957611829611bbe565b604051908082528060200260200182016040528015611852578160200160208202803683370190505b50905060ff7f00000000000000000000000000000000000000000000000000000000000000001660005b8551811015611955578185828151811061189857611898611f5e565b602002602001015110156118fe578481815181106118b8576118b8611f5e565b6020026020010151826040517f2b13aef50000000000000000000000000000000000000000000000000000000081526004016105fb929190918252602082015260400190565b600061192287838151811061191557611915611f5e565b6020026020010151610da2565b90508084838151811061193757611937611f5e565b6020908102919091010152508061194d81611d44565b91505061187c565b5090949350505050565b6000610f808284611f47565b60408051600080825260208083018085528690523685900380850135831a948401859052803560608501819052910135608084018190529193909260019060a0016020604051602081039080840390855afa1580156119ce573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00151979650505050505050565b60008080611a10604e87611d1e565b90506000611a3d611a36611a25602089611d1e565b611a30886001611d1e565b9061195f565b8390611529565b90506000611a4b36836112c9565b80359960209091013598509650505050505050565b600060208284031215611a7257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f8057600080fd5b6020810160138310611ad1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60005b83811015611af2578181015183820152602001611ada565b50506000910152565b6020815260008251806020840152611b1a816040850160208701611ad7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060208385031215611b5f57600080fd5b823567ffffffffffffffff80821115611b7757600080fd5b818501915085601f830112611b8b57600080fd5b813581811115611b9a57600080fd5b866020828501011115611bac57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c3457611c34611bbe565b604052919050565b60006020808385031215611c4f57600080fd5b823567ffffffffffffffff80821115611c6757600080fd5b818501915085601f830112611c7b57600080fd5b813581811115611c8d57611c8d611bbe565b8060051b9150611c9e848301611bed565b8181529183018401918481019088841115611cb857600080fd5b938501935b838510156114d557843582529385019390850190611cbd565b600060208284031215611ce857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610dad57610dad611cef565b81810381811115610dad57610dad611cef565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d7557611d75611cef565b5060010190565b600067ffffffffffffffff821115611d9657611d96611bbe565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215611dd457600080fd5b815167ffffffffffffffff811115611deb57600080fd5b8201601f81018413611dfc57600080fd5b8051611e0f611e0a82611d7c565b611bed565b818152856020838501011115611e2457600080fd5b611e35826020830160208601611ad7565b95945050505050565b60008251611e50818460208701611ad7565b7f202f205553442052656473746f6e652070726963652066656564000000000000920191825250601a01919050565b60008060408385031215611e9257600080fd5b82359150602083013567ffffffffffffffff811115611eb057600080fd5b8301601f81018513611ec157600080fd5b8035611ecf611e0a82611d7c565b818152866020838501011115611ee457600080fd5b816020840160208301376000602083830101528093505050509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611f4257611f42611f04565b500490565b8082028115828204841417610dad57610dad611cef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082611f9c57611f9c611f04565b50069056fea2646970667358221220e6b78ee27b57b79d2c8834dd9f8705b8d4f358d342b2ccc97cc20f2f298fdb5e64736f6c63430008110033";
17
17
  static readonly abi: readonly [{
18
18
  readonly type: "constructor";
19
19
  readonly inputs: readonly [{
@@ -554,7 +554,7 @@ const _abi = [
554
554
  ],
555
555
  },
556
556
  ];
557
- const _bytecode = "0x6102206040523480156200001257600080fd5b50604051620023d9380380620023d9833981016040819052620000359162000227565b60ff81161580620000495750600a8160ff16115b156200006857604051630d211b8f60e31b815260040160405180910390fd5b6000805b600a8110156200012f5760008482600a81106200008d576200008d620002e6565b60200201516001600160a01b0316146200012657600181015b600a8110156200011e578482600a8110620000c557620000c5620002e6565b60200201516001600160a01b03168582600a8110620000e857620000e8620002e6565b60200201516001600160a01b031603620001155760405163495df29160e11b815260040160405180910390fd5b600101620000a6565b508160010191505b6001016200006c565b508160ff168110156200015557604051630416f49d60e21b815260040160405180910390fd5b506001600160a01b03938416608090815260a09384528251851660c09081526020840151861660e0908152604085015187166101009081526060860151881661012090815293860151881661014052958501518716610160529084015186166101805283015185166101a0529282015184166101c0529101519091166101e05260ff1661020052620002fc565b80516001600160a01b0381168114620001fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff81168114620001fa57600080fd5b6000806000806101a085870312156200023f57600080fd5b6200024a85620001e2565b9350602080860151935086605f8701126200026457600080fd5b60405161014081016001600160401b03811182821017156200028a576200028a620001ff565b60405280610180880189811115620002a157600080fd5b604089015b81811015620002c857620002ba81620001e2565b8352918401918401620002a6565b50829550620002d78162000215565b94505050505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051611fd762000402600039600081816104f3015281816113c7015281816116be015261185901526000818161043201526109390152600081816102fa01526108de01526000818161025c01526108830152600081816103f801526108280152600081816104b401526107cd01526000818161036e015261077201526000818161021001526107170152600081816103d101526106bc0152600081816103320152610661015260008181610395015261060601526000818161029d0152610ca301526000818161051c0152610b430152611fd76000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638736ec47116100f9578063d62ada1111610097578063f50b2efe11610071578063f50b2efe146104de578063f90c4924146104f1578063fc0c546a14610517578063feaf968c1461053e57600080fd5b8063d62ada1114610497578063dcdacf89146104af578063e75aeec8146104d657600080fd5b8063b24ebfcc116100d3578063b24ebfcc1461041a578063bc48da9e1461042d578063bdbe420414610454578063c274583a1461048f57600080fd5b80638736ec47146103b75780638dba0538146103cc5780639e0153d4146103f357600080fd5b80634ee1a1e6116101665780635decfe37116101405780635decfe371461032d5780637284e416146103545780637ed0185f14610369578063816f444a1461039057600080fd5b80634ee1a1e6146102f557806354fd4d501461031c57806355a547d51461032557600080fd5b8063313ce567116101a2578063313ce5671461027e578063370c826b146102985780633ce142f5146102cd5780633fd0875f146102e057600080fd5b8063053f14da146101c957806309c032ba1461020b5780631ac23b3d14610257575b600080fd5b6000546101e5906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610286600881565b60405160ff9091168152602001610202565b6102bf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610202565b6102866102db366004611a60565b610598565b6102e8600f81565b6040516102029190611a96565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf61012c81565b6102bf6109dc565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61035c610b3f565b6040516102029190611afb565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6103ca6103c5366004611b4c565b610c16565b005b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf610428366004611c3c565b610da2565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60005461047990700100000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff9091168152602001610202565b61035c610db3565b61049f600081565b6040519015158152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61049f600181565b6103ca6104ec366004611cd6565b610de7565b7f0000000000000000000000000000000000000000000000000000000000000000610286565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60008054604080518381526fffffffffffffffffffffffffffffffff8316602082015290810183905270010000000000000000000000000000000090910464ffffffffff166060820152608081019190915260a001610202565b600073ffffffffffffffffffffffffffffffffffffffff8216610604576040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f57506000919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106ba57506001919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361071557506002919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077057506003919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cb57506004919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082657506005919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088157506006919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108dc57506007919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361093757506008919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361099257506009919050565b6040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105fb565b6000806109e7610e52565b905060006109f482610f87565b61ffff16905080600003610a34576040517f8552ff3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3f600283611d1e565b915060005b81811015610b39576000610a5784610fda565b9050600080610a67606887611d1e565b90506000610a758236611d31565b9050803592508265ffffffffffff16600003610abd576040517f336dc9d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600003610ad5578265ffffffffffff169750610b16565b878365ffffffffffff1614610b16576040517fd9d1f46500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b208488611d1e565b9650505050508080610b3190611d44565b915050610a44565b50505090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bf29190810190611dc2565b604051602001610c029190611e3e565b604051602081830303815290604052905090565b6000610c2482840184611e7f565b50600054909150700100000000000000000000000000000000900464ffffffffff168111610c5157505050565b610c5a81611016565b600080547fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000064ffffffffff841602178155610cc77f0000000000000000000000000000000000000000000000000000000000000000611072565b905080600003610d03576040517f53b798e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546fffffffffffffffffffffffffffffffff168114610d9c57610d27816110e2565b600080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790556040518181527f1a15ab7124a4e1ce00837351261771caf1691cd7d85ed3a0ac3157a1ee1a38059060200160405180910390a15b50505050565b6000610dad82611188565b92915050565b60606040517f608b530700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df56103e883611f33565b600054909150700100000000000000000000000000000000900464ffffffffff168114610e4e576040517f13f5f29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006602ed57011e00007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013581161480610eba576040517fe7764c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660291115610ef7576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd736013560006009610f30600362ffffff8516611d1e565b610f3a9190611d1e565b905036610f48600283611d1e565b1115610f80576040517fc30a7bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b600080610f95602084611d1e565b905036811115610fd1576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b36033592915050565b6000806000610fe884611193565b9092509050604e610ffa826020611d1e565b6110049084611f47565b61100e9190611d1e565b949350505050565b8042101561106557603c61102a4283611d31565b1115611062576040517f36764ab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b61025861102a8242611d31565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110ab576110ab611f5e565b6020026020010181815250506110c0816111ea565b6000815181106110d2576110d2611f5e565b6020026020010151915050919050565b60006fffffffffffffffffffffffffffffffff821115611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016105fb565b5090565b6000610dad826111f5565b6000808080806111a4604187611d1e565b905060006111bd6111b6602084611d1e565b36906112c9565b8035945090506111ce8160036112c9565b62ffffff9490941697933563ffffffff16965092945050505050565b6060610dad826112d5565b60008151600003611232576040517f9e198af900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61123b826114e1565b60006002835161124b9190611f33565b90506002835161125b9190611f8d565b6000036112b75760006112aa84611273600185611d31565b8151811061128357611283611f5e565b602002602001015185848151811061129d5761129d611f5e565b6020026020010151611529565b905061100e600282611f33565b8281815181106110d2576110d2611f5e565b6000610f808284611d31565b60606000825167ffffffffffffffff8111156112f3576112f3611bbe565b60405190808252806020026020018201604052801561131c578160200160208202803683370190505b5090506000835167ffffffffffffffff81111561133b5761133b611bbe565b604051908082528060200260200182016040528015611364578160200160208202803683370190505b5090506000845167ffffffffffffffff81111561138357611383611bbe565b6040519080825280602002602001820160405280156113b657816020015b60608152602001906001900390816113a15790505b50905060005b855181101561145b577f000000000000000000000000000000000000000000000000000000000000000060ff1667ffffffffffffffff81111561140157611401611bbe565b60405190808252806020026020018201604052801561142a578160200160208202803683370190505b5082828151811061143d5761143d611f5e565b6020026020010181905250808061145390611d44565b9150506113bc565b506000611466610e52565b9050600061147382610f87565b61ffff169050611484600283611d1e565b60405190925060005b828110156114ca5760006114a48a89898989611535565b90506114b08186611d1e565b9450826040525080806114c290611d44565b91505061148d565b506114d5848761180b565b98975050505050505050565b8051602082016020820281019150805b82811015610d9c57815b81811015611520578151815180821015611516578084528183525b50506020016114fb565b506020016114f1565b6000610f808284611d1e565b60008060008061154485611193565b909250905060008080606081600d611567611560602089611d1e565b899061195f565b6115719190611d1e565b905060006115836111b660688d611d1e565b905060006115a08361159660418f611d1e565b6111b69190611d1e565b90506115ac83826115bf565b9350826020850120945081359650611601565b604080518381526020818501810190925260009101838382377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0019392505050565b6116128765ffffffffffff16610de7565b6116268561162160418f611d1e565b61196b565b955061163186610598565b60ff1699505050505050505060008060005b848110156117d857611656888583611a01565b909350915060005b8c518110156117c5578c818151811061167957611679611f5e565b602002602001015184036117b35760008b828151811061169b5761169b611f5e565b602002602001015190506116b481896001901b16151590565b1580156116fc57507f000000000000000000000000000000000000000000000000000000000000000060ff168d83815181106116f2576116f2611f5e565b6020026020010151105b156117ad578c828151811061171357611713611f5e565b60200260200101805180919061172890611d44565b81525050838b838151811061173f5761173f611f5e565b602002602001015160018f858151811061175b5761175b611f5e565b602002602001015161176d9190611d31565b8151811061177d5761177d611f5e565b60209081029190910101526001881b81178c83815181106117a0576117a0611f5e565b6020026020010181815250505b506117c5565b806117bd81611d44565b91505061165e565b50806117d081611d44565b915050611643565b505050816020826117e99190611d1e565b6117f39190611f47565b6117fe90604e611d1e565b9998505050505050505050565b60606000835167ffffffffffffffff81111561182957611829611bbe565b604051908082528060200260200182016040528015611852578160200160208202803683370190505b50905060ff7f00000000000000000000000000000000000000000000000000000000000000001660005b8551811015611955578185828151811061189857611898611f5e565b602002602001015110156118fe578481815181106118b8576118b8611f5e565b6020026020010151826040517f2b13aef50000000000000000000000000000000000000000000000000000000081526004016105fb929190918252602082015260400190565b600061192287838151811061191557611915611f5e565b6020026020010151610da2565b90508084838151811061193757611937611f5e565b6020908102919091010152508061194d81611d44565b91505061187c565b5090949350505050565b6000610f808284611f47565b60408051600080825260208083018085528690523685900380850135831a948401859052803560608501819052910135608084018190529193909260019060a0016020604051602081039080840390855afa1580156119ce573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00151979650505050505050565b60008080611a10604e87611d1e565b90506000611a3d611a36611a25602089611d1e565b611a30886001611d1e565b9061195f565b8390611529565b90506000611a4b36836112c9565b80359960209091013598509650505050505050565b600060208284031215611a7257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f8057600080fd5b6020810160138310611ad1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60005b83811015611af2578181015183820152602001611ada565b50506000910152565b6020815260008251806020840152611b1a816040850160208701611ad7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060208385031215611b5f57600080fd5b823567ffffffffffffffff80821115611b7757600080fd5b818501915085601f830112611b8b57600080fd5b813581811115611b9a57600080fd5b866020828501011115611bac57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c3457611c34611bbe565b604052919050565b60006020808385031215611c4f57600080fd5b823567ffffffffffffffff80821115611c6757600080fd5b818501915085601f830112611c7b57600080fd5b813581811115611c8d57611c8d611bbe565b8060051b9150611c9e848301611bed565b8181529183018401918481019088841115611cb857600080fd5b938501935b838510156114d557843582529385019390850190611cbd565b600060208284031215611ce857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610dad57610dad611cef565b81810381811115610dad57610dad611cef565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d7557611d75611cef565b5060010190565b600067ffffffffffffffff821115611d9657611d96611bbe565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215611dd457600080fd5b815167ffffffffffffffff811115611deb57600080fd5b8201601f81018413611dfc57600080fd5b8051611e0f611e0a82611d7c565b611bed565b818152856020838501011115611e2457600080fd5b611e35826020830160208601611ad7565b95945050505050565b60008251611e50818460208701611ad7565b7f202f205553442052656473746f6e652070726963652066656564000000000000920191825250601a01919050565b60008060408385031215611e9257600080fd5b82359150602083013567ffffffffffffffff811115611eb057600080fd5b8301601f81018513611ec157600080fd5b8035611ecf611e0a82611d7c565b818152866020838501011115611ee457600080fd5b816020840160208301376000602083830101528093505050509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611f4257611f42611f04565b500490565b8082028115828204841417610dad57610dad611cef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082611f9c57611f9c611f04565b50069056fea2646970667358221220f70d881468a2a162d972ba3462bec5df846412ea1fc5c3701f1d77837836302364736f6c63430008110033";
557
+ const _bytecode = "0x6102206040523480156200001257600080fd5b50604051620023d9380380620023d9833981016040819052620000359162000227565b60ff81161580620000495750600a8160ff16115b156200006857604051630d211b8f60e31b815260040160405180910390fd5b6000805b600a8110156200012f5760008482600a81106200008d576200008d620002e6565b60200201516001600160a01b0316146200012657600181015b600a8110156200011e578482600a8110620000c557620000c5620002e6565b60200201516001600160a01b03168582600a8110620000e857620000e8620002e6565b60200201516001600160a01b031603620001155760405163495df29160e11b815260040160405180910390fd5b600101620000a6565b508160010191505b6001016200006c565b508160ff168110156200015557604051630416f49d60e21b815260040160405180910390fd5b506001600160a01b03938416608090815260a09384528251851660c09081526020840151861660e0908152604085015187166101009081526060860151881661012090815293860151881661014052958501518716610160529084015186166101805283015185166101a0529282015184166101c0529101519091166101e05260ff1661020052620002fc565b80516001600160a01b0381168114620001fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff81168114620001fa57600080fd5b6000806000806101a085870312156200023f57600080fd5b6200024a85620001e2565b9350602080860151935086605f8701126200026457600080fd5b60405161014081016001600160401b03811182821017156200028a576200028a620001ff565b60405280610180880189811115620002a157600080fd5b604089015b81811015620002c857620002ba81620001e2565b8352918401918401620002a6565b50829550620002d78162000215565b94505050505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051611fd762000402600039600081816104f3015281816113c7015281816116be015261185901526000818161043201526109390152600081816102fa01526108de01526000818161025c01526108830152600081816103f801526108280152600081816104b401526107cd01526000818161036e015261077201526000818161021001526107170152600081816103d101526106bc0152600081816103320152610661015260008181610395015261060601526000818161029d0152610ca301526000818161051c0152610b430152611fd76000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638736ec47116100f9578063d62ada1111610097578063f50b2efe11610071578063f50b2efe146104de578063f90c4924146104f1578063fc0c546a14610517578063feaf968c1461053e57600080fd5b8063d62ada1114610497578063dcdacf89146104af578063e75aeec8146104d657600080fd5b8063b24ebfcc116100d3578063b24ebfcc1461041a578063bc48da9e1461042d578063bdbe420414610454578063c274583a1461048f57600080fd5b80638736ec47146103b75780638dba0538146103cc5780639e0153d4146103f357600080fd5b80634ee1a1e6116101665780635decfe37116101405780635decfe371461032d5780637284e416146103545780637ed0185f14610369578063816f444a1461039057600080fd5b80634ee1a1e6146102f557806354fd4d501461031c57806355a547d51461032557600080fd5b8063313ce567116101a2578063313ce5671461027e578063370c826b146102985780633ce142f5146102cd5780633fd0875f146102e057600080fd5b8063053f14da146101c957806309c032ba1461020b5780631ac23b3d14610257575b600080fd5b6000546101e5906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610286600881565b60405160ff9091168152602001610202565b6102bf7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610202565b6102866102db366004611a60565b610598565b6102e8600f81565b6040516102029190611a96565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf61012c81565b6102bf6109dc565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61035c610b3f565b6040516102029190611afb565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6103ca6103c5366004611b4c565b610c16565b005b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102bf610428366004611c3c565b610da2565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60005461047990700100000000000000000000000000000000900464ffffffffff1681565b60405164ffffffffff9091168152602001610202565b61035c610db3565b61049f600081565b6040519015158152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61049f600181565b6103ca6104ec366004611cd6565b610de7565b7f0000000000000000000000000000000000000000000000000000000000000000610286565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60008054604080518381526fffffffffffffffffffffffffffffffff8316602082015290810183905270010000000000000000000000000000000090910464ffffffffff166060820152608081019190915260a001610202565b600073ffffffffffffffffffffffffffffffffffffffff8216610604576040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361065f57506000919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106ba57506001919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361071557506002919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077057506003919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107cb57506004919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361082657506005919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361088157506006919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108dc57506007919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361093757506008919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361099257506009919050565b6040517fec459bc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105fb565b6000806109e7610e52565b905060006109f482610f87565b61ffff16905080600003610a34576040517f8552ff3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3f600283611d1e565b915060005b81811015610b39576000610a5784610fda565b9050600080610a67606887611d1e565b90506000610a758236611d31565b9050803592508265ffffffffffff16600003610abd576040517f336dc9d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600003610ad5578265ffffffffffff169750610b16565b878365ffffffffffff1614610b16576040517fd9d1f46500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b208488611d1e565b9650505050508080610b3190611d44565b915050610a44565b50505090565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bf29190810190611dc2565b604051602001610c029190611e3e565b604051602081830303815290604052905090565b6000610c2482840184611e7f565b50600054909150700100000000000000000000000000000000900464ffffffffff168111610c5157505050565b610c5a81611016565b600080547fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000064ffffffffff841602178155610cc77f0000000000000000000000000000000000000000000000000000000000000000611072565b905080600003610d03576040517f53b798e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546fffffffffffffffffffffffffffffffff168114610d9c57610d27816110e2565b600080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790556040518181527f1a15ab7124a4e1ce00837351261771caf1691cd7d85ed3a0ac3157a1ee1a38059060200160405180910390a15b50505050565b6000610dad82611188565b92915050565b60606040517f608b530700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df56103e883611f33565b600054909150700100000000000000000000000000000000900464ffffffffff168114610e4e576040517f13f5f29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006602ed57011e00007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013581161480610eba576040517fe7764c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660291115610ef7576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd736013560006009610f30600362ffffff8516611d1e565b610f3a9190611d1e565b905036610f48600283611d1e565b1115610f80576040517fc30a7bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b600080610f95602084611d1e565b905036811115610fd1576040517f5796f78a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b36033592915050565b6000806000610fe884611193565b9092509050604e610ffa826020611d1e565b6110049084611f47565b61100e9190611d1e565b949350505050565b8042101561106557603c61102a4283611d31565b1115611062576040517f36764ab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b61025861102a8242611d31565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110ab576110ab611f5e565b6020026020010181815250506110c0816111ea565b6000815181106110d2576110d2611f5e565b6020026020010151915050919050565b60006fffffffffffffffffffffffffffffffff821115611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016105fb565b5090565b6000610dad826111f5565b6000808080806111a4604187611d1e565b905060006111bd6111b6602084611d1e565b36906112c9565b8035945090506111ce8160036112c9565b62ffffff9490941697933563ffffffff16965092945050505050565b6060610dad826112d5565b60008151600003611232576040517f9e198af900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61123b826114e1565b60006002835161124b9190611f33565b90506002835161125b9190611f8d565b6000036112b75760006112aa84611273600185611d31565b8151811061128357611283611f5e565b602002602001015185848151811061129d5761129d611f5e565b6020026020010151611529565b905061100e600282611f33565b8281815181106110d2576110d2611f5e565b6000610f808284611d31565b60606000825167ffffffffffffffff8111156112f3576112f3611bbe565b60405190808252806020026020018201604052801561131c578160200160208202803683370190505b5090506000835167ffffffffffffffff81111561133b5761133b611bbe565b604051908082528060200260200182016040528015611364578160200160208202803683370190505b5090506000845167ffffffffffffffff81111561138357611383611bbe565b6040519080825280602002602001820160405280156113b657816020015b60608152602001906001900390816113a15790505b50905060005b855181101561145b577f000000000000000000000000000000000000000000000000000000000000000060ff1667ffffffffffffffff81111561140157611401611bbe565b60405190808252806020026020018201604052801561142a578160200160208202803683370190505b5082828151811061143d5761143d611f5e565b6020026020010181905250808061145390611d44565b9150506113bc565b506000611466610e52565b9050600061147382610f87565b61ffff169050611484600283611d1e565b60405190925060005b828110156114ca5760006114a48a89898989611535565b90506114b08186611d1e565b9450826040525080806114c290611d44565b91505061148d565b506114d5848761180b565b98975050505050505050565b8051602082016020820281019150805b82811015610d9c57815b81811015611520578151815180821015611516578084528183525b50506020016114fb565b506020016114f1565b6000610f808284611d1e565b60008060008061154485611193565b909250905060008080606081600d611567611560602089611d1e565b899061195f565b6115719190611d1e565b905060006115836111b660688d611d1e565b905060006115a08361159660418f611d1e565b6111b69190611d1e565b90506115ac83826115bf565b9350826020850120945081359650611601565b604080518381526020818501810190925260009101838382377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0019392505050565b6116128765ffffffffffff16610de7565b6116268561162160418f611d1e565b61196b565b955061163186610598565b60ff1699505050505050505060008060005b848110156117d857611656888583611a01565b909350915060005b8c518110156117c5578c818151811061167957611679611f5e565b602002602001015184036117b35760008b828151811061169b5761169b611f5e565b602002602001015190506116b481896001901b16151590565b1580156116fc57507f000000000000000000000000000000000000000000000000000000000000000060ff168d83815181106116f2576116f2611f5e565b6020026020010151105b156117ad578c828151811061171357611713611f5e565b60200260200101805180919061172890611d44565b81525050838b838151811061173f5761173f611f5e565b602002602001015160018f858151811061175b5761175b611f5e565b602002602001015161176d9190611d31565b8151811061177d5761177d611f5e565b60209081029190910101526001881b81178c83815181106117a0576117a0611f5e565b6020026020010181815250505b506117c5565b806117bd81611d44565b91505061165e565b50806117d081611d44565b915050611643565b505050816020826117e99190611d1e565b6117f39190611f47565b6117fe90604e611d1e565b9998505050505050505050565b60606000835167ffffffffffffffff81111561182957611829611bbe565b604051908082528060200260200182016040528015611852578160200160208202803683370190505b50905060ff7f00000000000000000000000000000000000000000000000000000000000000001660005b8551811015611955578185828151811061189857611898611f5e565b602002602001015110156118fe578481815181106118b8576118b8611f5e565b6020026020010151826040517f2b13aef50000000000000000000000000000000000000000000000000000000081526004016105fb929190918252602082015260400190565b600061192287838151811061191557611915611f5e565b6020026020010151610da2565b90508084838151811061193757611937611f5e565b6020908102919091010152508061194d81611d44565b91505061187c565b5090949350505050565b6000610f808284611f47565b60408051600080825260208083018085528690523685900380850135831a948401859052803560608501819052910135608084018190529193909260019060a0016020604051602081039080840390855afa1580156119ce573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00151979650505050505050565b60008080611a10604e87611d1e565b90506000611a3d611a36611a25602089611d1e565b611a30886001611d1e565b9061195f565b8390611529565b90506000611a4b36836112c9565b80359960209091013598509650505050505050565b600060208284031215611a7257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f8057600080fd5b6020810160138310611ad1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60005b83811015611af2578181015183820152602001611ada565b50506000910152565b6020815260008251806020840152611b1a816040850160208701611ad7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060208385031215611b5f57600080fd5b823567ffffffffffffffff80821115611b7757600080fd5b818501915085601f830112611b8b57600080fd5b813581811115611b9a57600080fd5b866020828501011115611bac57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611c3457611c34611bbe565b604052919050565b60006020808385031215611c4f57600080fd5b823567ffffffffffffffff80821115611c6757600080fd5b818501915085601f830112611c7b57600080fd5b813581811115611c8d57611c8d611bbe565b8060051b9150611c9e848301611bed565b8181529183018401918481019088841115611cb857600080fd5b938501935b838510156114d557843582529385019390850190611cbd565b600060208284031215611ce857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610dad57610dad611cef565b81810381811115610dad57610dad611cef565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d7557611d75611cef565b5060010190565b600067ffffffffffffffff821115611d9657611d96611bbe565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600060208284031215611dd457600080fd5b815167ffffffffffffffff811115611deb57600080fd5b8201601f81018413611dfc57600080fd5b8051611e0f611e0a82611d7c565b611bed565b818152856020838501011115611e2457600080fd5b611e35826020830160208601611ad7565b95945050505050565b60008251611e50818460208701611ad7565b7f202f205553442052656473746f6e652070726963652066656564000000000000920191825250601a01919050565b60008060408385031215611e9257600080fd5b82359150602083013567ffffffffffffffff811115611eb057600080fd5b8301601f81018513611ec157600080fd5b8035611ecf611e0a82611d7c565b818152866020838501011115611ee457600080fd5b816020840160208301376000602083830101528093505050509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611f4257611f42611f04565b500490565b8082028115828204841417610dad57610dad611cef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082611f9c57611f9c611f04565b50069056fea2646970667358221220e6b78ee27b57b79d2c8834dd9f8705b8d4f358d342b2ccc97cc20f2f298fdb5e64736f6c63430008110033";
558
558
  const isSuperArgs = (xs) => xs.length > 1;
559
559
  class RedstonePriceFeed__factory extends ethers_1.ContractFactory {
560
560
  constructor(...args) {
@@ -37,7 +37,6 @@ export * as iwstEthSol from "./IwstETH.sol";
37
37
  export * as iwstEthGatewaySol from "./IwstETHGateway.sol";
38
38
  export * as redstonePriceFeedSol from "./RedstonePriceFeed.sol";
39
39
  export * as contracts from "./contracts";
40
- export * as interfaces from "./interfaces";
41
40
  export { AddressProvider__factory } from "./AddressProvider__factory";
42
41
  export { CalldataExtractor__factory } from "./CalldataExtractor__factory";
43
42
  export { Claimable__factory } from "./Claimable__factory";
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.IBaseRewardPool__factory = exports.IAdapter__factory = exports.IAaveV2_WrappedATokenAdapter__factory = exports.IAaveV2_LendingPoolAdapter__factory = exports.FarmAccounting__factory = exports.Errors__factory = exports.ERC20__factory = exports.Claimable__factory = exports.CalldataExtractor__factory = exports.AddressProvider__factory = exports.interfaces = exports.contracts = exports.redstonePriceFeedSol = exports.iwstEthGatewaySol = exports.iwstEthSol = exports.istEthSol = exports.iUniswapV3AdapterSol = exports.iUniswapV3Sol = exports.iUniswapV2AdapterSol = exports.iPriceOracleV3Sol = exports.iPriceOracleSol = exports.iPriceFeedSol = exports.iPoolV3Sol = exports.iPoolServiceSol = exports.iPoolQuotaKeeperV3Sol = exports.ilpPriceFeedSol = exports.iGearStakingV3Sol = exports.iGaugeV3Sol = exports.iDegenNftv2Sol = exports.iDegenDistributorSol = exports.iCurvePool4Sol = exports.iCurvePool3Sol = exports.iCurvePool2Sol = exports.iCreditManagerV3Sol = exports.iCreditManagerV2Sol = exports.iCreditFacadeV3Sol = exports.iCreditFacadeV2Sol = exports.iCreditConfiguratorV3Sol = exports.iCreditConfiguratorV2Sol = exports.iConvexV1BoosterAdapterSol = exports.iControllerTimelockV3Sol = exports.iContractsRegisterSol = exports.iCompoundV2CTokenAdapterSol = exports.iBotListV3Sol = exports.iBalancerV2VaultAdapterSol = exports.iBalancerV2VaultSol = exports.iAirdropDistributorSol = exports.iAddressProviderV3Sol = exports.iAddressProviderSol = exports.balancesSol = void 0;
27
- exports.SafeERC20__factory = exports.RedstoneDefaultsLib__factory = exports.RedstoneConsumerNumericBase__factory = exports.RedstoneConsumerBase__factory = exports.RedstoneConstants__factory = exports.Ownable__factory = exports.NumericArrayLib__factory = exports.IwstETHV1Adapter__factory = exports.IZapperRegister__factory = exports.IZapper__factory = exports.IYearnV2Adapter__factory = exports.IYVault__factory = exports.IWETHGateway__factory = exports.IWETH__factory = exports.IVotingContractV3__factory = exports.IVersion__factory = exports.IRouterV3__factory = exports.IRouter__factory = exports.IPriceOracleBase__factory = exports.IPermit2__factory = exports.IOffchainOracle__factory = exports.ILinearInterestRateModelV3__factory = exports.ILidoV1Adapter__factory = exports.IInterestRateModel__factory = exports.IFarmingPool__factory = exports.IETHZapperDeposits__factory = exports.IERC721Metadata__factory = exports.IERC721__factory = exports.IERC4626Adapter__factory = exports.IERC4626__factory = exports.IERC20ZapperDeposits__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.IERC20__factory = exports.IERC165__factory = exports.IDataCompressorV3_00__factory = exports.IDataCompressorV2_10__factory = exports.IDaiLikePermit__factory = exports.ICurveV1_4AssetsAdapter__factory = exports.ICurveV1_3AssetsAdapter__factory = exports.ICurveV1_2AssetsAdapter__factory = exports.ICurveV1Adapter__factory = exports.ICurvePool__factory = exports.ICreditFacadeV3Multicall__factory = exports.IConvexV1BaseRewardPoolAdapter__factory = exports.IConvexToken__factory = void 0;
26
+ exports.IConvexToken__factory = exports.IBaseRewardPool__factory = exports.IAdapter__factory = exports.IAaveV2_WrappedATokenAdapter__factory = exports.IAaveV2_LendingPoolAdapter__factory = exports.FarmAccounting__factory = exports.Errors__factory = exports.ERC20__factory = exports.Claimable__factory = exports.CalldataExtractor__factory = exports.AddressProvider__factory = exports.contracts = exports.redstonePriceFeedSol = exports.iwstEthGatewaySol = exports.iwstEthSol = exports.istEthSol = exports.iUniswapV3AdapterSol = exports.iUniswapV3Sol = exports.iUniswapV2AdapterSol = exports.iPriceOracleV3Sol = exports.iPriceOracleSol = exports.iPriceFeedSol = exports.iPoolV3Sol = exports.iPoolServiceSol = exports.iPoolQuotaKeeperV3Sol = exports.ilpPriceFeedSol = exports.iGearStakingV3Sol = exports.iGaugeV3Sol = exports.iDegenNftv2Sol = exports.iDegenDistributorSol = exports.iCurvePool4Sol = exports.iCurvePool3Sol = exports.iCurvePool2Sol = exports.iCreditManagerV3Sol = exports.iCreditManagerV2Sol = exports.iCreditFacadeV3Sol = exports.iCreditFacadeV2Sol = exports.iCreditConfiguratorV3Sol = exports.iCreditConfiguratorV2Sol = exports.iConvexV1BoosterAdapterSol = exports.iControllerTimelockV3Sol = exports.iContractsRegisterSol = exports.iCompoundV2CTokenAdapterSol = exports.iBotListV3Sol = exports.iBalancerV2VaultAdapterSol = exports.iBalancerV2VaultSol = exports.iAirdropDistributorSol = exports.iAddressProviderV3Sol = exports.iAddressProviderSol = exports.balancesSol = void 0;
27
+ exports.SafeERC20__factory = exports.RedstoneDefaultsLib__factory = exports.RedstoneConsumerNumericBase__factory = exports.RedstoneConsumerBase__factory = exports.RedstoneConstants__factory = exports.Ownable__factory = exports.NumericArrayLib__factory = exports.IwstETHV1Adapter__factory = exports.IZapperRegister__factory = exports.IZapper__factory = exports.IYearnV2Adapter__factory = exports.IYVault__factory = exports.IWETHGateway__factory = exports.IWETH__factory = exports.IVotingContractV3__factory = exports.IVersion__factory = exports.IRouterV3__factory = exports.IRouter__factory = exports.IPriceOracleBase__factory = exports.IPermit2__factory = exports.IOffchainOracle__factory = exports.ILinearInterestRateModelV3__factory = exports.ILidoV1Adapter__factory = exports.IInterestRateModel__factory = exports.IFarmingPool__factory = exports.IETHZapperDeposits__factory = exports.IERC721Metadata__factory = exports.IERC721__factory = exports.IERC4626Adapter__factory = exports.IERC4626__factory = exports.IERC20ZapperDeposits__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.IERC20__factory = exports.IERC165__factory = exports.IDataCompressorV3_00__factory = exports.IDataCompressorV2_10__factory = exports.IDaiLikePermit__factory = exports.ICurveV1_4AssetsAdapter__factory = exports.ICurveV1_3AssetsAdapter__factory = exports.ICurveV1_2AssetsAdapter__factory = exports.ICurveV1Adapter__factory = exports.ICurvePool__factory = exports.ICreditFacadeV3Multicall__factory = exports.IConvexV1BaseRewardPoolAdapter__factory = void 0;
28
28
  /* Autogenerated file. Do not edit manually. */
29
29
  /* tslint:disable */
30
30
  /* eslint-disable */
@@ -67,7 +67,6 @@ exports.iwstEthSol = __importStar(require("./IwstETH.sol"));
67
67
  exports.iwstEthGatewaySol = __importStar(require("./IwstETHGateway.sol"));
68
68
  exports.redstonePriceFeedSol = __importStar(require("./RedstonePriceFeed.sol"));
69
69
  exports.contracts = __importStar(require("./contracts"));
70
- exports.interfaces = __importStar(require("./interfaces"));
71
70
  var AddressProvider__factory_1 = require("./AddressProvider__factory");
72
71
  Object.defineProperty(exports, "AddressProvider__factory", { enumerable: true, get: function () { return AddressProvider__factory_1.AddressProvider__factory; } });
73
72
  var CalldataExtractor__factory_1 = require("./CalldataExtractor__factory");
@@ -76,8 +76,6 @@ import type * as redstonePriceFeedSol from "./RedstonePriceFeed.sol";
76
76
  export type { redstonePriceFeedSol };
77
77
  import type * as contracts from "./contracts";
78
78
  export type { contracts };
79
- import type * as interfaces from "./interfaces";
80
- export type { interfaces };
81
79
  export type { AddressProvider } from "./AddressProvider";
82
80
  export type { CalldataExtractor } from "./CalldataExtractor";
83
81
  export type { Claimable } from "./Claimable";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "3.0.0-next.120",
3
+ "version": "3.0.0-next.121",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -42,14 +42,14 @@
42
42
  "@commitlint/cli": "^17.6.3",
43
43
  "@commitlint/config-conventional": "^17.0.3",
44
44
  "@gearbox-protocol/core-v2": "1.19.0-base.17",
45
- "@gearbox-protocol/core-v3": "^1.46.1",
45
+ "@gearbox-protocol/core-v3": "^1.47.2",
46
46
  "@gearbox-protocol/eslint-config": "^1.4.1",
47
- "@gearbox-protocol/integrations-v3": "^1.30.0",
48
- "@gearbox-protocol/oracles-v3": "^1.9.0",
49
- "@gearbox-protocol/periphery-v3": "^1.3.12",
47
+ "@gearbox-protocol/integrations-v3": "^1.34.1",
48
+ "@gearbox-protocol/oracles-v3": "^1.10.0",
49
+ "@gearbox-protocol/periphery-v3": "^1.3.15",
50
50
  "@gearbox-protocol/prettier-config": "^1.4.1",
51
51
  "@gearbox-protocol/router": "^1.5.5",
52
- "@gearbox-protocol/router-v3": "^1.9.0",
52
+ "@gearbox-protocol/router-v3": "^1.16.1",
53
53
  "@openzeppelin/contracts": "^4.9.3",
54
54
  "@redstone-finance/evm-connector": "^0.3.6",
55
55
  "@typechain/ethers-v5": "^10.1.0",
@@ -1,22 +0,0 @@
1
- import { Signer } from "ethers";
2
- import type { Provider } from "@ethersproject/providers";
3
- import type { IGasPricer, IGasPricerInterface } from "../../interfaces/IGasPricer";
4
- export declare class IGasPricer__factory {
5
- static readonly abi: readonly [{
6
- readonly type: "function";
7
- readonly name: "getGasPriceTokenOutRAY";
8
- readonly inputs: readonly [{
9
- readonly name: "token";
10
- readonly type: "address";
11
- readonly internalType: "address";
12
- }];
13
- readonly outputs: readonly [{
14
- readonly name: "gasPrice";
15
- readonly type: "uint256";
16
- readonly internalType: "uint256";
17
- }];
18
- readonly stateMutability: "view";
19
- }];
20
- static createInterface(): IGasPricerInterface;
21
- static connect(address: string, signerOrProvider: Signer | Provider): IGasPricer;
22
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /* Autogenerated file. Do not edit manually. */
3
- /* tslint:disable */
4
- /* eslint-disable */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.IGasPricer__factory = void 0;
7
- const ethers_1 = require("ethers");
8
- const _abi = [
9
- {
10
- type: "function",
11
- name: "getGasPriceTokenOutRAY",
12
- inputs: [
13
- {
14
- name: "token",
15
- type: "address",
16
- internalType: "address",
17
- },
18
- ],
19
- outputs: [
20
- {
21
- name: "gasPrice",
22
- type: "uint256",
23
- internalType: "uint256",
24
- },
25
- ],
26
- stateMutability: "view",
27
- },
28
- ];
29
- class IGasPricer__factory {
30
- static abi = _abi;
31
- static createInterface() {
32
- return new ethers_1.utils.Interface(_abi);
33
- }
34
- static connect(address, signerOrProvider) {
35
- return new ethers_1.Contract(address, _abi, signerOrProvider);
36
- }
37
- }
38
- exports.IGasPricer__factory = IGasPricer__factory;
@@ -1 +0,0 @@
1
- export { IGasPricer__factory } from "./IGasPricer__factory";
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IGasPricer__factory = void 0;
4
- /* Autogenerated file. Do not edit manually. */
5
- /* tslint:disable */
6
- /* eslint-disable */
7
- var IGasPricer__factory_1 = require("./IGasPricer__factory");
8
- Object.defineProperty(exports, "IGasPricer__factory", { enumerable: true, get: function () { return IGasPricer__factory_1.IGasPricer__factory; } });
@@ -1,44 +0,0 @@
1
- import type { BaseContract, BigNumber, 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, PromiseOrValue } from "../common";
5
- export interface IGasPricerInterface extends utils.Interface {
6
- functions: {
7
- "getGasPriceTokenOutRAY(address)": FunctionFragment;
8
- };
9
- getFunction(nameOrSignatureOrTopic: "getGasPriceTokenOutRAY"): FunctionFragment;
10
- encodeFunctionData(functionFragment: "getGasPriceTokenOutRAY", values: [PromiseOrValue<string>]): string;
11
- decodeFunctionResult(functionFragment: "getGasPriceTokenOutRAY", data: BytesLike): Result;
12
- events: {};
13
- }
14
- export interface IGasPricer extends BaseContract {
15
- connect(signerOrProvider: Signer | Provider | string): this;
16
- attach(addressOrName: string): this;
17
- deployed(): Promise<this>;
18
- interface: IGasPricerInterface;
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
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
30
- gasPrice: BigNumber;
31
- }>;
32
- };
33
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
34
- callStatic: {
35
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
36
- };
37
- filters: {};
38
- estimateGas: {
39
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
40
- };
41
- populateTransaction: {
42
- getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
43
- };
44
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export type { IGasPricer } from "./IGasPricer";
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });