@pendle/core-v2 6.4.2-unichain → 6.4.2

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.
@@ -43,7 +43,7 @@
43
43
  "poolDeployHelperV2": "0x6E716B682D0b63E7BF2C7b1cD20F2Fc2F3596fc7",
44
44
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
45
45
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
46
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
46
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
47
47
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
48
48
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
49
49
  "receiverEndpoint": "0xf799E4c029d14f41Dc1918C9A4C67242F565710e",
@@ -44,7 +44,7 @@
44
44
  "poolDeployHelper": "0xF536323e5825dCb1Bc9b4DE74D63111189532b5f",
45
45
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
46
46
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
47
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
47
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -37,7 +37,7 @@
37
37
  "poolDeployHelperV2": "0x96F77F24b3d17166FcaF3a9E3B8330fF38B966F9",
38
38
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
39
39
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
40
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
40
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
41
41
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
42
42
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
43
43
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -37,7 +37,7 @@
37
37
  "poolDeployHelper": "0x8D77771fA2518474cc83a613ef3d6140A84dbe56",
38
38
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
39
39
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
40
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
40
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
41
41
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
42
42
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
43
43
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -37,7 +37,7 @@
37
37
  "poolDeployHelperV2": "0x5E9a7E1A15ab0eAaBD2D78fa36A87158752A1346",
38
38
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
39
39
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
40
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
40
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
41
41
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
42
42
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
43
43
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -2,9 +2,9 @@
2
2
  "deployer": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
3
3
  "network": {
4
4
  "chainId": 999,
5
- "treasury": "0x17A191644E750AA24a5ec13A253b9446f4eF178b",
6
- "governance": "0x34Ac848b6eC31BE87f99ddf7ED15Fa5662E7430a",
7
- "devMultisig": "0x2e7542c7BB887269474995fa8b9cB7F7e6fAC895",
5
+ "treasury": "0xCbcb48e22622a3778b6F14C2f5d258Ba026b05e6",
6
+ "governance": "0x7877AdFaDEd756f3248a0EBfe8Ac2E2eF87b75Ac",
7
+ "devMultisig": "0xE6F0489ED91dc27f40f9dbe8f81fccbFC16b9cb1",
8
8
  "pendle": "0xD6Eb81136884713E843936843E286FD2a85A205A",
9
9
  "lzEndpoint": "0x2D61DCDD36F10b22176E0433B86F74567d529aAa",
10
10
  "wrappedNative": "0x5555555555555555555555555555555555555555",
@@ -37,7 +37,7 @@
37
37
  "poolDeployHelperV2": "0xD6Bea14D955dBC9E3d30dB32fD72b04891718303",
38
38
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
39
39
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
40
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
40
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
41
41
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
42
42
  "syFactory": "0x5eae07541b334a2cdc1f107788a2069d6c1e73c2",
43
43
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -49,7 +49,7 @@
49
49
  "vePendle": "0x1fBaCedf510dAA79dfD9B41227A7ba192d5D548D",
50
50
  "receiverEndpoint": "0xaD511b12F73c145Cf158EB92E4fa256937d952A4",
51
51
  "gaugeController": "0x7e500c6efbb00fd3227888256e477171a1304721",
52
- "vePendleAirdropDistributor": "0x42c706eab26aA8FAcFa4B3f32902bA872AaA10aC",
52
+ "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
53
53
  "externalRewardsDistributor": "0x1Cb446fAE25Ae19878f9f71189902e2a6A6A749c",
54
54
  "lpWrapperFactory": "0xcb645C93820B92E5F21781C5c3c18C29BCb6126B",
55
55
  "decimalsFactory": "0xF2a26C2eb3c4098e03807442196FbA7f78b125a2",
@@ -59,4 +59,4 @@
59
59
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
60
60
  },
61
61
  "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
62
- }
62
+ }
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": "6.4.2-unichain",
5
+ "version": "6.4.2",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -0,0 +1,362 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export type UserDataStruct = {
26
+ state: BigNumberish;
27
+ metaShares: BigNumberish;
28
+ lastVotedRound: BigNumberish;
29
+ forfeitedUntilRound: BigNumberish;
30
+ };
31
+
32
+ export type UserDataStructOutput = [number, BigNumber, BigNumber, BigNumber] & {
33
+ state: number;
34
+ metaShares: BigNumber;
35
+ lastVotedRound: BigNumber;
36
+ forfeitedUntilRound: BigNumber;
37
+ };
38
+
39
+ export interface StPendleInterface extends utils.Interface {
40
+ contractName: "StPendle";
41
+ functions: {
42
+ "balanceOf(address)": FunctionFragment;
43
+ "distribute(uint256)": FunctionFragment;
44
+ "doVote()": FunctionFragment;
45
+ "getSideData(uint8)": FunctionFragment;
46
+ "getUserData(address)": FunctionFragment;
47
+ "hasInteractedBefore(address)": FunctionFragment;
48
+ "sharesOf(address)": FunctionFragment;
49
+ "sharesValue(uint256)": FunctionFragment;
50
+ "votingBegin()": FunctionFragment;
51
+ "votingFinalize()": FunctionFragment;
52
+ };
53
+
54
+ encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
55
+ encodeFunctionData(
56
+ functionFragment: "distribute",
57
+ values: [BigNumberish]
58
+ ): string;
59
+ encodeFunctionData(functionFragment: "doVote", values?: undefined): string;
60
+ encodeFunctionData(
61
+ functionFragment: "getSideData",
62
+ values: [BigNumberish]
63
+ ): string;
64
+ encodeFunctionData(functionFragment: "getUserData", values: [string]): string;
65
+ encodeFunctionData(
66
+ functionFragment: "hasInteractedBefore",
67
+ values: [string]
68
+ ): string;
69
+ encodeFunctionData(functionFragment: "sharesOf", values: [string]): string;
70
+ encodeFunctionData(
71
+ functionFragment: "sharesValue",
72
+ values: [BigNumberish]
73
+ ): string;
74
+ encodeFunctionData(
75
+ functionFragment: "votingBegin",
76
+ values?: undefined
77
+ ): string;
78
+ encodeFunctionData(
79
+ functionFragment: "votingFinalize",
80
+ values?: undefined
81
+ ): string;
82
+
83
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
84
+ decodeFunctionResult(functionFragment: "distribute", data: BytesLike): Result;
85
+ decodeFunctionResult(functionFragment: "doVote", data: BytesLike): Result;
86
+ decodeFunctionResult(
87
+ functionFragment: "getSideData",
88
+ data: BytesLike
89
+ ): Result;
90
+ decodeFunctionResult(
91
+ functionFragment: "getUserData",
92
+ data: BytesLike
93
+ ): Result;
94
+ decodeFunctionResult(
95
+ functionFragment: "hasInteractedBefore",
96
+ data: BytesLike
97
+ ): Result;
98
+ decodeFunctionResult(functionFragment: "sharesOf", data: BytesLike): Result;
99
+ decodeFunctionResult(
100
+ functionFragment: "sharesValue",
101
+ data: BytesLike
102
+ ): Result;
103
+ decodeFunctionResult(
104
+ functionFragment: "votingBegin",
105
+ data: BytesLike
106
+ ): Result;
107
+ decodeFunctionResult(
108
+ functionFragment: "votingFinalize",
109
+ data: BytesLike
110
+ ): Result;
111
+
112
+ events: {};
113
+ }
114
+
115
+ export interface StPendle extends BaseContract {
116
+ contractName: "StPendle";
117
+ connect(signerOrProvider: Signer | Provider | string): this;
118
+ attach(addressOrName: string): this;
119
+ deployed(): Promise<this>;
120
+
121
+ interface: StPendleInterface;
122
+
123
+ queryFilter<TEvent extends TypedEvent>(
124
+ event: TypedEventFilter<TEvent>,
125
+ fromBlockOrBlockhash?: string | number | undefined,
126
+ toBlock?: string | number | undefined
127
+ ): Promise<Array<TEvent>>;
128
+
129
+ listeners<TEvent extends TypedEvent>(
130
+ eventFilter?: TypedEventFilter<TEvent>
131
+ ): Array<TypedListener<TEvent>>;
132
+ listeners(eventName?: string): Array<Listener>;
133
+ removeAllListeners<TEvent extends TypedEvent>(
134
+ eventFilter: TypedEventFilter<TEvent>
135
+ ): this;
136
+ removeAllListeners(eventName?: string): this;
137
+ off: OnEvent<this>;
138
+ on: OnEvent<this>;
139
+ once: OnEvent<this>;
140
+ removeListener: OnEvent<this>;
141
+
142
+ functions: {
143
+ balanceOf(user: string, overrides?: CallOverrides): Promise<[BigNumber]>;
144
+
145
+ distribute(
146
+ amount: BigNumberish,
147
+ overrides?: Overrides & { from?: string | Promise<string> }
148
+ ): Promise<ContractTransaction>;
149
+
150
+ doVote(
151
+ overrides?: Overrides & { from?: string | Promise<string> }
152
+ ): Promise<ContractTransaction>;
153
+
154
+ getSideData(
155
+ state: BigNumberish,
156
+ overrides?: CallOverrides
157
+ ): Promise<
158
+ [BigNumber, BigNumber] & {
159
+ sidedPooled: BigNumber;
160
+ sidedShares: BigNumber;
161
+ }
162
+ >;
163
+
164
+ getUserData(
165
+ user: string,
166
+ overrides?: CallOverrides
167
+ ): Promise<[UserDataStructOutput]>;
168
+
169
+ hasInteractedBefore(
170
+ user: string,
171
+ overrides?: CallOverrides
172
+ ): Promise<[boolean]>;
173
+
174
+ sharesOf(user: string, overrides?: CallOverrides): Promise<[BigNumber]>;
175
+
176
+ sharesValue(
177
+ numShares: BigNumberish,
178
+ overrides?: CallOverrides
179
+ ): Promise<[BigNumber]>;
180
+
181
+ votingBegin(
182
+ overrides?: Overrides & { from?: string | Promise<string> }
183
+ ): Promise<ContractTransaction>;
184
+
185
+ votingFinalize(
186
+ overrides?: Overrides & { from?: string | Promise<string> }
187
+ ): Promise<ContractTransaction>;
188
+ };
189
+
190
+ balanceOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
191
+
192
+ distribute(
193
+ amount: BigNumberish,
194
+ overrides?: Overrides & { from?: string | Promise<string> }
195
+ ): Promise<ContractTransaction>;
196
+
197
+ doVote(
198
+ overrides?: Overrides & { from?: string | Promise<string> }
199
+ ): Promise<ContractTransaction>;
200
+
201
+ getSideData(
202
+ state: BigNumberish,
203
+ overrides?: CallOverrides
204
+ ): Promise<
205
+ [BigNumber, BigNumber] & { sidedPooled: BigNumber; sidedShares: BigNumber }
206
+ >;
207
+
208
+ getUserData(
209
+ user: string,
210
+ overrides?: CallOverrides
211
+ ): Promise<UserDataStructOutput>;
212
+
213
+ hasInteractedBefore(
214
+ user: string,
215
+ overrides?: CallOverrides
216
+ ): Promise<boolean>;
217
+
218
+ sharesOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
219
+
220
+ sharesValue(
221
+ numShares: BigNumberish,
222
+ overrides?: CallOverrides
223
+ ): Promise<BigNumber>;
224
+
225
+ votingBegin(
226
+ overrides?: Overrides & { from?: string | Promise<string> }
227
+ ): Promise<ContractTransaction>;
228
+
229
+ votingFinalize(
230
+ overrides?: Overrides & { from?: string | Promise<string> }
231
+ ): Promise<ContractTransaction>;
232
+
233
+ callStatic: {
234
+ balanceOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
235
+
236
+ distribute(amount: BigNumberish, overrides?: CallOverrides): Promise<void>;
237
+
238
+ doVote(overrides?: CallOverrides): Promise<void>;
239
+
240
+ getSideData(
241
+ state: BigNumberish,
242
+ overrides?: CallOverrides
243
+ ): Promise<
244
+ [BigNumber, BigNumber] & {
245
+ sidedPooled: BigNumber;
246
+ sidedShares: BigNumber;
247
+ }
248
+ >;
249
+
250
+ getUserData(
251
+ user: string,
252
+ overrides?: CallOverrides
253
+ ): Promise<UserDataStructOutput>;
254
+
255
+ hasInteractedBefore(
256
+ user: string,
257
+ overrides?: CallOverrides
258
+ ): Promise<boolean>;
259
+
260
+ sharesOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
261
+
262
+ sharesValue(
263
+ numShares: BigNumberish,
264
+ overrides?: CallOverrides
265
+ ): Promise<BigNumber>;
266
+
267
+ votingBegin(overrides?: CallOverrides): Promise<void>;
268
+
269
+ votingFinalize(overrides?: CallOverrides): Promise<void>;
270
+ };
271
+
272
+ filters: {};
273
+
274
+ estimateGas: {
275
+ balanceOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
276
+
277
+ distribute(
278
+ amount: BigNumberish,
279
+ overrides?: Overrides & { from?: string | Promise<string> }
280
+ ): Promise<BigNumber>;
281
+
282
+ doVote(
283
+ overrides?: Overrides & { from?: string | Promise<string> }
284
+ ): Promise<BigNumber>;
285
+
286
+ getSideData(
287
+ state: BigNumberish,
288
+ overrides?: CallOverrides
289
+ ): Promise<BigNumber>;
290
+
291
+ getUserData(user: string, overrides?: CallOverrides): Promise<BigNumber>;
292
+
293
+ hasInteractedBefore(
294
+ user: string,
295
+ overrides?: CallOverrides
296
+ ): Promise<BigNumber>;
297
+
298
+ sharesOf(user: string, overrides?: CallOverrides): Promise<BigNumber>;
299
+
300
+ sharesValue(
301
+ numShares: BigNumberish,
302
+ overrides?: CallOverrides
303
+ ): Promise<BigNumber>;
304
+
305
+ votingBegin(
306
+ overrides?: Overrides & { from?: string | Promise<string> }
307
+ ): Promise<BigNumber>;
308
+
309
+ votingFinalize(
310
+ overrides?: Overrides & { from?: string | Promise<string> }
311
+ ): Promise<BigNumber>;
312
+ };
313
+
314
+ populateTransaction: {
315
+ balanceOf(
316
+ user: string,
317
+ overrides?: CallOverrides
318
+ ): Promise<PopulatedTransaction>;
319
+
320
+ distribute(
321
+ amount: BigNumberish,
322
+ overrides?: Overrides & { from?: string | Promise<string> }
323
+ ): Promise<PopulatedTransaction>;
324
+
325
+ doVote(
326
+ overrides?: Overrides & { from?: string | Promise<string> }
327
+ ): Promise<PopulatedTransaction>;
328
+
329
+ getSideData(
330
+ state: BigNumberish,
331
+ overrides?: CallOverrides
332
+ ): Promise<PopulatedTransaction>;
333
+
334
+ getUserData(
335
+ user: string,
336
+ overrides?: CallOverrides
337
+ ): Promise<PopulatedTransaction>;
338
+
339
+ hasInteractedBefore(
340
+ user: string,
341
+ overrides?: CallOverrides
342
+ ): Promise<PopulatedTransaction>;
343
+
344
+ sharesOf(
345
+ user: string,
346
+ overrides?: CallOverrides
347
+ ): Promise<PopulatedTransaction>;
348
+
349
+ sharesValue(
350
+ numShares: BigNumberish,
351
+ overrides?: CallOverrides
352
+ ): Promise<PopulatedTransaction>;
353
+
354
+ votingBegin(
355
+ overrides?: Overrides & { from?: string | Promise<string> }
356
+ ): Promise<PopulatedTransaction>;
357
+
358
+ votingFinalize(
359
+ overrides?: Overrides & { from?: string | Promise<string> }
360
+ ): Promise<PopulatedTransaction>;
361
+ };
362
+ }
@@ -32,7 +32,7 @@ const _abi = [
32
32
  ];
33
33
 
34
34
  const _bytecode =
35
- "0x6080604052348015600e575f5ffd5b5061179c8061001c5f395ff3fe608060405260043610610020575f3560e01c8063ef4093631461002b575f5ffd5b3661002757005b5f5ffd5b348015610036575f5ffd5b5061004a610045366004610ad8565b610060565b6040516100579190610b91565b60405180910390f35b60605f5f61006e85856100fa565b915091505f73888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031683836040516100a09190610baa565b5f6040518083038185875af1925050503d805f81146100da576040519150601f19603f3d011682016040523d82523d5f602084013e6100df565b606091505b5094509050806100f157835184602001fd5b50505092915050565b5f60608161010b6004828688610bc5565b61011491610bec565b9050365f610125866004818a610bc5565b90925090506001600160e01b0319831663092ccd6360e11b148061015957506001600160e01b0319831663640fc23d60e11b145b8061017457506001600160e01b031983166376a4483f60e11b145b156101fe575f808080808061018b87890189611177565b9550955095509550955095506101a08261041f565b9a50888686868686866040516024016101be969594939291906114c4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152995061041595505050505050565b63c241e3ab60e01b6001600160e01b0319841601610295575f8080808061022786880188611524565b9450945094509450945061023a8161041f565b9950878585858585604051602401610256959493929190611594565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529850610415945050505050565b6001600160e01b031983166358bda47560e01b14806102c457506001600160e01b03198316630a94245f60e21b145b806102df57506001600160e01b03198316637b8b4b9560e01b145b15610324575f808080806102f5868801886115cd565b955095509550509450945087858561030c87610546565b86868660405160240161025696959493929190611636565b633dde3dab60e11b6001600160e01b03198416016103d1575f80808061034c85870187611689565b94509450509350935086848461036186610546565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915297506104159350505050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b5050509250929050565b5f80608083015151600a81111561043857610438611257565b1415801561045d57506003608083015151600a81111561045a5761045a611257565b14155b156104ab578160800151606001516104ab5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161040c565b81516104b69061068c565b602083015281516001600160a01b03166104d257506020015190565b81516001600160a01b03165f9081526020819052604090205460ff1661054157815161051d906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f9465f19610714565b81516001600160a01b03165f908152602081905260409020805460ff191660011790555b919050565b5f5f826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610584573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a891906116d6565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906105d9903090600401611720565b602060405180830381865afa1580156105f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106189190611734565b6001600160a01b0382165f9081526020819052604090205490925060ff16610686576106636001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f9465f19610714565b6001600160a01b0381165f908152602081905260409020805460ff191660011790555b50919050565b5f6001600160a01b0382161561070c576040516370a0823160e01b81526001600160a01b038316906370a08231906106c8903090600401611720565b602060405180830381865afa1580156106e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107079190611734565b61070e565b475b92915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261076584826107cd565b6107c757604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107bd908590610869565b6107c78482610869565b50505050565b5f5f5f846001600160a01b0316846040516107e89190610baa565b5f604051808303815f865af19150503d805f8114610821576040519150601f19603f3d011682016040523d82523d5f602084013e610826565b606091505b5091509150818015610850575080511580610850575080806020019051810190610850919061174b565b8015610860575061086085610941565b95945050505050565b5f6108bd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109509092919063ffffffff16565b905080515f14806108dd5750808060200190518101906108dd919061174b565b61093c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161040c565b505050565b6001600160a01b03163b151590565b606061095e84845f85610966565b949350505050565b6060824710156109c75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161040c565b5f5f866001600160a01b031685876040516109e29190610baa565b5f6040518083038185875af1925050503d805f8114610a1c576040519150601f19603f3d011682016040523d82523d5f602084013e610a21565b606091505b5091509150610a3287838387610a3d565b979650505050505050565b60608315610aa95782515f03610aa257610a5685610941565b610aa25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161040c565b508161095e565b61095e8383815115610abe5781518083602001fd5b8060405162461bcd60e51b815260040161040c9190610b91565b5f5f60208385031215610ae9575f5ffd5b82356001600160401b03811115610afe575f5ffd5b8301601f81018513610b0e575f5ffd5b80356001600160401b03811115610b23575f5ffd5b856020828401011115610b34575f5ffd5b6020919091019590945092505050565b5f5b83811015610b5e578181015183820152602001610b46565b50505f910152565b5f8151808452610b7d816020860160208601610b44565b601f01601f19169290920160200192915050565b602081525f610ba36020830184610b66565b9392505050565b5f8251610bbb818460208701610b44565b9190910192915050565b5f5f85851115610bd3575f5ffd5b83861115610bdf575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610c1d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b0381168114610c38575f5ffd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610c7157610c71610c3b565b60405290565b604051608081016001600160401b0381118282101715610c7157610c71610c3b565b604051606081016001600160401b0381118282101715610c7157610c71610c3b565b60405161018081016001600160401b0381118282101715610c7157610c71610c3b565b604051601f8201601f191681016001600160401b0381118282101715610d0657610d06610c3b565b604052919050565b5f60a08284031215610d1e575f5ffd5b610d26610c4f565b823581526020808401359082015260408084013590820152606080840135908201526080928301359281019290925250919050565b803561054181610c24565b5f82601f830112610d75575f5ffd5b81356001600160401b03811115610d8e57610d8e610c3b565b610da1601f8201601f1916602001610cde565b818152846020838601011115610db5575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610c38575f5ffd5b5f60a08284031215610dee575f5ffd5b610df6610c4f565b90508135610e0381610c24565b8152602082810135908201526040820135610e1d81610c24565b60408201526060820135610e3081610c24565b606082015260808201356001600160401b03811115610e4d575f5ffd5b820160808185031215610e5e575f5ffd5b610e66610c77565b8135600b8110610e74575f5ffd5b81526020820135610e8481610c24565b602082015260408201356001600160401b03811115610ea1575f5ffd5b610ead86828501610d66565b60408301525060608201359150610ec382610dd1565b6060810191909152608082015292915050565b803560048110610541575f5ffd5b5f82601f830112610ef3575f5ffd5b81356001600160401b03811115610f0c57610f0c610c3b565b8060051b610f1c60208201610cde565b91825260208185018101929081019086841115610f37575f5ffd5b6020860192505b838310156110ba5782356001600160401b03811115610f5b575f5ffd5b86016060818903601f19011215610f70575f5ffd5b610f78610c99565b60208201356001600160401b03811115610f90575f5ffd5b6020818401019050610180818b031215610fa8575f5ffd5b610fb0610cbb565b813581526020808301359082015260408083013590820152610fd460608301610ed6565b6060820152610fe560808301610d5b565b6080820152610ff660a08301610d5b565b60a082015261100760c08301610d5b565b60c082015261101860e08301610d5b565b60e08201526101008281013590820152610120808301359082015261014080830135908201526101608201356001600160401b03811115611057575f5ffd5b6110638c828501610d66565b6101608301525082525060408201356001600160401b03811115611085575f5ffd5b6110948a602083860101610d66565b602083810191909152606093909301356040830152508352928301929190910190610f3e565b9695505050505050565b5f60a082840312156110d4575f5ffd5b6110dc610c4f565b90506110e782610d5b565b81526020828101359082015260408201356001600160401b0381111561110b575f5ffd5b61111784828501610ee4565b60408301525060608201356001600160401b03811115611135575f5ffd5b61114184828501610ee4565b60608301525060808201356001600160401b0381111561115f575f5ffd5b61116b84828501610d66565b60808301525092915050565b5f5f5f5f5f5f610140878903121561118d575f5ffd5b863561119881610c24565b955060208701356111a881610c24565b9450604087013593506111be8860608901610d0e565b92506101008701356001600160401b038111156111d9575f5ffd5b6111e589828a01610dde565b9250506101208701356001600160401b03811115611201575f5ffd5b61120d89828a016110c4565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b5f52602160045260245ffd5b60018060a01b0381511682526020810151602083015260018060a01b03604082015116604083015260018060a01b0360608201511660608301525f608082015160a060808501528051600b81106112c4576112c4611257565b60a085015260208101516001600160a01b031660c08501526040810151608060e08601526112f6610120860182610b66565b905060608201511515610100860152809250505092915050565b6004811061132057611320611257565b9052565b5f82825180855260208501945060208160051b830101602085015f5b8381101561145557848303601f1901885281518051606080865281518187015260208201516080870152604082015160a087015281015161138460c0870182611310565b50608081015161139760e087018261121a565b5060a08101516113ab61010087018261121a565b5060c08101516113bf61012087018261121a565b5060e08101516113d361014087018261121a565b506101008101516101608601526101208101516101808601526101408101516101a086015261016081015190506101806101c08601526114176101e0860182610b66565b9050602082015185820360208701526114308282610b66565b6040938401519690930195909552506020988901989093509190910190600101611340565b50909695505050505050565b60018060a01b038151168252602081015160208301525f604082015160a0604085015261149160a0850182611324565b9050606083015184820360608601526114aa8282611324565b915050608083015184820360808601526108608282610b66565b6001600160a01b03878116825286166020820152604081018590526114ec6060820185611227565b6101406101008201525f61150461014083018561126b565b8281036101208401526115178185611461565b9998505050505050505050565b5f5f5f5f5f60a08688031215611538575f5ffd5b853561154381610c24565b9450602086013561155381610c24565b9350604086013592506060860135915060808601356001600160401b0381111561157b575f5ffd5b61158788828901610dde565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f90610a329083018461126b565b5f5f5f5f5f5f61014087890312156115e3575f5ffd5b86356115ee81610c24565b955060208701356115fe81610c24565b9450604087013593506060870135925061161b8860808901610d0e565b91506101208701356001600160401b03811115611201575f5ffd5b6001600160a01b0387811682528616602082015260408101859052606081018490526116656080820184611227565b6101406101208201525f61167d610140830184611461565b98975050505050505050565b5f5f5f5f5f60a0868803121561169d575f5ffd5b85356116a881610c24565b945060208601356116b881610c24565b94979496505050506040830135926060810135926080909101359150565b5f5f5f606084860312156116e8575f5ffd5b83516116f381610c24565b602085015190935061170481610c24565b604085015190925061171581610c24565b809150509250925092565b6001600160a01b0391909116815260200190565b5f60208284031215611744575f5ffd5b5051919050565b5f6020828403121561175b575f5ffd5b8151610ba381610dd156fea2646970667358221220bac801c1dc7a5649fd8a81b89094ddef51ba4fbc1891702951fcbce10e85293a64736f6c634300081e0033";
35
+ "0x6080604052348015600e575f5ffd5b506119ec8061001c5f395ff3fe608060405260043610610020575f3560e01c8063ef4093631461002b575f5ffd5b3661002757005b5f5ffd5b348015610036575f5ffd5b5061004a610045366004610d0f565b610060565b6040516100579190610dc8565b60405180910390f35b60605f5f5f5f610070878761011b565b93509350935093505f73888888888889758f76e7103c6cbf23abbf58f9466001600160a01b031685856040516100a69190610de1565b5f6040518083038185875af1925050503d805f81146100e0576040519150601f19603f3d011682016040523d82523d5f602084013e6100e5565b606091505b5096509050806100f757855186602001fd5b6001600160a01b03821615610110576101108383610450565b505050505092915050565b5f606081808061012e600482888a610dfc565b61013791610e23565b9050365f610148886004818c610dfc565b90925090506001600160e01b0319831663092ccd6360e11b148061017c57506001600160e01b0319831663640fc23d60e11b145b8061019757506001600160e01b031983166376a4483f60e11b145b15610225575f80808080806101ae878901896113ae565b9550955095509550955095506101c3826104ef565b9c50888686868686866040516024016101e1969594939291906116fb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529b509499509297506104449350505050565b63c241e3ab60e01b6001600160e01b03198416016102c0575f8080808061024e8688018861175b565b94509450945094509450610261816104ef565b9b5087858585858560405160240161027d9594939291906117cb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529a5093985091965061044492505050565b6001600160e01b031983166358bda47560e01b14806102ef57506001600160e01b03198316630a94245f60e21b145b8061030a57506001600160e01b03198316637b8b4b9560e01b145b1561034f575f8080808061032086880188611804565b955095509550509450945087858561033787610616565b86868660405160240161027d9695949392919061186d565b633dde3dab60e11b6001600160e01b0319841601610400575f808080610377858701876118c0565b94509450509350935086848461038c86610616565b6040516001600160a01b03938416602482015292909116604483015260648201526084810184905260a4810183905260c40160408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529950929750909550610444915050565b60405162461bcd60e51b81526020600482015260146024820152732aa729aaa82827a92a22a22fa9a2a622a1aa27a960611b60448201526064015b60405180910390fd5b50505092959194509250565b5f5f5f836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561048f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b3919061190d565b9250925092506104cc83866104c78661075c565b6107cf565b6104da82866104c78561075c565b6104e881866104c78461075c565b5050505050565b5f80608083015151600a8111156105085761050861148e565b1415801561052d57506003608083015151600a81111561052a5761052a61148e565b14155b1561057b5781608001516060015161057b5760405162461bcd60e51b815260206004820152601160248201527014d0d0531157d254d7d491545552549151607a1b604482015260640161043b565b815161058690610899565b602083015281516001600160a01b03166105a257506020015190565b81516001600160a01b03165f9081526020819052604090205460ff166106115781516105ed906001600160a01b031673888888888889758f76e7103c6cbf23abbf58f9465f19610920565b81516001600160a01b03165f908152602081905260409020805460ff191660011790555b919050565b5f5f826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610654573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610678919061190d565b50506040516370a0823160e01b81529091506001600160a01b038216906370a08231906106a9903090600401611957565b602060405180830381865afa1580156106c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e8919061196b565b6001600160a01b0382165f9081526020819052604090205490925060ff16610756576107336001600160a01b03821673888888888889758f76e7103c6cbf23abbf58f9465f19610920565b6001600160a01b0381165f908152602081905260409020805460ff191660011790555b50919050565b6040516370a0823160e01b81525f906001600160a01b038316906370a082319061078a903090600401611957565b602060405180830381865afa1580156107a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c9919061196b565b92915050565b805f036107db57505050565b6001600160a01b038316610880575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610832576040519150601f19603f3d011682016040523d82523d5f602084013e610837565b606091505b505090508061087a5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161043b565b50505050565b6108946001600160a01b03841683836109ea565b505050565b5f6001600160a01b03821615610919576040516370a0823160e01b81526001600160a01b038316906370a08231906108d5903090600401611957565b602060405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610914919061196b565b6107c9565b4792915050565b5f63095ea7b360e01b838360405160240161093c929190611982565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061097a8482610a09565b61087a576040516001600160a01b03841660248201525f60448201526109e090859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610aa5565b61087a8482610aa5565b6108948363a9059cbb60e01b84846040516024016109a9929190611982565b5f5f5f846001600160a01b031684604051610a249190610de1565b5f604051808303815f865af19150503d805f8114610a5d576040519150601f19603f3d011682016040523d82523d5f602084013e610a62565b606091505b5091509150818015610a8c575080511580610a8c575080806020019051810190610a8c919061199b565b8015610a9c5750610a9c85610b78565b95945050505050565b5f610af9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b879092919063ffffffff16565b905080515f1480610b19575080806020019051810190610b19919061199b565b6108945760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161043b565b6001600160a01b03163b151590565b6060610b9584845f85610b9d565b949350505050565b606082471015610bfe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161043b565b5f5f866001600160a01b03168587604051610c199190610de1565b5f6040518083038185875af1925050503d805f8114610c53576040519150601f19603f3d011682016040523d82523d5f602084013e610c58565b606091505b5091509150610c6987838387610c74565b979650505050505050565b60608315610ce05782515f03610cd957610c8d85610b78565b610cd95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161043b565b5081610b95565b610b958383815115610cf55781518083602001fd5b8060405162461bcd60e51b815260040161043b9190610dc8565b5f5f60208385031215610d20575f5ffd5b82356001600160401b03811115610d35575f5ffd5b8301601f81018513610d45575f5ffd5b80356001600160401b03811115610d5a575f5ffd5b856020828401011115610d6b575f5ffd5b6020919091019590945092505050565b5f5b83811015610d95578181015183820152602001610d7d565b50505f910152565b5f8151808452610db4816020860160208601610d7b565b601f01601f19169290920160200192915050565b602081525f610dda6020830184610d9d565b9392505050565b5f8251610df2818460208701610d7b565b9190910192915050565b5f5f85851115610e0a575f5ffd5b83861115610e16575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610e54576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b0381168114610e6f575f5ffd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610ea857610ea8610e72565b60405290565b604051608081016001600160401b0381118282101715610ea857610ea8610e72565b604051606081016001600160401b0381118282101715610ea857610ea8610e72565b60405161018081016001600160401b0381118282101715610ea857610ea8610e72565b604051601f8201601f191681016001600160401b0381118282101715610f3d57610f3d610e72565b604052919050565b5f60a08284031215610f55575f5ffd5b610f5d610e86565b823581526020808401359082015260408084013590820152606080840135908201526080928301359281019290925250919050565b803561061181610e5b565b5f82601f830112610fac575f5ffd5b81356001600160401b03811115610fc557610fc5610e72565b610fd8601f8201601f1916602001610f15565b818152846020838601011115610fec575f5ffd5b816020850160208301375f918101602001919091529392505050565b8015158114610e6f575f5ffd5b5f60a08284031215611025575f5ffd5b61102d610e86565b9050813561103a81610e5b565b815260208281013590820152604082013561105481610e5b565b6040820152606082013561106781610e5b565b606082015260808201356001600160401b03811115611084575f5ffd5b820160808185031215611095575f5ffd5b61109d610eae565b8135600b81106110ab575f5ffd5b815260208201356110bb81610e5b565b602082015260408201356001600160401b038111156110d8575f5ffd5b6110e486828501610f9d565b604083015250606082013591506110fa82611008565b6060810191909152608082015292915050565b803560048110610611575f5ffd5b5f82601f83011261112a575f5ffd5b81356001600160401b0381111561114357611143610e72565b8060051b61115360208201610f15565b9182526020818501810192908101908684111561116e575f5ffd5b6020860192505b838310156112f15782356001600160401b03811115611192575f5ffd5b86016060818903601f190112156111a7575f5ffd5b6111af610ed0565b60208201356001600160401b038111156111c7575f5ffd5b6020818401019050610180818b0312156111df575f5ffd5b6111e7610ef2565b81358152602080830135908201526040808301359082015261120b6060830161110d565b606082015261121c60808301610f92565b608082015261122d60a08301610f92565b60a082015261123e60c08301610f92565b60c082015261124f60e08301610f92565b60e08201526101008281013590820152610120808301359082015261014080830135908201526101608201356001600160401b0381111561128e575f5ffd5b61129a8c828501610f9d565b6101608301525082525060408201356001600160401b038111156112bc575f5ffd5b6112cb8a602083860101610f9d565b602083810191909152606093909301356040830152508352928301929190910190611175565b9695505050505050565b5f60a0828403121561130b575f5ffd5b611313610e86565b905061131e82610f92565b81526020828101359082015260408201356001600160401b03811115611342575f5ffd5b61134e8482850161111b565b60408301525060608201356001600160401b0381111561136c575f5ffd5b6113788482850161111b565b60608301525060808201356001600160401b03811115611396575f5ffd5b6113a284828501610f9d565b60808301525092915050565b5f5f5f5f5f5f61014087890312156113c4575f5ffd5b86356113cf81610e5b565b955060208701356113df81610e5b565b9450604087013593506113f58860608901610f45565b92506101008701356001600160401b03811115611410575f5ffd5b61141c89828a01611015565b9250506101208701356001600160401b03811115611438575f5ffd5b61144489828a016112fb565b9150509295509295509295565b6001600160a01b03169052565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b634e487b7160e01b5f52602160045260245ffd5b60018060a01b0381511682526020810151602083015260018060a01b03604082015116604083015260018060a01b0360608201511660608301525f608082015160a060808501528051600b81106114fb576114fb61148e565b60a085015260208101516001600160a01b031660c08501526040810151608060e086015261152d610120860182610d9d565b905060608201511515610100860152809250505092915050565b600481106115575761155761148e565b9052565b5f82825180855260208501945060208160051b830101602085015f5b8381101561168c57848303601f1901885281518051606080865281518187015260208201516080870152604082015160a08701528101516115bb60c0870182611547565b5060808101516115ce60e0870182611451565b5060a08101516115e2610100870182611451565b5060c08101516115f6610120870182611451565b5060e081015161160a610140870182611451565b506101008101516101608601526101208101516101808601526101408101516101a086015261016081015190506101806101c086015261164e6101e0860182610d9d565b9050602082015185820360208701526116678282610d9d565b6040938401519690930195909552506020988901989093509190910190600101611577565b50909695505050505050565b60018060a01b038151168252602081015160208301525f604082015160a060408501526116c860a085018261155b565b9050606083015184820360608601526116e1828261155b565b91505060808301518482036080860152610a9c8282610d9d565b6001600160a01b0387811682528616602082015260408101859052611723606082018561145e565b6101406101008201525f61173b6101408301856114a2565b82810361012084015261174e8185611698565b9998505050505050505050565b5f5f5f5f5f60a0868803121561176f575f5ffd5b853561177a81610e5b565b9450602086013561178a81610e5b565b9350604086013592506060860135915060808601356001600160401b038111156117b2575f5ffd5b6117be88828901611015565b9150509295509295909350565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f90610c69908301846114a2565b5f5f5f5f5f5f610140878903121561181a575f5ffd5b863561182581610e5b565b9550602087013561183581610e5b565b945060408701359350606087013592506118528860808901610f45565b91506101208701356001600160401b03811115611438575f5ffd5b6001600160a01b03878116825286166020820152604081018590526060810184905261189c608082018461145e565b6101406101208201525f6118b4610140830184611698565b98975050505050505050565b5f5f5f5f5f60a086880312156118d4575f5ffd5b85356118df81610e5b565b945060208601356118ef81610e5b565b94979496505050506040830135926060810135926080909101359150565b5f5f5f6060848603121561191f575f5ffd5b835161192a81610e5b565b602085015190935061193b81610e5b565b604085015190925061194c81610e5b565b809150509250925092565b6001600160a01b0391909116815260200190565b5f6020828403121561197b575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f602082840312156119ab575f5ffd5b8151610dda8161100856fea264697066735822122089ba7f90f8a8ec7fe92464890e298e55ade897b364b9256bbdf3781f204f902364736f6c634300081e0033";
36
36
 
37
37
  type ReflectorConstructorParams =
38
38
  | [signer?: Signer]