@pendle/core-v2 5.8.4-redeem → 5.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  2. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  3. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  4. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +21 -2
  5. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  6. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  7. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  8. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  11. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  12. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +191 -2
  13. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +2 -0
  14. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +1 -5
  15. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +13 -10
  16. package/contracts/router/swap-aggregator/PendleSwap.sol +21 -1
  17. package/deployments/1-core.json +1 -1
  18. package/deployments/146-core.json +7 -8
  19. package/deployments/42161-core.json +2 -2
  20. package/deployments/5000-core.json +1 -1
  21. package/deployments/56-core.json +1 -1
  22. package/deployments/80094-core.json +1 -1
  23. package/deployments/8453-core.json +1 -1
  24. package/package.json +1 -1
  25. package/typechain-types/PendleCommonSYFactory.ts +31 -0
  26. package/typechain-types/PendleSwap.ts +280 -0
  27. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  28. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +20 -1
  29. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  30. package/typechain-types/factories/PendleSwap__factory.ts +190 -1
  31. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +0 -4
  32. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.json +0 -56
  33. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.dbg.json +0 -4
  34. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.json +0 -10
  35. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +0 -4
  36. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +0 -299
  37. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +0 -4
  38. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +0 -342
  39. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +0 -4
  40. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +0 -308
  41. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.dbg.json +0 -4
  42. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.json +0 -232
  43. package/contracts/interfaces/IPLPWrapperFactory.sol +0 -10
  44. package/contracts/interfaces/IPMarketSwapNSeed.sol +0 -10
  45. package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +0 -79
  46. package/contracts/offchain-helpers/PendleLPWrapper.sol +0 -43
  47. package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +0 -45
  48. package/contracts/offchain-helpers/SwapNSeed.sol +0 -221
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
34
- "pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
34
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0x40Ae6da2d92aa3DCb7f8d7a7209FD12BDfcb7C85",
37
37
  "marketFactoryV3": "0xC40fEbF5A33b8C92B187d9be0fD3fe0ac2E4B07c",
@@ -28,7 +28,7 @@
28
28
  "ActionStorageV4": "0xdED51dca2ECED7a0BAab3D9711A87f214769Da0f"
29
29
  },
30
30
  "routerStatic": "0x6813d43782395A1F2AAb42f39aeEDE03ac655e09",
31
- "pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
31
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV5": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
34
34
  "marketFactoryV5": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
@@ -28,7 +28,7 @@
28
28
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
29
29
  },
30
30
  "routerStatic": "0xB4205a645c7e920BD8504181B1D7f2c5C955C3e7",
31
- "pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
31
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV5": "0x963ddBB35c1AE44e2a159E3b5fb5177E0B32660d",
34
34
  "marketFactoryV5": "0x59968008a703dC13E6beaECed644bdCe4ee45d13",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "5.8.4-redeem",
5
+ "version": "5.8.4",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -50,6 +50,7 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
50
50
  "creationCodes(bytes32)": FunctionFragment;
51
51
  "deploySY(bytes32,bytes,address)": FunctionFragment;
52
52
  "deployUpgradableSY(bytes32,bytes,bytes,address)": FunctionFragment;
53
+ "implementations(bytes32)": FunctionFragment;
53
54
  "initialize(address)": FunctionFragment;
54
55
  "nonce()": FunctionFragment;
55
56
  "owner()": FunctionFragment;
@@ -75,6 +76,10 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
75
76
  functionFragment: "deployUpgradableSY",
76
77
  values: [BytesLike, BytesLike, BytesLike, string]
77
78
  ): string;
79
+ encodeFunctionData(
80
+ functionFragment: "implementations",
81
+ values: [BytesLike]
82
+ ): string;
78
83
  encodeFunctionData(functionFragment: "initialize", values: [string]): string;
79
84
  encodeFunctionData(functionFragment: "nonce", values?: undefined): string;
80
85
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
@@ -108,6 +113,10 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
108
113
  functionFragment: "deployUpgradableSY",
109
114
  data: BytesLike
110
115
  ): Result;
116
+ decodeFunctionResult(
117
+ functionFragment: "implementations",
118
+ data: BytesLike
119
+ ): Result;
111
120
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
112
121
  decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result;
113
122
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
@@ -224,6 +233,11 @@ export interface PendleCommonSYFactory extends BaseContract {
224
233
  overrides?: Overrides & { from?: string | Promise<string> }
225
234
  ): Promise<ContractTransaction>;
226
235
 
236
+ implementations(
237
+ arg0: BytesLike,
238
+ overrides?: CallOverrides
239
+ ): Promise<[string]>;
240
+
227
241
  initialize(
228
242
  _owner: string,
229
243
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -282,6 +296,8 @@ export interface PendleCommonSYFactory extends BaseContract {
282
296
  overrides?: Overrides & { from?: string | Promise<string> }
283
297
  ): Promise<ContractTransaction>;
284
298
 
299
+ implementations(arg0: BytesLike, overrides?: CallOverrides): Promise<string>;
300
+
285
301
  initialize(
286
302
  _owner: string,
287
303
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -338,6 +354,11 @@ export interface PendleCommonSYFactory extends BaseContract {
338
354
  overrides?: CallOverrides
339
355
  ): Promise<string>;
340
356
 
357
+ implementations(
358
+ arg0: BytesLike,
359
+ overrides?: CallOverrides
360
+ ): Promise<string>;
361
+
341
362
  initialize(_owner: string, overrides?: CallOverrides): Promise<void>;
342
363
 
343
364
  nonce(overrides?: CallOverrides): Promise<BigNumber>;
@@ -418,6 +439,11 @@ export interface PendleCommonSYFactory extends BaseContract {
418
439
  overrides?: Overrides & { from?: string | Promise<string> }
419
440
  ): Promise<BigNumber>;
420
441
 
442
+ implementations(
443
+ arg0: BytesLike,
444
+ overrides?: CallOverrides
445
+ ): Promise<BigNumber>;
446
+
421
447
  initialize(
422
448
  _owner: string,
423
449
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -470,6 +496,11 @@ export interface PendleCommonSYFactory extends BaseContract {
470
496
  overrides?: Overrides & { from?: string | Promise<string> }
471
497
  ): Promise<PopulatedTransaction>;
472
498
 
499
+ implementations(
500
+ arg0: BytesLike,
501
+ overrides?: CallOverrides
502
+ ): Promise<PopulatedTransaction>;
503
+
473
504
  initialize(
474
505
  _owner: string,
475
506
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -8,6 +8,7 @@ import {
8
8
  BytesLike,
9
9
  CallOverrides,
10
10
  ContractTransaction,
11
+ Overrides,
11
12
  PayableOverrides,
12
13
  PopulatedTransaction,
13
14
  Signer,
@@ -39,23 +40,113 @@ export type SwapDataStructOutput = [number, string, string, boolean] & {
39
40
  export interface PendleSwapInterface extends utils.Interface {
40
41
  contractName: "PendleSwap";
41
42
  functions: {
43
+ "claimOwnership()": FunctionFragment;
44
+ "initialize()": FunctionFragment;
45
+ "owner()": FunctionFragment;
46
+ "pendingOwner()": FunctionFragment;
47
+ "proxiableUUID()": FunctionFragment;
42
48
  "swap(address,uint256,(uint8,address,bytes,bool))": FunctionFragment;
49
+ "transferOwnership(address,bool,bool)": FunctionFragment;
50
+ "upgradeTo(address)": FunctionFragment;
51
+ "upgradeToAndCall(address,bytes)": FunctionFragment;
43
52
  };
44
53
 
54
+ encodeFunctionData(
55
+ functionFragment: "claimOwnership",
56
+ values?: undefined
57
+ ): string;
58
+ encodeFunctionData(
59
+ functionFragment: "initialize",
60
+ values?: undefined
61
+ ): string;
62
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
63
+ encodeFunctionData(
64
+ functionFragment: "pendingOwner",
65
+ values?: undefined
66
+ ): string;
67
+ encodeFunctionData(
68
+ functionFragment: "proxiableUUID",
69
+ values?: undefined
70
+ ): string;
45
71
  encodeFunctionData(
46
72
  functionFragment: "swap",
47
73
  values: [string, BigNumberish, SwapDataStruct]
48
74
  ): string;
75
+ encodeFunctionData(
76
+ functionFragment: "transferOwnership",
77
+ values: [string, boolean, boolean]
78
+ ): string;
79
+ encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
80
+ encodeFunctionData(
81
+ functionFragment: "upgradeToAndCall",
82
+ values: [string, BytesLike]
83
+ ): string;
49
84
 
85
+ decodeFunctionResult(
86
+ functionFragment: "claimOwnership",
87
+ data: BytesLike
88
+ ): Result;
89
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
90
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
91
+ decodeFunctionResult(
92
+ functionFragment: "pendingOwner",
93
+ data: BytesLike
94
+ ): Result;
95
+ decodeFunctionResult(
96
+ functionFragment: "proxiableUUID",
97
+ data: BytesLike
98
+ ): Result;
50
99
  decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
100
+ decodeFunctionResult(
101
+ functionFragment: "transferOwnership",
102
+ data: BytesLike
103
+ ): Result;
104
+ decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
105
+ decodeFunctionResult(
106
+ functionFragment: "upgradeToAndCall",
107
+ data: BytesLike
108
+ ): Result;
51
109
 
52
110
  events: {
111
+ "AdminChanged(address,address)": EventFragment;
112
+ "BeaconUpgraded(address)": EventFragment;
113
+ "Initialized(uint8)": EventFragment;
114
+ "OwnershipTransferred(address,address)": EventFragment;
53
115
  "SwapSingle(uint8,address,uint256)": EventFragment;
116
+ "Upgraded(address)": EventFragment;
54
117
  };
55
118
 
119
+ getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
120
+ getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
121
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
122
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
56
123
  getEvent(nameOrSignatureOrTopic: "SwapSingle"): EventFragment;
124
+ getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
57
125
  }
58
126
 
127
+ export type AdminChangedEvent = TypedEvent<
128
+ [string, string],
129
+ { previousAdmin: string; newAdmin: string }
130
+ >;
131
+
132
+ export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
133
+
134
+ export type BeaconUpgradedEvent = TypedEvent<[string], { beacon: string }>;
135
+
136
+ export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
137
+
138
+ export type InitializedEvent = TypedEvent<[number], { version: number }>;
139
+
140
+ export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
141
+
142
+ export type OwnershipTransferredEvent = TypedEvent<
143
+ [string, string],
144
+ { previousOwner: string; newOwner: string }
145
+ >;
146
+
147
+ export type OwnershipTransferredEventFilter =
148
+ TypedEventFilter<OwnershipTransferredEvent>;
149
+
59
150
  export type SwapSingleEvent = TypedEvent<
60
151
  [number, string, BigNumber],
61
152
  { swapType: number; tokenIn: string; amountIn: BigNumber }
@@ -63,6 +154,10 @@ export type SwapSingleEvent = TypedEvent<
63
154
 
64
155
  export type SwapSingleEventFilter = TypedEventFilter<SwapSingleEvent>;
65
156
 
157
+ export type UpgradedEvent = TypedEvent<[string], { implementation: string }>;
158
+
159
+ export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
160
+
66
161
  export interface PendleSwap extends BaseContract {
67
162
  contractName: "PendleSwap";
68
163
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -91,14 +186,60 @@ export interface PendleSwap extends BaseContract {
91
186
  removeListener: OnEvent<this>;
92
187
 
93
188
  functions: {
189
+ claimOwnership(
190
+ overrides?: Overrides & { from?: string | Promise<string> }
191
+ ): Promise<ContractTransaction>;
192
+
193
+ initialize(
194
+ overrides?: Overrides & { from?: string | Promise<string> }
195
+ ): Promise<ContractTransaction>;
196
+
197
+ owner(overrides?: CallOverrides): Promise<[string]>;
198
+
199
+ pendingOwner(overrides?: CallOverrides): Promise<[string]>;
200
+
201
+ proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
202
+
94
203
  swap(
95
204
  tokenIn: string,
96
205
  amountIn: BigNumberish,
97
206
  data: SwapDataStruct,
98
207
  overrides?: PayableOverrides & { from?: string | Promise<string> }
99
208
  ): Promise<ContractTransaction>;
209
+
210
+ transferOwnership(
211
+ newOwner: string,
212
+ direct: boolean,
213
+ renounce: boolean,
214
+ overrides?: Overrides & { from?: string | Promise<string> }
215
+ ): Promise<ContractTransaction>;
216
+
217
+ upgradeTo(
218
+ newImplementation: string,
219
+ overrides?: Overrides & { from?: string | Promise<string> }
220
+ ): Promise<ContractTransaction>;
221
+
222
+ upgradeToAndCall(
223
+ newImplementation: string,
224
+ data: BytesLike,
225
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
226
+ ): Promise<ContractTransaction>;
100
227
  };
101
228
 
229
+ claimOwnership(
230
+ overrides?: Overrides & { from?: string | Promise<string> }
231
+ ): Promise<ContractTransaction>;
232
+
233
+ initialize(
234
+ overrides?: Overrides & { from?: string | Promise<string> }
235
+ ): Promise<ContractTransaction>;
236
+
237
+ owner(overrides?: CallOverrides): Promise<string>;
238
+
239
+ pendingOwner(overrides?: CallOverrides): Promise<string>;
240
+
241
+ proxiableUUID(overrides?: CallOverrides): Promise<string>;
242
+
102
243
  swap(
103
244
  tokenIn: string,
104
245
  amountIn: BigNumberish,
@@ -106,16 +247,88 @@ export interface PendleSwap extends BaseContract {
106
247
  overrides?: PayableOverrides & { from?: string | Promise<string> }
107
248
  ): Promise<ContractTransaction>;
108
249
 
250
+ transferOwnership(
251
+ newOwner: string,
252
+ direct: boolean,
253
+ renounce: boolean,
254
+ overrides?: Overrides & { from?: string | Promise<string> }
255
+ ): Promise<ContractTransaction>;
256
+
257
+ upgradeTo(
258
+ newImplementation: string,
259
+ overrides?: Overrides & { from?: string | Promise<string> }
260
+ ): Promise<ContractTransaction>;
261
+
262
+ upgradeToAndCall(
263
+ newImplementation: string,
264
+ data: BytesLike,
265
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
266
+ ): Promise<ContractTransaction>;
267
+
109
268
  callStatic: {
269
+ claimOwnership(overrides?: CallOverrides): Promise<void>;
270
+
271
+ initialize(overrides?: CallOverrides): Promise<void>;
272
+
273
+ owner(overrides?: CallOverrides): Promise<string>;
274
+
275
+ pendingOwner(overrides?: CallOverrides): Promise<string>;
276
+
277
+ proxiableUUID(overrides?: CallOverrides): Promise<string>;
278
+
110
279
  swap(
111
280
  tokenIn: string,
112
281
  amountIn: BigNumberish,
113
282
  data: SwapDataStruct,
114
283
  overrides?: CallOverrides
115
284
  ): Promise<void>;
285
+
286
+ transferOwnership(
287
+ newOwner: string,
288
+ direct: boolean,
289
+ renounce: boolean,
290
+ overrides?: CallOverrides
291
+ ): Promise<void>;
292
+
293
+ upgradeTo(
294
+ newImplementation: string,
295
+ overrides?: CallOverrides
296
+ ): Promise<void>;
297
+
298
+ upgradeToAndCall(
299
+ newImplementation: string,
300
+ data: BytesLike,
301
+ overrides?: CallOverrides
302
+ ): Promise<void>;
116
303
  };
117
304
 
118
305
  filters: {
306
+ "AdminChanged(address,address)"(
307
+ previousAdmin?: null,
308
+ newAdmin?: null
309
+ ): AdminChangedEventFilter;
310
+ AdminChanged(
311
+ previousAdmin?: null,
312
+ newAdmin?: null
313
+ ): AdminChangedEventFilter;
314
+
315
+ "BeaconUpgraded(address)"(
316
+ beacon?: string | null
317
+ ): BeaconUpgradedEventFilter;
318
+ BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
319
+
320
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
321
+ Initialized(version?: null): InitializedEventFilter;
322
+
323
+ "OwnershipTransferred(address,address)"(
324
+ previousOwner?: string | null,
325
+ newOwner?: string | null
326
+ ): OwnershipTransferredEventFilter;
327
+ OwnershipTransferred(
328
+ previousOwner?: string | null,
329
+ newOwner?: string | null
330
+ ): OwnershipTransferredEventFilter;
331
+
119
332
  "SwapSingle(uint8,address,uint256)"(
120
333
  swapType?: BigNumberish | null,
121
334
  tokenIn?: string | null,
@@ -126,23 +339,90 @@ export interface PendleSwap extends BaseContract {
126
339
  tokenIn?: string | null,
127
340
  amountIn?: null
128
341
  ): SwapSingleEventFilter;
342
+
343
+ "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
344
+ Upgraded(implementation?: string | null): UpgradedEventFilter;
129
345
  };
130
346
 
131
347
  estimateGas: {
348
+ claimOwnership(
349
+ overrides?: Overrides & { from?: string | Promise<string> }
350
+ ): Promise<BigNumber>;
351
+
352
+ initialize(
353
+ overrides?: Overrides & { from?: string | Promise<string> }
354
+ ): Promise<BigNumber>;
355
+
356
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
357
+
358
+ pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
359
+
360
+ proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
361
+
132
362
  swap(
133
363
  tokenIn: string,
134
364
  amountIn: BigNumberish,
135
365
  data: SwapDataStruct,
136
366
  overrides?: PayableOverrides & { from?: string | Promise<string> }
137
367
  ): Promise<BigNumber>;
368
+
369
+ transferOwnership(
370
+ newOwner: string,
371
+ direct: boolean,
372
+ renounce: boolean,
373
+ overrides?: Overrides & { from?: string | Promise<string> }
374
+ ): Promise<BigNumber>;
375
+
376
+ upgradeTo(
377
+ newImplementation: string,
378
+ overrides?: Overrides & { from?: string | Promise<string> }
379
+ ): Promise<BigNumber>;
380
+
381
+ upgradeToAndCall(
382
+ newImplementation: string,
383
+ data: BytesLike,
384
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
385
+ ): Promise<BigNumber>;
138
386
  };
139
387
 
140
388
  populateTransaction: {
389
+ claimOwnership(
390
+ overrides?: Overrides & { from?: string | Promise<string> }
391
+ ): Promise<PopulatedTransaction>;
392
+
393
+ initialize(
394
+ overrides?: Overrides & { from?: string | Promise<string> }
395
+ ): Promise<PopulatedTransaction>;
396
+
397
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
398
+
399
+ pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
400
+
401
+ proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
402
+
141
403
  swap(
142
404
  tokenIn: string,
143
405
  amountIn: BigNumberish,
144
406
  data: SwapDataStruct,
145
407
  overrides?: PayableOverrides & { from?: string | Promise<string> }
146
408
  ): Promise<PopulatedTransaction>;
409
+
410
+ transferOwnership(
411
+ newOwner: string,
412
+ direct: boolean,
413
+ renounce: boolean,
414
+ overrides?: Overrides & { from?: string | Promise<string> }
415
+ ): Promise<PopulatedTransaction>;
416
+
417
+ upgradeTo(
418
+ newImplementation: string,
419
+ overrides?: Overrides & { from?: string | Promise<string> }
420
+ ): Promise<PopulatedTransaction>;
421
+
422
+ upgradeToAndCall(
423
+ newImplementation: string,
424
+ data: BytesLike,
425
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
426
+ ): Promise<PopulatedTransaction>;
147
427
  };
148
428
  }
@@ -976,7 +976,7 @@ const _abi = [
976
976
  ];
977
977
 
978
978
  const _bytecode =
979
- "0x6101206040523480156200001257600080fd5b506040516200330b3803806200330b83398101604081905262000035916200015b565b6001461460e0526001600160a01b0380841660805280831660a05280821660c0528416610100526200006662000070565b50505050620001b8565b600154600160a81b900460ff1615620000df5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146200013c576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b03811681146200015657600080fd5b919050565b600080600080608085870312156200017257600080fd5b6200017d856200013e565b93506200018d602086016200013e565b92506200019d604086016200013e565b9150620001ad606086016200013e565b905092959194509250565b60805160a05160c05160e051610100516130906200027b6000396000818161041a015281816105e3015281816106ab01528181610716015281816108bc015281816109250152610abf01526000818161024501528181610bb001526113a30152600081816101270152610c4f0152600081816102be015281816112d5015281816113cb015261146c01526000818161044e01528181610d1e01528181610d5e01528181610d8c01528181610ded01528181610f4d015261101601526130906000f3fe6080604052600436106101105760003560e01c806306ae709514610115578063078dfbe71461015f57806318440ec8146101815780632becf31e146101ae5780634425b2b8146101ce5780634763221f146101ee5780634e71e0c81461021e578063516399df146102335780635351403d146102775780637fa1669e1461029957806387a409a2146102ac5780638da5cb5b146102e05780639989469d14610300578063a035d5f714610320578063bcddb09214610342578063c4d66de814610362578063c947345014610382578063e30c3978146103a4578063e423d3bf146103c4578063f36a4a8f146103e6578063f7e8114914610408578063f887ea401461043c578063fe82d72714610470575b600080fd5b34801561012157600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b60405161015691906127d2565b60405180910390f35b34801561016b57600080fd5b5061017f61017a36600461280c565b610490565b005b34801561018d57600080fd5b506101a161019c36600461297a565b6105c1565b6040516101569190612a54565b3480156101ba57600080fd5b506101a16101c936600461297a565b610689565b3480156101da57600080fd5b506101a16101e9366004612a62565b6106f4565b3480156101fa57600080fd5b5061021060008051602061301b83398151915281565b604051908152602001610156565b34801561022a57600080fd5b5061017f6107b9565b34801561023f57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b6040519015158152602001610156565b34801561028357600080fd5b5061021060008051602061303b83398151915281565b6101a16102a7366004612ae3565b610864565b3480156102b857600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ec57600080fd5b50600054610149906001600160a01b031681565b34801561030c57600080fd5b506101a161031b366004612a62565b61089a565b34801561032c57600080fd5b50610210600080516020612f9b83398151915281565b34801561034e57600080fd5b506101a161035d366004612a62565b610903565b34801561036e57600080fd5b5061017f61037d366004612b34565b61096c565b34801561038e57600080fd5b50610210600080516020612f7b83398151915281565b3480156103b057600080fd5b50600154610149906001600160a01b031681565b3480156103d057600080fd5b50610210600080516020612fbb83398151915281565b3480156103f257600080fd5b50610210600080516020612ffb83398151915281565b34801561041457600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b34801561044857600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b34801561047c57600080fd5b506101a161048b36600461297a565b610a9d565b6000546001600160a01b031633146104ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b81156105a0576001600160a01b0383161515806105095750805b61054d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016104e6565b600080546040516001600160a01b0380871693921691600080516020612fdb83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6105c96127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c90600080516020612ffb833981519152908c908c908990600401612ba8565b6020604051808303816000875af115801561064b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066f9190612bed565b905061067d81878787610864565b98975050505050505050565b6106916127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c9060008051602061303b833981519152908c908c908990600401612ba8565b6106fc6127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d90600080516020612f9b833981519152908b908890600401612c0a565b6020604051808303816000875af115801561077c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a09190612bed565b90506107ae81878787610864565b979650505050505050565b6001546001600160a01b03163381146108145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016104e6565b600080546040516001600160a01b0380851693921691600080516020612fdb83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b61086c6127ab565b6000806108798787610b08565b9150915061088e828287878a60600151610d0d565b9150505b949350505050565b6108a26127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d90600080516020612f7b833981519152908b908890600401612c0a565b61090b6127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d9060008051602061301b833981519152908b908890600401612c0a565b600154600160a81b900460ff1615808015610992575060018054600160a01b900460ff16105b806109b957506109a1306110f8565b1580156109b9575060018054600160a01b900460ff16145b610a1c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104e6565b6001805460ff60a01b1916600160a01b1790558015610a49576001805460ff60a81b1916600160a81b1790555b610a5282611107565b8015610a99576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610aa56127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c90600080516020612fbb833981519152908c908c908990600401612ba8565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152610b3b6127ab565b600080610b5b85602001518660400151876000015163ffffffff16611196565b915091506040518060a00160405280866000015163ffffffff168152602001610b87876080015161127c565b6001600160501b03168152602001610b9e846112b6565b8152602001610bac836112b6565b81527f000000000000000000000000000000000000000000000000000000000000000015156020909101526001600160a01b03871684528051909450610bf39087906112d0565b6001600160a01b03908116604086810191909152918116602080870182905287840151606089015191890151945163f661cf6b60e01b81526004810193909352602483015260448201526001600160501b0390921660648301527f0000000000000000000000000000000000000000000000000000000000000000169063f661cf6b906084016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190612bed565b6001600160a01b031660608401526040517fd1f8866e1ab220ea57cc2bc3d029810357a6f6df863760170473f9df5b322ebd90610cfc9085908790612c3b565b60405180910390a150509250929050565b610d188333846114e1565b610d42837f0000000000000000000000000000000000000000000000000000000000000000611548565b83516001600160a01b03848116911614610d82578351610d82907f0000000000000000000000000000000000000000000000000000000000000000611548565b610db084602001517f0000000000000000000000000000000000000000000000000000000000000000611548565b600084600001516001600160a01b0316846001600160a01b031614610f145760006001600160a01b03851615610de7576000610de9565b835b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e071dc68230896000015160006040518060a001604052808c6001600160a01b031681526020018b81526020018c6001600160a01b0316815260200160006001600160a01b0316815260200160405180608001604052806000600a811115610e8057610e80612c94565b815260006020808301829052604080518381529182018152808401919091526060909201529152516001600160e01b031960e088901b168152610ec99493929190600401612caa565b60206040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190612d72565b915050610f17565b50815b6000610f47876000015163ffffffff16610f348960400151611608565b610f418a60600151611608565b86611617565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631a8631b2308960400151610f93868861171590919063ffffffff16565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152600060648201526084016020604051808303816000875af1158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190612d72565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397ee279e3389606001516110568b60000151611738565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606481018490526000608482015260a4016060604051808303816000875af11580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dc9190612d8b565b5050506110ee876040015133836117c2565b5050505050505050565b6001600160a01b03163b151590565b600154600160a81b900460ff166111745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016104e6565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111c46040518060800160405280600081526020016000815260200160008152602001600081525090565b6111dc6301e133806111d64287612dcf565b9061188c565b8082526111fb906111f5670de0b6b3a764000089612de2565b906118b2565b60208201528051611218906111f5670de0b6b3a764000088612de2565b60408201819052602082015160029161123091612de2565b61123a9190612e0b565b915081816040015161124c9190612dcf565b60608201819052815161126790671e7e1c1c97e21800612e1f565b6112719190612e0b565b925050935093915050565b60006112b06112ab6112a66112a161129c86670de0b6b3a7640000612de2565b6112b6565b611a65565b611608565b611af8565b92915050565b60006001600160ff1b038211156112cc57600080fd5b5090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166387efe5a7858563ffffffff166040518363ffffffff1660e01b8152600401611327929190612e36565b602060405180830381865afa158015611344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113689190612bed565b91506001600160a01b03821661144157604051637145345b60e11b81526001600160a01b03858116600483015263ffffffff851660248301527f0000000000000000000000000000000000000000000000000000000000000000151560448301527f0000000000000000000000000000000000000000000000000000000000000000169063e28a68b69060640160408051808303816000875af1158015611413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114379190612e4f565b90925090506114da565b60405163464fbcb160e11b81526001600160a01b03858116600483015263ffffffff851660248301527f00000000000000000000000000000000000000000000000000000000000000001690638c9f796290604401602060405180830381865afa1580156114b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d79190612bed565b90505b9250929050565b6001600160a01b03831661152d578034146105bc5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104e6565b80156105bc576105bc6001600160a01b038416833084611b0e565b6001600160a01b03821661155a575050565b61156c60026001600160601b03612e89565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e99190612d72565b1015610a99576115fb82826000611b79565b610a998282600019611b79565b6000808212156112cc57600080fd5b60006116446040518060800160405280600081526020016000815260200160008152602001600081525090565b61164e4287612dcf565b81526116716112a661165f856112b6565b6112a190670de0b6b3a7640000612eaf565b6020820181905281516116a19161169c916301e13380916116929190612e1f565b61129c9190612e0b565b611c8d565b604082015280516000906116b96301e1338088612e1f565b6116c39190612e0b565b905060006116f461169c6116d6846112b6565b6116df896112b6565b86604001516116ee9190612ed7565b9061209b565b905061067d6112a661170e83670de0b6b3a7640000612eaf565b83906120be565b6000806117228385612e1f565b9050670de0b6b3a7640000815b04949350505050565b60006001600160a01b038216156117bb576040516370a0823160e01b81526001600160a01b038316906370a08231906117759030906004016127d2565b602060405180830381865afa158015611792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b69190612d72565b6112b0565b4792915050565b806000036117cf57505050565b6001600160a01b038316611878576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461182a576040519150601f19603f3d011682016040523d82523d6000602084013e61182f565b606091505b50509050806118725760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104e6565b50505050565b6105bc6001600160a01b03841683836120e4565b6000806118a1670de0b6b3a764000085612e1f565b905082818161172f5761172f612df5565b6000816000036118cb5750670de0b6b3a76400006112b0565b826000036118db575060006112b0565b600160ff1b83106119205760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064016104e6565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532831061197a5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b60448201526064016104e6565b826000670c7d713b49da00008313801561199b5750670f43fc2c04ee000083125b156119d25760006119ab84612103565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506119e0565b816119dc84612222565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611a0e575068070c1cc73b00c800008113155b611a525760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b60448201526064016104e6565b611a5b81611c8d565b9695505050505050565b6000808213611aa65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104e6565b670c7d713b49da000082138015611ac45750670f43fc2c04ee000082125b15611aef57670de0b6b3a7640000611adb83612103565b81611ae857611ae8612df5565b0592915050565b6112b082612222565b60006001600160501b038211156112cc57600080fd5b6040516001600160a01b03808516602483015283166044820152606481018290526118729085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526125c5565b600080846001600160a01b031663095ea7b360e01b8585604051602401611ba1929190612e36565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611bdf9190612efe565b6000604051808303816000865af19150503d8060008114611c1c576040519150601f19603f3d011682016040523d82523d6000602084013e611c21565b606091505b5091509150818015611c4b575080511580611c4b575080806020019051810190611c4b9190612f1a565b611c865760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104e6565b5050505050565b6000680238fd42c5cf03ffff198212158015611cb2575068070c1cc73b00c800008213155b611cf15760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104e6565b6000821215611d2257611d0682600003611c8d565b6a0c097ce7bc90715b34b9f160241b81611ae857611ae8612df5565b60006806f05b59d3b20000008312611d6057506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611d96565b6803782dace9d90000008312611d9257506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611d96565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611de65768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611e22576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611e5c57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611e96576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611ecf57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611f085768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611f41576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611f7a5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806120a88385612f37565b9050670de0b6b3a7640000815b05949350505050565b6000806120d3670de0b6b3a764000085612f37565b90508281816120b5576120b5612df5565b6105bc8363a9059cbb60e01b8484604051602401611b42929190612e36565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161214457612144612df5565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156122635761225a826a0c097ce7bc90715b34b9f160241b8161225457612254612df5565b05612222565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126122ae5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126122e5576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261232d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612368576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261239f57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126123d657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261240b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261243657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261246b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126124a0576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126124d4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612508576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161253157612531612df5565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600061261a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661269a9092919063ffffffff16565b905080516000148061263b57508080602001905181019061263b9190612f1a565b6105bc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e6565b6060610892848460008585600080866001600160a01b031685876040516126c19190612efe565b60006040518083038185875af1925050503d80600081146126fe576040519150601f19603f3d011682016040523d82523d6000602084013e612703565b606091505b50915091506107ae878383876060831561277c57825160000361277557612729856110f8565b6127755760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e6565b5081610892565b61089283838151156127915781518083602001fd5b8060405162461bcd60e51b81526004016104e69190612f67565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146127fb57600080fd5b50565b80151581146127fb57600080fd5b60008060006060848603121561282157600080fd5b833561282c816127e6565b9250602084013561283c816127fe565b9150604084013561284c816127fe565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261287e57600080fd5b81356001600160401b038082111561289857612898612857565b604051601f8301601f19908116603f011681019082821181831017156128c0576128c0612857565b816040528381528660208588010111156128d957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060a0828403121561290b57600080fd5b60405160a081016001600160401b038111828210171561292d5761292d612857565b604052905080823563ffffffff8116811461294757600080fd5b80825250602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b600080600080600080610140878903121561299457600080fd5b86356001600160401b03808211156129ab57600080fd5b6129b78a838b0161286d565b975060208901359150808211156129cd57600080fd5b506129da89828a0161286d565b9550506129ea88604089016128f9565b935060e08701356129fa816127e6565b92506101008701359150610120870135612a13816127e6565b809150509295509295509295565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b608081016112b08284612a21565b60008060008060006101208688031215612a7b57600080fd5b85356001600160401b03811115612a9157600080fd5b612a9d8882890161286d565b955050612aad87602088016128f9565b935060c0860135612abd816127e6565b925060e08601359150610100860135612ad5816127e6565b809150509295509295909350565b6000806000806101008587031215612afa57600080fd5b8435612b05816127e6565b9350612b1486602087016128f9565b925060c0850135612b24816127e6565b9396929550929360e00135925050565b600060208284031215612b4657600080fd5b8135612b51816127e6565b9392505050565b60005b83811015612b73578181015183820152602001612b5b565b50506000910152565b60008151808452612b94816020860160208601612b58565b601f01601f19169290920160200192915050565b848152608060208201526000612bc16080830186612b7c565b8281036040840152612bd38186612b7c565b91505060018060a01b038316606083015295945050505050565b600060208284031215612bff57600080fd5b8151612b51816127e6565b838152606060208201526000612c236060830185612b7c565b905060018060a01b0383166040830152949350505050565b6101208101612c4a8285612a21565b825163ffffffff1660808381019190915260208401516001600160501b031660a0840152604084015160c0840152606084015160e084015290920151151561010090910152919050565b634e487b7160e01b600052602160045260246000fd5b600060018060a01b038087168352808616602084015284604084015260806060840152808451166080840152602084015160a08401528060408501511660c08401528060608501511660e0840152608084015160a06101008501528051600b8110612d2557634e487b7160e01b600052602160045260246000fd5b61012085015260208101519091166101408401526040810151608061016085015290612d556101a0850183612b7c565b915060608101511515610180850152508091505095945050505050565b600060208284031215612d8457600080fd5b5051919050565b600080600060608486031215612da057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156112b0576112b0612db9565b808201808211156112b0576112b0612db9565b634e487b7160e01b600052601260045260246000fd5b600082612e1a57612e1a612df5565b500490565b80820281158282048414176112b0576112b0612db9565b6001600160a01b03929092168252602082015260400190565b60008060408385031215612e6257600080fd5b8251612e6d816127e6565b6020840151909250612e7e816127e6565b809150509250929050565b60006001600160601b0383811680612ea357612ea3612df5565b92169190910492915050565b8082018281126000831280158216821582161715612ecf57612ecf612db9565b505092915050565b8181036000831280158383131683831282161715612ef757612ef7612db9565b5092915050565b60008251612f10818460208701612b58565b9190910192915050565b600060208284031215612f2c57600080fd5b8151612b51816127fe565b80820260008212600160ff1b84141615612f5357612f53612db9565b81810583148215176112b0576112b0612db9565b602081526000612b516020830184612b7c56fe6f089cd4afdd945c5c26b3f4542d0c294d19ec0e339c6ce4f8eafa94d700d05dfcf22a9a515753d83e4f2a81cf368c7226408c64f52411ae95241ebf5ed53304e5cce2b1999bf8c2cc4cf6d96d0569a24d8b782ba1647c09a8e1aa8bbfb989968be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e03b8dd2b992f773444e5422ba1db289c4657c57110d740dca7975dc095632ef231278efc0e6754cd30fef2df25ff5ced072ebb194d348b0b1b9548166d24352ef73f41560741d6765943d3c955034291fe23d9141e3a4719bc97422d5bf019adca2646970667358221220e64fdccda7f70515d1b13a91d41b49471250e43600073879df303bcf105e828f64736f6c63430008170033";
979
+ "0x6101206040523480156200001257600080fd5b506040516200330b3803806200330b83398101604081905262000035916200015b565b6001461460e0526001600160a01b0380841660805280831660a05280821660c0528416610100526200006662000070565b50505050620001b8565b600154600160a81b900460ff1615620000df5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146200013c576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b03811681146200015657600080fd5b919050565b600080600080608085870312156200017257600080fd5b6200017d856200013e565b93506200018d602086016200013e565b92506200019d604086016200013e565b9150620001ad606086016200013e565b905092959194509250565b60805160a05160c05160e051610100516130906200027b6000396000818161041a015281816105e3015281816106ab01528181610716015281816108bc015281816109250152610abf01526000818161024501528181610bb001526113a30152600081816101270152610c4f0152600081816102be015281816112d5015281816113cb015261146c01526000818161044e01528181610d1e01528181610d5e01528181610d8c01528181610ded01528181610f4d015261101601526130906000f3fe6080604052600436106101105760003560e01c806306ae709514610115578063078dfbe71461015f57806318440ec8146101815780632becf31e146101ae5780634425b2b8146101ce5780634763221f146101ee5780634e71e0c81461021e578063516399df146102335780635351403d146102775780637fa1669e1461029957806387a409a2146102ac5780638da5cb5b146102e05780639989469d14610300578063a035d5f714610320578063bcddb09214610342578063c4d66de814610362578063c947345014610382578063e30c3978146103a4578063e423d3bf146103c4578063f36a4a8f146103e6578063f7e8114914610408578063f887ea401461043c578063fe82d72714610470575b600080fd5b34801561012157600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b60405161015691906127d2565b60405180910390f35b34801561016b57600080fd5b5061017f61017a36600461280c565b610490565b005b34801561018d57600080fd5b506101a161019c36600461297a565b6105c1565b6040516101569190612a54565b3480156101ba57600080fd5b506101a16101c936600461297a565b610689565b3480156101da57600080fd5b506101a16101e9366004612a62565b6106f4565b3480156101fa57600080fd5b5061021060008051602061301b83398151915281565b604051908152602001610156565b34801561022a57600080fd5b5061017f6107b9565b34801561023f57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b6040519015158152602001610156565b34801561028357600080fd5b5061021060008051602061303b83398151915281565b6101a16102a7366004612ae3565b610864565b3480156102b857600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ec57600080fd5b50600054610149906001600160a01b031681565b34801561030c57600080fd5b506101a161031b366004612a62565b61089a565b34801561032c57600080fd5b50610210600080516020612f9b83398151915281565b34801561034e57600080fd5b506101a161035d366004612a62565b610903565b34801561036e57600080fd5b5061017f61037d366004612b34565b61096c565b34801561038e57600080fd5b50610210600080516020612f7b83398151915281565b3480156103b057600080fd5b50600154610149906001600160a01b031681565b3480156103d057600080fd5b50610210600080516020612fbb83398151915281565b3480156103f257600080fd5b50610210600080516020612ffb83398151915281565b34801561041457600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b34801561044857600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b34801561047c57600080fd5b506101a161048b36600461297a565b610a9d565b6000546001600160a01b031633146104ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b81156105a0576001600160a01b0383161515806105095750805b61054d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016104e6565b600080546040516001600160a01b0380871693921691600080516020612fdb83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6105c96127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c90600080516020612ffb833981519152908c908c908990600401612ba8565b6020604051808303816000875af115801561064b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066f9190612bed565b905061067d81878787610864565b98975050505050505050565b6106916127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c9060008051602061303b833981519152908c908c908990600401612ba8565b6106fc6127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d90600080516020612f9b833981519152908b908890600401612c0a565b6020604051808303816000875af115801561077c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a09190612bed565b90506107ae81878787610864565b979650505050505050565b6001546001600160a01b03163381146108145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016104e6565b600080546040516001600160a01b0380851693921691600080516020612fdb83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b61086c6127ab565b6000806108798787610b08565b9150915061088e828287878a60600151610d0d565b9150505b949350505050565b6108a26127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d90600080516020612f7b833981519152908b908890600401612c0a565b61090b6127ab565b60405163e1bfd47760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e1bfd4779061075d9060008051602061301b833981519152908b908890600401612c0a565b600154600160a81b900460ff1615808015610992575060018054600160a01b900460ff16105b806109b957506109a1306110f8565b1580156109b9575060018054600160a01b900460ff16145b610a1c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104e6565b6001805460ff60a01b1916600160a01b1790558015610a49576001805460ff60a81b1916600160a81b1790555b610a5282611107565b8015610a99576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610aa56127ab565b6040516389c5163360e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906389c516339061062c90600080516020612fbb833981519152908c908c908990600401612ba8565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152610b3b6127ab565b600080610b5b85602001518660400151876000015163ffffffff16611196565b915091506040518060a00160405280866000015163ffffffff168152602001610b87876080015161127c565b6001600160501b03168152602001610b9e846112b6565b8152602001610bac836112b6565b81527f000000000000000000000000000000000000000000000000000000000000000015156020909101526001600160a01b03871684528051909450610bf39087906112d0565b6001600160a01b03908116604086810191909152918116602080870182905287840151606089015191890151945163f661cf6b60e01b81526004810193909352602483015260448201526001600160501b0390921660648301527f0000000000000000000000000000000000000000000000000000000000000000169063f661cf6b906084016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc9190612bed565b6001600160a01b031660608401526040517fd1f8866e1ab220ea57cc2bc3d029810357a6f6df863760170473f9df5b322ebd90610cfc9085908790612c3b565b60405180910390a150509250929050565b610d188333846114e1565b610d42837f0000000000000000000000000000000000000000000000000000000000000000611548565b83516001600160a01b03848116911614610d82578351610d82907f0000000000000000000000000000000000000000000000000000000000000000611548565b610db084602001517f0000000000000000000000000000000000000000000000000000000000000000611548565b600084600001516001600160a01b0316846001600160a01b031614610f145760006001600160a01b03851615610de7576000610de9565b835b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e071dc68230896000015160006040518060a001604052808c6001600160a01b031681526020018b81526020018c6001600160a01b0316815260200160006001600160a01b0316815260200160405180608001604052806000600a811115610e8057610e80612c94565b815260006020808301829052604080518381529182018152808401919091526060909201529152516001600160e01b031960e088901b168152610ec99493929190600401612caa565b60206040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190612d72565b915050610f17565b50815b6000610f47876000015163ffffffff16610f348960400151611608565b610f418a60600151611608565b86611617565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631a8631b2308960400151610f93868861171590919063ffffffff16565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152600060648201526084016020604051808303816000875af1158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190612d72565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397ee279e3389606001516110568b60000151611738565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606481018490526000608482015260a4016060604051808303816000875af11580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dc9190612d8b565b5050506110ee876040015133836117c2565b5050505050505050565b6001600160a01b03163b151590565b600154600160a81b900460ff166111745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016104e6565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111c46040518060800160405280600081526020016000815260200160008152602001600081525090565b6111dc6301e133806111d64287612dcf565b9061188c565b8082526111fb906111f5670de0b6b3a764000089612de2565b906118b2565b60208201528051611218906111f5670de0b6b3a764000088612de2565b60408201819052602082015160029161123091612de2565b61123a9190612e0b565b915081816040015161124c9190612dcf565b60608201819052815161126790671e7e1c1c97e21800612e1f565b6112719190612e0b565b925050935093915050565b60006112b06112ab6112a66112a161129c86670de0b6b3a7640000612de2565b6112b6565b611a65565b611608565b611af8565b92915050565b60006001600160ff1b038211156112cc57600080fd5b5090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166387efe5a7858563ffffffff166040518363ffffffff1660e01b8152600401611327929190612e36565b602060405180830381865afa158015611344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113689190612bed565b91506001600160a01b03821661144157604051637145345b60e11b81526001600160a01b03858116600483015263ffffffff851660248301527f0000000000000000000000000000000000000000000000000000000000000000151560448301527f0000000000000000000000000000000000000000000000000000000000000000169063e28a68b69060640160408051808303816000875af1158015611413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114379190612e4f565b90925090506114da565b60405163464fbcb160e11b81526001600160a01b03858116600483015263ffffffff851660248301527f00000000000000000000000000000000000000000000000000000000000000001690638c9f796290604401602060405180830381865afa1580156114b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d79190612bed565b90505b9250929050565b6001600160a01b03831661152d578034146105bc5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104e6565b80156105bc576105bc6001600160a01b038416833084611b0e565b6001600160a01b03821661155a575050565b61156c60026001600160601b03612e89565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156115c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e99190612d72565b1015610a99576115fb82826000611b79565b610a998282600019611b79565b6000808212156112cc57600080fd5b60006116446040518060800160405280600081526020016000815260200160008152602001600081525090565b61164e4287612dcf565b81526116716112a661165f856112b6565b6112a190670de0b6b3a7640000612eaf565b6020820181905281516116a19161169c916301e13380916116929190612e1f565b61129c9190612e0b565b611c8d565b604082015280516000906116b96301e1338088612e1f565b6116c39190612e0b565b905060006116f461169c6116d6846112b6565b6116df896112b6565b86604001516116ee9190612ed7565b9061209b565b905061067d6112a661170e83670de0b6b3a7640000612eaf565b83906120be565b6000806117228385612e1f565b9050670de0b6b3a7640000815b04949350505050565b60006001600160a01b038216156117bb576040516370a0823160e01b81526001600160a01b038316906370a08231906117759030906004016127d2565b602060405180830381865afa158015611792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b69190612d72565b6112b0565b4792915050565b806000036117cf57505050565b6001600160a01b038316611878576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461182a576040519150601f19603f3d011682016040523d82523d6000602084013e61182f565b606091505b50509050806118725760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104e6565b50505050565b6105bc6001600160a01b03841683836120e4565b6000806118a1670de0b6b3a764000085612e1f565b905082818161172f5761172f612df5565b6000816000036118cb5750670de0b6b3a76400006112b0565b826000036118db575060006112b0565b600160ff1b83106119205760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064016104e6565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532831061197a5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b60448201526064016104e6565b826000670c7d713b49da00008313801561199b5750670f43fc2c04ee000083125b156119d25760006119ab84612103565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506119e0565b816119dc84612222565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611a0e575068070c1cc73b00c800008113155b611a525760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b60448201526064016104e6565b611a5b81611c8d565b9695505050505050565b6000808213611aa65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104e6565b670c7d713b49da000082138015611ac45750670f43fc2c04ee000082125b15611aef57670de0b6b3a7640000611adb83612103565b81611ae857611ae8612df5565b0592915050565b6112b082612222565b60006001600160501b038211156112cc57600080fd5b6040516001600160a01b03808516602483015283166044820152606481018290526118729085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526125c5565b600080846001600160a01b031663095ea7b360e01b8585604051602401611ba1929190612e36565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611bdf9190612efe565b6000604051808303816000865af19150503d8060008114611c1c576040519150601f19603f3d011682016040523d82523d6000602084013e611c21565b606091505b5091509150818015611c4b575080511580611c4b575080806020019051810190611c4b9190612f1a565b611c865760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104e6565b5050505050565b6000680238fd42c5cf03ffff198212158015611cb2575068070c1cc73b00c800008213155b611cf15760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104e6565b6000821215611d2257611d0682600003611c8d565b6a0c097ce7bc90715b34b9f160241b81611ae857611ae8612df5565b60006806f05b59d3b20000008312611d6057506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611d96565b6803782dace9d90000008312611d9257506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611d96565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611de65768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611e22576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611e5c57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611e96576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611ecf57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611f085768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611f41576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611f7a5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806120a88385612f37565b9050670de0b6b3a7640000815b05949350505050565b6000806120d3670de0b6b3a764000085612f37565b90508281816120b5576120b5612df5565b6105bc8363a9059cbb60e01b8484604051602401611b42929190612e36565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161214457612144612df5565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156122635761225a826a0c097ce7bc90715b34b9f160241b8161225457612254612df5565b05612222565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126122ae5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126122e5576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261232d576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612368576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261239f57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126123d657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261240b5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261243657680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261246b576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126124a0576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126124d4576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612508576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161253157612531612df5565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b600061261a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661269a9092919063ffffffff16565b905080516000148061263b57508080602001905181019061263b9190612f1a565b6105bc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e6565b6060610892848460008585600080866001600160a01b031685876040516126c19190612efe565b60006040518083038185875af1925050503d80600081146126fe576040519150601f19603f3d011682016040523d82523d6000602084013e612703565b606091505b50915091506107ae878383876060831561277c57825160000361277557612729856110f8565b6127755760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e6565b5081610892565b61089283838151156127915781518083602001fd5b8060405162461bcd60e51b81526004016104e69190612f67565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146127fb57600080fd5b50565b80151581146127fb57600080fd5b60008060006060848603121561282157600080fd5b833561282c816127e6565b9250602084013561283c816127fe565b9150604084013561284c816127fe565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261287e57600080fd5b81356001600160401b038082111561289857612898612857565b604051601f8301601f19908116603f011681019082821181831017156128c0576128c0612857565b816040528381528660208588010111156128d957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060a0828403121561290b57600080fd5b60405160a081016001600160401b038111828210171561292d5761292d612857565b604052905080823563ffffffff8116811461294757600080fd5b80825250602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b600080600080600080610140878903121561299457600080fd5b86356001600160401b03808211156129ab57600080fd5b6129b78a838b0161286d565b975060208901359150808211156129cd57600080fd5b506129da89828a0161286d565b9550506129ea88604089016128f9565b935060e08701356129fa816127e6565b92506101008701359150610120870135612a13816127e6565b809150509295509295509295565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b608081016112b08284612a21565b60008060008060006101208688031215612a7b57600080fd5b85356001600160401b03811115612a9157600080fd5b612a9d8882890161286d565b955050612aad87602088016128f9565b935060c0860135612abd816127e6565b925060e08601359150610100860135612ad5816127e6565b809150509295509295909350565b6000806000806101008587031215612afa57600080fd5b8435612b05816127e6565b9350612b1486602087016128f9565b925060c0850135612b24816127e6565b9396929550929360e00135925050565b600060208284031215612b4657600080fd5b8135612b51816127e6565b9392505050565b60005b83811015612b73578181015183820152602001612b5b565b50506000910152565b60008151808452612b94816020860160208601612b58565b601f01601f19169290920160200192915050565b848152608060208201526000612bc16080830186612b7c565b8281036040840152612bd38186612b7c565b91505060018060a01b038316606083015295945050505050565b600060208284031215612bff57600080fd5b8151612b51816127e6565b838152606060208201526000612c236060830185612b7c565b905060018060a01b0383166040830152949350505050565b6101208101612c4a8285612a21565b825163ffffffff1660808381019190915260208401516001600160501b031660a0840152604084015160c0840152606084015160e084015290920151151561010090910152919050565b634e487b7160e01b600052602160045260246000fd5b600060018060a01b038087168352808616602084015284604084015260806060840152808451166080840152602084015160a08401528060408501511660c08401528060608501511660e0840152608084015160a06101008501528051600b8110612d2557634e487b7160e01b600052602160045260246000fd5b61012085015260208101519091166101408401526040810151608061016085015290612d556101a0850183612b7c565b915060608101511515610180850152508091505095945050505050565b600060208284031215612d8457600080fd5b5051919050565b600080600060608486031215612da057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156112b0576112b0612db9565b808201808211156112b0576112b0612db9565b634e487b7160e01b600052601260045260246000fd5b600082612e1a57612e1a612df5565b500490565b80820281158282048414176112b0576112b0612db9565b6001600160a01b03929092168252602082015260400190565b60008060408385031215612e6257600080fd5b8251612e6d816127e6565b6020840151909250612e7e816127e6565b809150509250929050565b60006001600160601b0383811680612ea357612ea3612df5565b92169190910492915050565b8082018281126000831280158216821582161715612ecf57612ecf612db9565b505092915050565b8181036000831280158383131683831282161715612ef757612ef7612db9565b5092915050565b60008251612f10818460208701612b58565b9190910192915050565b600060208284031215612f2c57600080fd5b8151612b51816127fe565b80820260008212600160ff1b84141615612f5357612f53612db9565b81810583148215176112b0576112b0612db9565b602081526000612b516020830184612b7c56fe6f089cd4afdd945c5c26b3f4542d0c294d19ec0e339c6ce4f8eafa94d700d05dfcf22a9a515753d83e4f2a81cf368c7226408c64f52411ae95241ebf5ed53304e5cce2b1999bf8c2cc4cf6d96d0569a24d8b782ba1647c09a8e1aa8bbfb989968be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e03b8dd2b992f773444e5422ba1db289c4657c57110d740dca7975dc095632ef231278efc0e6754cd30fef2df25ff5ced072ebb194d348b0b1b9548166d24352ef73f41560741d6765943d3c955034291fe23d9141e3a4719bc97422d5bf019adca2646970667358221220de2177eb8b98080388807bba36f4ffb2ece0080e7eccfe5ddc6b109f7bcb662f64736f6c63430008170033";
980
980
 
981
981
  type PendleCommonPoolDeployHelperV2ConstructorParams =
982
982
  | [signer?: Signer]