@pendle/core-v2 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/SuperComposableYield/ISuperComposableYield.sol +14 -0
- package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
- package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
- package/contracts/SuperComposableYield/implementations/SCYBase.sol +21 -1
- package/contracts/core/PendleMarket.sol +10 -18
- package/contracts/core/PendleMarketFactory.sol +49 -22
- package/contracts/core/PendleRouter.sol +74 -0
- package/contracts/core/PendleYieldToken.sol +20 -12
- package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
- package/contracts/core/actions/ActionCallback.sol +101 -0
- package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
- package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
- package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
- package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +6 -8
- package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
- package/contracts/core/actions/base/ActionType.sol +11 -0
- package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
- package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
- package/contracts/interfaces/IPAllAction.sol +9 -0
- package/contracts/interfaces/IPMarketFactory.sol +11 -0
- package/contracts/interfaces/IPYieldToken.sol +21 -3
- package/contracts/libraries/math/MarketMathCore.sol +3 -2
- package/package.json +1 -1
- package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
- package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
- package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
- package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
- package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
- package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
- package/typechain-types/IPActionAll.ts +1431 -0
- package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
- package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
- package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
- package/typechain-types/IPAllAction.ts +1431 -0
- package/typechain-types/IPMarket.ts +3 -0
- package/typechain-types/IPMarketFactory.ts +46 -0
- package/typechain-types/IPYieldToken.ts +342 -14
- package/typechain-types/IRewardManager.ts +178 -0
- package/typechain-types/ISuperComposableYield.ts +97 -2
- package/typechain-types/PendleAaveV3SCY.ts +167 -66
- package/typechain-types/PendleBenQiErc20SCY.ts +167 -66
- package/typechain-types/PendleBtrflyScy.ts +97 -2
- package/typechain-types/PendleMarket.ts +3 -59
- package/typechain-types/PendleMarketFactory.ts +150 -24
- package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
- package/typechain-types/PendleYearnVaultScy.ts +97 -2
- package/typechain-types/PendleYieldToken.ts +116 -101
- package/typechain-types/RewardManager.ts +48 -42
- package/typechain-types/RouterStatic.ts +828 -0
- package/typechain-types/SCYBase.ts +97 -2
- package/typechain-types/SCYBaseWithRewards.ts +167 -66
- package/typechain-types/factories/ActionCallback__factory.ts +116 -0
- package/typechain-types/factories/ActionCore__factory.ts +632 -0
- package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
- package/typechain-types/factories/ActionStatic__factory.ts +308 -0
- package/typechain-types/factories/ActionYT__factory.ts +370 -0
- package/typechain-types/factories/IPActionAll__factory.ts +983 -0
- package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
- package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
- package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
- package/typechain-types/factories/IPAllAction__factory.ts +983 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
- package/typechain-types/factories/IPMarket__factory.ts +7 -2
- package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
- package/typechain-types/factories/IRewardManager__factory.ts +92 -0
- package/typechain-types/factories/ISuperComposableYield__factory.ts +68 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +102 -34
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +102 -34
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +69 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
- package/typechain-types/factories/PendleMarket__factory.ts +8 -69
- package/typechain-types/factories/PendleRouter__factory.ts +282 -0
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +69 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
- package/typechain-types/factories/RewardManager__factory.ts +18 -18
- package/typechain-types/factories/RouterStatic__factory.ts +883 -0
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +101 -33
- package/typechain-types/factories/SCYBase__factory.ts +68 -0
- package/typechain-types/hardhat.d.ts +93 -75
- package/typechain-types/index.ts +22 -18
- package/contracts/core/router/PendleRouterProxy.sol +0 -84
- package/contracts/interfaces/IPFlashCallBack.sol +0 -10
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableUpg.ts +0 -194
- package/typechain-types/BoringOwnableUpgData.ts +0 -100
- package/typechain-types/IPFlashCallback.ts +0 -115
- package/typechain-types/IPermissionsV2.ts +0 -87
- package/typechain-types/PendleRouterViewUpg.ts +0 -307
- package/typechain-types/PermissionsV2.ts +0 -87
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
- package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
- package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
- package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
- package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
- package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
- package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
- package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
- package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
|
@@ -1,422 +0,0 @@
|
|
|
1
|
-
/* Autogenerated file. Do not edit manually. */
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
/* eslint-disable */
|
|
4
|
-
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
-
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
-
import type {
|
|
7
|
-
PendleRouterYTUpg,
|
|
8
|
-
PendleRouterYTUpgInterface,
|
|
9
|
-
} from "../PendleRouterYTUpg";
|
|
10
|
-
|
|
11
|
-
const _abi = [
|
|
12
|
-
{
|
|
13
|
-
inputs: [
|
|
14
|
-
{
|
|
15
|
-
internalType: "address",
|
|
16
|
-
name: "_joeRouter",
|
|
17
|
-
type: "address",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
internalType: "address",
|
|
21
|
-
name: "_joeFactory",
|
|
22
|
-
type: "address",
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
internalType: "address",
|
|
26
|
-
name: "_marketFactory",
|
|
27
|
-
type: "address",
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
stateMutability: "nonpayable",
|
|
31
|
-
type: "constructor",
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
inputs: [],
|
|
35
|
-
name: "joeFactory",
|
|
36
|
-
outputs: [
|
|
37
|
-
{
|
|
38
|
-
internalType: "address",
|
|
39
|
-
name: "",
|
|
40
|
-
type: "address",
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
stateMutability: "view",
|
|
44
|
-
type: "function",
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
inputs: [],
|
|
48
|
-
name: "joeRouter",
|
|
49
|
-
outputs: [
|
|
50
|
-
{
|
|
51
|
-
internalType: "address",
|
|
52
|
-
name: "",
|
|
53
|
-
type: "address",
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
stateMutability: "view",
|
|
57
|
-
type: "function",
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
inputs: [],
|
|
61
|
-
name: "marketFactory",
|
|
62
|
-
outputs: [
|
|
63
|
-
{
|
|
64
|
-
internalType: "address",
|
|
65
|
-
name: "",
|
|
66
|
-
type: "address",
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
stateMutability: "view",
|
|
70
|
-
type: "function",
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
inputs: [
|
|
74
|
-
{
|
|
75
|
-
internalType: "int256",
|
|
76
|
-
name: "otToAccount",
|
|
77
|
-
type: "int256",
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
internalType: "int256",
|
|
81
|
-
name: "scyToAccount",
|
|
82
|
-
type: "int256",
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
internalType: "bytes",
|
|
86
|
-
name: "data",
|
|
87
|
-
type: "bytes",
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
name: "swapCallback",
|
|
91
|
-
outputs: [],
|
|
92
|
-
stateMutability: "nonpayable",
|
|
93
|
-
type: "function",
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
inputs: [
|
|
97
|
-
{
|
|
98
|
-
internalType: "uint256",
|
|
99
|
-
name: "exactRawTokenIn",
|
|
100
|
-
type: "uint256",
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
internalType: "address",
|
|
104
|
-
name: "receiver",
|
|
105
|
-
type: "address",
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
internalType: "address[]",
|
|
109
|
-
name: "path",
|
|
110
|
-
type: "address[]",
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
internalType: "address",
|
|
114
|
-
name: "market",
|
|
115
|
-
type: "address",
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
internalType: "uint256",
|
|
119
|
-
name: "netYtOutGuessMin",
|
|
120
|
-
type: "uint256",
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
internalType: "uint256",
|
|
124
|
-
name: "netYtOutGuessMax",
|
|
125
|
-
type: "uint256",
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
internalType: "uint256",
|
|
129
|
-
name: "maxIteration",
|
|
130
|
-
type: "uint256",
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
internalType: "uint256",
|
|
134
|
-
name: "eps",
|
|
135
|
-
type: "uint256",
|
|
136
|
-
},
|
|
137
|
-
],
|
|
138
|
-
name: "swapExactRawTokenForYt",
|
|
139
|
-
outputs: [
|
|
140
|
-
{
|
|
141
|
-
internalType: "uint256",
|
|
142
|
-
name: "netYtOut",
|
|
143
|
-
type: "uint256",
|
|
144
|
-
},
|
|
145
|
-
],
|
|
146
|
-
stateMutability: "nonpayable",
|
|
147
|
-
type: "function",
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
inputs: [
|
|
151
|
-
{
|
|
152
|
-
internalType: "address",
|
|
153
|
-
name: "receiver",
|
|
154
|
-
type: "address",
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
internalType: "address",
|
|
158
|
-
name: "market",
|
|
159
|
-
type: "address",
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
internalType: "uint256",
|
|
163
|
-
name: "exactScyIn",
|
|
164
|
-
type: "uint256",
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
internalType: "uint256",
|
|
168
|
-
name: "netYtOutGuessMin",
|
|
169
|
-
type: "uint256",
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
internalType: "uint256",
|
|
173
|
-
name: "netYtOutGuessMax",
|
|
174
|
-
type: "uint256",
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
internalType: "uint256",
|
|
178
|
-
name: "maxIteration",
|
|
179
|
-
type: "uint256",
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
internalType: "uint256",
|
|
183
|
-
name: "eps",
|
|
184
|
-
type: "uint256",
|
|
185
|
-
},
|
|
186
|
-
],
|
|
187
|
-
name: "swapExactScyForYt",
|
|
188
|
-
outputs: [
|
|
189
|
-
{
|
|
190
|
-
internalType: "uint256",
|
|
191
|
-
name: "",
|
|
192
|
-
type: "uint256",
|
|
193
|
-
},
|
|
194
|
-
],
|
|
195
|
-
stateMutability: "nonpayable",
|
|
196
|
-
type: "function",
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
inputs: [
|
|
200
|
-
{
|
|
201
|
-
internalType: "uint256",
|
|
202
|
-
name: "exactYtIn",
|
|
203
|
-
type: "uint256",
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
internalType: "address",
|
|
207
|
-
name: "receiver",
|
|
208
|
-
type: "address",
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
internalType: "address[]",
|
|
212
|
-
name: "path",
|
|
213
|
-
type: "address[]",
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
internalType: "address",
|
|
217
|
-
name: "market",
|
|
218
|
-
type: "address",
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
internalType: "uint256",
|
|
222
|
-
name: "minRawTokenOut",
|
|
223
|
-
type: "uint256",
|
|
224
|
-
},
|
|
225
|
-
],
|
|
226
|
-
name: "swapExactYtForRawToken",
|
|
227
|
-
outputs: [
|
|
228
|
-
{
|
|
229
|
-
internalType: "uint256",
|
|
230
|
-
name: "netRawTokenOut",
|
|
231
|
-
type: "uint256",
|
|
232
|
-
},
|
|
233
|
-
],
|
|
234
|
-
stateMutability: "nonpayable",
|
|
235
|
-
type: "function",
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
inputs: [
|
|
239
|
-
{
|
|
240
|
-
internalType: "address",
|
|
241
|
-
name: "receiver",
|
|
242
|
-
type: "address",
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
internalType: "address",
|
|
246
|
-
name: "market",
|
|
247
|
-
type: "address",
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
internalType: "uint256",
|
|
251
|
-
name: "exactYtIn",
|
|
252
|
-
type: "uint256",
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
internalType: "uint256",
|
|
256
|
-
name: "minScyOut",
|
|
257
|
-
type: "uint256",
|
|
258
|
-
},
|
|
259
|
-
],
|
|
260
|
-
name: "swapExactYtForScy",
|
|
261
|
-
outputs: [
|
|
262
|
-
{
|
|
263
|
-
internalType: "uint256",
|
|
264
|
-
name: "",
|
|
265
|
-
type: "uint256",
|
|
266
|
-
},
|
|
267
|
-
],
|
|
268
|
-
stateMutability: "nonpayable",
|
|
269
|
-
type: "function",
|
|
270
|
-
},
|
|
271
|
-
{
|
|
272
|
-
inputs: [
|
|
273
|
-
{
|
|
274
|
-
internalType: "address",
|
|
275
|
-
name: "receiver",
|
|
276
|
-
type: "address",
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
internalType: "address",
|
|
280
|
-
name: "market",
|
|
281
|
-
type: "address",
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
internalType: "uint256",
|
|
285
|
-
name: "exactYtOut",
|
|
286
|
-
type: "uint256",
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
internalType: "uint256",
|
|
290
|
-
name: "maxScyIn",
|
|
291
|
-
type: "uint256",
|
|
292
|
-
},
|
|
293
|
-
],
|
|
294
|
-
name: "swapScyForExactYt",
|
|
295
|
-
outputs: [
|
|
296
|
-
{
|
|
297
|
-
internalType: "uint256",
|
|
298
|
-
name: "",
|
|
299
|
-
type: "uint256",
|
|
300
|
-
},
|
|
301
|
-
],
|
|
302
|
-
stateMutability: "nonpayable",
|
|
303
|
-
type: "function",
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
inputs: [
|
|
307
|
-
{
|
|
308
|
-
internalType: "address",
|
|
309
|
-
name: "receiver",
|
|
310
|
-
type: "address",
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
internalType: "address",
|
|
314
|
-
name: "market",
|
|
315
|
-
type: "address",
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
internalType: "uint256",
|
|
319
|
-
name: "exactScyOut",
|
|
320
|
-
type: "uint256",
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
internalType: "uint256",
|
|
324
|
-
name: "netYtInGuessMin",
|
|
325
|
-
type: "uint256",
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
internalType: "uint256",
|
|
329
|
-
name: "netYtInGuessMax",
|
|
330
|
-
type: "uint256",
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
internalType: "uint256",
|
|
334
|
-
name: "maxIteration",
|
|
335
|
-
type: "uint256",
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
internalType: "uint256",
|
|
339
|
-
name: "eps",
|
|
340
|
-
type: "uint256",
|
|
341
|
-
},
|
|
342
|
-
],
|
|
343
|
-
name: "swapYtForExactScy",
|
|
344
|
-
outputs: [
|
|
345
|
-
{
|
|
346
|
-
internalType: "uint256",
|
|
347
|
-
name: "netYtIn",
|
|
348
|
-
type: "uint256",
|
|
349
|
-
},
|
|
350
|
-
],
|
|
351
|
-
stateMutability: "nonpayable",
|
|
352
|
-
type: "function",
|
|
353
|
-
},
|
|
354
|
-
];
|
|
355
|
-
|
|
356
|
-
const _bytecode =
|
|
357
|
-
"0x60e06040523480156200001157600080fd5b50604051620042563803806200425683398101604081905262000034916200006f565b6001600160a01b0392831660805290821660a0521660c052620000b9565b80516001600160a01b03811681146200006a57600080fd5b919050565b6000806000606084860312156200008557600080fd5b620000908462000052565b9250620000a06020850162000052565b9150620000b06040850162000052565b90509250925092565b60805160a05160c05161414b6200010b6000396000818160be0152610401015260008181610152015281816119e701528181611a490152818161238f01526123d20152600061012b015261414b6000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806304275ae41461009357806306ae7095146100b95780631d7c155b146100ed57806321aab859146101005780633332bf081461011357806359f571e8146101265780638a38466e1461014d578063ba31326614610174578063d8cc26aa14610187578063fa483e721461019a575b600080fd5b6100a66100a13660046136e8565b6101af565b6040519081526020015b60405180910390f35b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516100b0919061374a565b6100a66100fb3660046136e8565b6101eb565b6100a661010e36600461375e565b61021b565b6100a66101213660046137e8565b610232565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6100a6610182366004613863565b610309565b6100a661019536600461375e565b6103d8565b6101ad6101a83660046138f8565b6103e8565b005b60006101df88888860405180608001604052808a81526020018981526020018881526020018781525060016105b9565b98975050505050505050565b60006101df88888860405180608001604052808a815260200189815260200188815260200187815250600161079b565b6000610229858585856108f0565b95945050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026e57600080fd5b505afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190613977565b5050905060006102ba82868b600180610b66565b90506102fc8282868b8b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250610e02915050565b9998505050505050505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561034757600080fd5b505afa15801561035b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037f9190613977565b925050915060006103978d846001858f8f6001610fbd565b90506103c78c8a8360405180608001604052808d81526020018c81526020018b81526020018a81525060006105b9565b9d9c50505050505050505050505050565b6000610229858585856001610b66565b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061043690849060040161374a565b60206040518083038186803b15801561044e57600080fd5b505afa158015610462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048691906139c4565b6104c85760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3505492d15560921b60448201526064015b60405180910390fd5b60006104d683850185613a64565b50905060028160038111156104ed576104ed613b09565b1415610503576104fe338585611160565b6105b1565b600081600381111561051757610517613b09565b1415610529576104fe3386868661126b565b600181600381111561053d5761053d613b09565b1415610550576104fe33878787876113da565b600381600381111561056457610564613b09565b1415610576576104fe3386868661126b565b60405162461bcd60e51b815260206004820152601060248201526f756e6b6e6f776e20737761705479706560801b60448201526064016104bf565b505050505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156105f757600080fd5b505afa15801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190613977565b604051631cf38c7b60e11b81526000600482018190529395509093506001600160a01b038a1691506339e718f6906024016101606040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190613b1f565b90506106c96106bf846115b7565b829089428a611632565b50935084156106e7576106e76001600160a01b03841633848a611831565b876001600160a01b03166399bc99988a86600160028e60405160200161070e929190613bd4565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161073c9493929190613c52565b6040805180830381600087803b15801561075557600080fd5b505af1158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190613c89565b505050505095945050505050565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101606040518083038186803b1580156107e157600080fd5b505afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190613b1f565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561085757600080fd5b505afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190613977565b92505091506108aa6108a0836115b7565b849089428a61188f565b50935084156108c8576108c86001600160a01b038216338387611831565b876001600160a01b0316634f7b3d2f828660001960038e60405160200161070e929190613bd4565b600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109649190613977565b505090506000816001600160a01b03166370a08231886040518263ffffffff1660e01b8152600401610996919061374a565b60206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190613cad565b9050856001600160a01b03166399bc99988887600180338d604051602001610a1093929190613cc6565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610a3e9493929190613c52565b6040805180830381600087803b158015610a5757600080fd5b505af1158015610a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8f9190613c89565b50506040516370a0823160e01b81526001600160a01b038316906370a0823190610abd908a9060040161374a565b60206040518083038186803b158015610ad557600080fd5b505afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d9190613cad565b610b179082613d0c565b925083831115610b5c5760405162461bcd60e51b815260206004820152601060248201526f195e18d95959081bdd5d081b1a5b5a5d60821b60448201526064016104bf565b5050949350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc9190613977565b92505091506000826001600160a01b03166370a082318a6040518263ffffffff1660e01b8152600401610c0f919061374a565b60206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f9190613cad565b90508415610c7c57610c7c6001600160a01b03831633848a611831565b876001600160a01b0316634f7b3d2f8a8960001960008e604051602001610ca4929190613bd4565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610cd29493929190613c52565b6040805180830381600087803b158015610ceb57600080fd5b505af1158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d239190613c89565b50506040516370a0823160e01b815281906001600160a01b038516906370a0823190610d53908d9060040161374a565b60206040518083038186803b158015610d6b57600080fd5b505afa158015610d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da39190613cad565b610dad9190613d0c565b935085841015610df65760405162461bcd60e51b8152602060048201526014602482015273125394d551919250d251539517d4d0d657d3d55560621b60448201526064016104bf565b50505095945050505050565b60008115610e1f57610e1f6001600160a01b038816338989611831565b600083600081518110610e3457610e34613d23565b60200260200101519050835160011415610ed157604051630e6dfcd560e01b81526001600160a01b03891690630e6dfcd590610e7890889085908b90600401613d39565b602060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190613cad565b9150610fb2565b6000886001600160a01b0316630e6dfcd5610eeb876119e0565b8460016040518463ffffffff1660e01b8152600401610f0c93929190613d39565b602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613cad565b9050610f6b858288611a41565b925086831015610fb05760405162461bcd60e51b815260206004820152601060248201526f1a5b9cdd59999a58da595b9d081bdd5d60821b60448201526064016104bf565b505b509695505050505050565b600081156110a85760018314156110125761100d33888a87876000818110610fe757610fe7613d23565b9050602002016020810190610ffc9190613d5d565b6001600160a01b0316929190611831565b6110a8565b611066336110528686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119e092505050565b8a87876000818110610fe757610fe7613d23565b6110a68484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b9150611a419050565b505b600084846110b7600182613d0c565b8181106110c6576110c6613d23565b90506020020160208101906110db9190613d5d565b604051636361ddf360e11b81529091506001600160a01b0389169063c6c3bbe69061110e90899085908c90600401613d39565b602060405180830381600087803b15801561112857600080fd5b505af115801561113c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fc9190613cad565b6000836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561119b57600080fd5b505afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d39190613977565b9250600091506111e7905083850185613d7a565b604051630aa1fb9760e41b81529092506001600160a01b038416915063aa1fb970906112199088908590600401613db1565b602060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190613cad565b600061127982840184613d7a565b915050600080866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156112b857600080fd5b505afa1580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f09190613977565b9250509150600061130861130388611aad565b611ab8565b90506000826001600160a01b03166380a7c9ac306040518263ffffffff1660e01b8152600401611338919061374a565b602060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190613cad565b90506113a06001600160a01b0385168a84611acb565b6001600160a01b03851630146113cf576113cf856113be8484613d0c565b6001600160a01b0387169190611acb565b505050505050505050565b6000806113e983850185613dcb565b9250925050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561142a57600080fd5b505afa15801561143e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114629190613977565b925050915060006114756113038a611aad565b9050600061148289611ab8565b90506000611502856001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156114c457600080fd5b505af11580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fc9190613cad565b84611b00565b905060006115108284611b26565b90506115276001600160a01b038716898784611831565b846001600160a01b031663aa1fb9708e896040518363ffffffff1660e01b8152600401611555929190613db1565b602060405180830381600087803b15801561156f57600080fd5b505af1158015611583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a79190613cad565b5050505050505050505050505050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115f457600080fd5b505af1158015611608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162c9190613cad565b92915050565b600080600085116116555760405162461bcd60e51b81526004016104bf90613e09565b61165e83611b3d565b61167a5760405162461bcd60e51b81526004016104bf90613e33565b60006116868787611b77565b9050600080806116978b8b8a611b83565b9050600019876020015114156116bf576116b98b600001518260200151611cbc565b60208801525b6040870151156117f15760408781018051600019019052805160808101825260008082526020808301829052928201819052606082015290880151885160029161170891613e62565b611713906001613e62565b61171d9190613e90565b8082528c5161172d918487611cd7565b945092508261174f57805161174490600190613d0c565b6020890152506116bf565b611768826117608360000151611d2a565b8e9190611d3e565b506020820181905261177990611ab8565b60408201819052815161178c9190613d0c565b6060820181905285106117dd5780518852606080820151908901516117b391908790611e44565b156117d857805160608201516117ca908d90611e78565b965096505050505050611827565b6117eb565b805161174490600190613d0c565b506116bf565b60405162461bcd60e51b815260206004820152600b60248201526a185c1c1c9bde0819985a5b60aa1b60448201526064016104bf565b9550959350505050565b611889846323b872dd60e01b85858560405160240161185293929190613d39565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e84565b50505050565b600080600085116118b25760405162461bcd60e51b81526004016104bf90613e09565b6118bb83611b3d565b6118d75760405162461bcd60e51b81526004016104bf90613e33565b60006118e38787611b77565b905060006118f2898988611b83565b90506000198560200151141561191457885161190e9082611f56565b60208601525b6040850151156117f157604085018051600019019052602085015185516000916002916119419190613e62565b61194b9190613e90565b905060006119648361195c84612018565b8d9190611d3e565b509050600061197561130383611aad565b905060006119838285613d0c565b90508581106119c957838960200181815250506119a581878b6060015161202a565b156119c457836119b58d83611e78565b97509750505050505050611827565b6119d7565b6119d4846001613e62565b89525b50505050611914565b600061162c7f000000000000000000000000000000000000000000000000000000000000000083600081518110611a1957611a19613d23565b602002602001015184600181518110611a3457611a34613d23565b6020026020010151612058565b600080611a6f7f00000000000000000000000000000000000000000000000000000000000000008587612127565b9050611a7c8186856122ac565b8060018251611a8b9190613d0c565b81518110611a9b57611a9b613d23565b60200260200101519150509392505050565b600061162c82613ea4565b600080821215611ac757600080fd5b5090565b6040516001600160a01b038316602482015260448101829052611afb90849063a9059cbb60e01b90606401611852565b505050565b600082611b15670de0b6b3a764000084613ec1565b611b1f9190613e90565b9392505050565b600081831015611b37576000611b1f565b50900390565b60008160200151826000015111158015611b5d5750610100826040015111155b801561162c57505060600151670de0b6b3a7640000101590565b6000611b1f83836124a1565b611bae6040518060800160405280600081526020016000815260200160008152602001600081525090565b8360e001518210611bf25760405162461bcd60e51b815260206004820152600e60248201526d1b585c9ad95d08195e1c1a5c995960921b60448201526064016104bf565b6000828560e00151611c049190613d0c565b9050611c1085826124b6565b82526020850151611c2290859061253a565b6020830152845115801590611c3a5750602082015115155b611c7d5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b60448201526064016104bf565b611c9b85600001518661012001518460200151856000015185612571565b604083015260a0850151611caf90826125e1565b6060830152509392505050565b60006001611ccd6113038585612615565b611b1f9190613d0c565b600080828511611cec57506001905081611d21565b6000611d0187611cfb88611d2a565b8761262b565b905060008112611d18576001869250925050611d21565b60008492509250505b94509492505050565b6000611d3582612018565b61162c90613ea4565b6000806000611d60866000015186602001518760000151886040015188612738565b90506000611d76611d7186846127f6565b611aad565b60608701519091506000861315611de1576000611d9384836127f6565b9050670de0b6b3a7640000811215611dbd5760405162461bcd60e51b81526004016104bf90613ee0565b611dd9611dd283670de0b6b3a7640000613f0f565b8490612825565b915050611e0e565b611e0b81611df781670de0b6b3a7640000613f0f565b611e019085613f4e565b611d719190613fd3565b90505b606488610100015182611e219190613f4e565b611e2b9190613fd3565b9350611e378183613f0f565b9450505050935093915050565b6000828411158015611e705750611e6c83611e6784670de0b6b3a7640000613d0c565b612843565b8410155b949350505050565b6000611b1f8383611b00565b6000611ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128639092919063ffffffff16565b805190915015611afb5780806020019051810190611ef791906139c4565b611afb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104bf565b600080611f9d611f9884600001518560400151611f888760600151670de0b6b3a764000061282590919063ffffffff16565b611f929190613f0f565b90612825565b612872565b90506000611fbd611fb6670de0b6b3a764000084614001565b83906127f6565b90506000611fdb856020015187611fd49190614001565b8390612825565b90506000611fe98288613f0f565b90506103e8611ff782611ab8565b612003906103e7613ec1565b61200d9190613e90565b979650505050505050565b6000600160ff1b8210611ac757600080fd5b6000828410158015611e70575061204d83611e6784670de0b6b3a7640000613e62565b909311159392505050565b60008060006120678585612c87565b6040516001600160601b0319606084811b8216602084015283901b16603482015291935091508690604801604051602081830303815290604052805190602001206040516020016121059291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b60606002825110156121765760405162461bcd60e51b8152602060048201526018602482015277094deca98d2c4e4c2e4f27440929cac82989288bea082a8960431b60448201526064016104bf565b81516001600160401b0381111561218f5761218f6139f5565b6040519080825280602002602001820160405280156121b8578160200160208202803683370190505b50905082816000815181106121cf576121cf613d23565b60200260200101818152505060005b600183516121ec9190613d0c565b8110156122a45760008061223f8786858151811061220c5761220c613d23565b6020026020010151878660016122229190613e62565b8151811061223257612232613d23565b6020026020010151612d6c565b9150915061226784848151811061225857612258613d23565b60200260200101518383612e45565b84612273856001613e62565b8151811061228357612283613d23565b6020026020010181815250505050808061229c90614042565b9150506121de565b509392505050565b60005b600183516122bd9190613d0c565b811015611889576000808483815181106122d9576122d9613d23565b6020026020010151858460016122ef9190613e62565b815181106122ff576122ff613d23565b60200260200101519150915060006123178383612c87565b509050600087612328866001613e62565b8151811061233857612338613d23565b60200260200101519050600080836001600160a01b0316866001600160a01b0316146123665782600061236a565b6000835b91509150600060028a5161237e9190613d0c565b881061238a57886123cb565b6123cb7f0000000000000000000000000000000000000000000000000000000000000000878c6123bb8c6002613e62565b81518110611a3457611a34613d23565b90506123f87f00000000000000000000000000000000000000000000000000000000000000008888612058565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015612435576020820181803683370190505b506040518563ffffffff1660e01b8152600401612455949392919061405d565b600060405180830381600087803b15801561246f57600080fd5b505af1158015612483573d6000803e3d6000fd5b5050505050505050505050808061249990614042565b9150506122af565b6000670de0b6b3a7640000611b158484613ec1565b60006124c182612018565b6124d86124d362015180610168613ec1565b612018565b84608001516124e79190613f4e565b6124f19190613fd3565b90506000811361162c5760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b60448201526064016104bf565b6000806000831261254c576001612550565b6000195b90506125676124d38561256286612f4e565b6124a1565b611e709082613f4e565b60008061257e86846125e1565b9050670de0b6b3a76400008112156125a85760405162461bcd60e51b81526004016104bf90613ee0565b60006125be6125b7878a614001565b89906127f6565b905060006125cb82612f65565b90506125d781876127f6565b6102fc9084613f0f565b6000806125f362015180610168613ec1565b6125fd8486613ec1565b6126079190613e90565b9050611e70611f9882612018565b60008183126126245781611b1f565b5090919050565b60008061263784613ea4565b9050600081846020015161264b9190613f0f565b905060006126598784614001565b905060008213801561266b5750600081135b6126ac5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081bdd151bd3585c9ad95d60721b60448201526064016104bf565b60006126da6126bb8484613f4e565b60208801516126ca908b614001565b6126d49087613f4e565b906127f6565b905060006126f06126eb84866127f6565b612fe1565b875190915060009061270b90670de0b6b3a7640000906127f6565b905061271b81611f928486613f0f565b886040015161272a9190613f0f565b9a9950505050505050505050565b6000806127458784613072565b90506000612756611fb6888a614001565b9050670d529ae9e86000008113156127aa5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b60448201526064016104bf565b60006127b582612f65565b9050856127c282896127f6565b6127cc9190614001565b9350670de0b6b3a7640000841215610df65760405162461bcd60e51b81526004016104bf90613ee0565b60008061280b670de0b6b3a764000085613f4e565b905082818161281c5761281c613e7a565b05949350505050565b6000806128328385613f4e565b9050670de0b6b3a76400008161281c565b6000806128508385613ec1565b670de0b6b3a76400009004949350505050565b6060611e7084846000856130af565b6000680238fd42c5cf03ffff198212158015612897575068070c1cc73b00c800008213155b6128d65760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104bf565b600082121561290e576128eb82600003612872565b6a0c097ce7bc90715b34b9f160241b8161290757612907613e7a565b0592915050565b60006806f05b59d3b2000000831261294c57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b612982565b6803782dace9d9000000831261297e57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380612982565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126129d25768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612a0e576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412612a4857682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412612a82576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412612abb57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412612af45768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612b2d576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412612b665768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080826001600160a01b0316846001600160a01b03161415612cec5760405162461bcd60e51b815260206004820152601f60248201527f4a6f654c6962726172793a204944454e544943414c5f4144445245535345530060448201526064016104bf565b826001600160a01b0316846001600160a01b031610612d0c578284612d0f565b83835b90925090506001600160a01b038216612d655760405162461bcd60e51b81526020600482015260186024820152774a6f654c6962726172793a205a45524f5f4144445245535360401b60448201526064016104bf565b9250929050565b6000806000612d7b8585612c87565b509050600080612d8c888888612058565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612dc457600080fd5b505afa158015612dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dfc91906140a1565b506001600160701b031691506001600160701b03169150826001600160a01b0316876001600160a01b031614612e33578082612e36565b81815b90999098509650505050505050565b6000808411612ea45760405162461bcd60e51b815260206004820152602560248201527f4a6f654c6962726172793a20494e53554646494349454e545f494e5055545f416044820152641353d5539560da1b60648201526084016104bf565b600083118015612eb45750600082115b612f0b5760405162461bcd60e51b815260206004820152602260248201527f4a6f654c6962726172793a20494e53554646494349454e545f4c495155494449604482015261545960f01b60648201526084016104bf565b6000612f19856103e5613ec1565b90506000612f278483613ec1565b9050600082612f38876103e8613ec1565b612f429190613e62565b905061200d8183613e90565b6000808213611ac757612f6082613ea4565b61162c565b6000670de0b6b3a7640000821415612fbc5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b60448201526064016104bf565b6000612fda612fd384670de0b6b3a7640000613f0f565b84906127f6565b9050611b1f815b60008082136130225760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104bf565b670c7d713b49da0000821380156130405750670f43fc2c04ee000082125b1561306457670de0b6b3a7640000613057836131d5565b8161290757612907613e7a565b61162c826132f4565b919050565b600081831215611b375760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b60448201526064016104bf565b6060824710156131105760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104bf565b6001600160a01b0385163b6131675760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104bf565b600080866001600160a01b0316858760405161318391906140e6565b60006040518083038185875af1925050503d80600081146131c0576040519150601f19603f3d011682016040523d82523d6000602084013e6131c5565b606091505b509150915061200d828286613697565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161321657613216613e7a565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156133355761332c826a0c097ce7bc90715b34b9f160241b8161332657613326613e7a565b056132f4565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126133805772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126133b7576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff008400083126133ff576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261343a576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261347157693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126134a857690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126134dd5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261350857680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261353d576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613572576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126135a6576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126135da576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161360357613603613e7a565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b606083156136a6575081611b1f565b8251156136b65782518084602001fd5b8160405162461bcd60e51b81526004016104bf9190614102565b6001600160a01b03811681146136e557600080fd5b50565b600080600080600080600060e0888a03121561370357600080fd5b873561370e816136d0565b9650602088013561371e816136d0565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b6001600160a01b0391909116815260200190565b6000806000806080858703121561377457600080fd5b843561377f816136d0565b9350602085013561378f816136d0565b93969395505050506040820135916060013590565b60008083601f8401126137b657600080fd5b5081356001600160401b038111156137cd57600080fd5b6020830191508360208260051b8501011115612d6557600080fd5b60008060008060008060a0878903121561380157600080fd5b863595506020870135613813816136d0565b945060408701356001600160401b0381111561382e57600080fd5b61383a89828a016137a4565b909550935050606087013561384e816136d0565b80925050608087013590509295509295509295565b60008060008060008060008060006101008a8c03121561388257600080fd5b8935985060208a0135613894816136d0565b975060408a01356001600160401b038111156138af57600080fd5b6138bb8c828d016137a4565b90985096505060608a01356138cf816136d0565b989b979a5095989497966080860135965060a08601359560c0810135955060e001359350915050565b6000806000806060858703121561390e57600080fd5b843593506020850135925060408501356001600160401b038082111561393357600080fd5b818701915087601f83011261394757600080fd5b81358181111561395657600080fd5b88602082850101111561396857600080fd5b95989497505060200194505050565b60008060006060848603121561398c57600080fd5b8351613997816136d0565b60208501519093506139a8816136d0565b60408501519092506139b9816136d0565b809150509250925092565b6000602082840312156139d657600080fd5b81518015158114611b1f57600080fd5b80356004811061306d57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715613a2e57613a2e6139f5565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613a5c57613a5c6139f5565b604052919050565b60008060408385031215613a7757600080fd5b613a80836139e6565b91506020838101356001600160401b0380821115613a9d57600080fd5b818601915086601f830112613ab157600080fd5b813581811115613ac357613ac36139f5565b613ad5601f8201601f19168501613a34565b91508082528784828501011115613aeb57600080fd5b80848401858401376000848284010152508093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b60006101608284031215613b3257600080fd5b613b3a613a0b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152508091505092915050565b60048110613bd057634e487b7160e01b600052602160045260246000fd5b9052565b60408101613be28285613bb2565b6001600160a01b039290921660209190910152919050565b60005b83811015613c15578181015183820152602001613bfd565b838111156118895750506000910152565b60008151808452613c3e816020860160208601613bfa565b601f01601f19169290920160200192915050565b60018060a01b0385168152836020820152826040820152608060608201526000613c7f6080830184613c26565b9695505050505050565b60008060408385031215613c9c57600080fd5b505080516020909101519092909150565b600060208284031215613cbf57600080fd5b5051919050565b60608101613cd48286613bb2565b6001600160a01b03938416602083015291909216604090920191909152919050565b634e487b7160e01b600052601160045260246000fd5b600082821015613d1e57613d1e613cf6565b500390565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215613d6f57600080fd5b8135611b1f816136d0565b60008060408385031215613d8d57600080fd5b613d96836139e6565b91506020830135613da6816136d0565b809150509250929050565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215613de057600080fd5b613de9846139e6565b92506020840135613df9816136d0565b915060408401356139b9816136d0565b60208082526010908201526f34b73b30b634b21036b0bc29b1bca4b760811b604082015260600190565b6020808252601590820152740d2dcecc2d8d2c840c2e0e0e4def040c2e0e0e4def605b1b604082015260600190565b60008219821115613e7557613e75613cf6565b500190565b634e487b7160e01b600052601260045260246000fd5b600082613e9f57613e9f613e7a565b500490565b6000600160ff1b821415613eba57613eba613cf6565b5060000390565b6000816000190483118215151615613edb57613edb613cf6565b500290565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613f2d57613f2d613cf6565b6001600160ff1b0384018313811615613f4857613f48613cf6565b50500390565b60006001600160ff1b0381841382841380821686840486111615613f7457613f74613cf6565b600160ff1b6000871282811687830589121615613f9357613f93613cf6565b60008712925087820587128484161615613faf57613faf613cf6565b87850587128184161615613fc557613fc5613cf6565b505050929093029392505050565b600082613fe257613fe2613e7a565b600160ff1b821460001984141615613ffc57613ffc613cf6565b500590565b600080821280156001600160ff1b038490038513161561402357614023613cf6565b600160ff1b839003841281161561403c5761403c613cf6565b50500190565b600060001982141561405657614056613cf6565b5060010190565b84815283602082015260018060a01b0383166040820152608060608201526000613c7f6080830184613c26565b80516001600160701b038116811461306d57600080fd5b6000806000606084860312156140b657600080fd5b6140bf8461408a565b92506140cd6020850161408a565b9150604084015163ffffffff811681146139b957600080fd5b600082516140f8818460208701613bfa565b9190910192915050565b602081526000611b1f6020830184613c2656fea2646970667358221220867f3a4fa7ed29c97cd9419bfc83f41d8b0b255f39e0df31d6602fd9babc51c964736f6c63430008090033";
|
|
358
|
-
|
|
359
|
-
type PendleRouterYTUpgConstructorParams =
|
|
360
|
-
| [signer?: Signer]
|
|
361
|
-
| ConstructorParameters<typeof ContractFactory>;
|
|
362
|
-
|
|
363
|
-
const isSuperArgs = (
|
|
364
|
-
xs: PendleRouterYTUpgConstructorParams
|
|
365
|
-
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
366
|
-
|
|
367
|
-
export class PendleRouterYTUpg__factory extends ContractFactory {
|
|
368
|
-
constructor(...args: PendleRouterYTUpgConstructorParams) {
|
|
369
|
-
if (isSuperArgs(args)) {
|
|
370
|
-
super(...args);
|
|
371
|
-
} else {
|
|
372
|
-
super(_abi, _bytecode, args[0]);
|
|
373
|
-
}
|
|
374
|
-
this.contractName = "PendleRouterYTUpg";
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
deploy(
|
|
378
|
-
_joeRouter: string,
|
|
379
|
-
_joeFactory: string,
|
|
380
|
-
_marketFactory: string,
|
|
381
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
382
|
-
): Promise<PendleRouterYTUpg> {
|
|
383
|
-
return super.deploy(
|
|
384
|
-
_joeRouter,
|
|
385
|
-
_joeFactory,
|
|
386
|
-
_marketFactory,
|
|
387
|
-
overrides || {}
|
|
388
|
-
) as Promise<PendleRouterYTUpg>;
|
|
389
|
-
}
|
|
390
|
-
getDeployTransaction(
|
|
391
|
-
_joeRouter: string,
|
|
392
|
-
_joeFactory: string,
|
|
393
|
-
_marketFactory: string,
|
|
394
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
395
|
-
): TransactionRequest {
|
|
396
|
-
return super.getDeployTransaction(
|
|
397
|
-
_joeRouter,
|
|
398
|
-
_joeFactory,
|
|
399
|
-
_marketFactory,
|
|
400
|
-
overrides || {}
|
|
401
|
-
);
|
|
402
|
-
}
|
|
403
|
-
attach(address: string): PendleRouterYTUpg {
|
|
404
|
-
return super.attach(address) as PendleRouterYTUpg;
|
|
405
|
-
}
|
|
406
|
-
connect(signer: Signer): PendleRouterYTUpg__factory {
|
|
407
|
-
return super.connect(signer) as PendleRouterYTUpg__factory;
|
|
408
|
-
}
|
|
409
|
-
static readonly contractName: "PendleRouterYTUpg";
|
|
410
|
-
public readonly contractName: "PendleRouterYTUpg";
|
|
411
|
-
static readonly bytecode = _bytecode;
|
|
412
|
-
static readonly abi = _abi;
|
|
413
|
-
static createInterface(): PendleRouterYTUpgInterface {
|
|
414
|
-
return new utils.Interface(_abi) as PendleRouterYTUpgInterface;
|
|
415
|
-
}
|
|
416
|
-
static connect(
|
|
417
|
-
address: string,
|
|
418
|
-
signerOrProvider: Signer | Provider
|
|
419
|
-
): PendleRouterYTUpg {
|
|
420
|
-
return new Contract(address, _abi, signerOrProvider) as PendleRouterYTUpg;
|
|
421
|
-
}
|
|
422
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/* Autogenerated file. Do not edit manually. */
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
/* eslint-disable */
|
|
4
|
-
|
|
5
|
-
import { Contract, Signer, utils } from "ethers";
|
|
6
|
-
import { Provider } from "@ethersproject/providers";
|
|
7
|
-
import type { PermissionsV2, PermissionsV2Interface } from "../PermissionsV2";
|
|
8
|
-
|
|
9
|
-
const _abi = [
|
|
10
|
-
{
|
|
11
|
-
inputs: [],
|
|
12
|
-
name: "governanceManager",
|
|
13
|
-
outputs: [
|
|
14
|
-
{
|
|
15
|
-
internalType: "address",
|
|
16
|
-
name: "",
|
|
17
|
-
type: "address",
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
stateMutability: "view",
|
|
21
|
-
type: "function",
|
|
22
|
-
},
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
export class PermissionsV2__factory {
|
|
26
|
-
static readonly abi = _abi;
|
|
27
|
-
static createInterface(): PermissionsV2Interface {
|
|
28
|
-
return new utils.Interface(_abi) as PermissionsV2Interface;
|
|
29
|
-
}
|
|
30
|
-
static connect(
|
|
31
|
-
address: string,
|
|
32
|
-
signerOrProvider: Signer | Provider
|
|
33
|
-
): PermissionsV2 {
|
|
34
|
-
return new Contract(address, _abi, signerOrProvider) as PermissionsV2;
|
|
35
|
-
}
|
|
36
|
-
}
|