@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
|
@@ -0,0 +1,370 @@
|
|
|
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 { ActionYT, ActionYTInterface } from "../ActionYT";
|
|
7
|
+
|
|
8
|
+
const _abi = [
|
|
9
|
+
{
|
|
10
|
+
inputs: [
|
|
11
|
+
{
|
|
12
|
+
internalType: "address",
|
|
13
|
+
name: "_joeRouter",
|
|
14
|
+
type: "address",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
internalType: "address",
|
|
18
|
+
name: "_joeFactory",
|
|
19
|
+
type: "address",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
stateMutability: "nonpayable",
|
|
23
|
+
type: "constructor",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
inputs: [],
|
|
27
|
+
name: "joeFactory",
|
|
28
|
+
outputs: [
|
|
29
|
+
{
|
|
30
|
+
internalType: "address",
|
|
31
|
+
name: "",
|
|
32
|
+
type: "address",
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
stateMutability: "view",
|
|
36
|
+
type: "function",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
inputs: [],
|
|
40
|
+
name: "joeRouter",
|
|
41
|
+
outputs: [
|
|
42
|
+
{
|
|
43
|
+
internalType: "address",
|
|
44
|
+
name: "",
|
|
45
|
+
type: "address",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
stateMutability: "view",
|
|
49
|
+
type: "function",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
inputs: [
|
|
53
|
+
{
|
|
54
|
+
internalType: "uint256",
|
|
55
|
+
name: "exactRawTokenIn",
|
|
56
|
+
type: "uint256",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
internalType: "address",
|
|
60
|
+
name: "receiver",
|
|
61
|
+
type: "address",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
internalType: "address[]",
|
|
65
|
+
name: "path",
|
|
66
|
+
type: "address[]",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
internalType: "address",
|
|
70
|
+
name: "market",
|
|
71
|
+
type: "address",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
internalType: "uint256",
|
|
75
|
+
name: "netYtOutGuessMin",
|
|
76
|
+
type: "uint256",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
internalType: "uint256",
|
|
80
|
+
name: "netYtOutGuessMax",
|
|
81
|
+
type: "uint256",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
internalType: "uint256",
|
|
85
|
+
name: "maxIteration",
|
|
86
|
+
type: "uint256",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
internalType: "uint256",
|
|
90
|
+
name: "eps",
|
|
91
|
+
type: "uint256",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
name: "swapExactRawTokenForYt",
|
|
95
|
+
outputs: [
|
|
96
|
+
{
|
|
97
|
+
internalType: "uint256",
|
|
98
|
+
name: "netYtOut",
|
|
99
|
+
type: "uint256",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
stateMutability: "nonpayable",
|
|
103
|
+
type: "function",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
inputs: [
|
|
107
|
+
{
|
|
108
|
+
internalType: "address",
|
|
109
|
+
name: "receiver",
|
|
110
|
+
type: "address",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
internalType: "address",
|
|
114
|
+
name: "market",
|
|
115
|
+
type: "address",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
internalType: "uint256",
|
|
119
|
+
name: "exactScyIn",
|
|
120
|
+
type: "uint256",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
internalType: "uint256",
|
|
124
|
+
name: "netYtOutGuessMin",
|
|
125
|
+
type: "uint256",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
internalType: "uint256",
|
|
129
|
+
name: "netYtOutGuessMax",
|
|
130
|
+
type: "uint256",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
internalType: "uint256",
|
|
134
|
+
name: "maxIteration",
|
|
135
|
+
type: "uint256",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
internalType: "uint256",
|
|
139
|
+
name: "eps",
|
|
140
|
+
type: "uint256",
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
name: "swapExactScyForYt",
|
|
144
|
+
outputs: [
|
|
145
|
+
{
|
|
146
|
+
internalType: "uint256",
|
|
147
|
+
name: "",
|
|
148
|
+
type: "uint256",
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
stateMutability: "nonpayable",
|
|
152
|
+
type: "function",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
inputs: [
|
|
156
|
+
{
|
|
157
|
+
internalType: "uint256",
|
|
158
|
+
name: "exactYtIn",
|
|
159
|
+
type: "uint256",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
internalType: "address",
|
|
163
|
+
name: "receiver",
|
|
164
|
+
type: "address",
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
internalType: "address[]",
|
|
168
|
+
name: "path",
|
|
169
|
+
type: "address[]",
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
internalType: "address",
|
|
173
|
+
name: "market",
|
|
174
|
+
type: "address",
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
internalType: "uint256",
|
|
178
|
+
name: "minRawTokenOut",
|
|
179
|
+
type: "uint256",
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
name: "swapExactYtForRawToken",
|
|
183
|
+
outputs: [
|
|
184
|
+
{
|
|
185
|
+
internalType: "uint256",
|
|
186
|
+
name: "netRawTokenOut",
|
|
187
|
+
type: "uint256",
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
stateMutability: "nonpayable",
|
|
191
|
+
type: "function",
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
inputs: [
|
|
195
|
+
{
|
|
196
|
+
internalType: "address",
|
|
197
|
+
name: "receiver",
|
|
198
|
+
type: "address",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
internalType: "address",
|
|
202
|
+
name: "market",
|
|
203
|
+
type: "address",
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
internalType: "uint256",
|
|
207
|
+
name: "exactYtIn",
|
|
208
|
+
type: "uint256",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
internalType: "uint256",
|
|
212
|
+
name: "minScyOut",
|
|
213
|
+
type: "uint256",
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
name: "swapExactYtForScy",
|
|
217
|
+
outputs: [
|
|
218
|
+
{
|
|
219
|
+
internalType: "uint256",
|
|
220
|
+
name: "",
|
|
221
|
+
type: "uint256",
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
stateMutability: "nonpayable",
|
|
225
|
+
type: "function",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
inputs: [
|
|
229
|
+
{
|
|
230
|
+
internalType: "address",
|
|
231
|
+
name: "receiver",
|
|
232
|
+
type: "address",
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
internalType: "address",
|
|
236
|
+
name: "market",
|
|
237
|
+
type: "address",
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
internalType: "uint256",
|
|
241
|
+
name: "exactYtOut",
|
|
242
|
+
type: "uint256",
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
internalType: "uint256",
|
|
246
|
+
name: "maxScyIn",
|
|
247
|
+
type: "uint256",
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
name: "swapScyForExactYt",
|
|
251
|
+
outputs: [
|
|
252
|
+
{
|
|
253
|
+
internalType: "uint256",
|
|
254
|
+
name: "",
|
|
255
|
+
type: "uint256",
|
|
256
|
+
},
|
|
257
|
+
],
|
|
258
|
+
stateMutability: "nonpayable",
|
|
259
|
+
type: "function",
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
inputs: [
|
|
263
|
+
{
|
|
264
|
+
internalType: "address",
|
|
265
|
+
name: "receiver",
|
|
266
|
+
type: "address",
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
internalType: "address",
|
|
270
|
+
name: "market",
|
|
271
|
+
type: "address",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
internalType: "uint256",
|
|
275
|
+
name: "exactScyOut",
|
|
276
|
+
type: "uint256",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
internalType: "uint256",
|
|
280
|
+
name: "netYtInGuessMin",
|
|
281
|
+
type: "uint256",
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
internalType: "uint256",
|
|
285
|
+
name: "netYtInGuessMax",
|
|
286
|
+
type: "uint256",
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
internalType: "uint256",
|
|
290
|
+
name: "maxIteration",
|
|
291
|
+
type: "uint256",
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
internalType: "uint256",
|
|
295
|
+
name: "eps",
|
|
296
|
+
type: "uint256",
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
name: "swapYtForExactScy",
|
|
300
|
+
outputs: [
|
|
301
|
+
{
|
|
302
|
+
internalType: "uint256",
|
|
303
|
+
name: "netYtIn",
|
|
304
|
+
type: "uint256",
|
|
305
|
+
},
|
|
306
|
+
],
|
|
307
|
+
stateMutability: "nonpayable",
|
|
308
|
+
type: "function",
|
|
309
|
+
},
|
|
310
|
+
];
|
|
311
|
+
|
|
312
|
+
const _bytecode =
|
|
313
|
+
"0x60c06040523480156200001157600080fd5b50604051620039a4380380620039a4833981016040819052620000349162000069565b6001600160a01b039182166080521660a052620000a1565b80516001600160a01b03811681146200006457600080fd5b919050565b600080604083850312156200007d57600080fd5b62000088836200004c565b915062000098602084016200004c565b90509250929050565b60805160a0516138c2620000e26000396000818161011501528181611377015281816113d901528181611cc20152611d050152600060e101526138c26000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c806304275ae41461007d5780631d7c155b146100a357806321aab859146100b65780633332bf08146100c957806359f571e8146100dc5780638a38466e14610110578063ba31326614610137578063d8cc26aa1461014a575b600080fd5b61009061008b366004613040565b61015d565b6040519081526020015b60405180910390f35b6100906100b1366004613040565b610199565b6100906100c43660046130a2565b6101c9565b6100906100d736600461312c565b6101e0565b6101037f000000000000000000000000000000000000000000000000000000000000000081565b60405161009a91906131a7565b6101037f000000000000000000000000000000000000000000000000000000000000000081565b6100906101453660046131bb565b6102b7565b6100906101583660046130a2565b610386565b600061018d88888860405180608001604052808a8152602001898152602001888152602001878152506001610396565b98975050505050505050565b600061018d88888860405180608001604052808a8152602001898152602001888152602001878152506001610578565b60006101d7858585856106cd565b95945050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561021c57600080fd5b505afa158015610230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102549190613250565b50509050600061026882868b600180610948565b90506102aa8282868b8b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250610be4915050565b9998505050505050505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156102f557600080fd5b505afa158015610309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032d9190613250565b925050915060006103458d846001858f8f6001610d9f565b90506103758c8a8360405180608001604052808d81526020018c81526020018b81526020018a8152506000610396565b9d9c50505050505050505050505050565b60006101d7858585856001610948565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156103d457600080fd5b505afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c9190613250565b604051631cf38c7b60e11b81526000600482018190529395509093506001600160a01b038a1691506339e718f6906024016101806040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048e91906132f5565b90506104a661049c84610f42565b829089428a610fbd565b50935084156104c4576104c46001600160a01b03841633848a6111bc565b876001600160a01b03166399bc99988a86600160028e6040516020016104eb9291906133b8565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016105199493929190613436565b6040805180830381600087803b15801561053257600080fd5b505af1158015610546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056a919061346d565b505050505095945050505050565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101806040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f691906132f5565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561063457600080fd5b505afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c9190613250565b925050915061068761067d83610f42565b849089428a61121a565b50935084156106a5576106a56001600160a01b0382163383876111bc565b876001600160a01b0316634f7b3d2f828660001960038e6040516020016104eb9291906133b8565b600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561070957600080fd5b505afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107419190613250565b505090506000816001600160a01b03166370a08231886040518263ffffffff1660e01b815260040161077391906131a7565b60206040518083038186803b15801561078b57600080fd5b505afa15801561079f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c39190613491565b9050856001600160a01b03166399bc99988887600180338d6040516020016107ed939291906134aa565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161081b9493929190613436565b6040805180830381600087803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c919061346d565b50506040516370a0823160e01b81526001600160a01b038316906370a082319061089a908a906004016131a7565b60206040518083038186803b1580156108b257600080fd5b505afa1580156108c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ea9190613491565b6108f490826134f0565b92508383111561093e5760405162461bcd60e51b815260206004820152601060248201526f195e18d95959081bdd5d081b1a5b5a5d60821b60448201526064015b60405180910390fd5b5050949350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561098657600080fd5b505afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be9190613250565b92505091506000826001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016109f191906131a7565b60206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190613491565b90508415610a5e57610a5e6001600160a01b03831633848a6111bc565b876001600160a01b0316634f7b3d2f8a8960001960008e604051602001610a869291906133b8565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610ab49493929190613436565b6040805180830381600087803b158015610acd57600080fd5b505af1158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b05919061346d565b50506040516370a0823160e01b815281906001600160a01b038516906370a0823190610b35908d906004016131a7565b60206040518083038186803b158015610b4d57600080fd5b505afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190613491565b610b8f91906134f0565b935085841015610bd85760405162461bcd60e51b8152602060048201526014602482015273125394d551919250d251539517d4d0d657d3d55560621b6044820152606401610935565b50505095945050505050565b60008115610c0157610c016001600160a01b0388163389896111bc565b600083600081518110610c1657610c16613507565b60200260200101519050835160011415610cb35760405163c1129b1b60e01b81526001600160a01b0389169063c1129b1b90610c5a90889085908b9060040161351d565b602060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac9190613491565b9150610d94565b6000886001600160a01b031663c1129b1b610ccd87611370565b8460016040518463ffffffff1660e01b8152600401610cee9392919061351d565b602060405180830381600087803b158015610d0857600080fd5b505af1158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d409190613491565b9050610d4d8582886113d1565b925086831015610d925760405162461bcd60e51b815260206004820152601060248201526f1a5b9cdd59999a58da595b9d081bdd5d60821b6044820152606401610935565b505b509695505050505050565b60008115610e8a576001831415610df457610def33888a87876000818110610dc957610dc9613507565b9050602002016020810190610dde9190613541565b6001600160a01b03169291906111bc565b610e8a565b610e4833610e3486868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061137092505050565b8a87876000818110610dc957610dc9613507565b610e888484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b91506113d19050565b505b60008484610e996001826134f0565b818110610ea857610ea8613507565b9050602002016020810190610ebd9190613541565b6040516334c44e9d60e11b81529091506001600160a01b038916906369889d3a90610ef090899085908c9060040161351d565b602060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102aa9190613491565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f7f57600080fd5b505af1158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190613491565b92915050565b60008060008511610fe05760405162461bcd60e51b81526004016109359061355e565b610fe98361143d565b6110055760405162461bcd60e51b815260040161093590613588565b60006110118787611477565b9050600080806110228b8b8a61148a565b90506000198760200151141561104a576110448b6000015182602001516115c5565b60208801525b60408701511561117c57604087810180516000190190528051608081018252600080825260208083018290529282018190526060820152908801518851600291611093916135b7565b61109e9060016135b7565b6110a891906135e5565b8082528c516110b89184876115e0565b94509250826110da5780516110cf906001906134f0565b60208901525061104a565b6110f3826110eb8360000151611633565b8e9190611647565b506020820181905261110490611754565b60408201819052815161111791906134f0565b60608201819052851061116857805188526060808201519089015161113e91908790611767565b156111635780516060820151611155908d9061179b565b9650965050505050506111b2565b611176565b80516110cf906001906134f0565b5061104a565b60405162461bcd60e51b815260206004820152600b60248201526a185c1c1c9bde0819985a5b60aa1b6044820152606401610935565b9550959350505050565b611214846323b872dd60e01b8585856040516024016111dd9392919061351d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526117a7565b50505050565b6000806000851161123d5760405162461bcd60e51b81526004016109359061355e565b6112468361143d565b6112625760405162461bcd60e51b815260040161093590613588565b600061126e8787611477565b9050600061127d89898861148a565b90506000198560200151141561129f578851611299908261187e565b60208601525b60408501511561117c57604085018051600019019052602085015185516000916002916112cc91906135b7565b6112d691906135e5565b905060006112ef836112e784611940565b8d9190611647565b509050600061130561130083611952565b611754565b9050600061131382856134f0565b9050858110611359578389602001818152505061133581878b6060015161195d565b1561135457836113458d8361179b565b975097505050505050506111b2565b611367565b6113648460016135b7565b89525b5050505061129f565b6000610fb77f0000000000000000000000000000000000000000000000000000000000000000836000815181106113a9576113a9613507565b6020026020010151846001815181106113c4576113c4613507565b602002602001015161198b565b6000806113ff7f00000000000000000000000000000000000000000000000000000000000000008587611a5a565b905061140c818685611bdf565b806001825161141b91906134f0565b8151811061142b5761142b613507565b60200260200101519150509392505050565b6000816020015182600001511115801561145d5750610100826040015111155b8015610fb757505060600151670de0b6b3a7640000101590565b60006114838383611dd4565b9392505050565b6114b56040518060800160405280600081526020016000815260200160008152602001600081525090565b83610100015182106114fa5760405162461bcd60e51b815260206004820152600e60248201526d1b585c9ad95d08195e1c1a5c995960921b6044820152606401610935565b60008285610100015161150d91906134f0565b90506115198582611df3565b8252602085015161152b908590611e77565b60208301528451158015906115435750602082015115155b6115865760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610935565b6115a485600001518661014001518460200151856000015185611eae565b604083015260c08501516115b89082611f1e565b6060830152509392505050565b600060016115d66113008585611f52565b61148391906134f0565b6000808285116115f55750600190508161162a565b600061160a8761160488611633565b87611f68565b90506000811261162157600186925092505061162a565b60008492509250505b94509492505050565b600061163e82611940565b610fb7906135f9565b6000806000611669866000015186602001518760000151886040015188612075565b9050600061167f61167a8684612133565b611952565b606087015190915060008613156116ea57600061169c8483612133565b9050670de0b6b3a76400008112156116c65760405162461bcd60e51b815260040161093590613616565b6116e26116db83670de0b6b3a7640000613645565b8490612162565b915050611717565b6117148161170081670de0b6b3a7640000613645565b61170a9085613684565b61167a9190613709565b90505b6064611727896101200151611940565b6117319083613684565b61173b9190613709565b93506117478183613645565b9450505050935093915050565b60008082121561176357600080fd5b5090565b6000828411158015611793575061178f8361178a84670de0b6b3a76400006134f0565b612180565b8410155b949350505050565b600061148383836121a0565b60006117fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121b59092919063ffffffff16565b805190915015611879578080602001905181019061181a9190613737565b6118795760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610935565b505050565b6000806118c56118c0846000015185604001516118b08760600151670de0b6b3a764000061216290919063ffffffff16565b6118ba9190613645565b90612162565b6121c4565b905060006118e56118de670de0b6b3a764000084613759565b8390612133565b905060006119038560200151876118fc9190613759565b8390612162565b905060006119118288613645565b90506103e861191f82611754565b61192b906103e761379a565b61193591906135e5565b979650505050505050565b6000600160ff1b821061176357600080fd5b6000610fb7826135f9565b600082841015801561179357506119808361178a84670de0b6b3a76400006135b7565b909311159392505050565b600080600061199a85856125d9565b6040516001600160601b0319606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001611a389291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b6060600282511015611aa95760405162461bcd60e51b8152602060048201526018602482015277094deca98d2c4e4c2e4f27440929cac82989288bea082a8960431b6044820152606401610935565b81516001600160401b03811115611ac257611ac261329d565b604051908082528060200260200182016040528015611aeb578160200160208202803683370190505b5090508281600081518110611b0257611b02613507565b60200260200101818152505060005b60018351611b1f91906134f0565b811015611bd757600080611b7287868581518110611b3f57611b3f613507565b602002602001015187866001611b5591906135b7565b81518110611b6557611b65613507565b60200260200101516126be565b91509150611b9a848481518110611b8b57611b8b613507565b60200260200101518383612797565b84611ba68560016135b7565b81518110611bb657611bb6613507565b60200260200101818152505050508080611bcf906137b9565b915050611b11565b509392505050565b60005b60018351611bf091906134f0565b81101561121457600080848381518110611c0c57611c0c613507565b602002602001015185846001611c2291906135b7565b81518110611c3257611c32613507565b6020026020010151915091506000611c4a83836125d9565b509050600087611c5b8660016135b7565b81518110611c6b57611c6b613507565b60200260200101519050600080836001600160a01b0316866001600160a01b031614611c9957826000611c9d565b6000835b91509150600060028a51611cb191906134f0565b8810611cbd5788611cfe565b611cfe7f0000000000000000000000000000000000000000000000000000000000000000878c611cee8c60026135b7565b815181106113c4576113c4613507565b9050611d2b7f0000000000000000000000000000000000000000000000000000000000000000888861198b565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015611d68576020820181803683370190505b506040518563ffffffff1660e01b8152600401611d8894939291906137d4565b600060405180830381600087803b158015611da257600080fd5b505af1158015611db6573d6000803e3d6000fd5b50505050505050505050508080611dcc906137b9565b915050611be2565b6000670de0b6b3a7640000611de9848461379a565b61148391906135e5565b6000611dfe82611940565b611e15611e106201518061016861379a565b611940565b8460a00151611e249190613684565b611e2e9190613709565b905060008113610fb75760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610935565b60008060008312611e89576001611e8d565b6000195b9050611ea4611e1085611e9f866128a0565b611dd4565b6117939082613684565b600080611ebb8684611f1e565b9050670de0b6b3a7640000811215611ee55760405162461bcd60e51b815260040161093590613616565b6000611efb611ef4878a613759565b8990612133565b90506000611f08826128b7565b9050611f148187612133565b6102aa9084613645565b600080611f306201518061016861379a565b611f3a848661379a565b611f4491906135e5565b90506117936118c082611940565b6000818312611f615781611483565b5090919050565b600080611f74846135f9565b90506000818460200151611f889190613645565b90506000611f968784613759565b9050600082138015611fa85750600081135b611fe95760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081bdd151bd3585c9ad95d60721b6044820152606401610935565b6000612017611ff88484613684565b6020880151612007908b613759565b6120119087613684565b90612133565b9050600061202d6120288486612133565b612933565b875190915060009061204890670de0b6b3a764000090612133565b9050612058816118ba8486613645565b88604001516120679190613645565b9a9950505050505050505050565b60008061208287846129c4565b905060006120936118de888a613759565b9050670d529ae9e86000008113156120e75760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610935565b60006120f2826128b7565b9050856120ff8289612133565b6121099190613759565b9350670de0b6b3a7640000841215610bd85760405162461bcd60e51b815260040161093590613616565b600080612148670de0b6b3a764000085613684565b9050828181612159576121596135cf565b05949350505050565b60008061216f8385613684565b9050670de0b6b3a764000081612159565b60008061218d838561379a565b670de0b6b3a76400009004949350505050565b600082611de9670de0b6b3a76400008461379a565b60606117938484600085612a07565b6000680238fd42c5cf03ffff1982121580156121e9575068070c1cc73b00c800008213155b6122285760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610935565b60008212156122605761223d826000036121c4565b6a0c097ce7bc90715b34b9f160241b81612259576122596135cf565b0592915050565b60006806f05b59d3b2000000831261229e57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6122d4565b6803782dace9d900000083126122d057506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806122d4565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126123245768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612360576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261239a57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126123d4576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261240d57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126124465768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261247f576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126124b85768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080826001600160a01b0316846001600160a01b0316141561263e5760405162461bcd60e51b815260206004820152601f60248201527f4a6f654c6962726172793a204944454e544943414c5f414444524553534553006044820152606401610935565b826001600160a01b0316846001600160a01b03161061265e578284612661565b83835b90925090506001600160a01b0382166126b75760405162461bcd60e51b81526020600482015260186024820152774a6f654c6962726172793a205a45524f5f4144445245535360401b6044820152606401610935565b9250929050565b60008060006126cd85856125d9565b5090506000806126de88888861198b565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561271657600080fd5b505afa15801561272a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274e9190613818565b506001600160701b031691506001600160701b03169150826001600160a01b0316876001600160a01b031614612785578082612788565b81815b90999098509650505050505050565b60008084116127f65760405162461bcd60e51b815260206004820152602560248201527f4a6f654c6962726172793a20494e53554646494349454e545f494e5055545f416044820152641353d5539560da1b6064820152608401610935565b6000831180156128065750600082115b61285d5760405162461bcd60e51b815260206004820152602260248201527f4a6f654c6962726172793a20494e53554646494349454e545f4c495155494449604482015261545960f01b6064820152608401610935565b600061286b856103e561379a565b90506000612879848361379a565b905060008261288a876103e861379a565b61289491906135b7565b905061193581836135e5565b6000808213611763576128b2826135f9565b610fb7565b6000670de0b6b3a764000082141561290e5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610935565b600061292c61292584670de0b6b3a7640000613645565b8490612133565b9050611483815b60008082136129745760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610935565b670c7d713b49da0000821380156129925750670f43fc2c04ee000082125b156129b657670de0b6b3a76400006129a983612b2d565b81612259576122596135cf565b610fb782612c4c565b919050565b600081831215612a015760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610935565b50900390565b606082471015612a685760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610935565b6001600160a01b0385163b612abf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610935565b600080866001600160a01b03168587604051612adb919061385d565b60006040518083038185875af1925050503d8060008114612b18576040519150601f19603f3d011682016040523d82523d6000602084013e612b1d565b606091505b5091509150611935828286612fef565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612b6e57612b6e6135cf565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c8d57612c84826a0c097ce7bc90715b34b9f160241b81612c7e57612c7e6135cf565b05612c4c565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612cd85772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612d0f576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612d57576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d92576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612dc957693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612e0057690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612e355768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612e6057680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e95576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612eca576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612efe576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612f32576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612f5b57612f5b6135cf565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b60608315612ffe575081611483565b82511561300e5782518084602001fd5b8160405162461bcd60e51b81526004016109359190613879565b6001600160a01b038116811461303d57600080fd5b50565b600080600080600080600060e0888a03121561305b57600080fd5b873561306681613028565b9650602088013561307681613028565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b600080600080608085870312156130b857600080fd5b84356130c381613028565b935060208501356130d381613028565b93969395505050506040820135916060013590565b60008083601f8401126130fa57600080fd5b5081356001600160401b0381111561311157600080fd5b6020830191508360208260051b85010111156126b757600080fd5b60008060008060008060a0878903121561314557600080fd5b86359550602087013561315781613028565b945060408701356001600160401b0381111561317257600080fd5b61317e89828a016130e8565b909550935050606087013561319281613028565b80925050608087013590509295509295509295565b6001600160a01b0391909116815260200190565b60008060008060008060008060006101008a8c0312156131da57600080fd5b8935985060208a01356131ec81613028565b975060408a01356001600160401b0381111561320757600080fd5b6132138c828d016130e8565b90985096505060608a013561322781613028565b989b979a5095989497966080860135965060a08601359560c0810135955060e001359350915050565b60008060006060848603121561326557600080fd5b835161327081613028565b602085015190935061328181613028565b604085015190925061329281613028565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156132e457634e487b7160e01b600052604160045260246000fd5b60405290565b80516129bf81613028565b6000610180828403121561330857600080fd5b6133106132b3565b8251815260208301516020820152604083015160408201526060830151606082015261333e608084016132ea565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b600481106133b457634e487b7160e01b600052602160045260246000fd5b9052565b604081016133c68285613396565b6001600160a01b039290921660209190910152919050565b60005b838110156133f95781810151838201526020016133e1565b838111156112145750506000910152565b600081518084526134228160208601602086016133de565b601f01601f19169290920160200192915050565b60018060a01b0385168152836020820152826040820152608060608201526000613463608083018461340a565b9695505050505050565b6000806040838503121561348057600080fd5b505080516020909101519092909150565b6000602082840312156134a357600080fd5b5051919050565b606081016134b88286613396565b6001600160a01b03938416602083015291909216604090920191909152919050565b634e487b7160e01b600052601160045260246000fd5b600082821015613502576135026134da565b500390565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561355357600080fd5b813561148381613028565b60208082526010908201526f34b73b30b634b21036b0bc29b1bca4b760811b604082015260600190565b6020808252601590820152740d2dcecc2d8d2c840c2e0e0e4def040c2e0e0e4def605b1b604082015260600190565b600082198211156135ca576135ca6134da565b500190565b634e487b7160e01b600052601260045260246000fd5b6000826135f4576135f46135cf565b500490565b6000600160ff1b82141561360f5761360f6134da565b5060000390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613663576136636134da565b6001600160ff1b038401831381161561367e5761367e6134da565b50500390565b60006001600160ff1b03818413828413808216868404861116156136aa576136aa6134da565b600160ff1b60008712828116878305891216156136c9576136c96134da565b600087129250878205871284841616156136e5576136e56134da565b878505871281841616156136fb576136fb6134da565b505050929093029392505050565b600082613718576137186135cf565b600160ff1b821460001984141615613732576137326134da565b500590565b60006020828403121561374957600080fd5b8151801515811461148357600080fd5b600080821280156001600160ff1b038490038513161561377b5761377b6134da565b600160ff1b8390038412811615613794576137946134da565b50500190565b60008160001904831182151516156137b4576137b46134da565b500290565b60006000198214156137cd576137cd6134da565b5060010190565b84815283602082015260018060a01b0383166040820152608060608201526000613463608083018461340a565b80516001600160701b03811681146129bf57600080fd5b60008060006060848603121561382d57600080fd5b61383684613801565b925061384460208501613801565b9150604084015163ffffffff8116811461329257600080fd5b6000825161386f8184602087016133de565b9190910192915050565b602081526000611483602083018461340a56fea2646970667358221220040963c6c647e0918ab972e4766a7756b8f28815730225a1291cfe6131a609e664736f6c63430008090033";
|
|
314
|
+
|
|
315
|
+
type ActionYTConstructorParams =
|
|
316
|
+
| [signer?: Signer]
|
|
317
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
318
|
+
|
|
319
|
+
const isSuperArgs = (
|
|
320
|
+
xs: ActionYTConstructorParams
|
|
321
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
322
|
+
|
|
323
|
+
export class ActionYT__factory extends ContractFactory {
|
|
324
|
+
constructor(...args: ActionYTConstructorParams) {
|
|
325
|
+
if (isSuperArgs(args)) {
|
|
326
|
+
super(...args);
|
|
327
|
+
} else {
|
|
328
|
+
super(_abi, _bytecode, args[0]);
|
|
329
|
+
}
|
|
330
|
+
this.contractName = "ActionYT";
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
deploy(
|
|
334
|
+
_joeRouter: string,
|
|
335
|
+
_joeFactory: string,
|
|
336
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
337
|
+
): Promise<ActionYT> {
|
|
338
|
+
return super.deploy(
|
|
339
|
+
_joeRouter,
|
|
340
|
+
_joeFactory,
|
|
341
|
+
overrides || {}
|
|
342
|
+
) as Promise<ActionYT>;
|
|
343
|
+
}
|
|
344
|
+
getDeployTransaction(
|
|
345
|
+
_joeRouter: string,
|
|
346
|
+
_joeFactory: string,
|
|
347
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
348
|
+
): TransactionRequest {
|
|
349
|
+
return super.getDeployTransaction(_joeRouter, _joeFactory, overrides || {});
|
|
350
|
+
}
|
|
351
|
+
attach(address: string): ActionYT {
|
|
352
|
+
return super.attach(address) as ActionYT;
|
|
353
|
+
}
|
|
354
|
+
connect(signer: Signer): ActionYT__factory {
|
|
355
|
+
return super.connect(signer) as ActionYT__factory;
|
|
356
|
+
}
|
|
357
|
+
static readonly contractName: "ActionYT";
|
|
358
|
+
public readonly contractName: "ActionYT";
|
|
359
|
+
static readonly bytecode = _bytecode;
|
|
360
|
+
static readonly abi = _abi;
|
|
361
|
+
static createInterface(): ActionYTInterface {
|
|
362
|
+
return new utils.Interface(_abi) as ActionYTInterface;
|
|
363
|
+
}
|
|
364
|
+
static connect(
|
|
365
|
+
address: string,
|
|
366
|
+
signerOrProvider: Signer | Provider
|
|
367
|
+
): ActionYT {
|
|
368
|
+
return new Contract(address, _abi, signerOrProvider) as ActionYT;
|
|
369
|
+
}
|
|
370
|
+
}
|