@keep-network/tbtc-v2 0.1.1-dev.3 → 0.1.1-dev.32
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/README.adoc +12 -0
- package/artifacts/TBTC.json +19 -18
- package/artifacts/TBTCToken.json +19 -18
- package/artifacts/VendingMachine.json +20 -19
- package/artifacts/solcInputs/590fbe282bf8b630b15f2da419b402f1.json +197 -0
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.json +43 -2
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +96 -0
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +1727 -63
- package/build/contracts/bridge/Bridge.sol/IRelay.dbg.json +4 -0
- package/build/contracts/bridge/Bridge.sol/IRelay.json +37 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
- package/build/contracts/bridge/Frauds.sol/Frauds.dbg.json +4 -0
- package/build/contracts/bridge/Frauds.sol/Frauds.json +138 -0
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
- package/build/contracts/bridge/Wallets.sol/Wallets.json +138 -0
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
- package/build/contracts/vault/IVault.sol/IVault.json +47 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +38 -2
- package/contracts/GovernanceUtils.sol +1 -1
- package/contracts/bank/Bank.sol +69 -18
- package/contracts/bridge/BitcoinTx.sol +241 -0
- package/contracts/bridge/Bridge.sol +2234 -104
- package/contracts/bridge/EcdsaLib.sol +30 -0
- package/contracts/bridge/Frauds.sol +529 -0
- package/contracts/bridge/VendingMachine.sol +1 -1
- package/contracts/bridge/Wallets.sol +591 -0
- package/contracts/token/TBTC.sol +1 -1
- package/contracts/vault/IVault.sol +60 -0
- package/contracts/vault/TBTCVault.sol +50 -8
- package/package.json +28 -24
- package/artifacts/solcInputs/cebfa5efa019cb9c8c5e23e38703b883.json +0 -113
|
@@ -4,14 +4,39 @@
|
|
|
4
4
|
"sourceName": "contracts/bridge/Bridge.sol",
|
|
5
5
|
"abi": [
|
|
6
6
|
{
|
|
7
|
-
"anonymous": false,
|
|
8
7
|
"inputs": [
|
|
9
8
|
{
|
|
10
|
-
"
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "_bank",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "_relay",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "_treasury",
|
|
21
|
+
"type": "address"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "address",
|
|
25
|
+
"name": "_ecdsaWalletRegistry",
|
|
26
|
+
"type": "address"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
11
29
|
"internalType": "uint256",
|
|
12
|
-
"name": "
|
|
30
|
+
"name": "_txProofDifficultyFactor",
|
|
13
31
|
"type": "uint256"
|
|
14
|
-
}
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"stateMutability": "nonpayable",
|
|
35
|
+
"type": "constructor"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"anonymous": false,
|
|
39
|
+
"inputs": [
|
|
15
40
|
{
|
|
16
41
|
"indexed": false,
|
|
17
42
|
"internalType": "bytes32",
|
|
@@ -20,9 +45,9 @@
|
|
|
20
45
|
},
|
|
21
46
|
{
|
|
22
47
|
"indexed": false,
|
|
23
|
-
"internalType": "
|
|
48
|
+
"internalType": "uint32",
|
|
24
49
|
"name": "fundingOutputIndex",
|
|
25
|
-
"type": "
|
|
50
|
+
"type": "uint32"
|
|
26
51
|
},
|
|
27
52
|
{
|
|
28
53
|
"indexed": false,
|
|
@@ -33,20 +58,32 @@
|
|
|
33
58
|
{
|
|
34
59
|
"indexed": false,
|
|
35
60
|
"internalType": "uint64",
|
|
36
|
-
"name": "
|
|
61
|
+
"name": "amount",
|
|
37
62
|
"type": "uint64"
|
|
38
63
|
},
|
|
39
64
|
{
|
|
40
65
|
"indexed": false,
|
|
41
|
-
"internalType": "
|
|
42
|
-
"name": "
|
|
43
|
-
"type": "
|
|
66
|
+
"internalType": "bytes8",
|
|
67
|
+
"name": "blindingFactor",
|
|
68
|
+
"type": "bytes8"
|
|
44
69
|
},
|
|
45
70
|
{
|
|
46
71
|
"indexed": false,
|
|
47
|
-
"internalType": "
|
|
48
|
-
"name": "
|
|
49
|
-
"type": "
|
|
72
|
+
"internalType": "bytes20",
|
|
73
|
+
"name": "walletPubKeyHash",
|
|
74
|
+
"type": "bytes20"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"indexed": false,
|
|
78
|
+
"internalType": "bytes20",
|
|
79
|
+
"name": "refundPubKeyHash",
|
|
80
|
+
"type": "bytes20"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"indexed": false,
|
|
84
|
+
"internalType": "bytes4",
|
|
85
|
+
"name": "refundLocktime",
|
|
86
|
+
"type": "bytes4"
|
|
50
87
|
},
|
|
51
88
|
{
|
|
52
89
|
"indexed": false,
|
|
@@ -59,118 +96,1745 @@
|
|
|
59
96
|
"type": "event"
|
|
60
97
|
},
|
|
61
98
|
{
|
|
99
|
+
"anonymous": false,
|
|
62
100
|
"inputs": [
|
|
63
101
|
{
|
|
102
|
+
"indexed": false,
|
|
103
|
+
"internalType": "bytes20",
|
|
104
|
+
"name": "walletPubKeyHash",
|
|
105
|
+
"type": "bytes20"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"indexed": false,
|
|
64
109
|
"internalType": "bytes32",
|
|
65
|
-
"name": "
|
|
110
|
+
"name": "sweepTxHash",
|
|
111
|
+
"type": "bytes32"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"name": "DepositsSwept",
|
|
115
|
+
"type": "event"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"anonymous": false,
|
|
119
|
+
"inputs": [
|
|
120
|
+
{
|
|
121
|
+
"indexed": false,
|
|
122
|
+
"internalType": "bytes20",
|
|
123
|
+
"name": "walletPublicKeyHash",
|
|
124
|
+
"type": "bytes20"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"indexed": false,
|
|
128
|
+
"internalType": "bytes32",
|
|
129
|
+
"name": "sighash",
|
|
130
|
+
"type": "bytes32"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"name": "FraudChallengeDefeatTimedOut",
|
|
134
|
+
"type": "event"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"anonymous": false,
|
|
138
|
+
"inputs": [
|
|
139
|
+
{
|
|
140
|
+
"indexed": false,
|
|
141
|
+
"internalType": "uint256",
|
|
142
|
+
"name": "newFraudChallengeDefeatTimeout",
|
|
143
|
+
"type": "uint256"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"name": "FraudChallengeDefeatTimeoutUpdated",
|
|
147
|
+
"type": "event"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"anonymous": false,
|
|
151
|
+
"inputs": [
|
|
152
|
+
{
|
|
153
|
+
"indexed": false,
|
|
154
|
+
"internalType": "bytes20",
|
|
155
|
+
"name": "walletPublicKeyHash",
|
|
156
|
+
"type": "bytes20"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"indexed": false,
|
|
160
|
+
"internalType": "bytes32",
|
|
161
|
+
"name": "sighash",
|
|
162
|
+
"type": "bytes32"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"name": "FraudChallengeDefeated",
|
|
166
|
+
"type": "event"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"anonymous": false,
|
|
170
|
+
"inputs": [
|
|
171
|
+
{
|
|
172
|
+
"indexed": false,
|
|
173
|
+
"internalType": "uint256",
|
|
174
|
+
"name": "newFraudChallengeDepositAmount",
|
|
175
|
+
"type": "uint256"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"name": "FraudChallengeDepositAmountUpdated",
|
|
179
|
+
"type": "event"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"anonymous": false,
|
|
183
|
+
"inputs": [
|
|
184
|
+
{
|
|
185
|
+
"indexed": false,
|
|
186
|
+
"internalType": "bytes20",
|
|
187
|
+
"name": "walletPublicKeyHash",
|
|
188
|
+
"type": "bytes20"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"indexed": false,
|
|
192
|
+
"internalType": "bytes32",
|
|
193
|
+
"name": "sighash",
|
|
66
194
|
"type": "bytes32"
|
|
67
195
|
},
|
|
68
196
|
{
|
|
197
|
+
"indexed": false,
|
|
69
198
|
"internalType": "uint8",
|
|
70
|
-
"name": "
|
|
199
|
+
"name": "v",
|
|
71
200
|
"type": "uint8"
|
|
72
201
|
},
|
|
73
202
|
{
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
203
|
+
"indexed": false,
|
|
204
|
+
"internalType": "bytes32",
|
|
205
|
+
"name": "r",
|
|
206
|
+
"type": "bytes32"
|
|
77
207
|
},
|
|
78
208
|
{
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
209
|
+
"indexed": false,
|
|
210
|
+
"internalType": "bytes32",
|
|
211
|
+
"name": "s",
|
|
212
|
+
"type": "bytes32"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
"name": "FraudChallengeSubmitted",
|
|
216
|
+
"type": "event"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"anonymous": false,
|
|
220
|
+
"inputs": [
|
|
221
|
+
{
|
|
222
|
+
"indexed": false,
|
|
223
|
+
"internalType": "uint256",
|
|
224
|
+
"name": "newFraudNotifierRewardMultiplier",
|
|
225
|
+
"type": "uint256"
|
|
226
|
+
}
|
|
227
|
+
],
|
|
228
|
+
"name": "FraudNotifierRewardMultiplierUpdated",
|
|
229
|
+
"type": "event"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"anonymous": false,
|
|
233
|
+
"inputs": [
|
|
234
|
+
{
|
|
235
|
+
"indexed": false,
|
|
236
|
+
"internalType": "uint256",
|
|
237
|
+
"name": "newFraudSlashingAmount",
|
|
238
|
+
"type": "uint256"
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"name": "FraudSlashingAmountUpdated",
|
|
242
|
+
"type": "event"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"anonymous": false,
|
|
246
|
+
"inputs": [
|
|
247
|
+
{
|
|
248
|
+
"indexed": false,
|
|
249
|
+
"internalType": "bytes20",
|
|
250
|
+
"name": "walletPubKeyHash",
|
|
251
|
+
"type": "bytes20"
|
|
82
252
|
},
|
|
83
253
|
{
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
254
|
+
"indexed": false,
|
|
255
|
+
"internalType": "bytes32",
|
|
256
|
+
"name": "movingFundsTxHash",
|
|
257
|
+
"type": "bytes32"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"name": "MovingFundsCompleted",
|
|
261
|
+
"type": "event"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"anonymous": false,
|
|
265
|
+
"inputs": [
|
|
266
|
+
{
|
|
267
|
+
"indexed": true,
|
|
268
|
+
"internalType": "bytes32",
|
|
269
|
+
"name": "ecdsaWalletID",
|
|
270
|
+
"type": "bytes32"
|
|
87
271
|
},
|
|
88
272
|
{
|
|
273
|
+
"indexed": true,
|
|
274
|
+
"internalType": "bytes20",
|
|
275
|
+
"name": "walletPubKeyHash",
|
|
276
|
+
"type": "bytes20"
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
"name": "NewWalletRegistered",
|
|
280
|
+
"type": "event"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"anonymous": false,
|
|
284
|
+
"inputs": [],
|
|
285
|
+
"name": "NewWalletRequested",
|
|
286
|
+
"type": "event"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"anonymous": false,
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"indexed": true,
|
|
89
293
|
"internalType": "address",
|
|
90
|
-
"name": "
|
|
294
|
+
"name": "previousOwner",
|
|
295
|
+
"type": "address"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"indexed": true,
|
|
299
|
+
"internalType": "address",
|
|
300
|
+
"name": "newOwner",
|
|
91
301
|
"type": "address"
|
|
92
302
|
}
|
|
93
303
|
],
|
|
94
|
-
"name": "
|
|
95
|
-
"
|
|
96
|
-
"stateMutability": "nonpayable",
|
|
97
|
-
"type": "function"
|
|
304
|
+
"name": "OwnershipTransferred",
|
|
305
|
+
"type": "event"
|
|
98
306
|
},
|
|
99
307
|
{
|
|
308
|
+
"anonymous": false,
|
|
100
309
|
"inputs": [
|
|
101
310
|
{
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
311
|
+
"indexed": false,
|
|
312
|
+
"internalType": "bytes20",
|
|
313
|
+
"name": "walletPubKeyHash",
|
|
314
|
+
"type": "bytes20"
|
|
105
315
|
},
|
|
106
316
|
{
|
|
317
|
+
"indexed": false,
|
|
107
318
|
"internalType": "bytes",
|
|
108
|
-
"name": "
|
|
319
|
+
"name": "redeemerOutputScript",
|
|
109
320
|
"type": "bytes"
|
|
110
321
|
},
|
|
111
322
|
{
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
323
|
+
"indexed": false,
|
|
324
|
+
"internalType": "address",
|
|
325
|
+
"name": "redeemer",
|
|
326
|
+
"type": "address"
|
|
115
327
|
},
|
|
116
328
|
{
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
329
|
+
"indexed": false,
|
|
330
|
+
"internalType": "uint64",
|
|
331
|
+
"name": "requestedAmount",
|
|
332
|
+
"type": "uint64"
|
|
120
333
|
},
|
|
121
334
|
{
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
335
|
+
"indexed": false,
|
|
336
|
+
"internalType": "uint64",
|
|
337
|
+
"name": "treasuryFee",
|
|
338
|
+
"type": "uint64"
|
|
125
339
|
},
|
|
126
340
|
{
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
341
|
+
"indexed": false,
|
|
342
|
+
"internalType": "uint64",
|
|
343
|
+
"name": "txMaxFee",
|
|
344
|
+
"type": "uint64"
|
|
345
|
+
}
|
|
346
|
+
],
|
|
347
|
+
"name": "RedemptionRequested",
|
|
348
|
+
"type": "event"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"anonymous": false,
|
|
352
|
+
"inputs": [
|
|
353
|
+
{
|
|
354
|
+
"indexed": false,
|
|
355
|
+
"internalType": "bytes20",
|
|
356
|
+
"name": "walletPubKeyHash",
|
|
357
|
+
"type": "bytes20"
|
|
130
358
|
},
|
|
131
359
|
{
|
|
360
|
+
"indexed": false,
|
|
132
361
|
"internalType": "bytes",
|
|
133
|
-
"name": "
|
|
362
|
+
"name": "redeemerOutputScript",
|
|
134
363
|
"type": "bytes"
|
|
135
364
|
}
|
|
136
365
|
],
|
|
137
|
-
"name": "
|
|
138
|
-
"
|
|
139
|
-
"stateMutability": "nonpayable",
|
|
140
|
-
"type": "function"
|
|
366
|
+
"name": "RedemptionTimedOut",
|
|
367
|
+
"type": "event"
|
|
141
368
|
},
|
|
142
369
|
{
|
|
370
|
+
"anonymous": false,
|
|
143
371
|
"inputs": [
|
|
144
372
|
{
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
373
|
+
"indexed": false,
|
|
374
|
+
"internalType": "bytes20",
|
|
375
|
+
"name": "walletPubKeyHash",
|
|
376
|
+
"type": "bytes20"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"indexed": false,
|
|
380
|
+
"internalType": "bytes32",
|
|
381
|
+
"name": "redemptionTxHash",
|
|
382
|
+
"type": "bytes32"
|
|
148
383
|
}
|
|
149
384
|
],
|
|
150
|
-
"name": "
|
|
151
|
-
"
|
|
385
|
+
"name": "RedemptionsCompleted",
|
|
386
|
+
"type": "event"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"anonymous": false,
|
|
390
|
+
"inputs": [
|
|
152
391
|
{
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
"
|
|
392
|
+
"indexed": true,
|
|
393
|
+
"internalType": "address",
|
|
394
|
+
"name": "vault",
|
|
395
|
+
"type": "address"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"indexed": false,
|
|
399
|
+
"internalType": "bool",
|
|
400
|
+
"name": "isTrusted",
|
|
401
|
+
"type": "bool"
|
|
402
|
+
}
|
|
403
|
+
],
|
|
404
|
+
"name": "VaultStatusUpdated",
|
|
405
|
+
"type": "event"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"anonymous": false,
|
|
409
|
+
"inputs": [
|
|
410
|
+
{
|
|
411
|
+
"indexed": false,
|
|
412
|
+
"internalType": "uint64",
|
|
413
|
+
"name": "newMinBtcBalance",
|
|
414
|
+
"type": "uint64"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"indexed": false,
|
|
418
|
+
"internalType": "uint64",
|
|
419
|
+
"name": "newMaxBtcBalance",
|
|
420
|
+
"type": "uint64"
|
|
421
|
+
}
|
|
422
|
+
],
|
|
423
|
+
"name": "WalletBtcBalanceRangeUpdated",
|
|
424
|
+
"type": "event"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"anonymous": false,
|
|
428
|
+
"inputs": [
|
|
429
|
+
{
|
|
430
|
+
"indexed": true,
|
|
431
|
+
"internalType": "bytes32",
|
|
432
|
+
"name": "ecdsaWalletID",
|
|
433
|
+
"type": "bytes32"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"indexed": true,
|
|
437
|
+
"internalType": "bytes20",
|
|
438
|
+
"name": "walletPubKeyHash",
|
|
439
|
+
"type": "bytes20"
|
|
440
|
+
}
|
|
441
|
+
],
|
|
442
|
+
"name": "WalletClosed",
|
|
443
|
+
"type": "event"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"anonymous": false,
|
|
447
|
+
"inputs": [
|
|
448
|
+
{
|
|
449
|
+
"indexed": false,
|
|
450
|
+
"internalType": "uint32",
|
|
451
|
+
"name": "newCreationPeriod",
|
|
452
|
+
"type": "uint32"
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"name": "WalletCreationPeriodUpdated",
|
|
456
|
+
"type": "event"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"anonymous": false,
|
|
460
|
+
"inputs": [
|
|
461
|
+
{
|
|
462
|
+
"indexed": false,
|
|
463
|
+
"internalType": "uint32",
|
|
464
|
+
"name": "newMaxAge",
|
|
465
|
+
"type": "uint32"
|
|
466
|
+
}
|
|
467
|
+
],
|
|
468
|
+
"name": "WalletMaxAgeUpdated",
|
|
469
|
+
"type": "event"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"anonymous": false,
|
|
473
|
+
"inputs": [
|
|
474
|
+
{
|
|
475
|
+
"indexed": true,
|
|
476
|
+
"internalType": "bytes32",
|
|
477
|
+
"name": "ecdsaWalletID",
|
|
478
|
+
"type": "bytes32"
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"indexed": true,
|
|
482
|
+
"internalType": "bytes20",
|
|
483
|
+
"name": "walletPubKeyHash",
|
|
484
|
+
"type": "bytes20"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"name": "WalletMovingFunds",
|
|
488
|
+
"type": "event"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"anonymous": false,
|
|
492
|
+
"inputs": [
|
|
493
|
+
{
|
|
494
|
+
"indexed": true,
|
|
495
|
+
"internalType": "bytes32",
|
|
496
|
+
"name": "ecdsaWalletID",
|
|
497
|
+
"type": "bytes32"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"indexed": true,
|
|
501
|
+
"internalType": "bytes20",
|
|
502
|
+
"name": "walletPubKeyHash",
|
|
503
|
+
"type": "bytes20"
|
|
504
|
+
}
|
|
505
|
+
],
|
|
506
|
+
"name": "WalletTerminated",
|
|
507
|
+
"type": "event"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"inputs": [
|
|
511
|
+
{
|
|
512
|
+
"internalType": "bytes32",
|
|
513
|
+
"name": "ecdsaWalletID",
|
|
514
|
+
"type": "bytes32"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"internalType": "bytes32",
|
|
518
|
+
"name": "publicKeyX",
|
|
519
|
+
"type": "bytes32"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"internalType": "bytes32",
|
|
523
|
+
"name": "publicKeyY",
|
|
524
|
+
"type": "bytes32"
|
|
525
|
+
}
|
|
526
|
+
],
|
|
527
|
+
"name": "__ecdsaWalletCreatedCallback",
|
|
528
|
+
"outputs": [],
|
|
529
|
+
"stateMutability": "nonpayable",
|
|
530
|
+
"type": "function"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"inputs": [
|
|
534
|
+
{
|
|
535
|
+
"internalType": "bytes32",
|
|
536
|
+
"name": "",
|
|
537
|
+
"type": "bytes32"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"internalType": "bytes32",
|
|
541
|
+
"name": "publicKeyX",
|
|
542
|
+
"type": "bytes32"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"internalType": "bytes32",
|
|
546
|
+
"name": "publicKeyY",
|
|
547
|
+
"type": "bytes32"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"name": "__ecdsaWalletHeartbeatFailedCallback",
|
|
551
|
+
"outputs": [],
|
|
552
|
+
"stateMutability": "nonpayable",
|
|
553
|
+
"type": "function"
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"inputs": [],
|
|
557
|
+
"name": "bank",
|
|
558
|
+
"outputs": [
|
|
559
|
+
{
|
|
560
|
+
"internalType": "contract Bank",
|
|
561
|
+
"name": "",
|
|
562
|
+
"type": "address"
|
|
563
|
+
}
|
|
564
|
+
],
|
|
565
|
+
"stateMutability": "view",
|
|
566
|
+
"type": "function"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"inputs": [
|
|
570
|
+
{
|
|
571
|
+
"internalType": "bytes",
|
|
572
|
+
"name": "walletPublicKey",
|
|
573
|
+
"type": "bytes"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"internalType": "bytes",
|
|
577
|
+
"name": "preimage",
|
|
578
|
+
"type": "bytes"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"internalType": "bool",
|
|
582
|
+
"name": "witness",
|
|
583
|
+
"type": "bool"
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
"name": "defeatFraudChallenge",
|
|
587
|
+
"outputs": [],
|
|
588
|
+
"stateMutability": "nonpayable",
|
|
589
|
+
"type": "function"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"inputs": [],
|
|
593
|
+
"name": "depositDustThreshold",
|
|
594
|
+
"outputs": [
|
|
595
|
+
{
|
|
596
|
+
"internalType": "uint64",
|
|
597
|
+
"name": "",
|
|
598
|
+
"type": "uint64"
|
|
599
|
+
}
|
|
600
|
+
],
|
|
601
|
+
"stateMutability": "view",
|
|
602
|
+
"type": "function"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"inputs": [],
|
|
606
|
+
"name": "depositTreasuryFeeDivisor",
|
|
607
|
+
"outputs": [
|
|
608
|
+
{
|
|
609
|
+
"internalType": "uint64",
|
|
610
|
+
"name": "",
|
|
611
|
+
"type": "uint64"
|
|
612
|
+
}
|
|
613
|
+
],
|
|
614
|
+
"stateMutability": "view",
|
|
615
|
+
"type": "function"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"inputs": [],
|
|
619
|
+
"name": "depositTxMaxFee",
|
|
620
|
+
"outputs": [
|
|
621
|
+
{
|
|
622
|
+
"internalType": "uint64",
|
|
623
|
+
"name": "",
|
|
624
|
+
"type": "uint64"
|
|
625
|
+
}
|
|
626
|
+
],
|
|
627
|
+
"stateMutability": "view",
|
|
628
|
+
"type": "function"
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"inputs": [
|
|
632
|
+
{
|
|
633
|
+
"internalType": "uint256",
|
|
634
|
+
"name": "",
|
|
635
|
+
"type": "uint256"
|
|
636
|
+
}
|
|
637
|
+
],
|
|
638
|
+
"name": "deposits",
|
|
639
|
+
"outputs": [
|
|
640
|
+
{
|
|
641
|
+
"internalType": "address",
|
|
642
|
+
"name": "depositor",
|
|
643
|
+
"type": "address"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"internalType": "uint64",
|
|
647
|
+
"name": "amount",
|
|
648
|
+
"type": "uint64"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"internalType": "uint32",
|
|
652
|
+
"name": "revealedAt",
|
|
653
|
+
"type": "uint32"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"internalType": "address",
|
|
657
|
+
"name": "vault",
|
|
658
|
+
"type": "address"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"internalType": "uint64",
|
|
662
|
+
"name": "treasuryFee",
|
|
663
|
+
"type": "uint64"
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"internalType": "uint32",
|
|
667
|
+
"name": "sweptAt",
|
|
668
|
+
"type": "uint32"
|
|
669
|
+
}
|
|
670
|
+
],
|
|
671
|
+
"stateMutability": "view",
|
|
672
|
+
"type": "function"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"inputs": [
|
|
676
|
+
{
|
|
677
|
+
"internalType": "uint256",
|
|
678
|
+
"name": "challengeKey",
|
|
679
|
+
"type": "uint256"
|
|
680
|
+
}
|
|
681
|
+
],
|
|
682
|
+
"name": "fraudChallenges",
|
|
683
|
+
"outputs": [
|
|
684
|
+
{
|
|
685
|
+
"components": [
|
|
686
|
+
{
|
|
687
|
+
"internalType": "address",
|
|
688
|
+
"name": "challenger",
|
|
689
|
+
"type": "address"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"internalType": "uint256",
|
|
693
|
+
"name": "depositAmount",
|
|
694
|
+
"type": "uint256"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"internalType": "uint32",
|
|
698
|
+
"name": "reportedAt",
|
|
699
|
+
"type": "uint32"
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"internalType": "bool",
|
|
703
|
+
"name": "resolved",
|
|
704
|
+
"type": "bool"
|
|
705
|
+
}
|
|
706
|
+
],
|
|
707
|
+
"internalType": "struct Frauds.FraudChallenge",
|
|
708
|
+
"name": "",
|
|
709
|
+
"type": "tuple"
|
|
710
|
+
}
|
|
711
|
+
],
|
|
712
|
+
"stateMutability": "view",
|
|
713
|
+
"type": "function"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"inputs": [],
|
|
717
|
+
"name": "getActiveWalletPubKeyHash",
|
|
718
|
+
"outputs": [
|
|
719
|
+
{
|
|
720
|
+
"internalType": "bytes20",
|
|
721
|
+
"name": "",
|
|
722
|
+
"type": "bytes20"
|
|
723
|
+
}
|
|
724
|
+
],
|
|
725
|
+
"stateMutability": "view",
|
|
726
|
+
"type": "function"
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"inputs": [],
|
|
730
|
+
"name": "getFraudParameters",
|
|
731
|
+
"outputs": [
|
|
732
|
+
{
|
|
733
|
+
"internalType": "uint256",
|
|
734
|
+
"name": "slashingAmount",
|
|
735
|
+
"type": "uint256"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"internalType": "uint256",
|
|
739
|
+
"name": "notifierRewardMultiplier",
|
|
740
|
+
"type": "uint256"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"internalType": "uint256",
|
|
744
|
+
"name": "challengeDefeatTimeout",
|
|
745
|
+
"type": "uint256"
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"internalType": "uint256",
|
|
749
|
+
"name": "challengeDepositAmount",
|
|
750
|
+
"type": "uint256"
|
|
751
|
+
}
|
|
752
|
+
],
|
|
753
|
+
"stateMutability": "view",
|
|
754
|
+
"type": "function"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"inputs": [
|
|
758
|
+
{
|
|
759
|
+
"internalType": "bytes20",
|
|
760
|
+
"name": "walletPubKeyHash",
|
|
761
|
+
"type": "bytes20"
|
|
762
|
+
}
|
|
763
|
+
],
|
|
764
|
+
"name": "getWallet",
|
|
765
|
+
"outputs": [
|
|
766
|
+
{
|
|
767
|
+
"components": [
|
|
768
|
+
{
|
|
769
|
+
"internalType": "bytes32",
|
|
770
|
+
"name": "ecdsaWalletID",
|
|
771
|
+
"type": "bytes32"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"internalType": "bytes32",
|
|
775
|
+
"name": "mainUtxoHash",
|
|
776
|
+
"type": "bytes32"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"internalType": "uint64",
|
|
780
|
+
"name": "pendingRedemptionsValue",
|
|
781
|
+
"type": "uint64"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"internalType": "uint32",
|
|
785
|
+
"name": "createdAt",
|
|
786
|
+
"type": "uint32"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"internalType": "uint32",
|
|
790
|
+
"name": "movingFundsRequestedAt",
|
|
791
|
+
"type": "uint32"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"internalType": "enum Wallets.WalletState",
|
|
795
|
+
"name": "state",
|
|
796
|
+
"type": "uint8"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"internalType": "bytes32",
|
|
800
|
+
"name": "movingFundsTargetWalletsCommitmentHash",
|
|
801
|
+
"type": "bytes32"
|
|
802
|
+
}
|
|
803
|
+
],
|
|
804
|
+
"internalType": "struct Wallets.Wallet",
|
|
805
|
+
"name": "",
|
|
806
|
+
"type": "tuple"
|
|
807
|
+
}
|
|
808
|
+
],
|
|
809
|
+
"stateMutability": "view",
|
|
810
|
+
"type": "function"
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"inputs": [],
|
|
814
|
+
"name": "getWalletsParameters",
|
|
815
|
+
"outputs": [
|
|
816
|
+
{
|
|
817
|
+
"internalType": "uint32",
|
|
818
|
+
"name": "creationPeriod",
|
|
819
|
+
"type": "uint32"
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"internalType": "uint64",
|
|
823
|
+
"name": "minBtcBalance",
|
|
824
|
+
"type": "uint64"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"internalType": "uint64",
|
|
828
|
+
"name": "maxBtcBalance",
|
|
829
|
+
"type": "uint64"
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"internalType": "uint32",
|
|
833
|
+
"name": "maxAge",
|
|
834
|
+
"type": "uint32"
|
|
835
|
+
}
|
|
836
|
+
],
|
|
837
|
+
"stateMutability": "view",
|
|
838
|
+
"type": "function"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"inputs": [
|
|
842
|
+
{
|
|
843
|
+
"internalType": "address",
|
|
844
|
+
"name": "",
|
|
845
|
+
"type": "address"
|
|
846
|
+
}
|
|
847
|
+
],
|
|
848
|
+
"name": "isVaultTrusted",
|
|
849
|
+
"outputs": [
|
|
850
|
+
{
|
|
851
|
+
"internalType": "bool",
|
|
852
|
+
"name": "",
|
|
853
|
+
"type": "bool"
|
|
854
|
+
}
|
|
855
|
+
],
|
|
856
|
+
"stateMutability": "view",
|
|
857
|
+
"type": "function"
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"inputs": [],
|
|
861
|
+
"name": "movingFundsTxMaxTotalFee",
|
|
862
|
+
"outputs": [
|
|
863
|
+
{
|
|
864
|
+
"internalType": "uint64",
|
|
865
|
+
"name": "",
|
|
866
|
+
"type": "uint64"
|
|
867
|
+
}
|
|
868
|
+
],
|
|
869
|
+
"stateMutability": "view",
|
|
870
|
+
"type": "function"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"inputs": [
|
|
874
|
+
{
|
|
875
|
+
"internalType": "bytes20",
|
|
876
|
+
"name": "walletPubKeyHash",
|
|
877
|
+
"type": "bytes20"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"components": [
|
|
881
|
+
{
|
|
882
|
+
"internalType": "bytes32",
|
|
883
|
+
"name": "txHash",
|
|
884
|
+
"type": "bytes32"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"internalType": "uint32",
|
|
888
|
+
"name": "txOutputIndex",
|
|
889
|
+
"type": "uint32"
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"internalType": "uint64",
|
|
893
|
+
"name": "txOutputValue",
|
|
894
|
+
"type": "uint64"
|
|
895
|
+
}
|
|
896
|
+
],
|
|
897
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
898
|
+
"name": "walletMainUtxo",
|
|
899
|
+
"type": "tuple"
|
|
900
|
+
}
|
|
901
|
+
],
|
|
902
|
+
"name": "notifyCloseableWallet",
|
|
903
|
+
"outputs": [],
|
|
904
|
+
"stateMutability": "nonpayable",
|
|
905
|
+
"type": "function"
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"inputs": [
|
|
909
|
+
{
|
|
910
|
+
"internalType": "bytes",
|
|
911
|
+
"name": "walletPublicKey",
|
|
912
|
+
"type": "bytes"
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"internalType": "bytes32",
|
|
916
|
+
"name": "sighash",
|
|
917
|
+
"type": "bytes32"
|
|
918
|
+
}
|
|
919
|
+
],
|
|
920
|
+
"name": "notifyFraudChallengeDefeatTimeout",
|
|
921
|
+
"outputs": [],
|
|
922
|
+
"stateMutability": "nonpayable",
|
|
923
|
+
"type": "function"
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"inputs": [
|
|
927
|
+
{
|
|
928
|
+
"internalType": "bytes20",
|
|
929
|
+
"name": "walletPubKeyHash",
|
|
930
|
+
"type": "bytes20"
|
|
156
931
|
},
|
|
932
|
+
{
|
|
933
|
+
"internalType": "bytes",
|
|
934
|
+
"name": "redeemerOutputScript",
|
|
935
|
+
"type": "bytes"
|
|
936
|
+
}
|
|
937
|
+
],
|
|
938
|
+
"name": "notifyRedemptionTimeout",
|
|
939
|
+
"outputs": [],
|
|
940
|
+
"stateMutability": "nonpayable",
|
|
941
|
+
"type": "function"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"inputs": [],
|
|
945
|
+
"name": "owner",
|
|
946
|
+
"outputs": [
|
|
947
|
+
{
|
|
948
|
+
"internalType": "address",
|
|
949
|
+
"name": "",
|
|
950
|
+
"type": "address"
|
|
951
|
+
}
|
|
952
|
+
],
|
|
953
|
+
"stateMutability": "view",
|
|
954
|
+
"type": "function"
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"inputs": [
|
|
958
|
+
{
|
|
959
|
+
"internalType": "uint256",
|
|
960
|
+
"name": "",
|
|
961
|
+
"type": "uint256"
|
|
962
|
+
}
|
|
963
|
+
],
|
|
964
|
+
"name": "pendingRedemptions",
|
|
965
|
+
"outputs": [
|
|
966
|
+
{
|
|
967
|
+
"internalType": "address",
|
|
968
|
+
"name": "redeemer",
|
|
969
|
+
"type": "address"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"internalType": "uint64",
|
|
973
|
+
"name": "requestedAmount",
|
|
974
|
+
"type": "uint64"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"internalType": "uint64",
|
|
978
|
+
"name": "treasuryFee",
|
|
979
|
+
"type": "uint64"
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"internalType": "uint64",
|
|
983
|
+
"name": "txMaxFee",
|
|
984
|
+
"type": "uint64"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"internalType": "uint32",
|
|
988
|
+
"name": "requestedAt",
|
|
989
|
+
"type": "uint32"
|
|
990
|
+
}
|
|
991
|
+
],
|
|
992
|
+
"stateMutability": "view",
|
|
993
|
+
"type": "function"
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
"inputs": [],
|
|
997
|
+
"name": "redemptionDustThreshold",
|
|
998
|
+
"outputs": [
|
|
999
|
+
{
|
|
1000
|
+
"internalType": "uint64",
|
|
1001
|
+
"name": "",
|
|
1002
|
+
"type": "uint64"
|
|
1003
|
+
}
|
|
1004
|
+
],
|
|
1005
|
+
"stateMutability": "view",
|
|
1006
|
+
"type": "function"
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"inputs": [],
|
|
1010
|
+
"name": "redemptionTimeout",
|
|
1011
|
+
"outputs": [
|
|
1012
|
+
{
|
|
1013
|
+
"internalType": "uint256",
|
|
1014
|
+
"name": "",
|
|
1015
|
+
"type": "uint256"
|
|
1016
|
+
}
|
|
1017
|
+
],
|
|
1018
|
+
"stateMutability": "view",
|
|
1019
|
+
"type": "function"
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
"inputs": [],
|
|
1023
|
+
"name": "redemptionTreasuryFeeDivisor",
|
|
1024
|
+
"outputs": [
|
|
1025
|
+
{
|
|
1026
|
+
"internalType": "uint64",
|
|
1027
|
+
"name": "",
|
|
1028
|
+
"type": "uint64"
|
|
1029
|
+
}
|
|
1030
|
+
],
|
|
1031
|
+
"stateMutability": "view",
|
|
1032
|
+
"type": "function"
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"inputs": [],
|
|
1036
|
+
"name": "redemptionTxMaxFee",
|
|
1037
|
+
"outputs": [
|
|
1038
|
+
{
|
|
1039
|
+
"internalType": "uint64",
|
|
1040
|
+
"name": "",
|
|
1041
|
+
"type": "uint64"
|
|
1042
|
+
}
|
|
1043
|
+
],
|
|
1044
|
+
"stateMutability": "view",
|
|
1045
|
+
"type": "function"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"inputs": [],
|
|
1049
|
+
"name": "relay",
|
|
1050
|
+
"outputs": [
|
|
1051
|
+
{
|
|
1052
|
+
"internalType": "contract IRelay",
|
|
1053
|
+
"name": "",
|
|
1054
|
+
"type": "address"
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
"stateMutability": "view",
|
|
1058
|
+
"type": "function"
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"inputs": [],
|
|
1062
|
+
"name": "renounceOwnership",
|
|
1063
|
+
"outputs": [],
|
|
1064
|
+
"stateMutability": "nonpayable",
|
|
1065
|
+
"type": "function"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"inputs": [
|
|
1069
|
+
{
|
|
1070
|
+
"components": [
|
|
1071
|
+
{
|
|
1072
|
+
"internalType": "bytes32",
|
|
1073
|
+
"name": "txHash",
|
|
1074
|
+
"type": "bytes32"
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"internalType": "uint32",
|
|
1078
|
+
"name": "txOutputIndex",
|
|
1079
|
+
"type": "uint32"
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"internalType": "uint64",
|
|
1083
|
+
"name": "txOutputValue",
|
|
1084
|
+
"type": "uint64"
|
|
1085
|
+
}
|
|
1086
|
+
],
|
|
1087
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
1088
|
+
"name": "activeWalletMainUtxo",
|
|
1089
|
+
"type": "tuple"
|
|
1090
|
+
}
|
|
1091
|
+
],
|
|
1092
|
+
"name": "requestNewWallet",
|
|
1093
|
+
"outputs": [],
|
|
1094
|
+
"stateMutability": "nonpayable",
|
|
1095
|
+
"type": "function"
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"inputs": [
|
|
1099
|
+
{
|
|
1100
|
+
"internalType": "bytes20",
|
|
1101
|
+
"name": "walletPubKeyHash",
|
|
1102
|
+
"type": "bytes20"
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"components": [
|
|
1106
|
+
{
|
|
1107
|
+
"internalType": "bytes32",
|
|
1108
|
+
"name": "txHash",
|
|
1109
|
+
"type": "bytes32"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"internalType": "uint32",
|
|
1113
|
+
"name": "txOutputIndex",
|
|
1114
|
+
"type": "uint32"
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"internalType": "uint64",
|
|
1118
|
+
"name": "txOutputValue",
|
|
1119
|
+
"type": "uint64"
|
|
1120
|
+
}
|
|
1121
|
+
],
|
|
1122
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
1123
|
+
"name": "mainUtxo",
|
|
1124
|
+
"type": "tuple"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"internalType": "bytes",
|
|
1128
|
+
"name": "redeemerOutputScript",
|
|
1129
|
+
"type": "bytes"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"internalType": "uint64",
|
|
1133
|
+
"name": "amount",
|
|
1134
|
+
"type": "uint64"
|
|
1135
|
+
}
|
|
1136
|
+
],
|
|
1137
|
+
"name": "requestRedemption",
|
|
1138
|
+
"outputs": [],
|
|
1139
|
+
"stateMutability": "nonpayable",
|
|
1140
|
+
"type": "function"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"inputs": [
|
|
1144
|
+
{
|
|
1145
|
+
"components": [
|
|
1146
|
+
{
|
|
1147
|
+
"internalType": "bytes4",
|
|
1148
|
+
"name": "version",
|
|
1149
|
+
"type": "bytes4"
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
"internalType": "bytes",
|
|
1153
|
+
"name": "inputVector",
|
|
1154
|
+
"type": "bytes"
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
"internalType": "bytes",
|
|
1158
|
+
"name": "outputVector",
|
|
1159
|
+
"type": "bytes"
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"internalType": "bytes4",
|
|
1163
|
+
"name": "locktime",
|
|
1164
|
+
"type": "bytes4"
|
|
1165
|
+
}
|
|
1166
|
+
],
|
|
1167
|
+
"internalType": "struct BitcoinTx.Info",
|
|
1168
|
+
"name": "fundingTx",
|
|
1169
|
+
"type": "tuple"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"components": [
|
|
1173
|
+
{
|
|
1174
|
+
"internalType": "uint32",
|
|
1175
|
+
"name": "fundingOutputIndex",
|
|
1176
|
+
"type": "uint32"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"internalType": "address",
|
|
1180
|
+
"name": "depositor",
|
|
1181
|
+
"type": "address"
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"internalType": "bytes8",
|
|
1185
|
+
"name": "blindingFactor",
|
|
1186
|
+
"type": "bytes8"
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
"internalType": "bytes20",
|
|
1190
|
+
"name": "walletPubKeyHash",
|
|
1191
|
+
"type": "bytes20"
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
"internalType": "bytes20",
|
|
1195
|
+
"name": "refundPubKeyHash",
|
|
1196
|
+
"type": "bytes20"
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"internalType": "bytes4",
|
|
1200
|
+
"name": "refundLocktime",
|
|
1201
|
+
"type": "bytes4"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"internalType": "address",
|
|
1205
|
+
"name": "vault",
|
|
1206
|
+
"type": "address"
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
"internalType": "struct Bridge.RevealInfo",
|
|
1210
|
+
"name": "reveal",
|
|
1211
|
+
"type": "tuple"
|
|
1212
|
+
}
|
|
1213
|
+
],
|
|
1214
|
+
"name": "revealDeposit",
|
|
1215
|
+
"outputs": [],
|
|
1216
|
+
"stateMutability": "nonpayable",
|
|
1217
|
+
"type": "function"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"inputs": [
|
|
157
1221
|
{
|
|
158
1222
|
"internalType": "address",
|
|
159
1223
|
"name": "vault",
|
|
160
1224
|
"type": "address"
|
|
161
1225
|
},
|
|
1226
|
+
{
|
|
1227
|
+
"internalType": "bool",
|
|
1228
|
+
"name": "isTrusted",
|
|
1229
|
+
"type": "bool"
|
|
1230
|
+
}
|
|
1231
|
+
],
|
|
1232
|
+
"name": "setVaultStatus",
|
|
1233
|
+
"outputs": [],
|
|
1234
|
+
"stateMutability": "nonpayable",
|
|
1235
|
+
"type": "function"
|
|
1236
|
+
},
|
|
1237
|
+
{
|
|
1238
|
+
"inputs": [
|
|
1239
|
+
{
|
|
1240
|
+
"internalType": "uint256",
|
|
1241
|
+
"name": "",
|
|
1242
|
+
"type": "uint256"
|
|
1243
|
+
}
|
|
1244
|
+
],
|
|
1245
|
+
"name": "spentMainUTXOs",
|
|
1246
|
+
"outputs": [
|
|
1247
|
+
{
|
|
1248
|
+
"internalType": "bool",
|
|
1249
|
+
"name": "",
|
|
1250
|
+
"type": "bool"
|
|
1251
|
+
}
|
|
1252
|
+
],
|
|
1253
|
+
"stateMutability": "view",
|
|
1254
|
+
"type": "function"
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
"inputs": [
|
|
1258
|
+
{
|
|
1259
|
+
"internalType": "bytes",
|
|
1260
|
+
"name": "walletPublicKey",
|
|
1261
|
+
"type": "bytes"
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
"internalType": "bytes32",
|
|
1265
|
+
"name": "sighash",
|
|
1266
|
+
"type": "bytes32"
|
|
1267
|
+
},
|
|
1268
|
+
{
|
|
1269
|
+
"components": [
|
|
1270
|
+
{
|
|
1271
|
+
"internalType": "bytes32",
|
|
1272
|
+
"name": "r",
|
|
1273
|
+
"type": "bytes32"
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
"internalType": "bytes32",
|
|
1277
|
+
"name": "s",
|
|
1278
|
+
"type": "bytes32"
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
"internalType": "uint8",
|
|
1282
|
+
"name": "v",
|
|
1283
|
+
"type": "uint8"
|
|
1284
|
+
}
|
|
1285
|
+
],
|
|
1286
|
+
"internalType": "struct BitcoinTx.RSVSignature",
|
|
1287
|
+
"name": "signature",
|
|
1288
|
+
"type": "tuple"
|
|
1289
|
+
}
|
|
1290
|
+
],
|
|
1291
|
+
"name": "submitFraudChallenge",
|
|
1292
|
+
"outputs": [],
|
|
1293
|
+
"stateMutability": "payable",
|
|
1294
|
+
"type": "function"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"inputs": [
|
|
1298
|
+
{
|
|
1299
|
+
"components": [
|
|
1300
|
+
{
|
|
1301
|
+
"internalType": "bytes4",
|
|
1302
|
+
"name": "version",
|
|
1303
|
+
"type": "bytes4"
|
|
1304
|
+
},
|
|
1305
|
+
{
|
|
1306
|
+
"internalType": "bytes",
|
|
1307
|
+
"name": "inputVector",
|
|
1308
|
+
"type": "bytes"
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"internalType": "bytes",
|
|
1312
|
+
"name": "outputVector",
|
|
1313
|
+
"type": "bytes"
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"internalType": "bytes4",
|
|
1317
|
+
"name": "locktime",
|
|
1318
|
+
"type": "bytes4"
|
|
1319
|
+
}
|
|
1320
|
+
],
|
|
1321
|
+
"internalType": "struct BitcoinTx.Info",
|
|
1322
|
+
"name": "movingFundsTx",
|
|
1323
|
+
"type": "tuple"
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"components": [
|
|
1327
|
+
{
|
|
1328
|
+
"internalType": "bytes",
|
|
1329
|
+
"name": "merkleProof",
|
|
1330
|
+
"type": "bytes"
|
|
1331
|
+
},
|
|
1332
|
+
{
|
|
1333
|
+
"internalType": "uint256",
|
|
1334
|
+
"name": "txIndexInBlock",
|
|
1335
|
+
"type": "uint256"
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"internalType": "bytes",
|
|
1339
|
+
"name": "bitcoinHeaders",
|
|
1340
|
+
"type": "bytes"
|
|
1341
|
+
}
|
|
1342
|
+
],
|
|
1343
|
+
"internalType": "struct BitcoinTx.Proof",
|
|
1344
|
+
"name": "movingFundsProof",
|
|
1345
|
+
"type": "tuple"
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
"components": [
|
|
1349
|
+
{
|
|
1350
|
+
"internalType": "bytes32",
|
|
1351
|
+
"name": "txHash",
|
|
1352
|
+
"type": "bytes32"
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"internalType": "uint32",
|
|
1356
|
+
"name": "txOutputIndex",
|
|
1357
|
+
"type": "uint32"
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
"internalType": "uint64",
|
|
1361
|
+
"name": "txOutputValue",
|
|
1362
|
+
"type": "uint64"
|
|
1363
|
+
}
|
|
1364
|
+
],
|
|
1365
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
1366
|
+
"name": "mainUtxo",
|
|
1367
|
+
"type": "tuple"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"internalType": "bytes20",
|
|
1371
|
+
"name": "walletPubKeyHash",
|
|
1372
|
+
"type": "bytes20"
|
|
1373
|
+
}
|
|
1374
|
+
],
|
|
1375
|
+
"name": "submitMovingFundsProof",
|
|
1376
|
+
"outputs": [],
|
|
1377
|
+
"stateMutability": "nonpayable",
|
|
1378
|
+
"type": "function"
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"inputs": [
|
|
1382
|
+
{
|
|
1383
|
+
"components": [
|
|
1384
|
+
{
|
|
1385
|
+
"internalType": "bytes4",
|
|
1386
|
+
"name": "version",
|
|
1387
|
+
"type": "bytes4"
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"internalType": "bytes",
|
|
1391
|
+
"name": "inputVector",
|
|
1392
|
+
"type": "bytes"
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"internalType": "bytes",
|
|
1396
|
+
"name": "outputVector",
|
|
1397
|
+
"type": "bytes"
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"internalType": "bytes4",
|
|
1401
|
+
"name": "locktime",
|
|
1402
|
+
"type": "bytes4"
|
|
1403
|
+
}
|
|
1404
|
+
],
|
|
1405
|
+
"internalType": "struct BitcoinTx.Info",
|
|
1406
|
+
"name": "redemptionTx",
|
|
1407
|
+
"type": "tuple"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"components": [
|
|
1411
|
+
{
|
|
1412
|
+
"internalType": "bytes",
|
|
1413
|
+
"name": "merkleProof",
|
|
1414
|
+
"type": "bytes"
|
|
1415
|
+
},
|
|
1416
|
+
{
|
|
1417
|
+
"internalType": "uint256",
|
|
1418
|
+
"name": "txIndexInBlock",
|
|
1419
|
+
"type": "uint256"
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"internalType": "bytes",
|
|
1423
|
+
"name": "bitcoinHeaders",
|
|
1424
|
+
"type": "bytes"
|
|
1425
|
+
}
|
|
1426
|
+
],
|
|
1427
|
+
"internalType": "struct BitcoinTx.Proof",
|
|
1428
|
+
"name": "redemptionProof",
|
|
1429
|
+
"type": "tuple"
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"components": [
|
|
1433
|
+
{
|
|
1434
|
+
"internalType": "bytes32",
|
|
1435
|
+
"name": "txHash",
|
|
1436
|
+
"type": "bytes32"
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"internalType": "uint32",
|
|
1440
|
+
"name": "txOutputIndex",
|
|
1441
|
+
"type": "uint32"
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
"internalType": "uint64",
|
|
1445
|
+
"name": "txOutputValue",
|
|
1446
|
+
"type": "uint64"
|
|
1447
|
+
}
|
|
1448
|
+
],
|
|
1449
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
1450
|
+
"name": "mainUtxo",
|
|
1451
|
+
"type": "tuple"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"internalType": "bytes20",
|
|
1455
|
+
"name": "walletPubKeyHash",
|
|
1456
|
+
"type": "bytes20"
|
|
1457
|
+
}
|
|
1458
|
+
],
|
|
1459
|
+
"name": "submitRedemptionProof",
|
|
1460
|
+
"outputs": [],
|
|
1461
|
+
"stateMutability": "nonpayable",
|
|
1462
|
+
"type": "function"
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
"inputs": [
|
|
1466
|
+
{
|
|
1467
|
+
"components": [
|
|
1468
|
+
{
|
|
1469
|
+
"internalType": "bytes4",
|
|
1470
|
+
"name": "version",
|
|
1471
|
+
"type": "bytes4"
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
"internalType": "bytes",
|
|
1475
|
+
"name": "inputVector",
|
|
1476
|
+
"type": "bytes"
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"internalType": "bytes",
|
|
1480
|
+
"name": "outputVector",
|
|
1481
|
+
"type": "bytes"
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
"internalType": "bytes4",
|
|
1485
|
+
"name": "locktime",
|
|
1486
|
+
"type": "bytes4"
|
|
1487
|
+
}
|
|
1488
|
+
],
|
|
1489
|
+
"internalType": "struct BitcoinTx.Info",
|
|
1490
|
+
"name": "sweepTx",
|
|
1491
|
+
"type": "tuple"
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"components": [
|
|
1495
|
+
{
|
|
1496
|
+
"internalType": "bytes",
|
|
1497
|
+
"name": "merkleProof",
|
|
1498
|
+
"type": "bytes"
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"internalType": "uint256",
|
|
1502
|
+
"name": "txIndexInBlock",
|
|
1503
|
+
"type": "uint256"
|
|
1504
|
+
},
|
|
1505
|
+
{
|
|
1506
|
+
"internalType": "bytes",
|
|
1507
|
+
"name": "bitcoinHeaders",
|
|
1508
|
+
"type": "bytes"
|
|
1509
|
+
}
|
|
1510
|
+
],
|
|
1511
|
+
"internalType": "struct BitcoinTx.Proof",
|
|
1512
|
+
"name": "sweepProof",
|
|
1513
|
+
"type": "tuple"
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
"components": [
|
|
1517
|
+
{
|
|
1518
|
+
"internalType": "bytes32",
|
|
1519
|
+
"name": "txHash",
|
|
1520
|
+
"type": "bytes32"
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"internalType": "uint32",
|
|
1524
|
+
"name": "txOutputIndex",
|
|
1525
|
+
"type": "uint32"
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"internalType": "uint64",
|
|
1529
|
+
"name": "txOutputValue",
|
|
1530
|
+
"type": "uint64"
|
|
1531
|
+
}
|
|
1532
|
+
],
|
|
1533
|
+
"internalType": "struct BitcoinTx.UTXO",
|
|
1534
|
+
"name": "mainUtxo",
|
|
1535
|
+
"type": "tuple"
|
|
1536
|
+
}
|
|
1537
|
+
],
|
|
1538
|
+
"name": "submitSweepProof",
|
|
1539
|
+
"outputs": [],
|
|
1540
|
+
"stateMutability": "nonpayable",
|
|
1541
|
+
"type": "function"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"inputs": [
|
|
1545
|
+
{
|
|
1546
|
+
"internalType": "uint256",
|
|
1547
|
+
"name": "",
|
|
1548
|
+
"type": "uint256"
|
|
1549
|
+
}
|
|
1550
|
+
],
|
|
1551
|
+
"name": "timedOutRedemptions",
|
|
1552
|
+
"outputs": [
|
|
1553
|
+
{
|
|
1554
|
+
"internalType": "address",
|
|
1555
|
+
"name": "redeemer",
|
|
1556
|
+
"type": "address"
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
"internalType": "uint64",
|
|
1560
|
+
"name": "requestedAmount",
|
|
1561
|
+
"type": "uint64"
|
|
1562
|
+
},
|
|
1563
|
+
{
|
|
1564
|
+
"internalType": "uint64",
|
|
1565
|
+
"name": "treasuryFee",
|
|
1566
|
+
"type": "uint64"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"internalType": "uint64",
|
|
1570
|
+
"name": "txMaxFee",
|
|
1571
|
+
"type": "uint64"
|
|
1572
|
+
},
|
|
162
1573
|
{
|
|
163
1574
|
"internalType": "uint32",
|
|
164
|
-
"name": "
|
|
1575
|
+
"name": "requestedAt",
|
|
165
1576
|
"type": "uint32"
|
|
166
1577
|
}
|
|
167
1578
|
],
|
|
168
1579
|
"stateMutability": "view",
|
|
169
1580
|
"type": "function"
|
|
1581
|
+
},
|
|
1582
|
+
{
|
|
1583
|
+
"inputs": [
|
|
1584
|
+
{
|
|
1585
|
+
"internalType": "address",
|
|
1586
|
+
"name": "newOwner",
|
|
1587
|
+
"type": "address"
|
|
1588
|
+
}
|
|
1589
|
+
],
|
|
1590
|
+
"name": "transferOwnership",
|
|
1591
|
+
"outputs": [],
|
|
1592
|
+
"stateMutability": "nonpayable",
|
|
1593
|
+
"type": "function"
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"inputs": [],
|
|
1597
|
+
"name": "treasury",
|
|
1598
|
+
"outputs": [
|
|
1599
|
+
{
|
|
1600
|
+
"internalType": "address",
|
|
1601
|
+
"name": "",
|
|
1602
|
+
"type": "address"
|
|
1603
|
+
}
|
|
1604
|
+
],
|
|
1605
|
+
"stateMutability": "view",
|
|
1606
|
+
"type": "function"
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"inputs": [],
|
|
1610
|
+
"name": "txProofDifficultyFactor",
|
|
1611
|
+
"outputs": [
|
|
1612
|
+
{
|
|
1613
|
+
"internalType": "uint256",
|
|
1614
|
+
"name": "",
|
|
1615
|
+
"type": "uint256"
|
|
1616
|
+
}
|
|
1617
|
+
],
|
|
1618
|
+
"stateMutability": "view",
|
|
1619
|
+
"type": "function"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"inputs": [
|
|
1623
|
+
{
|
|
1624
|
+
"internalType": "uint32",
|
|
1625
|
+
"name": "creationPeriod",
|
|
1626
|
+
"type": "uint32"
|
|
1627
|
+
},
|
|
1628
|
+
{
|
|
1629
|
+
"internalType": "uint64",
|
|
1630
|
+
"name": "minBtcBalance",
|
|
1631
|
+
"type": "uint64"
|
|
1632
|
+
},
|
|
1633
|
+
{
|
|
1634
|
+
"internalType": "uint64",
|
|
1635
|
+
"name": "maxBtcBalance",
|
|
1636
|
+
"type": "uint64"
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
"internalType": "uint32",
|
|
1640
|
+
"name": "maxAge",
|
|
1641
|
+
"type": "uint32"
|
|
1642
|
+
}
|
|
1643
|
+
],
|
|
1644
|
+
"name": "updateWalletsParameters",
|
|
1645
|
+
"outputs": [],
|
|
1646
|
+
"stateMutability": "nonpayable",
|
|
1647
|
+
"type": "function"
|
|
170
1648
|
}
|
|
171
1649
|
],
|
|
172
|
-
"bytecode": "0x608060405234801561001057600080fd5b506109f0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea2646970667358221220bca337d7cb05b6b689ca49ecdd85c75dc9cdde9d5b5a54318aba5449dda2e35064736f6c63430008040033",
|
|
173
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea2646970667358221220bca337d7cb05b6b689ca49ecdd85c75dc9cdde9d5b5a54318aba5449dda2e35064736f6c63430008040033",
|
|
174
|
-
"linkReferences": {
|
|
175
|
-
|
|
1650
|
+
"bytecode": "0x6101006040523480156200001257600080fd5b506040516200724f3803806200724f8339810160408190526200003591620005d2565b620000403362000565565b6001600160a01b0385166200009c5760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f000000000060448201526064015b60405180910390fd5b6001600160a01b0380861660a0528416620000fa5760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000093565b6001600160a01b0380851660c0528316620001585760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f00604482015260640162000093565b6001600160a01b03831660e052608081905260008054600160a01b600160e01b031916613d0960a61b1790557907d000000000000f4240000000000000271000000000000007d0600155600280546127106001600160401b031991821681179092556202a300600355600480549091169091178155604051630848fc7160e21b8152600a9181019190915269021e19e0c9bab2400000602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90632123f1c49060440160006040518083038186803b1580156200022b57600080fd5b505af415801562000240573d6000803e3d6000fd5b5050604051635452278760e01b8152600a60048201526064602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92506354522787915060440160006040518083038186803b1580156200029757600080fd5b505af4158015620002ac573d6000803e3d6000fd5b5050604051634039940360e01b8152600a600482015262093a80602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92506340399403915060440160006040518083038186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505060405163e6d20d4560e01b8152600a6004820152671bc16d674ec80000602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__925063e6d20d45915060440160006040518083038186803b1580156200037857600080fd5b505af41580156200038d573d6000803e3d6000fd5b505060405163f832341d60e01b8152600f60048201526001600160a01b038516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063f832341d915060440160006040518083038186803b158015620003ec57600080fd5b505af415801562000401573d6000803e3d6000fd5b505060405163041aee9960e01b8152600f600482015262093a80602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063041aee99915060440160006040518083038186803b1580156200045a57600080fd5b505af41580156200046f573d6000803e3d6000fd5b5050604051632662d59360e21b8152600f60048201526305f5e1006024820152633b9aca00604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b158015620004d357600080fd5b505af4158015620004e8573d6000803e3d6000fd5b505060405163117665a760e21b8152600f600482015262eff100602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c915060440160006040518083038186803b1580156200054157600080fd5b505af415801562000556573d6000803e3d6000fd5b50505050505050505062000639565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620005cd57600080fd5b919050565b600080600080600060a08688031215620005eb57600080fd5b620005f686620005b5565b94506200060660208701620005b5565b93506200061660408701620005b5565b92506200062660608701620005b5565b9150608086015190509295509295909350565b60805160a05160c05160e051616b88620006c760003960008181610687015281816114c50152818161274b0152612d130152600081816109d80152818161383d01526138d701526000818161071b01528181611432015281816114f4015281816122a301528181612c9301528181612d4b015261346a015260008181610452015261396d0152616b886000f3fe6080604052600436106102bb5760003560e01c8063793bb4731161016e578063b59589d1116100cb578063e53c0b551161007f578063e95eb7a811610064578063e95eb7a814610ad8578063f2fde38b14610aff578063fd56208014610b1f57600080fd5b8063e53c0b5514610a88578063e8f3db4314610ab857600080fd5b8063cb7f3a09116100b0578063cb7f3a0914610a21578063d6eccdf014610a48578063d95027b714610a6857600080fd5b8063b59589d1146109c6578063bdf9fca9146109fa57600080fd5b8063a588f05911610122578063b02c43d011610107578063b02c43d0146108a4578063b2146cd614610966578063b34b3216146109a657600080fd5b8063a588f05914610864578063a8fa0f421461088457600080fd5b80638dd0f79a116101535780638dd0f79a146107b75780638fa4ad2814610817578063a145e2d51461084457600080fd5b8063793bb4731461075d5780638da5cb5b1461079957600080fd5b806359a9d90a1161021c57806367f27247116101d0578063715018a6116101b5578063715018a6146106f457806376cdb03b1461070957806377145f211461073d57600080fd5b806367f27247146106c15780636d02b43c146106e157600080fd5b80635c0b4812116102015780635c0b48121461063557806360d712fc1461065557806361d027b31461067557600080fd5b806359a9d90a146105ee5780635afb143c1461060e57600080fd5b80632f429b64116102735780633dce9812116102585780633dce981214610575578063575e427914610595578063595ff9ff146105b557600080fd5b80632f429b641461047457806333e957cb1461049657600080fd5b80630b6ba19d116102a45780630b6ba19d146103b05780631fff4e701461041c5780632bb818c21461044057600080fd5b806303d952f7146102c0578063079bf52c14610378575b600080fd5b3480156102cc57600080fd5b5061032c6102db366004615adb565b600860205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b34801561038457600080fd5b50600154610398906001600160401b031681565b6040516001600160401b03909116815260200161036f565b3480156103bc57600080fd5b5061032c6103cb366004615adb565b600960205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b34801561042857600080fd5b5061043260035481565b60405190815260200161036f565b34801561044c57600080fd5b506104327f000000000000000000000000000000000000000000000000000000000000000081565b34801561048057600080fd5b5061049461048f366004615b3b565b610b3f565b005b3480156104a257600080fd5b506105316104b1366004615adb565b604080516080810182526000808252602082018190529181018290526060810191909152506000908152600e6020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b60405161036f919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b34801561058157600080fd5b50610494610590366004615bc0565b610dd8565b3480156105a157600080fd5b506104946105b0366004615bec565b610e68565b3480156105c157600080fd5b50600a54600b54600c54600d5460408051948552602085019390935291830152606082015260800161036f565b3480156105fa57600080fd5b50610494610609366004615c20565b610ef1565b34801561061a57600080fd5b5060005461039890600160a01b90046001600160401b031681565b34801561064157600080fd5b50610494610650366004615c8b565b611562565b34801561066157600080fd5b50610494610670366004615d0c565b611cf3565b34801561068157600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161036f565b3480156106cd57600080fd5b506104946106dc366004615d77565b611dac565b6104946106ef366004615dc9565b61232d565b34801561070057600080fd5b50610494612535565b34801561071557600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b34801561074957600080fd5b50610494610758366004615e1b565b61259b565b34801561076957600080fd5b506010546c01000000000000000000000000900460601b6040516001600160601b0319909116815260200161036f565b3480156107a557600080fd5b506000546001600160a01b03166106a9565b3480156107c357600080fd5b50600f546010546040805163ffffffff600160a01b8504811682526001600160401b03600160c01b9095048516602083015293831691810191909152600160401b909104909116606082015260800161036f565b34801561082357600080fd5b50610837610832366004615e9b565b61279f565b60405161036f9190615ecc565b34801561085057600080fd5b5061049461085f366004615f4f565b612895565b34801561087057600080fd5b50600254610398906001600160401b031681565b34801561089057600080fd5b5061049461089f366004615bc0565b61291b565b3480156108b057600080fd5b506109166108bf366004615adb565b600660205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c00161036f565b34801561097257600080fd5b50610996610981366004615adb565b60076020526000908152604090205460ff1681565b604051901515815260200161036f565b3480156109b257600080fd5b506104946109c1366004615b3b565b612981565b3480156109d257600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0657600080fd5b5060015461039890600160801b90046001600160401b031681565b348015610a2d57600080fd5b5060015461039890600160401b90046001600160401b031681565b348015610a5457600080fd5b50610494610a63366004615f82565b612db3565b348015610a7457600080fd5b50610494610a83366004615fec565b6134db565b348015610a9457600080fd5b50610996610aa3366004616037565b60056020526000908152604090205460ff1681565b348015610ac457600080fd5b50600454610398906001600160401b031681565b348015610ae457600080fd5b5060015461039890600160c01b90046001600160401b031681565b348015610b0b57600080fd5b50610494610b1a366004616037565b613532565b348015610b2b57600080fd5b50610494610b3a366004616066565b613614565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae1348686610b65613817565b6040518463ffffffff1660e01b8152600401610b8393929190616135565b60206040518083038186803b158015610b9b57600080fd5b505af4158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190616230565b9050610c23610be56020870187616249565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508691506139949050565b600080610c70610c366040890189616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613be992505050565b60045491935091506001600160401b031681610c92606088016040890161628f565b6001600160401b0316610ca591906162c0565b1115610cf85760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b6040517f35e741c9000000000000000000000000000000000000000000000000000000008152600f60048201526001600160601b0319851660248201526044810183905273__$0f118c52967a3847a37f0a2ef02ffcee04$__906335e741c99060640160006040518083038186803b158015610d7357600080fd5b505af4158015610d87573d6000803e3d6000fd5b5050604080516001600160601b031988168152602081018790527fc635af1892551655b9dbb3256a0eed3e35baf4fcc5392b80e6a907b6f44a2838935001905060405180910390a150505050505050565b6040517f1803c09e000000000000000000000000000000000000000000000000000000008152600f6004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90631803c09e906064015b60006040518083038186803b158015610e4b57600080fd5b505af4158015610e5f573d6000803e3d6000fd5b50505050505050565b6040517f9655f02b00000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90639655f02b90610ebd90600f9086908690600401616310565b60006040518083038186803b158015610ed557600080fd5b505af4158015610ee9573d6000803e3d6000fd5b505050505050565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae1348585610f17613817565b6040518463ffffffff1660e01b8152600401610f3593929190616135565b60206040518083038186803b158015610f4d57600080fd5b505af4158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190616230565b9050600080610fd4610f9a6040880188616249565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061405092505050565b6001600160601b031982166000908152601160205260409020600281015492945090925090600160801b900460ff16600181600481111561101757611017615eb6565b14806110345750600281600481111561103257611032615eb6565b145b6110a65760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610cef565b6040805160608101825260008082526020820181905291810191909152600183015480156111a3578088356110e160408b0160208c01616334565b6110f160608c0160408d0161628f565b60405160200161112e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146111915760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b6111a036899003890189616365565b91505b60006111f16111b560208d018d616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250614183915050565b90506000808061121484600001518a6001600160401b0316866040015151614763565b6001549193509150600160401b90046001600160401b031661123682846163d7565b11156112845760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f206869676800000000006044820152606401610cef565b60005b84604001515181101561137257600060018660400151516112a891906162c0565b82146112b457836112be565b6112be83856163d7565b905080866060015183815181106112d7576112d76163ef565b6020026020010151876040015184815181106112f5576112f56163ef565b602002602001015161130791906162c0565b61131191906162c0565b86604001518381518110611327576113276163ef565b60200260200101818152505085606001518281518110611349576113496163ef565b60200260200101518561135c91906163d7565b945050808061136a90616405565b915050611287565b5060408051602081018d90526000918101919091526001600160c01b031960c08b901b166044820152604c0160408051808303601f19018152828252805160209182012060018c01556001600160601b03198d16835282018d90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a9261146592600401616420565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050505050505050505050505050505050565b6001601160006115786080850160608601615e9b565b6001600160601b0319168152602081019190915260400160002060020154600160801b900460ff1660048111156115b1576115b1615eb6565b146115fe5760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c69766520737461746500000000006044820152606401610cef565b600061161060e0830160c08401616037565b6001600160a01b0316148061165257506005600061163460e0840160c08501616037565b6001600160a01b0316815260208101919091526040016000205460ff165b61169e5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610cef565b60006116b06040830160208401616037565b6116c060608401604085016164a4565b6116d06080850160608601615e9b565b6116e060a0860160808701615e9b565b6116f060c0870160a088016164ce565b6040516020016117049594939291906164e9565b60408051601f19818403018152919052905060006117786117286020850185616334565b63ffffffff1661173b6040870187616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061479f9050565b905060006117858261496a565b905080516014141561180b5761179a83614c10565b6001600160601b0319166117af826000614c37565b6001600160601b031916146118065760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610cef565b611903565b8051602014156118bb576002836040516118259190616799565b602060405180830381855afa158015611842573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906118659190616230565b61186e82614c4d565b146118065760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610cef565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610cef565b600061196861191560208801886164ce565b6119226020890189616249565b61192f60408b018b616249565b61193f60808d0160608e016164ce565b604051602001611954969594939291906167a5565b604051602081830303815290604052614c69565b905060006006818361197d60208a018a616334565b6040516020016119a492919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615611a285760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610cef565b6000611a3385614c90565b6000549091506001600160401b03600160a01b90910481169082161015611a9c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610cef565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b03831602178255611ae36040880160208901616037565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff1602178255611b3260e0880160c08901616037565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b0316611b78576000611b8e565b600154611b8e906001600160401b0316826167fd565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0583611bff60208a018a616334565b611c0f60408b0160208c01616037565b84611c2060608d0160408e016164a4565b611c3060808e0160608f01615e9b565b8d6080016020810190611c439190615e9b565b8e60a0016020810190611c5691906164ce565b8f60c0016020810190611c699190616037565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b03163314611d4d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6001600160a01b038216600081815260056020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000838383604051602001611dc393929190616823565b60408051808303601f19018152828252805160209182012060008181526008835283902060a08501845280546001600160a01b0381168652600160a01b90046001600160401b03908116938601939093526001015480831693850193909352600160401b83049091166060840152600160801b90910463ffffffff1660808301819052909250611e9f5760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e207265717565737420646f6573206e6f7420657869736044820152601d60fa1b6064820152608401610cef565b42600354826080015163ffffffff16611eb891906163d7565b10611f2a5760405162461bcd60e51b8152602060048201526024808201527f526564656d7074696f6e207265717565737420686173206e6f742074696d656460448201527f206f7574000000000000000000000000000000000000000000000000000000006064820152608401610cef565b6001600160601b031985166000908152601160209081526040918290209183015190830151611f599190616847565b600282018054600090611f769084906001600160401b0316616847565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555060016004811115611fad57611fad615eb6565b6002820154600160801b900460ff166004811115611fcd57611fcd615eb6565b1480611ff75750600280820154600160801b900460ff166004811115611ff557611ff5615eb6565b145b80612021575060046002820154600160801b900460ff16600481111561201f5761201f615eb6565b145b6120935760405162461bcd60e51b815260206004820152603b60248201527f5468652077616c6c6574206d75737420626520696e204c6976652c204d6f766960448201527f6e6746756e6473206f72205465726d696e6174656420737461746500000000006064820152608401610cef565b600083815260096020908152604080832085518154878501516001600160a01b039092166001600160e01b031991821617600160a01b6001600160401b0393841602178355878401516001938401805460608b015160808c01519386166fffffffffffffffffffffffffffffffff1990921691909117600160401b91909516029390931773ffffffff000000000000000000000000000000001916600160801b63ffffffff909216919091021790915560089093529220805490911681558101805473ffffffffffffffffffffffffffffffffffffffff191690556002820154600160801b900460ff16600481111561218e5761218e615eb6565b14806121b85750600280820154600160801b900460ff1660048111156121b6576121b6615eb6565b145b1561224a576040517f65951fcf000000000000000000000000000000000000000000000000000000008152600f60048201526001600160601b03198716602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__906365951fcf9060440160006040518083038186803b15801561223157600080fd5b505af4158015612245573d6000803e3d6000fd5b505050505b7f013dddc8debc4730cd01232fdcea9ae6013689837732356c187fe5edb9a8a8d586868660405161227d9392919061686f565b60405180910390a1815160208301516040516356a6d9ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926356a6d9ef926122f3926004016001600160a01b039290921682526001600160401b0316602082015260400190565b600060405180830381600087803b15801561230d57600080fd5b505af1158015612321573d6000803e3d6000fd5b50505050505050505050565b60006123ba612376600087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050614d069050565b604080516020601f89018190048102820181019092528781526123b591908989808385018382808284376000920191909152509293925050614d069050565b614d0e565b905060006123c782614c10565b6001600160601b03198116600090815260116020526040902090915060016002820154600160801b900460ff16600481111561240557612405615eb6565b148061242f5750600280820154600160801b900460ff16600481111561242d5761242d615eb6565b145b6124a15760405162461bcd60e51b815260206004820152602f60248201527f57616c6c6574206973206e65697468657220696e204c697665206e6f72204d6f60448201527f76696e6746756e647320737461746500000000000000000000000000000000006064820152608401610cef565b6040517f9a08b74000000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90639a08b740906124fc90600a908b908b9088908c908c90600401616898565b60006040518083038186803b15801561251457600080fd5b505af4158015612528573d6000803e3d6000fd5b5050505050505050505050565b6000546001600160a01b0316331461258f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6125996000614db8565b565b6040517fc945968600000000000000000000000000000000000000000000000000000000815260009073__$d790fbbb73aa5f15b682a7376a512ac8e4$__9063c9459686906125f990600a908a908a908a908a908a90600401616908565b60206040518083038186803b15801561261157600080fd5b505af4158015612625573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126499190616230565b600081815260066020526040902060010154909150600160e01b900463ffffffff16151580612686575060008181526007602052604090205460ff165b6126f85760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f73000000000000000000000000000000006064820152608401610cef565b6040517f3f31f49f00000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90633f31f49f9061277390600a908a908a908a908a907f00000000000000000000000000000000000000000000000000000000000000009060040161694b565b60006040518083038186803b15801561278b57600080fd5b505af4158015612321573d6000803e3d6000fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001600160601b03198216600090815260116020908152604091829020825160e0810184528154815260018201549281019290925260028101546001600160401b0381169383019390935263ffffffff600160401b8404811660608401526c010000000000000000000000008404166080830152909160a083019060ff600160801b90910416600481111561286f5761286f615eb6565b600481111561288057612880615eb6565b81526020016003820154815250509050919050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f4906128e890600f908590600401616995565b60006040518083038186803b15801561290057600080fd5b505af4158015612914573d6000803e3d6000fd5b5050505050565b6040517f4fd7d486000000000000000000000000000000000000000000000000000000008152600f600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d48690608401610e33565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866129a7613817565b6040518463ffffffff1660e01b81526004016129c593929190616135565b60206040518083038186803b1580156129dd57600080fd5b505af41580156129f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a159190616230565b9050612a27610be56020870187616249565b6001600160601b0319821660009081526011602052604090206002810154600160801b900460ff166001816004811115612a6357612a63615eb6565b1480612a8057506002816004811115612a7e57612a7e615eb6565b145b612af25760405162461bcd60e51b815260206004820152602a60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756473207374617465000000000000000000000000000000000000000000006064820152608401610cef565b6000612b40612b0460408a018a616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250614e15915050565b60608101519091506001600160401b031615612bc0578381604001518260600151604051602001612b9e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155612bc8565b600060018401555b8051600284018054600090612be79084906001600160401b0316616847565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe8585604051612c519291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b158015612cdf57600080fd5b505af1158015612cf3573d6000803e3d6000fd5b5050505060208101516040516356a6d9ef60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b158015612d9157600080fd5b505af1158015612da5573d6000803e3d6000fd5b505050505050505050505050565b6001600160601b03198516600090815260116020526040902060016002820154600160801b900460ff166004811115612dee57612dee615eb6565b14612e3b5760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c697665207374617465000000006044820152606401610cef565b600181015480612e975760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c656044820152601d60fa1b6064820152608401610cef565b808635612eaa6040890160208a01616334565b612eba60608a0160408b0161628f565b604051602001612ef79392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014612f5a5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b6000612f8c600060c01b8787604051602001612f78939291906169a9565b60405160208183030381529060405261496a565b905060008151116130055760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e6461726420747970650000000000000000000000000000000000006064820152608401610cef565b80805190602001208860405160200161302e91906001600160601b031991909116815260140190565b6040516020818303038152906040528051906020012014156130b85760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b480000000000000000006064820152608401610cef565b6001546001600160401b03600160801b9091048116908516101561311e5760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c00000000006044820152606401610cef565b600088878760405160200161313593929190616823565b60408051808303601f19018152918152815160209283012060008181526008909352912060010154909150600160801b900463ffffffff16156132065760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a401610cef565b600154600090600160c01b90046001600160401b0316613227576000613244565b60015461324490600160c01b90046001600160401b0316876167fd565b6002549091506001600160401b031661325d8288616847565b60028701805460009061327a9084906001600160401b03166169cd565b82546101009290920a6001600160401b0381810219909316918316021790915560028801541690506132b260608c0160408d0161628f565b6001600160401b031610156133095760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e6473000000000000006044820152606401610cef565b6040805160a081018252338082526001600160401b03808b1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526008909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b0273ffffffff0000000000000000000000000000000019928516600160401b026fffffffffffffffffffffffffffffffff19909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d959161341f918e918d918d91908d90899089906169f8565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03881660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b1580156134b657600080fd5b505af11580156134ca573d6000803e3d6000fd5b505050505050505050505050505050565b6040517f21e76ee800000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__906321e76ee890610e3390600a90879087908790600401616a5b565b6000546001600160a01b0316331461358c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6001600160a01b0381166136085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610cef565b61361181614db8565b50565b6000546001600160a01b0316331461366e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6040517f041aee99000000000000000000000000000000000000000000000000000000008152600f600482015263ffffffff8516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b1580156136de57600080fd5b505af41580156136f2573d6000803e3d6000fd5b50506040517f998b564c000000000000000000000000000000000000000000000000000000008152600f60048201526001600160401b0380871660248301528516604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b15801561377157600080fd5b505af4158015613785573d6000803e3d6000fd5b50506040517f45d9969c000000000000000000000000000000000000000000000000000000008152600f600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c915060440160006040518083038186803b1580156137f957600080fd5b505af415801561380d573d6000803e3d6000fd5b5050505050505050565b61383b60405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561389457600080fd5b505afa1580156138a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138cc9190616230565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561392e57600080fd5b505afa158015613942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139669190616230565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b6001600160601b03198116600090815260116020526040902060010154806139fe5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c65740000006044820152606401610cef565b808335613a116040860160208701616334565b613a21606087016040880161628f565b604051602001613a5e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014613ac15760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b600080613acd866153f7565b9092509050843582148015613afc575063ffffffff8116613af46040870160208801616334565b63ffffffff16145b613b6e5760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f006064820152608401610cef565b6001600760008735613b8660408a0160208b01616334565b604051602001613bad92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505050505050565b600080600080613bf8856154d2565b90925090506000613c0a8360016163d7565b90506000826001600160401b03811115613c2657613c2661634f565b604051908082528060200260200182016040528015613c4f578160200160208202803683370190505b5090506000836001600160401b03811115613c6c57613c6c61634f565b604051908082528060200260200182016040528015613c95578160200160208202803683370190505b50905060005b84811015613f00576000613caf8a866154e9565b90506000613cbe8b8784615558565b90506000613ccb8261496a565b90508051601414613d445760405162461bcd60e51b815260206004820152603060248201527f5461726765742077616c6c6574207075626c6963206b65792068617368206d7560448201527f73742068617665203230206279746573000000000000000000000000000000006064820152608401610cef565b6000613d508282614c37565b90506000613d6e6008808651613d6691906162c0565b869190615558565b80516020918201206040805163065daa4560e21b818501526001600160601b031986166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601206205800560ea1b605a840152605d830191909152825160518184030181526071909201909252805193019290922090925081831480613df757508083145b613e435760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b4800006044820152606401610cef565b838a8981518110613e5657613e566163ef565b6001600160601b031990921660209283029190910190910152613e7886614c90565b898981518110613e8a57613e8a6163ef565b60200260200101906001600160401b031690816001600160401b031681525050888881518110613ebc57613ebc6163ef565b60200260200101516001600160401b03168e613ed891906163d7565b9d50613ee4878c6163d7565b9a50505050505050508080613ef890616405565b915050613c9b565b506000613f0d8588616a86565b9050600085613f1c838a6162c0565b613f269190616a9a565b90506000613f3483836163d7565b905060005b8781101561401957848181518110613f5357613f536163ef565b60200260200101516001600160401b03168311158015613f95575081858281518110613f8157613f816163ef565b60200260200101516001600160401b031611155b6140075760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206973206e6f742064697374726960448201527f6275746564206576656e6c7900000000000000000000000000000000000000006064820152608401610cef565b8061401181616405565b915050613f39565b508460405160200161402b9190616aae565b6040516020818303038152906040528051906020012099505050505050505050915091565b600080600061405e846154d2565b915050806001146140d75760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610cef565b60006140e3858261479f565b90506140ee81614c90565b925060006140fb8261496a565b905080516014146141745760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610cef565b60208101519450505050915091565b6141ae6040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806141bf876154d2565b909250905060006141d18360016163d7565b905084156141e9576141e46001836162c0565b6141eb565b815b6001600160401b038111156142025761420261634f565b60405190808252806020026020018201604052801561422b578160200160208202803683370190505b5060208701819052516001600160401b0381111561424b5761424b61634f565b604051908082528060200260200182016040528015614274578160200160208202803683370190505b5060408701526020860151516001600160401b038111156142975761429761634f565b6040519080825280602002602001820160405280156142c0578160200160208202803683370190505b5060608701526000805b838110156146665760008060006142e18d87615622565b925092509250600060066000858560405160200161431692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615614552576001810154600160e01b900463ffffffff16156143b15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610cef565b8b602001515186141561442c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610cef565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110614485576144856163ef565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b031691889081106144c9576144c96163ef565b6020026020010181815250508b6040015186815181106144eb576144eb6163ef565b60200260200101518c60000181815161450491906163d7565b905250600181015460608d01518051600160a01b9092046001600160401b03169188908110614535576145356163ef565b60209081029190910101528561454a81616405565b965050614643565b8915158b15151415801561456657508c5184145b156145fb578c604001516001600160401b03168c60000181815161458a91906163d7565b90525060405160019a508a906007906000906145c2908890889060200191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055614643565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610cef565b61464d82886163d7565b965050505050808061465e90616405565b9150506142ca565b50600081116146dd5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610cef565b841515861515146147565760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610cef565b5050505050505b92915050565b6000808061477185876162c0565b905061477d8482616a86565b91508361478a83836162c0565b6147949190616a9a565b925050935093915050565b60606000806147ad856154d2565b909250905060001982141561480f5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610cef565b80841061485e5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610cef565b60008061486c8460016163d7565b905060005b868110156148f55761488388836154e9565b92506000198314156148d75760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610cef565b6148e183836163d7565b9150806148ed81616405565b915050614871565b5061490087826154e9565b91506000198214156149545760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610cef565b61495f878284615558565b979650505050505050565b6060600082600881518110614981576149816163ef565b0160200151835160f89190911c915061499b826009616aee565b60ff16146149b9575050604080516020810190915260008152919050565b826009815181106149cc576149cc6163ef565b016020015160f81c614a725760028160ff1610156149fa575050604080516020810190915260008152919050565b600083600a81518110614a0f57614a0f6163ef565b016020015160f81c9050614a24600283616b13565b60ff1681141580614a42575080602014158015614a42575080601414155b15614a5e57505060408051602081019091526000815292915050565b614a6a84600b83615558565b949350505050565b6000614a7f846008614c37565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415614b5c5783600b81518110614ade57614ade6163ef565b60209101015160f81c6014141580614b335750614b0960028551614b0291906162c0565b8590614c37565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b15614b4f57505060408051602081019091526000815292915050565b614a6a84600c6014615558565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415614bf9578360018551614bb591906162c0565b81518110614bc557614bc56163ef565b60209101015160f81c608714614bec57505060408051602081019091526000815292915050565b614a6a84600b6014615558565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000614c468383016020015190565b9392505050565b6000815160001415614c6157506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080614c9c83615654565b60c01c90506000614a6a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b016020015190565b60606000614d1d600284616a86565b614d4857507f0200000000000000000000000000000000000000000000000000000000000000614d6b565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051608081018252600080825260208201819052918101829052606081018290529080614e43856154d2565b90925090506000614e558360016163d7565b6040805163065daa4560e21b6020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301206205800560ea1b605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b85811015615380576000614ee48b876154e9565b90506000614ef38c8884615558565b90506000614f0082614c90565b90506000614f1e6008808551614f1691906162c0565b859190615558565b90508b606001516001600160401b03166000148015614f51575080516020820120881480614f5157508051602082012087145b8015614f6657506000826001600160401b0316115b15614f8b5763ffffffff851660408d01526001600160401b03821660608d015261535d565b60008d82604051602001614fa0929190616b36565b60408051808303601f19018152918152815160209283012060008181526008909352912060010154909150600160801b900463ffffffff16156151aa57600081815260086020526040812060018101548154919291615012916001600160401b0390811691600160a01b900416616847565b60018301549091506001600160401b038087169161503991600160401b9091041683616847565b6001600160401b0316111580156150625750806001600160401b0316856001600160401b031611155b6150fa5760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a401610cef565b808f60000181815161510c91906169cd565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f60200181815161515091906169cd565b6001600160401b0316905250600083815260086020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff19169055886151a081616405565b995050505061535b565b60008181526009602052604090206001810154600160801b900463ffffffff1661523b5760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610cef565b60018101548154600091615263916001600160401b0391821691600160a01b90910416616847565b60018301549091506001600160401b038087169161528a91600160401b9091041683616847565b6001600160401b0316111580156152b35750806001600160401b0316856001600160401b031611155b61534b5760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a401610cef565b8861535581616405565b99505050505b505b615367848a6163d7565b985050505050808061537890616405565b915050614ed0565b50600081116147565760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e00000000006064820152608401610cef565b6000806000615405846154d2565b9150508060011461547e5760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e707574000000000000000000000000000000000000006064820152608401610cef565b600061548a8582615660565b905061549581615815565b93506154c96154a382615822565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b6000806154e083600061582f565b91509150915091565b60006154f68260096163d7565b83511015615507575060001961475d565b60008061551e856155198660086163d7565b61582f565b9092509050600019821415615539576000199250505061475d565b806155458360096163d7565b61554f91906163d7565b95945050505050565b6060816155745750604080516020810190915260008152614c46565b600061558083856163d7565b90508381118015615592575080855110155b6155de5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610cef565b604051915082604083010160405282825283850182038460208701018481015b80821015615617578151838301526020820191506155fe565b505050509392505050565b600080806156308585614c37565b925061563f6154a386866159ab565b915061564b85856159c2565b90509250925092565b600061475d8282614c37565b606060008061566e856154d2565b90925090506000198214156156d05760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610cef565b80841061571f5760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e000000000000000000000000000000006044820152606401610cef565b60008061572d8460016163d7565b905060005b868110156157b65761574488836159c2565b92506000198314156157985760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610cef565b6157a283836163d7565b9150806157ae81616405565b915050615732565b506157c187826159c2565b91506000198214156149545760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610cef565b602081015160009061475d565b600061475d826020614c37565b600080600061583e8585615a0d565b905060ff811661587057600085858151811061585c5761585c6163ef565b016020015190935060f81c91506159a49050565b8361587c826001616aee565b60ff1661588991906163d7565b855110156158a057600019600092509250506159a4565b60008160ff16600214156158e5576158da6158c66158bf8760016163d7565b8890614c37565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061599a565b8160ff166004141561590f576159026154a36158bf8760016163d7565b63ffffffff16905061599a565b8160ff166008141561599a5761598e61592c6158bf8760016163d7565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000614c466159bb8360206163d7565b8490614c37565b60008060006159d18585615a99565b90925090506000198214156159ec576000199250505061475d565b806159f88360256163d7565b615a0291906163d7565b61554f9060046163d7565b6000828281518110615a2157615a216163ef565b60209101015160f81c60ff1415615a3a5750600861475d565b828281518110615a4c57615a4c6163ef565b60209101015160f81c60fe1415615a655750600461475d565b828281518110615a7757615a776163ef565b60209101015160f81c60fd1415615a905750600261475d565b50600092915050565b600080615aa78360256163d7565b84511015615abc5750600019905060006159a4565b600080615ace866155198760246163d7565b9097909650945050505050565b600060208284031215615aed57600080fd5b5035919050565b600060808284031215615b0657600080fd5b50919050565b600060608284031215615b0657600080fd5b80356001600160601b031981168114615b3657600080fd5b919050565b60008060008060c08587031215615b5157600080fd5b84356001600160401b0380821115615b6857600080fd5b615b7488838901615af4565b95506020870135915080821115615b8a57600080fd5b50615b9787828801615b0c565b935050615ba78660408701615b0c565b9150615bb560a08601615b1e565b905092959194509250565b600080600060608486031215615bd557600080fd5b505081359360208301359350604090920135919050565b60008060808385031215615bff57600080fd5b615c0883615b1e565b9150615c178460208501615b0c565b90509250929050565b600080600060a08486031215615c3557600080fd5b83356001600160401b0380821115615c4c57600080fd5b615c5887838801615af4565b94506020860135915080821115615c6e57600080fd5b50615c7b86828701615b0c565b92505061564b8560408601615b0c565b600080828403610100811215615ca057600080fd5b83356001600160401b03811115615cb657600080fd5b615cc286828701615af4565b93505060e0601f1982011215615cd757600080fd5b506020830190509250929050565b80356001600160a01b0381168114615b3657600080fd5b80358015158114615b3657600080fd5b60008060408385031215615d1f57600080fd5b615d2883615ce5565b9150615c1760208401615cfc565b60008083601f840112615d4857600080fd5b5081356001600160401b03811115615d5f57600080fd5b6020830191508360208285010111156159a457600080fd5b600080600060408486031215615d8c57600080fd5b615d9584615b1e565b925060208401356001600160401b03811115615db057600080fd5b615dbc86828701615d36565b9497909650939450505050565b60008060008060a08587031215615ddf57600080fd5b84356001600160401b03811115615df557600080fd5b615e0187828801615d36565b90955093505060208501359150615bb58660408701615b0c565b600080600080600060608688031215615e3357600080fd5b85356001600160401b0380821115615e4a57600080fd5b615e5689838a01615d36565b90975095506020880135915080821115615e6f57600080fd5b50615e7c88828901615d36565b9094509250615e8f905060408701615cfc565b90509295509295909350565b600060208284031215615ead57600080fd5b614c4682615b1e565b634e487b7160e01b600052602160045260246000fd5b600060e08201905082518252602083015160208301526001600160401b036040840151166040830152606083015163ffffffff8082166060850152806080860151166080850152505060a083015160058110615f3857634e487b7160e01b600052602160045260246000fd5b8060a08401525060c083015160c083015292915050565b600060608284031215615f6157600080fd5b614c468383615b0c565b80356001600160401b0381168114615b3657600080fd5b600080600080600060c08688031215615f9a57600080fd5b615fa386615b1e565b9450615fb28760208801615b0c565b935060808601356001600160401b03811115615fcd57600080fd5b615fd988828901615d36565b9094509250615e8f905060a08701615f6b565b60008060006040848603121561600157600080fd5b83356001600160401b0381111561601757600080fd5b61602386828701615d36565b909790965060209590950135949350505050565b60006020828403121561604957600080fd5b614c4682615ce5565b803563ffffffff81168114615b3657600080fd5b6000806000806080858703121561607c57600080fd5b61608585616052565b935061609360208601615f6b565b92506160a160408601615f6b565b9150615bb560608601616052565b80356001600160e01b031981168114615b3657600080fd5b6000808335601e198436030181126160de57600080fd5b83016020810192503590506001600160401b038111156160fd57600080fd5b8036038313156159a457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b03198061614e876160af565b1660a084015261616160208701876160c7565b608060c08601526161776101208601828461610c565b91505061618760408801886160c7565b858303609f190160e087015261619e83828461610c565b92505050816161af606089016160af565b1661010085015283810360208501526161c886876160c7565b9250606082526161dc60608301848361610c565b925050602086013560208201526161f660408701876160c7565b828403604084015261620984828461610c565b945050505050614a6a60408301848051825260208082015190830152604090810151910152565b60006020828403121561624257600080fd5b5051919050565b6000808335601e1984360301811261626057600080fd5b8301803591506001600160401b0382111561627a57600080fd5b6020019150368190038213156159a457600080fd5b6000602082840312156162a157600080fd5b614c4682615f6b565b634e487b7160e01b600052601160045260246000fd5b6000828210156162d2576162d26162aa565b500390565b8035825263ffffffff6162ec60208301616052565b1660208301526001600160401b0361630660408301615f6b565b1660408301525050565b8381526001600160601b03198316602082015260a08101614a6a60408301846162d7565b60006020828403121561634657600080fd5b614c4682616052565b634e487b7160e01b600052604160045260246000fd5b60006060828403121561637757600080fd5b604051606081018181106001600160401b03821117156163a757634e487b7160e01b600052604160045260246000fd5b604052823581526163ba60208401616052565b60208201526163cb60408401615f6b565b60408201529392505050565b600082198211156163ea576163ea6162aa565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415616419576164196162aa565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156164625781516001600160a01b03168452928401929084019060010161643d565b5050508381038285015284518082528583019183019060005b818110156164975783518352928401929184019160010161647b565b5090979650505050505050565b6000602082840312156164b657600080fd5b81356001600160c01b031981168114614c4657600080fd5b6000602082840312156164e057600080fd5b614c46826160af565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f82015260006165bd6165b0616587602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f6300000000000000000000000000000000000000000000000000000000000000601582015261667c6165b061658761655e616653601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506167526167296006830161662a565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b8181101561677f5760208185018101518683015201616765565b8181111561678e576000828601525b509290920192915050565b6000614c46828461675e565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680616817576168176167e7565b92169190910492915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b0383811690831681811015616867576168676162aa565b039392505050565b6bffffffffffffffffffffffff198416815260406020820152600061554f60408301848661610c565b86815260e0602082015260006168b260e08301878961610c565b90506bffffffffffffffffffffffff198516604083015283606083015282356080830152602083013560a0830152604083013560ff81168082146168f557600080fd5b8060c08501525050979650505050505050565b86815260806020820152600061692260808301878961610c565b828103604084015261693581868861610c565b9150508215156060830152979650505050505050565b86815260806020820152600061696560808301878961610c565b828103604084015261697881868861610c565b9150506001600160a01b0383166060830152979650505050505050565b82815260808101614c4660208301846162d7565b6001600160c01b031984168152818360088301376000910160080190815292915050565b60006001600160401b038083168185168083038211156169ef576169ef6162aa565b01949350505050565b6bffffffffffffffffffffffff198816815260c060208201526000616a2160c08301888a61610c565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b848152606060208201526000616a7560608301858761610c565b905082604083015295945050505050565b600082616a9557616a956167e7565b500690565b600082616aa957616aa96167e7565b500490565b815160009082906020808601845b83811015616ae25781516001600160601b03191685529382019390820190600101616abc565b50929695505050505050565b600060ff821660ff84168060ff03821115616b0b57616b0b6162aa565b019392505050565b600060ff821660ff841680821015616b2d57616b2d6162aa565b90039392505050565b6001600160601b0319831681526000614a6a601483018461675e56fea2646970667358221220e197b7f4039a223d293bd6ed64a5862c583c457e9d49a7a23a4305be71d9c0e364736f6c63430008090033",
|
|
1651
|
+
"deployedBytecode": "0x6080604052600436106102bb5760003560e01c8063793bb4731161016e578063b59589d1116100cb578063e53c0b551161007f578063e95eb7a811610064578063e95eb7a814610ad8578063f2fde38b14610aff578063fd56208014610b1f57600080fd5b8063e53c0b5514610a88578063e8f3db4314610ab857600080fd5b8063cb7f3a09116100b0578063cb7f3a0914610a21578063d6eccdf014610a48578063d95027b714610a6857600080fd5b8063b59589d1146109c6578063bdf9fca9146109fa57600080fd5b8063a588f05911610122578063b02c43d011610107578063b02c43d0146108a4578063b2146cd614610966578063b34b3216146109a657600080fd5b8063a588f05914610864578063a8fa0f421461088457600080fd5b80638dd0f79a116101535780638dd0f79a146107b75780638fa4ad2814610817578063a145e2d51461084457600080fd5b8063793bb4731461075d5780638da5cb5b1461079957600080fd5b806359a9d90a1161021c57806367f27247116101d0578063715018a6116101b5578063715018a6146106f457806376cdb03b1461070957806377145f211461073d57600080fd5b806367f27247146106c15780636d02b43c146106e157600080fd5b80635c0b4812116102015780635c0b48121461063557806360d712fc1461065557806361d027b31461067557600080fd5b806359a9d90a146105ee5780635afb143c1461060e57600080fd5b80632f429b64116102735780633dce9812116102585780633dce981214610575578063575e427914610595578063595ff9ff146105b557600080fd5b80632f429b641461047457806333e957cb1461049657600080fd5b80630b6ba19d116102a45780630b6ba19d146103b05780631fff4e701461041c5780632bb818c21461044057600080fd5b806303d952f7146102c0578063079bf52c14610378575b600080fd5b3480156102cc57600080fd5b5061032c6102db366004615adb565b600860205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b34801561038457600080fd5b50600154610398906001600160401b031681565b6040516001600160401b03909116815260200161036f565b3480156103bc57600080fd5b5061032c6103cb366004615adb565b600960205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b34801561042857600080fd5b5061043260035481565b60405190815260200161036f565b34801561044c57600080fd5b506104327f000000000000000000000000000000000000000000000000000000000000000081565b34801561048057600080fd5b5061049461048f366004615b3b565b610b3f565b005b3480156104a257600080fd5b506105316104b1366004615adb565b604080516080810182526000808252602082018190529181018290526060810191909152506000908152600e6020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b60405161036f919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b34801561058157600080fd5b50610494610590366004615bc0565b610dd8565b3480156105a157600080fd5b506104946105b0366004615bec565b610e68565b3480156105c157600080fd5b50600a54600b54600c54600d5460408051948552602085019390935291830152606082015260800161036f565b3480156105fa57600080fd5b50610494610609366004615c20565b610ef1565b34801561061a57600080fd5b5060005461039890600160a01b90046001600160401b031681565b34801561064157600080fd5b50610494610650366004615c8b565b611562565b34801561066157600080fd5b50610494610670366004615d0c565b611cf3565b34801561068157600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161036f565b3480156106cd57600080fd5b506104946106dc366004615d77565b611dac565b6104946106ef366004615dc9565b61232d565b34801561070057600080fd5b50610494612535565b34801561071557600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b34801561074957600080fd5b50610494610758366004615e1b565b61259b565b34801561076957600080fd5b506010546c01000000000000000000000000900460601b6040516001600160601b0319909116815260200161036f565b3480156107a557600080fd5b506000546001600160a01b03166106a9565b3480156107c357600080fd5b50600f546010546040805163ffffffff600160a01b8504811682526001600160401b03600160c01b9095048516602083015293831691810191909152600160401b909104909116606082015260800161036f565b34801561082357600080fd5b50610837610832366004615e9b565b61279f565b60405161036f9190615ecc565b34801561085057600080fd5b5061049461085f366004615f4f565b612895565b34801561087057600080fd5b50600254610398906001600160401b031681565b34801561089057600080fd5b5061049461089f366004615bc0565b61291b565b3480156108b057600080fd5b506109166108bf366004615adb565b600660205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c00161036f565b34801561097257600080fd5b50610996610981366004615adb565b60076020526000908152604090205460ff1681565b604051901515815260200161036f565b3480156109b257600080fd5b506104946109c1366004615b3b565b612981565b3480156109d257600080fd5b506106a97f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0657600080fd5b5060015461039890600160801b90046001600160401b031681565b348015610a2d57600080fd5b5060015461039890600160401b90046001600160401b031681565b348015610a5457600080fd5b50610494610a63366004615f82565b612db3565b348015610a7457600080fd5b50610494610a83366004615fec565b6134db565b348015610a9457600080fd5b50610996610aa3366004616037565b60056020526000908152604090205460ff1681565b348015610ac457600080fd5b50600454610398906001600160401b031681565b348015610ae457600080fd5b5060015461039890600160c01b90046001600160401b031681565b348015610b0b57600080fd5b50610494610b1a366004616037565b613532565b348015610b2b57600080fd5b50610494610b3a366004616066565b613614565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae1348686610b65613817565b6040518463ffffffff1660e01b8152600401610b8393929190616135565b60206040518083038186803b158015610b9b57600080fd5b505af4158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190616230565b9050610c23610be56020870187616249565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508691506139949050565b600080610c70610c366040890189616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613be992505050565b60045491935091506001600160401b031681610c92606088016040890161628f565b6001600160401b0316610ca591906162c0565b1115610cf85760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b6040517f35e741c9000000000000000000000000000000000000000000000000000000008152600f60048201526001600160601b0319851660248201526044810183905273__$0f118c52967a3847a37f0a2ef02ffcee04$__906335e741c99060640160006040518083038186803b158015610d7357600080fd5b505af4158015610d87573d6000803e3d6000fd5b5050604080516001600160601b031988168152602081018790527fc635af1892551655b9dbb3256a0eed3e35baf4fcc5392b80e6a907b6f44a2838935001905060405180910390a150505050505050565b6040517f1803c09e000000000000000000000000000000000000000000000000000000008152600f6004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90631803c09e906064015b60006040518083038186803b158015610e4b57600080fd5b505af4158015610e5f573d6000803e3d6000fd5b50505050505050565b6040517f9655f02b00000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90639655f02b90610ebd90600f9086908690600401616310565b60006040518083038186803b158015610ed557600080fd5b505af4158015610ee9573d6000803e3d6000fd5b505050505050565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae1348585610f17613817565b6040518463ffffffff1660e01b8152600401610f3593929190616135565b60206040518083038186803b158015610f4d57600080fd5b505af4158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190616230565b9050600080610fd4610f9a6040880188616249565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061405092505050565b6001600160601b031982166000908152601160205260409020600281015492945090925090600160801b900460ff16600181600481111561101757611017615eb6565b14806110345750600281600481111561103257611032615eb6565b145b6110a65760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e64732073746174650000000000000000000000000000000000000000006064820152608401610cef565b6040805160608101825260008082526020820181905291810191909152600183015480156111a3578088356110e160408b0160208c01616334565b6110f160608c0160408d0161628f565b60405160200161112e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146111915760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b6111a036899003890189616365565b91505b60006111f16111b560208d018d616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250614183915050565b90506000808061121484600001518a6001600160401b0316866040015151614763565b6001549193509150600160401b90046001600160401b031661123682846163d7565b11156112845760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f206869676800000000006044820152606401610cef565b60005b84604001515181101561137257600060018660400151516112a891906162c0565b82146112b457836112be565b6112be83856163d7565b905080866060015183815181106112d7576112d76163ef565b6020026020010151876040015184815181106112f5576112f56163ef565b602002602001015161130791906162c0565b61131191906162c0565b86604001518381518110611327576113276163ef565b60200260200101818152505085606001518281518110611349576113496163ef565b60200260200101518561135c91906163d7565b945050808061136a90616405565b915050611287565b5060408051602081018d90526000918101919091526001600160c01b031960c08b901b166044820152604c0160408051808303601f19018152828252805160209182012060018c01556001600160601b03198d16835282018d90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a9261146592600401616420565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050505050505050505050505050505050565b6001601160006115786080850160608601615e9b565b6001600160601b0319168152602081019190915260400160002060020154600160801b900460ff1660048111156115b1576115b1615eb6565b146115fe5760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c69766520737461746500000000006044820152606401610cef565b600061161060e0830160c08401616037565b6001600160a01b0316148061165257506005600061163460e0840160c08501616037565b6001600160a01b0316815260208101919091526040016000205460ff165b61169e5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610cef565b60006116b06040830160208401616037565b6116c060608401604085016164a4565b6116d06080850160608601615e9b565b6116e060a0860160808701615e9b565b6116f060c0870160a088016164ce565b6040516020016117049594939291906164e9565b60408051601f19818403018152919052905060006117786117286020850185616334565b63ffffffff1661173b6040870187616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061479f9050565b905060006117858261496a565b905080516014141561180b5761179a83614c10565b6001600160601b0319166117af826000614c37565b6001600160601b031916146118065760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610cef565b611903565b8051602014156118bb576002836040516118259190616799565b602060405180830381855afa158015611842573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906118659190616230565b61186e82614c4d565b146118065760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610cef565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610cef565b600061196861191560208801886164ce565b6119226020890189616249565b61192f60408b018b616249565b61193f60808d0160608e016164ce565b604051602001611954969594939291906167a5565b604051602081830303815290604052614c69565b905060006006818361197d60208a018a616334565b6040516020016119a492919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615611a285760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610cef565b6000611a3385614c90565b6000549091506001600160401b03600160a01b90910481169082161015611a9c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610cef565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b03831602178255611ae36040880160208901616037565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff1602178255611b3260e0880160c08901616037565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b0316611b78576000611b8e565b600154611b8e906001600160401b0316826167fd565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0583611bff60208a018a616334565b611c0f60408b0160208c01616037565b84611c2060608d0160408e016164a4565b611c3060808e0160608f01615e9b565b8d6080016020810190611c439190615e9b565b8e60a0016020810190611c5691906164ce565b8f60c0016020810190611c699190616037565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b03163314611d4d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6001600160a01b038216600081815260056020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000838383604051602001611dc393929190616823565b60408051808303601f19018152828252805160209182012060008181526008835283902060a08501845280546001600160a01b0381168652600160a01b90046001600160401b03908116938601939093526001015480831693850193909352600160401b83049091166060840152600160801b90910463ffffffff1660808301819052909250611e9f5760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e207265717565737420646f6573206e6f7420657869736044820152601d60fa1b6064820152608401610cef565b42600354826080015163ffffffff16611eb891906163d7565b10611f2a5760405162461bcd60e51b8152602060048201526024808201527f526564656d7074696f6e207265717565737420686173206e6f742074696d656460448201527f206f7574000000000000000000000000000000000000000000000000000000006064820152608401610cef565b6001600160601b031985166000908152601160209081526040918290209183015190830151611f599190616847565b600282018054600090611f769084906001600160401b0316616847565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555060016004811115611fad57611fad615eb6565b6002820154600160801b900460ff166004811115611fcd57611fcd615eb6565b1480611ff75750600280820154600160801b900460ff166004811115611ff557611ff5615eb6565b145b80612021575060046002820154600160801b900460ff16600481111561201f5761201f615eb6565b145b6120935760405162461bcd60e51b815260206004820152603b60248201527f5468652077616c6c6574206d75737420626520696e204c6976652c204d6f766960448201527f6e6746756e6473206f72205465726d696e6174656420737461746500000000006064820152608401610cef565b600083815260096020908152604080832085518154878501516001600160a01b039092166001600160e01b031991821617600160a01b6001600160401b0393841602178355878401516001938401805460608b015160808c01519386166fffffffffffffffffffffffffffffffff1990921691909117600160401b91909516029390931773ffffffff000000000000000000000000000000001916600160801b63ffffffff909216919091021790915560089093529220805490911681558101805473ffffffffffffffffffffffffffffffffffffffff191690556002820154600160801b900460ff16600481111561218e5761218e615eb6565b14806121b85750600280820154600160801b900460ff1660048111156121b6576121b6615eb6565b145b1561224a576040517f65951fcf000000000000000000000000000000000000000000000000000000008152600f60048201526001600160601b03198716602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__906365951fcf9060440160006040518083038186803b15801561223157600080fd5b505af4158015612245573d6000803e3d6000fd5b505050505b7f013dddc8debc4730cd01232fdcea9ae6013689837732356c187fe5edb9a8a8d586868660405161227d9392919061686f565b60405180910390a1815160208301516040516356a6d9ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926356a6d9ef926122f3926004016001600160a01b039290921682526001600160401b0316602082015260400190565b600060405180830381600087803b15801561230d57600080fd5b505af1158015612321573d6000803e3d6000fd5b50505050505050505050565b60006123ba612376600087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050614d069050565b604080516020601f89018190048102820181019092528781526123b591908989808385018382808284376000920191909152509293925050614d069050565b614d0e565b905060006123c782614c10565b6001600160601b03198116600090815260116020526040902090915060016002820154600160801b900460ff16600481111561240557612405615eb6565b148061242f5750600280820154600160801b900460ff16600481111561242d5761242d615eb6565b145b6124a15760405162461bcd60e51b815260206004820152602f60248201527f57616c6c6574206973206e65697468657220696e204c697665206e6f72204d6f60448201527f76696e6746756e647320737461746500000000000000000000000000000000006064820152608401610cef565b6040517f9a08b74000000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90639a08b740906124fc90600a908b908b9088908c908c90600401616898565b60006040518083038186803b15801561251457600080fd5b505af4158015612528573d6000803e3d6000fd5b5050505050505050505050565b6000546001600160a01b0316331461258f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6125996000614db8565b565b6040517fc945968600000000000000000000000000000000000000000000000000000000815260009073__$d790fbbb73aa5f15b682a7376a512ac8e4$__9063c9459686906125f990600a908a908a908a908a908a90600401616908565b60206040518083038186803b15801561261157600080fd5b505af4158015612625573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126499190616230565b600081815260066020526040902060010154909150600160e01b900463ffffffff16151580612686575060008181526007602052604090205460ff165b6126f85760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f73000000000000000000000000000000006064820152608401610cef565b6040517f3f31f49f00000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90633f31f49f9061277390600a908a908a908a908a907f00000000000000000000000000000000000000000000000000000000000000009060040161694b565b60006040518083038186803b15801561278b57600080fd5b505af4158015612321573d6000803e3d6000fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001600160601b03198216600090815260116020908152604091829020825160e0810184528154815260018201549281019290925260028101546001600160401b0381169383019390935263ffffffff600160401b8404811660608401526c010000000000000000000000008404166080830152909160a083019060ff600160801b90910416600481111561286f5761286f615eb6565b600481111561288057612880615eb6565b81526020016003820154815250509050919050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f4906128e890600f908590600401616995565b60006040518083038186803b15801561290057600080fd5b505af4158015612914573d6000803e3d6000fd5b5050505050565b6040517f4fd7d486000000000000000000000000000000000000000000000000000000008152600f600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d48690608401610e33565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866129a7613817565b6040518463ffffffff1660e01b81526004016129c593929190616135565b60206040518083038186803b1580156129dd57600080fd5b505af41580156129f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a159190616230565b9050612a27610be56020870187616249565b6001600160601b0319821660009081526011602052604090206002810154600160801b900460ff166001816004811115612a6357612a63615eb6565b1480612a8057506002816004811115612a7e57612a7e615eb6565b145b612af25760405162461bcd60e51b815260206004820152602a60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756473207374617465000000000000000000000000000000000000000000006064820152608401610cef565b6000612b40612b0460408a018a616249565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250614e15915050565b60608101519091506001600160401b031615612bc0578381604001518260600151604051602001612b9e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155612bc8565b600060018401555b8051600284018054600090612be79084906001600160401b0316616847565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe8585604051612c519291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b158015612cdf57600080fd5b505af1158015612cf3573d6000803e3d6000fd5b5050505060208101516040516356a6d9ef60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b158015612d9157600080fd5b505af1158015612da5573d6000803e3d6000fd5b505050505050505050505050565b6001600160601b03198516600090815260116020526040902060016002820154600160801b900460ff166004811115612dee57612dee615eb6565b14612e3b5760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c697665207374617465000000006044820152606401610cef565b600181015480612e975760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c656044820152601d60fa1b6064820152608401610cef565b808635612eaa6040890160208a01616334565b612eba60608a0160408b0161628f565b604051602001612ef79392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014612f5a5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b6000612f8c600060c01b8787604051602001612f78939291906169a9565b60405160208183030381529060405261496a565b905060008151116130055760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e6461726420747970650000000000000000000000000000000000006064820152608401610cef565b80805190602001208860405160200161302e91906001600160601b031991909116815260140190565b6040516020818303038152906040528051906020012014156130b85760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b480000000000000000006064820152608401610cef565b6001546001600160401b03600160801b9091048116908516101561311e5760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c00000000006044820152606401610cef565b600088878760405160200161313593929190616823565b60408051808303601f19018152918152815160209283012060008181526008909352912060010154909150600160801b900463ffffffff16156132065760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a401610cef565b600154600090600160c01b90046001600160401b0316613227576000613244565b60015461324490600160c01b90046001600160401b0316876167fd565b6002549091506001600160401b031661325d8288616847565b60028701805460009061327a9084906001600160401b03166169cd565b82546101009290920a6001600160401b0381810219909316918316021790915560028801541690506132b260608c0160408d0161628f565b6001600160401b031610156133095760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e6473000000000000006044820152606401610cef565b6040805160a081018252338082526001600160401b03808b1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526008909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b0273ffffffff0000000000000000000000000000000019928516600160401b026fffffffffffffffffffffffffffffffff19909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d959161341f918e918d918d91908d90899089906169f8565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03881660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b1580156134b657600080fd5b505af11580156134ca573d6000803e3d6000fd5b505050505050505050505050505050565b6040517f21e76ee800000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__906321e76ee890610e3390600a90879087908790600401616a5b565b6000546001600160a01b0316331461358c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6001600160a01b0381166136085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610cef565b61361181614db8565b50565b6000546001600160a01b0316331461366e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cef565b6040517f041aee99000000000000000000000000000000000000000000000000000000008152600f600482015263ffffffff8516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b1580156136de57600080fd5b505af41580156136f2573d6000803e3d6000fd5b50506040517f998b564c000000000000000000000000000000000000000000000000000000008152600f60048201526001600160401b0380871660248301528516604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b15801561377157600080fd5b505af4158015613785573d6000803e3d6000fd5b50506040517f45d9969c000000000000000000000000000000000000000000000000000000008152600f600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c915060440160006040518083038186803b1580156137f957600080fd5b505af415801561380d573d6000803e3d6000fd5b5050505050505050565b61383b60405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561389457600080fd5b505afa1580156138a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138cc9190616230565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561392e57600080fd5b505afa158015613942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139669190616230565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b6001600160601b03198116600090815260116020526040902060010154806139fe5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c65740000006044820152606401610cef565b808335613a116040860160208701616334565b613a21606087016040880161628f565b604051602001613a5e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014613ac15760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610cef565b600080613acd866153f7565b9092509050843582148015613afc575063ffffffff8116613af46040870160208801616334565b63ffffffff16145b613b6e5760405162461bcd60e51b815260206004820152603f60248201527f4f7574626f756e64207472616e73616374696f6e20696e707574206d7573742060448201527f706f696e7420746f207468652077616c6c65742773206d61696e205554584f006064820152608401610cef565b6001600760008735613b8660408a0160208b01616334565b604051602001613bad92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505050505050565b600080600080613bf8856154d2565b90925090506000613c0a8360016163d7565b90506000826001600160401b03811115613c2657613c2661634f565b604051908082528060200260200182016040528015613c4f578160200160208202803683370190505b5090506000836001600160401b03811115613c6c57613c6c61634f565b604051908082528060200260200182016040528015613c95578160200160208202803683370190505b50905060005b84811015613f00576000613caf8a866154e9565b90506000613cbe8b8784615558565b90506000613ccb8261496a565b90508051601414613d445760405162461bcd60e51b815260206004820152603060248201527f5461726765742077616c6c6574207075626c6963206b65792068617368206d7560448201527f73742068617665203230206279746573000000000000000000000000000000006064820152608401610cef565b6000613d508282614c37565b90506000613d6e6008808651613d6691906162c0565b869190615558565b80516020918201206040805163065daa4560e21b818501526001600160601b031986166024820181905261222b60f21b60388301528251601a818403018152603a830184528051908601206205800560ea1b605a840152605d830191909152825160518184030181526071909201909252805193019290922090925081831480613df757508083145b613e435760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b4800006044820152606401610cef565b838a8981518110613e5657613e566163ef565b6001600160601b031990921660209283029190910190910152613e7886614c90565b898981518110613e8a57613e8a6163ef565b60200260200101906001600160401b031690816001600160401b031681525050888881518110613ebc57613ebc6163ef565b60200260200101516001600160401b03168e613ed891906163d7565b9d50613ee4878c6163d7565b9a50505050505050508080613ef890616405565b915050613c9b565b506000613f0d8588616a86565b9050600085613f1c838a6162c0565b613f269190616a9a565b90506000613f3483836163d7565b905060005b8781101561401957848181518110613f5357613f536163ef565b60200260200101516001600160401b03168311158015613f95575081858281518110613f8157613f816163ef565b60200260200101516001600160401b031611155b6140075760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206973206e6f742064697374726960448201527f6275746564206576656e6c7900000000000000000000000000000000000000006064820152608401610cef565b8061401181616405565b915050613f39565b508460405160200161402b9190616aae565b6040516020818303038152906040528051906020012099505050505050505050915091565b600080600061405e846154d2565b915050806001146140d75760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610cef565b60006140e3858261479f565b90506140ee81614c90565b925060006140fb8261496a565b905080516014146141745760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610cef565b60208101519450505050915091565b6141ae6040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806141bf876154d2565b909250905060006141d18360016163d7565b905084156141e9576141e46001836162c0565b6141eb565b815b6001600160401b038111156142025761420261634f565b60405190808252806020026020018201604052801561422b578160200160208202803683370190505b5060208701819052516001600160401b0381111561424b5761424b61634f565b604051908082528060200260200182016040528015614274578160200160208202803683370190505b5060408701526020860151516001600160401b038111156142975761429761634f565b6040519080825280602002602001820160405280156142c0578160200160208202803683370190505b5060608701526000805b838110156146665760008060006142e18d87615622565b925092509250600060066000858560405160200161431692919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615614552576001810154600160e01b900463ffffffff16156143b15760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610cef565b8b602001515186141561442c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610cef565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110614485576144856163ef565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b031691889081106144c9576144c96163ef565b6020026020010181815250508b6040015186815181106144eb576144eb6163ef565b60200260200101518c60000181815161450491906163d7565b905250600181015460608d01518051600160a01b9092046001600160401b03169188908110614535576145356163ef565b60209081029190910101528561454a81616405565b965050614643565b8915158b15151415801561456657508c5184145b156145fb578c604001516001600160401b03168c60000181815161458a91906163d7565b90525060405160019a508a906007906000906145c2908890889060200191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055614643565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610cef565b61464d82886163d7565b965050505050808061465e90616405565b9150506142ca565b50600081116146dd5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610cef565b841515861515146147565760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610cef565b5050505050505b92915050565b6000808061477185876162c0565b905061477d8482616a86565b91508361478a83836162c0565b6147949190616a9a565b925050935093915050565b60606000806147ad856154d2565b909250905060001982141561480f5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610cef565b80841061485e5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610cef565b60008061486c8460016163d7565b905060005b868110156148f55761488388836154e9565b92506000198314156148d75760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610cef565b6148e183836163d7565b9150806148ed81616405565b915050614871565b5061490087826154e9565b91506000198214156149545760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610cef565b61495f878284615558565b979650505050505050565b6060600082600881518110614981576149816163ef565b0160200151835160f89190911c915061499b826009616aee565b60ff16146149b9575050604080516020810190915260008152919050565b826009815181106149cc576149cc6163ef565b016020015160f81c614a725760028160ff1610156149fa575050604080516020810190915260008152919050565b600083600a81518110614a0f57614a0f6163ef565b016020015160f81c9050614a24600283616b13565b60ff1681141580614a42575080602014158015614a42575080601414155b15614a5e57505060408051602081019091526000815292915050565b614a6a84600b83615558565b949350505050565b6000614a7f846008614c37565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415614b5c5783600b81518110614ade57614ade6163ef565b60209101015160f81c6014141580614b335750614b0960028551614b0291906162c0565b8590614c37565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b15614b4f57505060408051602081019091526000815292915050565b614a6a84600c6014615558565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415614bf9578360018551614bb591906162c0565b81518110614bc557614bc56163ef565b60209101015160f81c608714614bec57505060408051602081019091526000815292915050565b614a6a84600b6014615558565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000614c468383016020015190565b9392505050565b6000815160001415614c6157506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080614c9c83615654565b60c01c90506000614a6a8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b016020015190565b60606000614d1d600284616a86565b614d4857507f0200000000000000000000000000000000000000000000000000000000000000614d6b565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051608081018252600080825260208201819052918101829052606081018290529080614e43856154d2565b90925090506000614e558360016163d7565b6040805163065daa4560e21b6020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301206205800560ea1b605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b85811015615380576000614ee48b876154e9565b90506000614ef38c8884615558565b90506000614f0082614c90565b90506000614f1e6008808551614f1691906162c0565b859190615558565b90508b606001516001600160401b03166000148015614f51575080516020820120881480614f5157508051602082012087145b8015614f6657506000826001600160401b0316115b15614f8b5763ffffffff851660408d01526001600160401b03821660608d015261535d565b60008d82604051602001614fa0929190616b36565b60408051808303601f19018152918152815160209283012060008181526008909352912060010154909150600160801b900463ffffffff16156151aa57600081815260086020526040812060018101548154919291615012916001600160401b0390811691600160a01b900416616847565b60018301549091506001600160401b038087169161503991600160401b9091041683616847565b6001600160401b0316111580156150625750806001600160401b0316856001600160401b031611155b6150fa5760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a401610cef565b808f60000181815161510c91906169cd565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f60200181815161515091906169cd565b6001600160401b0316905250600083815260086020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff19169055886151a081616405565b995050505061535b565b60008181526009602052604090206001810154600160801b900463ffffffff1661523b5760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610cef565b60018101548154600091615263916001600160401b0391821691600160a01b90910416616847565b60018301549091506001600160401b038087169161528a91600160401b9091041683616847565b6001600160401b0316111580156152b35750806001600160401b0316856001600160401b031611155b61534b5760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a401610cef565b8861535581616405565b99505050505b505b615367848a6163d7565b985050505050808061537890616405565b915050614ed0565b50600081116147565760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e00000000006064820152608401610cef565b6000806000615405846154d2565b9150508060011461547e5760405162461bcd60e51b815260206004820152602d60248201527f4f7574626f756e64207472616e73616374696f6e206d7573742068617665206160448201527f2073696e676c6520696e707574000000000000000000000000000000000000006064820152608401610cef565b600061548a8582615660565b905061549581615815565b93506154c96154a382615822565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b92505050915091565b6000806154e083600061582f565b91509150915091565b60006154f68260096163d7565b83511015615507575060001961475d565b60008061551e856155198660086163d7565b61582f565b9092509050600019821415615539576000199250505061475d565b806155458360096163d7565b61554f91906163d7565b95945050505050565b6060816155745750604080516020810190915260008152614c46565b600061558083856163d7565b90508381118015615592575080855110155b6155de5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610cef565b604051915082604083010160405282825283850182038460208701018481015b80821015615617578151838301526020820191506155fe565b505050509392505050565b600080806156308585614c37565b925061563f6154a386866159ab565b915061564b85856159c2565b90509250925092565b600061475d8282614c37565b606060008061566e856154d2565b90925090506000198214156156d05760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610cef565b80841061571f5760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e000000000000000000000000000000006044820152606401610cef565b60008061572d8460016163d7565b905060005b868110156157b65761574488836159c2565b92506000198314156157985760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610cef565b6157a283836163d7565b9150806157ae81616405565b915050615732565b506157c187826159c2565b91506000198214156149545760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610cef565b602081015160009061475d565b600061475d826020614c37565b600080600061583e8585615a0d565b905060ff811661587057600085858151811061585c5761585c6163ef565b016020015190935060f81c91506159a49050565b8361587c826001616aee565b60ff1661588991906163d7565b855110156158a057600019600092509250506159a4565b60008160ff16600214156158e5576158da6158c66158bf8760016163d7565b8890614c37565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061599a565b8160ff166004141561590f576159026154a36158bf8760016163d7565b63ffffffff16905061599a565b8160ff166008141561599a5761598e61592c6158bf8760016163d7565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000614c466159bb8360206163d7565b8490614c37565b60008060006159d18585615a99565b90925090506000198214156159ec576000199250505061475d565b806159f88360256163d7565b615a0291906163d7565b61554f9060046163d7565b6000828281518110615a2157615a216163ef565b60209101015160f81c60ff1415615a3a5750600861475d565b828281518110615a4c57615a4c6163ef565b60209101015160f81c60fe1415615a655750600461475d565b828281518110615a7757615a776163ef565b60209101015160f81c60fd1415615a905750600261475d565b50600092915050565b600080615aa78360256163d7565b84511015615abc5750600019905060006159a4565b600080615ace866155198760246163d7565b9097909650945050505050565b600060208284031215615aed57600080fd5b5035919050565b600060808284031215615b0657600080fd5b50919050565b600060608284031215615b0657600080fd5b80356001600160601b031981168114615b3657600080fd5b919050565b60008060008060c08587031215615b5157600080fd5b84356001600160401b0380821115615b6857600080fd5b615b7488838901615af4565b95506020870135915080821115615b8a57600080fd5b50615b9787828801615b0c565b935050615ba78660408701615b0c565b9150615bb560a08601615b1e565b905092959194509250565b600080600060608486031215615bd557600080fd5b505081359360208301359350604090920135919050565b60008060808385031215615bff57600080fd5b615c0883615b1e565b9150615c178460208501615b0c565b90509250929050565b600080600060a08486031215615c3557600080fd5b83356001600160401b0380821115615c4c57600080fd5b615c5887838801615af4565b94506020860135915080821115615c6e57600080fd5b50615c7b86828701615b0c565b92505061564b8560408601615b0c565b600080828403610100811215615ca057600080fd5b83356001600160401b03811115615cb657600080fd5b615cc286828701615af4565b93505060e0601f1982011215615cd757600080fd5b506020830190509250929050565b80356001600160a01b0381168114615b3657600080fd5b80358015158114615b3657600080fd5b60008060408385031215615d1f57600080fd5b615d2883615ce5565b9150615c1760208401615cfc565b60008083601f840112615d4857600080fd5b5081356001600160401b03811115615d5f57600080fd5b6020830191508360208285010111156159a457600080fd5b600080600060408486031215615d8c57600080fd5b615d9584615b1e565b925060208401356001600160401b03811115615db057600080fd5b615dbc86828701615d36565b9497909650939450505050565b60008060008060a08587031215615ddf57600080fd5b84356001600160401b03811115615df557600080fd5b615e0187828801615d36565b90955093505060208501359150615bb58660408701615b0c565b600080600080600060608688031215615e3357600080fd5b85356001600160401b0380821115615e4a57600080fd5b615e5689838a01615d36565b90975095506020880135915080821115615e6f57600080fd5b50615e7c88828901615d36565b9094509250615e8f905060408701615cfc565b90509295509295909350565b600060208284031215615ead57600080fd5b614c4682615b1e565b634e487b7160e01b600052602160045260246000fd5b600060e08201905082518252602083015160208301526001600160401b036040840151166040830152606083015163ffffffff8082166060850152806080860151166080850152505060a083015160058110615f3857634e487b7160e01b600052602160045260246000fd5b8060a08401525060c083015160c083015292915050565b600060608284031215615f6157600080fd5b614c468383615b0c565b80356001600160401b0381168114615b3657600080fd5b600080600080600060c08688031215615f9a57600080fd5b615fa386615b1e565b9450615fb28760208801615b0c565b935060808601356001600160401b03811115615fcd57600080fd5b615fd988828901615d36565b9094509250615e8f905060a08701615f6b565b60008060006040848603121561600157600080fd5b83356001600160401b0381111561601757600080fd5b61602386828701615d36565b909790965060209590950135949350505050565b60006020828403121561604957600080fd5b614c4682615ce5565b803563ffffffff81168114615b3657600080fd5b6000806000806080858703121561607c57600080fd5b61608585616052565b935061609360208601615f6b565b92506160a160408601615f6b565b9150615bb560608601616052565b80356001600160e01b031981168114615b3657600080fd5b6000808335601e198436030181126160de57600080fd5b83016020810192503590506001600160401b038111156160fd57600080fd5b8036038313156159a457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b03198061614e876160af565b1660a084015261616160208701876160c7565b608060c08601526161776101208601828461610c565b91505061618760408801886160c7565b858303609f190160e087015261619e83828461610c565b92505050816161af606089016160af565b1661010085015283810360208501526161c886876160c7565b9250606082526161dc60608301848361610c565b925050602086013560208201526161f660408701876160c7565b828403604084015261620984828461610c565b945050505050614a6a60408301848051825260208082015190830152604090810151910152565b60006020828403121561624257600080fd5b5051919050565b6000808335601e1984360301811261626057600080fd5b8301803591506001600160401b0382111561627a57600080fd5b6020019150368190038213156159a457600080fd5b6000602082840312156162a157600080fd5b614c4682615f6b565b634e487b7160e01b600052601160045260246000fd5b6000828210156162d2576162d26162aa565b500390565b8035825263ffffffff6162ec60208301616052565b1660208301526001600160401b0361630660408301615f6b565b1660408301525050565b8381526001600160601b03198316602082015260a08101614a6a60408301846162d7565b60006020828403121561634657600080fd5b614c4682616052565b634e487b7160e01b600052604160045260246000fd5b60006060828403121561637757600080fd5b604051606081018181106001600160401b03821117156163a757634e487b7160e01b600052604160045260246000fd5b604052823581526163ba60208401616052565b60208201526163cb60408401615f6b565b60408201529392505050565b600082198211156163ea576163ea6162aa565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415616419576164196162aa565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156164625781516001600160a01b03168452928401929084019060010161643d565b5050508381038285015284518082528583019183019060005b818110156164975783518352928401929184019160010161647b565b5090979650505050505050565b6000602082840312156164b657600080fd5b81356001600160c01b031981168114614c4657600080fd5b6000602082840312156164e057600080fd5b614c46826160af565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f82015260006165bd6165b0616587602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f6300000000000000000000000000000000000000000000000000000000000000601582015261667c6165b061658761655e616653601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506167526167296006830161662a565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b8181101561677f5760208185018101518683015201616765565b8181111561678e576000828601525b509290920192915050565b6000614c46828461675e565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680616817576168176167e7565b92169190910492915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b0383811690831681811015616867576168676162aa565b039392505050565b6bffffffffffffffffffffffff198416815260406020820152600061554f60408301848661610c565b86815260e0602082015260006168b260e08301878961610c565b90506bffffffffffffffffffffffff198516604083015283606083015282356080830152602083013560a0830152604083013560ff81168082146168f557600080fd5b8060c08501525050979650505050505050565b86815260806020820152600061692260808301878961610c565b828103604084015261693581868861610c565b9150508215156060830152979650505050505050565b86815260806020820152600061696560808301878961610c565b828103604084015261697881868861610c565b9150506001600160a01b0383166060830152979650505050505050565b82815260808101614c4660208301846162d7565b6001600160c01b031984168152818360088301376000910160080190815292915050565b60006001600160401b038083168185168083038211156169ef576169ef6162aa565b01949350505050565b6bffffffffffffffffffffffff198816815260c060208201526000616a2160c08301888a61610c565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b848152606060208201526000616a7560608301858761610c565b905082604083015295945050505050565b600082616a9557616a956167e7565b500690565b600082616aa957616aa96167e7565b500490565b815160009082906020808601845b83811015616ae25781516001600160601b03191685529382019390820190600101616abc565b50929695505050505050565b600060ff821660ff84168060ff03821115616b0b57616b0b6162aa565b019392505050565b600060ff821660ff841680821015616b2d57616b2d6162aa565b90039392505050565b6001600160601b0319831681526000614a6a601483018461675e56fea2646970667358221220e197b7f4039a223d293bd6ed64a5862c583c457e9d49a7a23a4305be71d9c0e364736f6c63430008090033",
|
|
1652
|
+
"linkReferences": {
|
|
1653
|
+
"contracts/bridge/BitcoinTx.sol": {
|
|
1654
|
+
"BitcoinTx": [
|
|
1655
|
+
{
|
|
1656
|
+
"length": 20,
|
|
1657
|
+
"start": 4618
|
|
1658
|
+
},
|
|
1659
|
+
{
|
|
1660
|
+
"length": 20,
|
|
1661
|
+
"start": 5564
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"length": 20,
|
|
1665
|
+
"start": 12364
|
|
1666
|
+
}
|
|
1667
|
+
]
|
|
1668
|
+
},
|
|
1669
|
+
"contracts/bridge/Frauds.sol": {
|
|
1670
|
+
"Frauds": [
|
|
1671
|
+
{
|
|
1672
|
+
"length": 20,
|
|
1673
|
+
"start": 501
|
|
1674
|
+
},
|
|
1675
|
+
{
|
|
1676
|
+
"length": 20,
|
|
1677
|
+
"start": 607
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"length": 20,
|
|
1681
|
+
"start": 717
|
|
1682
|
+
},
|
|
1683
|
+
{
|
|
1684
|
+
"length": 20,
|
|
1685
|
+
"start": 832
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
"length": 20,
|
|
1689
|
+
"start": 11152
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"length": 20,
|
|
1693
|
+
"start": 11405
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"length": 20,
|
|
1697
|
+
"start": 11751
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"length": 20,
|
|
1701
|
+
"start": 15306
|
|
1702
|
+
}
|
|
1703
|
+
]
|
|
1704
|
+
},
|
|
1705
|
+
"contracts/bridge/Wallets.sol": {
|
|
1706
|
+
"Wallets": [
|
|
1707
|
+
{
|
|
1708
|
+
"length": 20,
|
|
1709
|
+
"start": 948
|
|
1710
|
+
},
|
|
1711
|
+
{
|
|
1712
|
+
"length": 20,
|
|
1713
|
+
"start": 1058
|
|
1714
|
+
},
|
|
1715
|
+
{
|
|
1716
|
+
"length": 20,
|
|
1717
|
+
"start": 1179
|
|
1718
|
+
},
|
|
1719
|
+
{
|
|
1720
|
+
"length": 20,
|
|
1721
|
+
"start": 1289
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
"length": 20,
|
|
1725
|
+
"start": 5125
|
|
1726
|
+
},
|
|
1727
|
+
{
|
|
1728
|
+
"length": 20,
|
|
1729
|
+
"start": 5340
|
|
1730
|
+
},
|
|
1731
|
+
{
|
|
1732
|
+
"length": 20,
|
|
1733
|
+
"start": 5463
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"length": 20,
|
|
1737
|
+
"start": 10435
|
|
1738
|
+
},
|
|
1739
|
+
{
|
|
1740
|
+
"length": 20,
|
|
1741
|
+
"start": 12164
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"length": 20,
|
|
1745
|
+
"start": 12326
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
"length": 20,
|
|
1749
|
+
"start": 15728
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"length": 20,
|
|
1753
|
+
"start": 15873
|
|
1754
|
+
},
|
|
1755
|
+
{
|
|
1756
|
+
"length": 20,
|
|
1757
|
+
"start": 16009
|
|
1758
|
+
}
|
|
1759
|
+
]
|
|
1760
|
+
}
|
|
1761
|
+
},
|
|
1762
|
+
"deployedLinkReferences": {
|
|
1763
|
+
"contracts/bridge/BitcoinTx.sol": {
|
|
1764
|
+
"BitcoinTx": [
|
|
1765
|
+
{
|
|
1766
|
+
"length": 20,
|
|
1767
|
+
"start": 2883
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"length": 20,
|
|
1771
|
+
"start": 3829
|
|
1772
|
+
},
|
|
1773
|
+
{
|
|
1774
|
+
"length": 20,
|
|
1775
|
+
"start": 10629
|
|
1776
|
+
}
|
|
1777
|
+
]
|
|
1778
|
+
},
|
|
1779
|
+
"contracts/bridge/Frauds.sol": {
|
|
1780
|
+
"Frauds": [
|
|
1781
|
+
{
|
|
1782
|
+
"length": 20,
|
|
1783
|
+
"start": 9417
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"length": 20,
|
|
1787
|
+
"start": 9670
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"length": 20,
|
|
1791
|
+
"start": 10016
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"length": 20,
|
|
1795
|
+
"start": 13571
|
|
1796
|
+
}
|
|
1797
|
+
]
|
|
1798
|
+
},
|
|
1799
|
+
"contracts/bridge/Wallets.sol": {
|
|
1800
|
+
"Wallets": [
|
|
1801
|
+
{
|
|
1802
|
+
"length": 20,
|
|
1803
|
+
"start": 3390
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
"length": 20,
|
|
1807
|
+
"start": 3605
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"length": 20,
|
|
1811
|
+
"start": 3728
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
"length": 20,
|
|
1815
|
+
"start": 8700
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"length": 20,
|
|
1819
|
+
"start": 10429
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"length": 20,
|
|
1823
|
+
"start": 10591
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"length": 20,
|
|
1827
|
+
"start": 13993
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"length": 20,
|
|
1831
|
+
"start": 14138
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"length": 20,
|
|
1835
|
+
"start": 14274
|
|
1836
|
+
}
|
|
1837
|
+
]
|
|
1838
|
+
}
|
|
1839
|
+
}
|
|
176
1840
|
}
|