@keep-network/tbtc-v2 0.1.1-dev.4 → 0.1.1-dev.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.adoc +12 -0
  2. package/artifacts/TBTC.json +19 -18
  3. package/artifacts/TBTCToken.json +19 -18
  4. package/artifacts/VendingMachine.json +20 -19
  5. package/artifacts/solcInputs/f1a50b67569d88ee54efa3e22c6b484e.json +215 -0
  6. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  7. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  8. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  9. package/build/contracts/bank/Bank.sol/Bank.json +20 -2
  10. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  11. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  12. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  13. package/build/contracts/bridge/Bridge.sol/Bridge.json +1743 -64
  14. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  15. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +10 -0
  16. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  17. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  18. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  19. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  20. package/build/contracts/bridge/Frauds.sol/Frauds.dbg.json +4 -0
  21. package/build/contracts/bridge/Frauds.sol/Frauds.json +138 -0
  22. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  23. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  24. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  25. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +48 -0
  26. package/build/contracts/bridge/Redeem.sol/OutboundTx.dbg.json +4 -0
  27. package/build/contracts/bridge/Redeem.sol/OutboundTx.json +10 -0
  28. package/build/contracts/bridge/Redeem.sol/Redeem.dbg.json +4 -0
  29. package/build/contracts/bridge/Redeem.sol/Redeem.json +110 -0
  30. package/build/contracts/bridge/Sweep.sol/Sweep.dbg.json +4 -0
  31. package/build/contracts/bridge/Sweep.sol/Sweep.json +30 -0
  32. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  33. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  34. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  35. package/build/contracts/bridge/Wallets.sol/Wallets.json +138 -0
  36. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  37. package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
  38. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  39. package/build/contracts/vault/IVault.sol/IVault.json +19 -1
  40. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  41. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +36 -18
  42. package/contracts/GovernanceUtils.sol +1 -1
  43. package/contracts/bank/Bank.sol +34 -18
  44. package/contracts/bridge/BitcoinTx.sol +241 -0
  45. package/contracts/bridge/Bridge.sol +980 -123
  46. package/contracts/bridge/BridgeState.sol +172 -0
  47. package/contracts/bridge/Deposit.sol +247 -0
  48. package/contracts/bridge/EcdsaLib.sol +30 -0
  49. package/contracts/bridge/Frauds.sol +529 -0
  50. package/contracts/bridge/IRelay.sol +28 -0
  51. package/contracts/bridge/MovingFunds.sol +280 -0
  52. package/contracts/bridge/Redeem.sol +849 -0
  53. package/contracts/bridge/Sweep.sol +510 -0
  54. package/contracts/bridge/VendingMachine.sol +1 -1
  55. package/contracts/bridge/Wallets.sol +591 -0
  56. package/contracts/token/TBTC.sol +1 -1
  57. package/contracts/vault/IVault.sol +32 -10
  58. package/contracts/vault/TBTCVault.sol +20 -2
  59. package/package.json +28 -24
  60. package/artifacts/solcInputs/d71966212a658480bad5748ad85b1396.json +0 -116
@@ -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
- "indexed": false,
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": "depositId",
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": "uint8",
48
+ "internalType": "uint32",
24
49
  "name": "fundingOutputIndex",
25
- "type": "uint8"
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": "blindingFactor",
61
+ "name": "amount",
37
62
  "type": "uint64"
38
63
  },
39
64
  {
40
65
  "indexed": false,
41
- "internalType": "bytes",
42
- "name": "refundPubKey",
43
- "type": "bytes"
66
+ "internalType": "bytes8",
67
+ "name": "blindingFactor",
68
+ "type": "bytes8"
44
69
  },
45
70
  {
46
71
  "indexed": false,
47
- "internalType": "uint64",
48
- "name": "amount",
49
- "type": "uint64"
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,1760 @@
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": "fundingTxHash",
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": "fundingOutputIndex",
199
+ "name": "v",
71
200
  "type": "uint8"
72
201
  },
73
202
  {
74
- "internalType": "uint64",
75
- "name": "blindingFactor",
76
- "type": "uint64"
203
+ "indexed": false,
204
+ "internalType": "bytes32",
205
+ "name": "r",
206
+ "type": "bytes32"
77
207
  },
78
208
  {
79
- "internalType": "bytes",
80
- "name": "refundPubKey",
81
- "type": "bytes"
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
- "internalType": "uint64",
85
- "name": "amount",
86
- "type": "uint64"
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": "vault",
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": "revealDeposit",
95
- "outputs": [],
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
- "internalType": "bytes4",
103
- "name": "txVersion",
104
- "type": "bytes4"
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": "txInputVector",
319
+ "name": "redeemerOutputScript",
109
320
  "type": "bytes"
110
321
  },
111
322
  {
112
- "internalType": "bytes",
113
- "name": "txOutput",
114
- "type": "bytes"
323
+ "indexed": false,
324
+ "internalType": "address",
325
+ "name": "redeemer",
326
+ "type": "address"
115
327
  },
116
328
  {
117
- "internalType": "bytes4",
118
- "name": "txLocktime",
119
- "type": "bytes4"
329
+ "indexed": false,
330
+ "internalType": "uint64",
331
+ "name": "requestedAmount",
332
+ "type": "uint64"
120
333
  },
121
334
  {
122
- "internalType": "bytes",
123
- "name": "merkleProof",
124
- "type": "bytes"
335
+ "indexed": false,
336
+ "internalType": "uint64",
337
+ "name": "treasuryFee",
338
+ "type": "uint64"
125
339
  },
126
340
  {
127
- "internalType": "uint256",
128
- "name": "txIndexInBlock",
129
- "type": "uint256"
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": "bitcoinHeaders",
362
+ "name": "redeemerOutputScript",
134
363
  "type": "bytes"
135
364
  }
136
365
  ],
137
- "name": "sweep",
138
- "outputs": [],
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
- "internalType": "uint256",
146
- "name": "",
147
- "type": "uint256"
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": "unswept",
151
- "outputs": [
385
+ "name": "RedemptionsCompleted",
386
+ "type": "event"
387
+ },
388
+ {
389
+ "anonymous": false,
390
+ "inputs": [
152
391
  {
153
- "internalType": "uint64",
154
- "name": "amount",
155
- "type": "uint64"
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
+ {
558
+ "internalType": "bytes",
559
+ "name": "walletPublicKey",
560
+ "type": "bytes"
561
+ },
562
+ {
563
+ "internalType": "bytes",
564
+ "name": "preimage",
565
+ "type": "bytes"
566
+ },
567
+ {
568
+ "internalType": "bool",
569
+ "name": "witness",
570
+ "type": "bool"
571
+ }
572
+ ],
573
+ "name": "defeatFraudChallenge",
574
+ "outputs": [],
575
+ "stateMutability": "nonpayable",
576
+ "type": "function"
577
+ },
578
+ {
579
+ "inputs": [],
580
+ "name": "depositParameters",
581
+ "outputs": [
582
+ {
583
+ "internalType": "uint64",
584
+ "name": "depositDustThreshold",
585
+ "type": "uint64"
586
+ },
587
+ {
588
+ "internalType": "uint64",
589
+ "name": "depositTreasuryFeeDivisor",
590
+ "type": "uint64"
591
+ },
592
+ {
593
+ "internalType": "uint64",
594
+ "name": "depositTxMaxFee",
595
+ "type": "uint64"
596
+ }
597
+ ],
598
+ "stateMutability": "view",
599
+ "type": "function"
600
+ },
601
+ {
602
+ "inputs": [
603
+ {
604
+ "internalType": "uint256",
605
+ "name": "depositKey",
606
+ "type": "uint256"
607
+ }
608
+ ],
609
+ "name": "deposits",
610
+ "outputs": [
611
+ {
612
+ "components": [
613
+ {
614
+ "internalType": "address",
615
+ "name": "depositor",
616
+ "type": "address"
617
+ },
618
+ {
619
+ "internalType": "uint64",
620
+ "name": "amount",
621
+ "type": "uint64"
622
+ },
623
+ {
624
+ "internalType": "uint32",
625
+ "name": "revealedAt",
626
+ "type": "uint32"
627
+ },
628
+ {
629
+ "internalType": "address",
630
+ "name": "vault",
631
+ "type": "address"
632
+ },
633
+ {
634
+ "internalType": "uint64",
635
+ "name": "treasuryFee",
636
+ "type": "uint64"
637
+ },
638
+ {
639
+ "internalType": "uint32",
640
+ "name": "sweptAt",
641
+ "type": "uint32"
642
+ }
643
+ ],
644
+ "internalType": "struct Deposit.DepositRequest",
645
+ "name": "",
646
+ "type": "tuple"
647
+ }
648
+ ],
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "uint256",
656
+ "name": "challengeKey",
657
+ "type": "uint256"
658
+ }
659
+ ],
660
+ "name": "fraudChallenges",
661
+ "outputs": [
662
+ {
663
+ "components": [
664
+ {
665
+ "internalType": "address",
666
+ "name": "challenger",
667
+ "type": "address"
668
+ },
669
+ {
670
+ "internalType": "uint256",
671
+ "name": "depositAmount",
672
+ "type": "uint256"
673
+ },
674
+ {
675
+ "internalType": "uint32",
676
+ "name": "reportedAt",
677
+ "type": "uint32"
678
+ },
679
+ {
680
+ "internalType": "bool",
681
+ "name": "resolved",
682
+ "type": "bool"
683
+ }
684
+ ],
685
+ "internalType": "struct Frauds.FraudChallenge",
686
+ "name": "",
687
+ "type": "tuple"
688
+ }
689
+ ],
690
+ "stateMutability": "view",
691
+ "type": "function"
692
+ },
693
+ {
694
+ "inputs": [],
695
+ "name": "getActiveWalletPubKeyHash",
696
+ "outputs": [
697
+ {
698
+ "internalType": "bytes20",
699
+ "name": "",
700
+ "type": "bytes20"
701
+ }
702
+ ],
703
+ "stateMutability": "view",
704
+ "type": "function"
705
+ },
706
+ {
707
+ "inputs": [],
708
+ "name": "getContracts",
709
+ "outputs": [
710
+ {
711
+ "internalType": "contract Bank",
712
+ "name": "bank",
713
+ "type": "address"
714
+ },
715
+ {
716
+ "internalType": "contract IRelay",
717
+ "name": "relay",
718
+ "type": "address"
719
+ }
720
+ ],
721
+ "stateMutability": "view",
722
+ "type": "function"
723
+ },
724
+ {
725
+ "inputs": [],
726
+ "name": "getFraudParameters",
727
+ "outputs": [
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "slashingAmount",
731
+ "type": "uint256"
732
+ },
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "notifierRewardMultiplier",
736
+ "type": "uint256"
737
+ },
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "challengeDefeatTimeout",
741
+ "type": "uint256"
742
+ },
743
+ {
744
+ "internalType": "uint256",
745
+ "name": "challengeDepositAmount",
746
+ "type": "uint256"
747
+ }
748
+ ],
749
+ "stateMutability": "view",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [
754
+ {
755
+ "internalType": "bytes20",
756
+ "name": "walletPubKeyHash",
757
+ "type": "bytes20"
758
+ }
759
+ ],
760
+ "name": "getWallet",
761
+ "outputs": [
762
+ {
763
+ "components": [
764
+ {
765
+ "internalType": "bytes32",
766
+ "name": "ecdsaWalletID",
767
+ "type": "bytes32"
768
+ },
769
+ {
770
+ "internalType": "bytes32",
771
+ "name": "mainUtxoHash",
772
+ "type": "bytes32"
773
+ },
774
+ {
775
+ "internalType": "uint64",
776
+ "name": "pendingRedemptionsValue",
777
+ "type": "uint64"
778
+ },
779
+ {
780
+ "internalType": "uint32",
781
+ "name": "createdAt",
782
+ "type": "uint32"
783
+ },
784
+ {
785
+ "internalType": "uint32",
786
+ "name": "movingFundsRequestedAt",
787
+ "type": "uint32"
788
+ },
789
+ {
790
+ "internalType": "enum Wallets.WalletState",
791
+ "name": "state",
792
+ "type": "uint8"
793
+ },
794
+ {
795
+ "internalType": "bytes32",
796
+ "name": "movingFundsTargetWalletsCommitmentHash",
797
+ "type": "bytes32"
798
+ }
799
+ ],
800
+ "internalType": "struct Wallets.Wallet",
801
+ "name": "",
802
+ "type": "tuple"
803
+ }
804
+ ],
805
+ "stateMutability": "view",
806
+ "type": "function"
807
+ },
808
+ {
809
+ "inputs": [],
810
+ "name": "getWalletsParameters",
811
+ "outputs": [
812
+ {
813
+ "internalType": "uint32",
814
+ "name": "creationPeriod",
815
+ "type": "uint32"
816
+ },
817
+ {
818
+ "internalType": "uint64",
819
+ "name": "minBtcBalance",
820
+ "type": "uint64"
821
+ },
822
+ {
823
+ "internalType": "uint64",
824
+ "name": "maxBtcBalance",
825
+ "type": "uint64"
826
+ },
827
+ {
828
+ "internalType": "uint32",
829
+ "name": "maxAge",
830
+ "type": "uint32"
831
+ }
832
+ ],
833
+ "stateMutability": "view",
834
+ "type": "function"
835
+ },
836
+ {
837
+ "inputs": [
838
+ {
839
+ "internalType": "address",
840
+ "name": "vault",
841
+ "type": "address"
842
+ }
843
+ ],
844
+ "name": "isVaultTrusted",
845
+ "outputs": [
846
+ {
847
+ "internalType": "bool",
848
+ "name": "",
849
+ "type": "bool"
850
+ }
851
+ ],
852
+ "stateMutability": "view",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "inputs": [],
857
+ "name": "movingFundsParameters",
858
+ "outputs": [
859
+ {
860
+ "internalType": "uint64",
861
+ "name": "movingFundsTxMaxTotalFee",
862
+ "type": "uint64"
863
+ }
864
+ ],
865
+ "stateMutability": "view",
866
+ "type": "function"
867
+ },
868
+ {
869
+ "inputs": [
870
+ {
871
+ "internalType": "bytes20",
872
+ "name": "walletPubKeyHash",
873
+ "type": "bytes20"
874
+ },
875
+ {
876
+ "components": [
877
+ {
878
+ "internalType": "bytes32",
879
+ "name": "txHash",
880
+ "type": "bytes32"
881
+ },
882
+ {
883
+ "internalType": "uint32",
884
+ "name": "txOutputIndex",
885
+ "type": "uint32"
886
+ },
887
+ {
888
+ "internalType": "uint64",
889
+ "name": "txOutputValue",
890
+ "type": "uint64"
891
+ }
892
+ ],
893
+ "internalType": "struct BitcoinTx.UTXO",
894
+ "name": "walletMainUtxo",
895
+ "type": "tuple"
896
+ }
897
+ ],
898
+ "name": "notifyCloseableWallet",
899
+ "outputs": [],
900
+ "stateMutability": "nonpayable",
901
+ "type": "function"
902
+ },
903
+ {
904
+ "inputs": [
905
+ {
906
+ "internalType": "bytes",
907
+ "name": "walletPublicKey",
908
+ "type": "bytes"
909
+ },
910
+ {
911
+ "internalType": "bytes32",
912
+ "name": "sighash",
913
+ "type": "bytes32"
914
+ }
915
+ ],
916
+ "name": "notifyFraudChallengeDefeatTimeout",
917
+ "outputs": [],
918
+ "stateMutability": "nonpayable",
919
+ "type": "function"
920
+ },
921
+ {
922
+ "inputs": [
923
+ {
924
+ "internalType": "bytes20",
925
+ "name": "walletPubKeyHash",
926
+ "type": "bytes20"
927
+ },
928
+ {
929
+ "internalType": "bytes",
930
+ "name": "redeemerOutputScript",
931
+ "type": "bytes"
932
+ }
933
+ ],
934
+ "name": "notifyRedemptionTimeout",
935
+ "outputs": [],
936
+ "stateMutability": "nonpayable",
937
+ "type": "function"
938
+ },
939
+ {
940
+ "inputs": [],
941
+ "name": "owner",
942
+ "outputs": [
943
+ {
944
+ "internalType": "address",
945
+ "name": "",
946
+ "type": "address"
947
+ }
948
+ ],
949
+ "stateMutability": "view",
950
+ "type": "function"
951
+ },
952
+ {
953
+ "inputs": [
954
+ {
955
+ "internalType": "uint256",
956
+ "name": "redemptionKey",
957
+ "type": "uint256"
958
+ }
959
+ ],
960
+ "name": "pendingRedemptions",
961
+ "outputs": [
962
+ {
963
+ "components": [
964
+ {
965
+ "internalType": "address",
966
+ "name": "redeemer",
967
+ "type": "address"
968
+ },
969
+ {
970
+ "internalType": "uint64",
971
+ "name": "requestedAmount",
972
+ "type": "uint64"
973
+ },
974
+ {
975
+ "internalType": "uint64",
976
+ "name": "treasuryFee",
977
+ "type": "uint64"
978
+ },
979
+ {
980
+ "internalType": "uint64",
981
+ "name": "txMaxFee",
982
+ "type": "uint64"
983
+ },
984
+ {
985
+ "internalType": "uint32",
986
+ "name": "requestedAt",
987
+ "type": "uint32"
988
+ }
989
+ ],
990
+ "internalType": "struct Redeem.RedemptionRequest",
991
+ "name": "",
992
+ "type": "tuple"
993
+ }
994
+ ],
995
+ "stateMutability": "view",
996
+ "type": "function"
997
+ },
998
+ {
999
+ "inputs": [],
1000
+ "name": "redemptionParameters",
1001
+ "outputs": [
1002
+ {
1003
+ "internalType": "uint64",
1004
+ "name": "redemptionDustThreshold",
1005
+ "type": "uint64"
1006
+ },
1007
+ {
1008
+ "internalType": "uint64",
1009
+ "name": "redemptionTreasuryFeeDivisor",
1010
+ "type": "uint64"
1011
+ },
1012
+ {
1013
+ "internalType": "uint64",
1014
+ "name": "redemptionTxMaxFee",
1015
+ "type": "uint64"
1016
+ },
1017
+ {
1018
+ "internalType": "uint256",
1019
+ "name": "redemptionTimeout",
1020
+ "type": "uint256"
1021
+ },
1022
+ {
1023
+ "internalType": "address",
1024
+ "name": "treasury",
1025
+ "type": "address"
1026
+ },
1027
+ {
1028
+ "internalType": "uint256",
1029
+ "name": "txProofDifficultyFactor",
1030
+ "type": "uint256"
1031
+ }
1032
+ ],
1033
+ "stateMutability": "view",
1034
+ "type": "function"
1035
+ },
1036
+ {
1037
+ "inputs": [],
1038
+ "name": "renounceOwnership",
1039
+ "outputs": [],
1040
+ "stateMutability": "nonpayable",
1041
+ "type": "function"
1042
+ },
1043
+ {
1044
+ "inputs": [
1045
+ {
1046
+ "components": [
1047
+ {
1048
+ "internalType": "bytes32",
1049
+ "name": "txHash",
1050
+ "type": "bytes32"
1051
+ },
1052
+ {
1053
+ "internalType": "uint32",
1054
+ "name": "txOutputIndex",
1055
+ "type": "uint32"
1056
+ },
1057
+ {
1058
+ "internalType": "uint64",
1059
+ "name": "txOutputValue",
1060
+ "type": "uint64"
1061
+ }
1062
+ ],
1063
+ "internalType": "struct BitcoinTx.UTXO",
1064
+ "name": "activeWalletMainUtxo",
1065
+ "type": "tuple"
1066
+ }
1067
+ ],
1068
+ "name": "requestNewWallet",
1069
+ "outputs": [],
1070
+ "stateMutability": "nonpayable",
1071
+ "type": "function"
1072
+ },
1073
+ {
1074
+ "inputs": [
1075
+ {
1076
+ "internalType": "bytes20",
1077
+ "name": "walletPubKeyHash",
1078
+ "type": "bytes20"
1079
+ },
1080
+ {
1081
+ "components": [
1082
+ {
1083
+ "internalType": "bytes32",
1084
+ "name": "txHash",
1085
+ "type": "bytes32"
1086
+ },
1087
+ {
1088
+ "internalType": "uint32",
1089
+ "name": "txOutputIndex",
1090
+ "type": "uint32"
1091
+ },
1092
+ {
1093
+ "internalType": "uint64",
1094
+ "name": "txOutputValue",
1095
+ "type": "uint64"
1096
+ }
1097
+ ],
1098
+ "internalType": "struct BitcoinTx.UTXO",
1099
+ "name": "mainUtxo",
1100
+ "type": "tuple"
1101
+ },
1102
+ {
1103
+ "internalType": "bytes",
1104
+ "name": "redeemerOutputScript",
1105
+ "type": "bytes"
1106
+ },
1107
+ {
1108
+ "internalType": "uint64",
1109
+ "name": "amount",
1110
+ "type": "uint64"
1111
+ }
1112
+ ],
1113
+ "name": "requestRedemption",
1114
+ "outputs": [],
1115
+ "stateMutability": "nonpayable",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [
1120
+ {
1121
+ "components": [
1122
+ {
1123
+ "internalType": "bytes4",
1124
+ "name": "version",
1125
+ "type": "bytes4"
1126
+ },
1127
+ {
1128
+ "internalType": "bytes",
1129
+ "name": "inputVector",
1130
+ "type": "bytes"
1131
+ },
1132
+ {
1133
+ "internalType": "bytes",
1134
+ "name": "outputVector",
1135
+ "type": "bytes"
1136
+ },
1137
+ {
1138
+ "internalType": "bytes4",
1139
+ "name": "locktime",
1140
+ "type": "bytes4"
1141
+ }
1142
+ ],
1143
+ "internalType": "struct BitcoinTx.Info",
1144
+ "name": "fundingTx",
1145
+ "type": "tuple"
156
1146
  },
1147
+ {
1148
+ "components": [
1149
+ {
1150
+ "internalType": "uint32",
1151
+ "name": "fundingOutputIndex",
1152
+ "type": "uint32"
1153
+ },
1154
+ {
1155
+ "internalType": "address",
1156
+ "name": "depositor",
1157
+ "type": "address"
1158
+ },
1159
+ {
1160
+ "internalType": "bytes8",
1161
+ "name": "blindingFactor",
1162
+ "type": "bytes8"
1163
+ },
1164
+ {
1165
+ "internalType": "bytes20",
1166
+ "name": "walletPubKeyHash",
1167
+ "type": "bytes20"
1168
+ },
1169
+ {
1170
+ "internalType": "bytes20",
1171
+ "name": "refundPubKeyHash",
1172
+ "type": "bytes20"
1173
+ },
1174
+ {
1175
+ "internalType": "bytes4",
1176
+ "name": "refundLocktime",
1177
+ "type": "bytes4"
1178
+ },
1179
+ {
1180
+ "internalType": "address",
1181
+ "name": "vault",
1182
+ "type": "address"
1183
+ }
1184
+ ],
1185
+ "internalType": "struct Deposit.DepositRevealInfo",
1186
+ "name": "reveal",
1187
+ "type": "tuple"
1188
+ }
1189
+ ],
1190
+ "name": "revealDeposit",
1191
+ "outputs": [],
1192
+ "stateMutability": "nonpayable",
1193
+ "type": "function"
1194
+ },
1195
+ {
1196
+ "inputs": [
157
1197
  {
158
1198
  "internalType": "address",
159
1199
  "name": "vault",
160
1200
  "type": "address"
161
1201
  },
1202
+ {
1203
+ "internalType": "bool",
1204
+ "name": "isTrusted",
1205
+ "type": "bool"
1206
+ }
1207
+ ],
1208
+ "name": "setVaultStatus",
1209
+ "outputs": [],
1210
+ "stateMutability": "nonpayable",
1211
+ "type": "function"
1212
+ },
1213
+ {
1214
+ "inputs": [
1215
+ {
1216
+ "internalType": "uint256",
1217
+ "name": "utxoKey",
1218
+ "type": "uint256"
1219
+ }
1220
+ ],
1221
+ "name": "spentMainUTXOs",
1222
+ "outputs": [
1223
+ {
1224
+ "internalType": "bool",
1225
+ "name": "",
1226
+ "type": "bool"
1227
+ }
1228
+ ],
1229
+ "stateMutability": "view",
1230
+ "type": "function"
1231
+ },
1232
+ {
1233
+ "inputs": [
1234
+ {
1235
+ "internalType": "bytes",
1236
+ "name": "walletPublicKey",
1237
+ "type": "bytes"
1238
+ },
1239
+ {
1240
+ "internalType": "bytes32",
1241
+ "name": "sighash",
1242
+ "type": "bytes32"
1243
+ },
1244
+ {
1245
+ "components": [
1246
+ {
1247
+ "internalType": "bytes32",
1248
+ "name": "r",
1249
+ "type": "bytes32"
1250
+ },
1251
+ {
1252
+ "internalType": "bytes32",
1253
+ "name": "s",
1254
+ "type": "bytes32"
1255
+ },
1256
+ {
1257
+ "internalType": "uint8",
1258
+ "name": "v",
1259
+ "type": "uint8"
1260
+ }
1261
+ ],
1262
+ "internalType": "struct BitcoinTx.RSVSignature",
1263
+ "name": "signature",
1264
+ "type": "tuple"
1265
+ }
1266
+ ],
1267
+ "name": "submitFraudChallenge",
1268
+ "outputs": [],
1269
+ "stateMutability": "payable",
1270
+ "type": "function"
1271
+ },
1272
+ {
1273
+ "inputs": [
1274
+ {
1275
+ "components": [
1276
+ {
1277
+ "internalType": "bytes4",
1278
+ "name": "version",
1279
+ "type": "bytes4"
1280
+ },
1281
+ {
1282
+ "internalType": "bytes",
1283
+ "name": "inputVector",
1284
+ "type": "bytes"
1285
+ },
1286
+ {
1287
+ "internalType": "bytes",
1288
+ "name": "outputVector",
1289
+ "type": "bytes"
1290
+ },
1291
+ {
1292
+ "internalType": "bytes4",
1293
+ "name": "locktime",
1294
+ "type": "bytes4"
1295
+ }
1296
+ ],
1297
+ "internalType": "struct BitcoinTx.Info",
1298
+ "name": "movingFundsTx",
1299
+ "type": "tuple"
1300
+ },
1301
+ {
1302
+ "components": [
1303
+ {
1304
+ "internalType": "bytes",
1305
+ "name": "merkleProof",
1306
+ "type": "bytes"
1307
+ },
1308
+ {
1309
+ "internalType": "uint256",
1310
+ "name": "txIndexInBlock",
1311
+ "type": "uint256"
1312
+ },
1313
+ {
1314
+ "internalType": "bytes",
1315
+ "name": "bitcoinHeaders",
1316
+ "type": "bytes"
1317
+ }
1318
+ ],
1319
+ "internalType": "struct BitcoinTx.Proof",
1320
+ "name": "movingFundsProof",
1321
+ "type": "tuple"
1322
+ },
1323
+ {
1324
+ "components": [
1325
+ {
1326
+ "internalType": "bytes32",
1327
+ "name": "txHash",
1328
+ "type": "bytes32"
1329
+ },
1330
+ {
1331
+ "internalType": "uint32",
1332
+ "name": "txOutputIndex",
1333
+ "type": "uint32"
1334
+ },
1335
+ {
1336
+ "internalType": "uint64",
1337
+ "name": "txOutputValue",
1338
+ "type": "uint64"
1339
+ }
1340
+ ],
1341
+ "internalType": "struct BitcoinTx.UTXO",
1342
+ "name": "mainUtxo",
1343
+ "type": "tuple"
1344
+ },
1345
+ {
1346
+ "internalType": "bytes20",
1347
+ "name": "walletPubKeyHash",
1348
+ "type": "bytes20"
1349
+ }
1350
+ ],
1351
+ "name": "submitMovingFundsProof",
1352
+ "outputs": [],
1353
+ "stateMutability": "nonpayable",
1354
+ "type": "function"
1355
+ },
1356
+ {
1357
+ "inputs": [
1358
+ {
1359
+ "components": [
1360
+ {
1361
+ "internalType": "bytes4",
1362
+ "name": "version",
1363
+ "type": "bytes4"
1364
+ },
1365
+ {
1366
+ "internalType": "bytes",
1367
+ "name": "inputVector",
1368
+ "type": "bytes"
1369
+ },
1370
+ {
1371
+ "internalType": "bytes",
1372
+ "name": "outputVector",
1373
+ "type": "bytes"
1374
+ },
1375
+ {
1376
+ "internalType": "bytes4",
1377
+ "name": "locktime",
1378
+ "type": "bytes4"
1379
+ }
1380
+ ],
1381
+ "internalType": "struct BitcoinTx.Info",
1382
+ "name": "redemptionTx",
1383
+ "type": "tuple"
1384
+ },
1385
+ {
1386
+ "components": [
1387
+ {
1388
+ "internalType": "bytes",
1389
+ "name": "merkleProof",
1390
+ "type": "bytes"
1391
+ },
1392
+ {
1393
+ "internalType": "uint256",
1394
+ "name": "txIndexInBlock",
1395
+ "type": "uint256"
1396
+ },
1397
+ {
1398
+ "internalType": "bytes",
1399
+ "name": "bitcoinHeaders",
1400
+ "type": "bytes"
1401
+ }
1402
+ ],
1403
+ "internalType": "struct BitcoinTx.Proof",
1404
+ "name": "redemptionProof",
1405
+ "type": "tuple"
1406
+ },
1407
+ {
1408
+ "components": [
1409
+ {
1410
+ "internalType": "bytes32",
1411
+ "name": "txHash",
1412
+ "type": "bytes32"
1413
+ },
1414
+ {
1415
+ "internalType": "uint32",
1416
+ "name": "txOutputIndex",
1417
+ "type": "uint32"
1418
+ },
1419
+ {
1420
+ "internalType": "uint64",
1421
+ "name": "txOutputValue",
1422
+ "type": "uint64"
1423
+ }
1424
+ ],
1425
+ "internalType": "struct BitcoinTx.UTXO",
1426
+ "name": "mainUtxo",
1427
+ "type": "tuple"
1428
+ },
1429
+ {
1430
+ "internalType": "bytes20",
1431
+ "name": "walletPubKeyHash",
1432
+ "type": "bytes20"
1433
+ }
1434
+ ],
1435
+ "name": "submitRedemptionProof",
1436
+ "outputs": [],
1437
+ "stateMutability": "nonpayable",
1438
+ "type": "function"
1439
+ },
1440
+ {
1441
+ "inputs": [
1442
+ {
1443
+ "components": [
1444
+ {
1445
+ "internalType": "bytes4",
1446
+ "name": "version",
1447
+ "type": "bytes4"
1448
+ },
1449
+ {
1450
+ "internalType": "bytes",
1451
+ "name": "inputVector",
1452
+ "type": "bytes"
1453
+ },
1454
+ {
1455
+ "internalType": "bytes",
1456
+ "name": "outputVector",
1457
+ "type": "bytes"
1458
+ },
1459
+ {
1460
+ "internalType": "bytes4",
1461
+ "name": "locktime",
1462
+ "type": "bytes4"
1463
+ }
1464
+ ],
1465
+ "internalType": "struct BitcoinTx.Info",
1466
+ "name": "sweepTx",
1467
+ "type": "tuple"
1468
+ },
1469
+ {
1470
+ "components": [
1471
+ {
1472
+ "internalType": "bytes",
1473
+ "name": "merkleProof",
1474
+ "type": "bytes"
1475
+ },
1476
+ {
1477
+ "internalType": "uint256",
1478
+ "name": "txIndexInBlock",
1479
+ "type": "uint256"
1480
+ },
1481
+ {
1482
+ "internalType": "bytes",
1483
+ "name": "bitcoinHeaders",
1484
+ "type": "bytes"
1485
+ }
1486
+ ],
1487
+ "internalType": "struct BitcoinTx.Proof",
1488
+ "name": "sweepProof",
1489
+ "type": "tuple"
1490
+ },
1491
+ {
1492
+ "components": [
1493
+ {
1494
+ "internalType": "bytes32",
1495
+ "name": "txHash",
1496
+ "type": "bytes32"
1497
+ },
1498
+ {
1499
+ "internalType": "uint32",
1500
+ "name": "txOutputIndex",
1501
+ "type": "uint32"
1502
+ },
1503
+ {
1504
+ "internalType": "uint64",
1505
+ "name": "txOutputValue",
1506
+ "type": "uint64"
1507
+ }
1508
+ ],
1509
+ "internalType": "struct BitcoinTx.UTXO",
1510
+ "name": "mainUtxo",
1511
+ "type": "tuple"
1512
+ }
1513
+ ],
1514
+ "name": "submitSweepProof",
1515
+ "outputs": [],
1516
+ "stateMutability": "nonpayable",
1517
+ "type": "function"
1518
+ },
1519
+ {
1520
+ "inputs": [
1521
+ {
1522
+ "internalType": "uint256",
1523
+ "name": "redemptionKey",
1524
+ "type": "uint256"
1525
+ }
1526
+ ],
1527
+ "name": "timedOutRedemptions",
1528
+ "outputs": [
1529
+ {
1530
+ "components": [
1531
+ {
1532
+ "internalType": "address",
1533
+ "name": "redeemer",
1534
+ "type": "address"
1535
+ },
1536
+ {
1537
+ "internalType": "uint64",
1538
+ "name": "requestedAmount",
1539
+ "type": "uint64"
1540
+ },
1541
+ {
1542
+ "internalType": "uint64",
1543
+ "name": "treasuryFee",
1544
+ "type": "uint64"
1545
+ },
1546
+ {
1547
+ "internalType": "uint64",
1548
+ "name": "txMaxFee",
1549
+ "type": "uint64"
1550
+ },
1551
+ {
1552
+ "internalType": "uint32",
1553
+ "name": "requestedAt",
1554
+ "type": "uint32"
1555
+ }
1556
+ ],
1557
+ "internalType": "struct Redeem.RedemptionRequest",
1558
+ "name": "",
1559
+ "type": "tuple"
1560
+ }
1561
+ ],
1562
+ "stateMutability": "view",
1563
+ "type": "function"
1564
+ },
1565
+ {
1566
+ "inputs": [
1567
+ {
1568
+ "internalType": "address",
1569
+ "name": "newOwner",
1570
+ "type": "address"
1571
+ }
1572
+ ],
1573
+ "name": "transferOwnership",
1574
+ "outputs": [],
1575
+ "stateMutability": "nonpayable",
1576
+ "type": "function"
1577
+ },
1578
+ {
1579
+ "inputs": [],
1580
+ "name": "treasury",
1581
+ "outputs": [
1582
+ {
1583
+ "internalType": "address",
1584
+ "name": "treasury",
1585
+ "type": "address"
1586
+ }
1587
+ ],
1588
+ "stateMutability": "view",
1589
+ "type": "function"
1590
+ },
1591
+ {
1592
+ "inputs": [],
1593
+ "name": "txProofDifficultyFactor",
1594
+ "outputs": [
1595
+ {
1596
+ "internalType": "uint256",
1597
+ "name": "txProofDifficultyFactor",
1598
+ "type": "uint256"
1599
+ }
1600
+ ],
1601
+ "stateMutability": "view",
1602
+ "type": "function"
1603
+ },
1604
+ {
1605
+ "inputs": [
1606
+ {
1607
+ "internalType": "uint32",
1608
+ "name": "creationPeriod",
1609
+ "type": "uint32"
1610
+ },
1611
+ {
1612
+ "internalType": "uint64",
1613
+ "name": "minBtcBalance",
1614
+ "type": "uint64"
1615
+ },
1616
+ {
1617
+ "internalType": "uint64",
1618
+ "name": "maxBtcBalance",
1619
+ "type": "uint64"
1620
+ },
162
1621
  {
163
1622
  "internalType": "uint32",
164
- "name": "revealedAt",
1623
+ "name": "maxAge",
165
1624
  "type": "uint32"
166
1625
  }
167
1626
  ],
168
- "stateMutability": "view",
1627
+ "name": "updateWalletsParameters",
1628
+ "outputs": [],
1629
+ "stateMutability": "nonpayable",
169
1630
  "type": "function"
170
1631
  }
171
1632
  ],
172
- "bytecode": "0x608060405234801561001057600080fd5b506109f0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea26469706673582212207d1e61f37f8d0f4d2e819ea92984d0f23b9d069fd850451fb407141395ccff2864736f6c63430008040033",
173
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80632c3e1d121461004657806342b1f1a41461006257806343c6de291461007e575b600080fd5b610060600480360381019061005b91906103df565b6100b0565b005b61007c60048036038101906100779190610486565b610238565b005b61009860048036038101906100939190610584565b610241565b6040516100a793929190610735565b60405180910390f35b60008787336040516020016100c793929190610657565b6040516020818303038152906040528051906020012060001c905060008060008381526020019081526020016000209050600081600001601c9054906101000a900463ffffffff1663ffffffff1614610155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014c9061068e565b60405180910390fd5b838160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550828160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504281600001601c6101000a81548163ffffffff021916908363ffffffff1602179055507fed7e2a3180a53ccf8540bf67f1679359557837b4c2350f3c7f1d1409eaac3739828a8a338b8b8b8b8b604051610225999897969594939291906106ae565b60405180910390a1505050505050505050565b50505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900463ffffffff16905083565b60006102c26102bd84610791565b61076c565b9050828152602081018484840111156102da57600080fd5b6102e5848285610887565b509392505050565b6000813590506102fc81610930565b92915050565b60008135905061031181610947565b92915050565b6000813590506103268161095e565b92915050565b60008083601f84011261033e57600080fd5b8235905067ffffffffffffffff81111561035757600080fd5b60208301915083600182028301111561036f57600080fd5b9250929050565b600082601f83011261038757600080fd5b81356103978482602086016102af565b91505092915050565b6000813590506103af81610975565b92915050565b6000813590506103c48161098c565b92915050565b6000813590506103d9816109a3565b92915050565b600080600080600080600060c0888a0312156103fa57600080fd5b60006104088a828b01610302565b97505060206104198a828b016103ca565b965050604061042a8a828b016103b5565b955050606088013567ffffffffffffffff81111561044757600080fd5b6104538a828b0161032c565b945094505060806104668a828b016103b5565b92505060a06104778a828b016102ed565b91505092959891949750929550565b600080600080600080600060e0888a0312156104a157600080fd5b60006104af8a828b01610317565b975050602088013567ffffffffffffffff8111156104cc57600080fd5b6104d88a828b01610376565b965050604088013567ffffffffffffffff8111156104f557600080fd5b6105018a828b01610376565b95505060606105128a828b01610317565b945050608088013567ffffffffffffffff81111561052f57600080fd5b61053b8a828b01610376565b93505060a061054c8a828b016103a0565b92505060c088013567ffffffffffffffff81111561056957600080fd5b6105758a828b01610376565b91505092959891949750929550565b60006020828403121561059657600080fd5b60006105a4848285016103a0565b91505092915050565b6105b6816107e4565b82525050565b6105c5816107f6565b82525050565b60006105d783856107c2565b93506105e4838584610887565b6105ed836108f6565b840190509392505050565b60006106056018836107d3565b915061061082610907565b602082019050919050565b6106248161084c565b82525050565b61063381610856565b82525050565b61064281610866565b82525050565b6106518161087a565b82525050565b600060608201905061066c60008301866105bc565b6106796020830185610648565b61068660408301846105ad565b949350505050565b600060208201905081810360008301526106a7816105f8565b9050919050565b6000610100820190506106c4600083018c61061b565b6106d1602083018b6105bc565b6106de604083018a610648565b6106eb60608301896105ad565b6106f86080830188610639565b81810360a083015261070b8186886105cb565b905061071a60c0830185610639565b61072760e08301846105ad565b9a9950505050505050505050565b600060608201905061074a6000830186610639565b61075760208301856105ad565b610764604083018461062a565b949350505050565b6000610776610787565b90506107828282610896565b919050565b6000604051905090565b600067ffffffffffffffff8211156107ac576107ab6108c7565b5b6107b5826108f6565b9050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107ef8261082c565b9050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b61089f826108f6565b810181811067ffffffffffffffff821117156108be576108bd6108c7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4465706f73697420616c72656164792072657665616c65640000000000000000600082015250565b610939816107e4565b811461094457600080fd5b50565b610950816107f6565b811461095b57600080fd5b50565b61096781610800565b811461097257600080fd5b50565b61097e8161084c565b811461098957600080fd5b50565b61099581610866565b81146109a057600080fd5b50565b6109ac8161087a565b81146109b757600080fd5b5056fea26469706673582212207d1e61f37f8d0f4d2e819ea92984d0f23b9d069fd850451fb407141395ccff2864736f6c63430008040033",
174
- "linkReferences": {},
175
- "deployedLinkReferences": {}
1633
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002cdf38038062002cdf8339810160408190526200003491620005ea565b6200003f336200057d565b6001600160a01b0385166200009b5760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f000000000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038781169190911790915584166200010b5760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000092565b600380546001600160a01b0319166001600160a01b038681169190911790915583166200017b5760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f00604482015260640162000092565b6004805460018390556001600160a01b0385166001600160e01b031990911617613d0960a61b178155600580546001600160801b03191669271000000000000007d01790556202a30060095579271000000000000007d000000000000f42400000000000002710600855604051630848fc7160e21b8152600d9181019190915269021e19e0c9bab2400000602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90632123f1c49060440160006040518083038186803b1580156200024357600080fd5b505af415801562000258573d6000803e3d6000fd5b5050604051635452278760e01b8152600d60048201526064602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92506354522787915060440160006040518083038186803b158015620002af57600080fd5b505af4158015620002c4573d6000803e3d6000fd5b5050604051634039940360e01b8152600d600482015262093a80602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92506340399403915060440160006040518083038186803b1580156200031d57600080fd5b505af415801562000332573d6000803e3d6000fd5b505060405163e6d20d4560e01b8152600d6004820152671bc16d674ec80000602482015273__$d790fbbb73aa5f15b682a7376a512ac8e4$__925063e6d20d45915060440160006040518083038186803b1580156200039057600080fd5b505af4158015620003a5573d6000803e3d6000fd5b505060405163f832341d60e01b8152601260048201526001600160a01b038516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063f832341d915060440160006040518083038186803b1580156200040457600080fd5b505af415801562000419573d6000803e3d6000fd5b505060405163041aee9960e01b81526012600482015262093a80602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063041aee99915060440160006040518083038186803b1580156200047257600080fd5b505af415801562000487573d6000803e3d6000fd5b5050604051632662d59360e21b8152601260048201526305f5e1006024820152633b9aca00604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b158015620004eb57600080fd5b505af415801562000500573d6000803e3d6000fd5b505060405163117665a760e21b81526012600482015262eff100602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c915060440160006040518083038186803b1580156200055957600080fd5b505af41580156200056e573d6000803e3d6000fd5b50505050505050505062000651565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620005e557600080fd5b919050565b600080600080600060a086880312156200060357600080fd5b6200060e86620005cd565b94506200061e60208701620005cd565b93506200062e60408701620005cd565b92506200063e60608701620005cd565b9150608086015190509295509295909350565b61267e80620006616000396000f3fe6080604052600436106102195760003560e01c8063793bb4731161011d578063b34b3216116100b0578063d6eccdf01161007f578063e53c0b5511610064578063e53c0b5514610ace578063f2fde38b14610b07578063fd56208014610b2757600080fd5b8063d6eccdf014610a8e578063d95027b714610aae57600080fd5b8063b34b3216146109c1578063be05abe3146109e1578063c3a2a93a14610a0a578063c42b64d014610a3d57600080fd5b8063a145e2d5116100ec578063a145e2d5146107fc578063a8fa0f421461081c578063b02c43d01461083c578063b2146cd61461098157600080fd5b8063793bb4731461070a5780638da5cb5b1461074b5780638dd0f79a146107695780638fa4ad28146107cf57600080fd5b806359a9d90a116101b057806367f272471161017f5780636e70ce41116101645780636e70ce411461066d578063715018a6146106d557806377145f21146106ea57600080fd5b806367f272471461063a5780636d02b43c1461065a57600080fd5b806359a9d90a146105a85780635c0b4812146105c857806360d712fc146105e857806361d027b31461060857600080fd5b806333e957cb116101ec57806333e957cb146104505780633dce98121461052f578063575e42791461054f578063595ff9ff1461056f57600080fd5b806303d952f71461021e5780630b6ba19d1461034d5780632bb818c2146104105780632f429b641461042e575b600080fd5b34801561022a57600080fd5b506102e1610239366004611a54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152600a6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b900467ffffffffffffffff90811693820193909352600190910154808316938201939093526801000000000000000083049091166060820152600160801b90910463ffffffff16608082015290565b6040516103449190600060a0820190506001600160a01b038351168252602083015167ffffffffffffffff8082166020850152806040860151166040850152806060860151166060850152505063ffffffff608084015116608083015292915050565b60405180910390f35b34801561035957600080fd5b506102e1610368366004611a54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152600b6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b900467ffffffffffffffff90811693820193909352600190910154808316938201939093526801000000000000000083049091166060820152600160801b90910463ffffffff16608082015290565b34801561041c57600080fd5b50600154604051908152602001610344565b34801561043a57600080fd5b5061044e610449366004611ab9565b610b47565b005b34801561045c57600080fd5b506104eb61046b366004611a54565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260116020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b604051610344919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b34801561053b57600080fd5b5061044e61054a366004611b3f565b610bd9565b34801561055b57600080fd5b5061044e61056a366004611b6b565b610c69565b34801561057b57600080fd5b50600d54600e54600f54601054604080519485526020850193909352918301526060820152608001610344565b3480156105b457600080fd5b5061044e6105c3366004611b9f565b610cf2565b3480156105d457600080fd5b5061044e6105e3366004611c14565b610d4c565b3480156105f457600080fd5b5061044e610603366004611c96565b610da4565b34801561061457600080fd5b506004546001600160a01b03165b6040516001600160a01b039091168152602001610344565b34801561064657600080fd5b5061044e610655366004611d09565b610e62565b61044e610668366004611d5c565b610ebc565b34801561067957600080fd5b506008546009546040805167ffffffffffffffff68010000000000000000850481168252600160801b850481166020830152600160c01b90940490931690830152606082015260006080820181905260a082015260c001610344565b3480156106e157600080fd5b5061044e6110c9565b3480156106f657600080fd5b5061044e610705366004611daf565b61112f565b34801561071657600080fd5b506013546c01000000000000000000000000900460601b6040516bffffffffffffffffffffffff199091168152602001610344565b34801561075757600080fd5b506000546001600160a01b0316610622565b34801561077557600080fd5b506012546013546040805163ffffffff600160a01b85048116825267ffffffffffffffff600160c01b9095048516602083015293831691810191909152680100000000000000009091049091166060820152608001610344565b3480156107db57600080fd5b506107ef6107ea366004611e30565b611329565b6040516103449190611e68565b34801561080857600080fd5b5061044e610817366004611eec565b61142a565b34801561082857600080fd5b5061044e610837366004611b3f565b6114b0565b34801561084857600080fd5b5061090b610857366004611a54565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915250600090815260066020908152604091829020825160c08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b938490048116978501979097526001949094015490811660608401529384049092166080820152910490911660a082015290565b6040516103449190600060c0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b34801561098d57600080fd5b506109b161099c366004611a54565b6000908152600c602052604090205460ff1690565b6040519015158152602001610344565b3480156109cd57600080fd5b5061044e6109dc366004611ab9565b611516565b3480156109ed57600080fd5b5060085460405167ffffffffffffffff9091168152602001610344565b348015610a1657600080fd5b50600254600354604080516001600160a01b03938416815292909116602083015201610344565b348015610a4957600080fd5b5060045460055460408051600160a01b90930467ffffffffffffffff908116845280831660208501526801000000000000000090920490911690820152606001610344565b348015610a9a57600080fd5b5061044e610aa9366004611f20565b611572565b348015610aba57600080fd5b5061044e610ac9366004611f8b565b611607565b348015610ada57600080fd5b506109b1610ae9366004611fd7565b6001600160a01b031660009081526007602052604090205460ff1690565b348015610b1357600080fd5b5061044e610b22366004611fd7565b61165e565b348015610b3357600080fd5b5061044e610b42366004612006565b611740565b6040517f8f70139000000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__90638f70139090610ba3906001906012908990899089908990600401612214565b60006040518083038186803b158015610bbb57600080fd5b505af4158015610bcf573d6000803e3d6000fd5b5050505050505050565b6040517f1803c09e00000000000000000000000000000000000000000000000000000000815260126004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90631803c09e906064015b60006040518083038186803b158015610c4c57600080fd5b505af4158015610c60573d6000803e3d6000fd5b50505050505050565b6040517f9655f02b00000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90639655f02b90610cbe9060129086908690600401612278565b60006040518083038186803b158015610cd657600080fd5b505af4158015610cea573d6000803e3d6000fd5b505050505050565b6040517f7464f92700000000000000000000000000000000000000000000000000000000815273__$61f169726e973bba1227e0c23d2755f88e$__90637464f92790610c34906001906012908890889088906004016122a9565b6040517f8928458d00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__90638928458d90610cbe90600190601290879087906004016122ea565b6000546001600160a01b03163314610e035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6040517f6b90549000000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90636b90549090610c349060019060129088908890889060040161242f565b6000610f49610f05600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119139050565b604080516020601f8901819004810282018101909252878152610f44919089898083850183828082843760009201919091525092939250506119139050565b61191b565b90506000610f56826119c5565b6bffffffffffffffffffffffff198116600090815260146020526040902090915060016002820154600160801b900460ff166004811115610f9957610f99611e52565b1480610fc35750600280820154600160801b900460ff166004811115610fc157610fc1611e52565b145b6110355760405162461bcd60e51b815260206004820152602f60248201527f57616c6c6574206973206e65697468657220696e204c697665206e6f72204d6f60448201527f76696e6746756e647320737461746500000000000000000000000000000000006064820152608401610dfa565b6040517f9a08b74000000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90639a08b7409061109090600d908b908b9088908c908c9060040161246f565b60006040518083038186803b1580156110a857600080fd5b505af41580156110bc573d6000803e3d6000fd5b5050505050505050505050565b6000546001600160a01b031633146111235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b61112d60006119ec565b565b6040517fc945968600000000000000000000000000000000000000000000000000000000815260009073__$d790fbbb73aa5f15b682a7376a512ac8e4$__9063c94596869061118d90600d908a908a908a908a908a906004016124df565b60206040518083038186803b1580156111a557600080fd5b505af41580156111b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dd9190612522565b600081815260066020526040902060010154909150600160e01b900463ffffffff1615158061121a57506000818152600c602052604090205460ff165b61128c5760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f73000000000000000000000000000000006064820152608401610dfa565b600480546040517f3f31f49f00000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92633f31f49f926112f192600d928c928c928c928c926001600160a01b0316910161253b565b60006040518083038186803b15801561130957600080fd5b505af415801561131d573d6000803e3d6000fd5b50505050505050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526bffffffffffffffffffffffff198216600090815260146020908152604091829020825160e08101845281548152600182015492810192909252600281015467ffffffffffffffff81169383019390935263ffffffff680100000000000000008404811660608401526c010000000000000000000000008404166080830152909160a083019060ff600160801b90910416600481111561140457611404611e52565b600481111561141557611415611e52565b81526020016003820154815250509050919050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f49061147d906012908590600401612585565b60006040518083038186803b15801561149557600080fd5b505af41580156114a9573d6000803e3d6000fd5b5050505050565b6040517f4fd7d4860000000000000000000000000000000000000000000000000000000081526012600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d48690608401610c34565b6040517f7797c5dd00000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90637797c5dd90610ba3906001906012908990899089908990600401612214565b6040517f0b68d1d500000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90630b68d1d5906115d0906001906012908a908a908a908a908a90600401612599565b60006040518083038186803b1580156115e857600080fd5b505af41580156115fc573d6000803e3d6000fd5b505050505050505050565b6040517f21e76ee800000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__906321e76ee890610c3490600d908790879087906004016125fb565b6000546001600160a01b031633146116b85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b6001600160a01b0381166117345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610dfa565b61173d816119ec565b50565b6000546001600160a01b0316331461179a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b6040517f041aee990000000000000000000000000000000000000000000000000000000081526012600482015263ffffffff8516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b15801561180a57600080fd5b505af415801561181e573d6000803e3d6000fd5b50506040517f998b564c0000000000000000000000000000000000000000000000000000000081526012600482015267ffffffffffffffff80871660248301528516604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b15801561189e57600080fd5b505af41580156118b2573d6000803e3d6000fd5b50506040517f45d9969c0000000000000000000000000000000000000000000000000000000081526012600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c9150604401610ba3565b016020015190565b6060600061192a600284612626565b61195557507f0200000000000000000000000000000000000000000000000000000000000000611978565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215611a6657600080fd5b5035919050565b600060808284031215611a7f57600080fd5b50919050565b600060608284031215611a7f57600080fd5b80356bffffffffffffffffffffffff1981168114611ab457600080fd5b919050565b60008060008060c08587031215611acf57600080fd5b843567ffffffffffffffff80821115611ae757600080fd5b611af388838901611a6d565b95506020870135915080821115611b0957600080fd5b50611b1687828801611a85565b935050611b268660408701611a85565b9150611b3460a08601611a97565b905092959194509250565b600080600060608486031215611b5457600080fd5b505081359360208301359350604090920135919050565b60008060808385031215611b7e57600080fd5b611b8783611a97565b9150611b968460208501611a85565b90509250929050565b600080600060a08486031215611bb457600080fd5b833567ffffffffffffffff80821115611bcc57600080fd5b611bd887838801611a6d565b94506020860135915080821115611bee57600080fd5b50611bfb86828701611a85565b925050611c0b8560408601611a85565b90509250925092565b600080828403610100811215611c2957600080fd5b833567ffffffffffffffff811115611c4057600080fd5b611c4c86828701611a6d565b93505060e0601f1982011215611c6157600080fd5b506020830190509250929050565b80356001600160a01b0381168114611ab457600080fd5b80358015158114611ab457600080fd5b60008060408385031215611ca957600080fd5b611cb283611c6f565b9150611b9660208401611c86565b60008083601f840112611cd257600080fd5b50813567ffffffffffffffff811115611cea57600080fd5b602083019150836020828501011115611d0257600080fd5b9250929050565b600080600060408486031215611d1e57600080fd5b611d2784611a97565b9250602084013567ffffffffffffffff811115611d4357600080fd5b611d4f86828701611cc0565b9497909650939450505050565b60008060008060a08587031215611d7257600080fd5b843567ffffffffffffffff811115611d8957600080fd5b611d9587828801611cc0565b90955093505060208501359150611b348660408701611a85565b600080600080600060608688031215611dc757600080fd5b853567ffffffffffffffff80821115611ddf57600080fd5b611deb89838a01611cc0565b90975095506020880135915080821115611e0457600080fd5b50611e1188828901611cc0565b9094509250611e24905060408701611c86565b90509295509295909350565b600060208284031215611e4257600080fd5b611e4b82611a97565b9392505050565b634e487b7160e01b600052602160045260246000fd5b600060e082019050825182526020830151602083015267ffffffffffffffff6040840151166040830152606083015163ffffffff8082166060850152806080860151166080850152505060a083015160058110611ed557634e487b7160e01b600052602160045260246000fd5b8060a08401525060c083015160c083015292915050565b600060608284031215611efe57600080fd5b611e4b8383611a85565b803567ffffffffffffffff81168114611ab457600080fd5b600080600080600060c08688031215611f3857600080fd5b611f4186611a97565b9450611f508760208801611a85565b9350608086013567ffffffffffffffff811115611f6c57600080fd5b611f7888828901611cc0565b9094509250611e24905060a08701611f08565b600080600060408486031215611fa057600080fd5b833567ffffffffffffffff811115611fb757600080fd5b611fc386828701611cc0565b909790965060209590950135949350505050565b600060208284031215611fe957600080fd5b611e4b82611c6f565b803563ffffffff81168114611ab457600080fd5b6000806000806080858703121561201c57600080fd5b61202585611ff2565b935061203360208601611f08565b925061204160408601611f08565b9150611b3460608601611ff2565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ab457600080fd5b6000808335601e1984360301811261209657600080fd5b830160208101925035905067ffffffffffffffff8111156120b657600080fd5b803603831315611d0257600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60007fffffffff000000000000000000000000000000000000000000000000000000008061211b8461204f565b16845261212b602084018461207f565b608060208701526121406080870182846120c5565b915050612150604085018561207f565b86830360408801526121638382846120c5565b92505050816121746060860161204f565b166060860152809250505092915050565b6000612191828361207f565b606085526121a36060860182846120c5565b915050602083013560208501526121bd604084018461207f565b85830360408701526121d08382846120c5565b9695505050505050565b8035825263ffffffff6121ef60208301611ff2565b16602083015267ffffffffffffffff61220a60408301611f08565b1660408301525050565b6000610100888352876020840152806040840152612234818401886120ee565b905082810360608401526122488187612185565b91505061225860808301856121da565b6bffffffffffffffffffffffff19831660e0830152979650505050505050565b8381526bffffffffffffffffffffffff198316602082015260a081016122a160408301846121da565b949350505050565b85815284602082015260e0604082015260006122c860e08301866120ee565b82810360608401526122da8186612185565b9150506121d060808301846121da565b600061014086835285602084015280604084015261230a818401866120ee565b91505063ffffffff61231b84611ff2565b1660608301526001600160a01b0361233560208501611c6f565b16608083015260408301357fffffffffffffffff0000000000000000000000000000000000000000000000008116811461236e57600080fd5b7fffffffffffffffff0000000000000000000000000000000000000000000000001660a08301526123a160608401611a97565b6bffffffffffffffffffffffff191660c08301526123c160808401611a97565b6bffffffffffffffffffffffff191660e08301526123e160a0840161204f565b7fffffffff000000000000000000000000000000000000000000000000000000001661010083015261241560c08401611c6f565b6001600160a01b0381166101208401525095945050505050565b8581528460208201526bffffffffffffffffffffffff19841660408201526080606082015260006124646080830184866120c5565b979650505050505050565b86815260e06020820152600061248960e0830187896120c5565b90506bffffffffffffffffffffffff198516604083015283606083015282356080830152602083013560a0830152604083013560ff81168082146124cc57600080fd5b8060c08501525050979650505050505050565b8681526080602082015260006124f96080830187896120c5565b828103604084015261250c8186886120c5565b9150508215156060830152979650505050505050565b60006020828403121561253457600080fd5b5051919050565b8681526080602082015260006125556080830187896120c5565b82810360408401526125688186886120c5565b9150506001600160a01b0383166060830152979650505050505050565b82815260808101611e4b60208301846121da565b60006101008983528860208401526bffffffffffffffffffffffff19881660408401526125c960608401886121da565b8060c08401526125dc81840186886120c5565b91505067ffffffffffffffff831660e083015298975050505050505050565b8481526060602082015260006126156060830185876120c5565b905082604083015295945050505050565b60008261264357634e487b7160e01b600052601260045260246000fd5b50069056fea2646970667358221220d49289b806e928b3573d8ae1a8360ac448cc154e5830787c085ada8254e801fc64736f6c63430008090033",
1634
+ "deployedBytecode": "0x6080604052600436106102195760003560e01c8063793bb4731161011d578063b34b3216116100b0578063d6eccdf01161007f578063e53c0b5511610064578063e53c0b5514610ace578063f2fde38b14610b07578063fd56208014610b2757600080fd5b8063d6eccdf014610a8e578063d95027b714610aae57600080fd5b8063b34b3216146109c1578063be05abe3146109e1578063c3a2a93a14610a0a578063c42b64d014610a3d57600080fd5b8063a145e2d5116100ec578063a145e2d5146107fc578063a8fa0f421461081c578063b02c43d01461083c578063b2146cd61461098157600080fd5b8063793bb4731461070a5780638da5cb5b1461074b5780638dd0f79a146107695780638fa4ad28146107cf57600080fd5b806359a9d90a116101b057806367f272471161017f5780636e70ce41116101645780636e70ce411461066d578063715018a6146106d557806377145f21146106ea57600080fd5b806367f272471461063a5780636d02b43c1461065a57600080fd5b806359a9d90a146105a85780635c0b4812146105c857806360d712fc146105e857806361d027b31461060857600080fd5b806333e957cb116101ec57806333e957cb146104505780633dce98121461052f578063575e42791461054f578063595ff9ff1461056f57600080fd5b806303d952f71461021e5780630b6ba19d1461034d5780632bb818c2146104105780632f429b641461042e575b600080fd5b34801561022a57600080fd5b506102e1610239366004611a54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152600a6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b900467ffffffffffffffff90811693820193909352600190910154808316938201939093526801000000000000000083049091166060820152600160801b90910463ffffffff16608082015290565b6040516103449190600060a0820190506001600160a01b038351168252602083015167ffffffffffffffff8082166020850152806040860151166040850152806060860151166060850152505063ffffffff608084015116608083015292915050565b60405180910390f35b34801561035957600080fd5b506102e1610368366004611a54565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152600b6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b900467ffffffffffffffff90811693820193909352600190910154808316938201939093526801000000000000000083049091166060820152600160801b90910463ffffffff16608082015290565b34801561041c57600080fd5b50600154604051908152602001610344565b34801561043a57600080fd5b5061044e610449366004611ab9565b610b47565b005b34801561045c57600080fd5b506104eb61046b366004611a54565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260116020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b604051610344919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b34801561053b57600080fd5b5061044e61054a366004611b3f565b610bd9565b34801561055b57600080fd5b5061044e61056a366004611b6b565b610c69565b34801561057b57600080fd5b50600d54600e54600f54601054604080519485526020850193909352918301526060820152608001610344565b3480156105b457600080fd5b5061044e6105c3366004611b9f565b610cf2565b3480156105d457600080fd5b5061044e6105e3366004611c14565b610d4c565b3480156105f457600080fd5b5061044e610603366004611c96565b610da4565b34801561061457600080fd5b506004546001600160a01b03165b6040516001600160a01b039091168152602001610344565b34801561064657600080fd5b5061044e610655366004611d09565b610e62565b61044e610668366004611d5c565b610ebc565b34801561067957600080fd5b506008546009546040805167ffffffffffffffff68010000000000000000850481168252600160801b850481166020830152600160c01b90940490931690830152606082015260006080820181905260a082015260c001610344565b3480156106e157600080fd5b5061044e6110c9565b3480156106f657600080fd5b5061044e610705366004611daf565b61112f565b34801561071657600080fd5b506013546c01000000000000000000000000900460601b6040516bffffffffffffffffffffffff199091168152602001610344565b34801561075757600080fd5b506000546001600160a01b0316610622565b34801561077557600080fd5b506012546013546040805163ffffffff600160a01b85048116825267ffffffffffffffff600160c01b9095048516602083015293831691810191909152680100000000000000009091049091166060820152608001610344565b3480156107db57600080fd5b506107ef6107ea366004611e30565b611329565b6040516103449190611e68565b34801561080857600080fd5b5061044e610817366004611eec565b61142a565b34801561082857600080fd5b5061044e610837366004611b3f565b6114b0565b34801561084857600080fd5b5061090b610857366004611a54565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915250600090815260066020908152604091829020825160c08101845281546001600160a01b03808216835267ffffffffffffffff600160a01b80840482169685019690965263ffffffff600160e01b938490048116978501979097526001949094015490811660608401529384049092166080820152910490911660a082015290565b6040516103449190600060c0820190506001600160a01b03808451168352602084015167ffffffffffffffff80821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b34801561098d57600080fd5b506109b161099c366004611a54565b6000908152600c602052604090205460ff1690565b6040519015158152602001610344565b3480156109cd57600080fd5b5061044e6109dc366004611ab9565b611516565b3480156109ed57600080fd5b5060085460405167ffffffffffffffff9091168152602001610344565b348015610a1657600080fd5b50600254600354604080516001600160a01b03938416815292909116602083015201610344565b348015610a4957600080fd5b5060045460055460408051600160a01b90930467ffffffffffffffff908116845280831660208501526801000000000000000090920490911690820152606001610344565b348015610a9a57600080fd5b5061044e610aa9366004611f20565b611572565b348015610aba57600080fd5b5061044e610ac9366004611f8b565b611607565b348015610ada57600080fd5b506109b1610ae9366004611fd7565b6001600160a01b031660009081526007602052604090205460ff1690565b348015610b1357600080fd5b5061044e610b22366004611fd7565b61165e565b348015610b3357600080fd5b5061044e610b42366004612006565b611740565b6040517f8f70139000000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__90638f70139090610ba3906001906012908990899089908990600401612214565b60006040518083038186803b158015610bbb57600080fd5b505af4158015610bcf573d6000803e3d6000fd5b5050505050505050565b6040517f1803c09e00000000000000000000000000000000000000000000000000000000815260126004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90631803c09e906064015b60006040518083038186803b158015610c4c57600080fd5b505af4158015610c60573d6000803e3d6000fd5b50505050505050565b6040517f9655f02b00000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90639655f02b90610cbe9060129086908690600401612278565b60006040518083038186803b158015610cd657600080fd5b505af4158015610cea573d6000803e3d6000fd5b505050505050565b6040517f7464f92700000000000000000000000000000000000000000000000000000000815273__$61f169726e973bba1227e0c23d2755f88e$__90637464f92790610c34906001906012908890889088906004016122a9565b6040517f8928458d00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__90638928458d90610cbe90600190601290879087906004016122ea565b6000546001600160a01b03163314610e035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6040517f6b90549000000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90636b90549090610c349060019060129088908890889060040161242f565b6000610f49610f05600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119139050565b604080516020601f8901819004810282018101909252878152610f44919089898083850183828082843760009201919091525092939250506119139050565b61191b565b90506000610f56826119c5565b6bffffffffffffffffffffffff198116600090815260146020526040902090915060016002820154600160801b900460ff166004811115610f9957610f99611e52565b1480610fc35750600280820154600160801b900460ff166004811115610fc157610fc1611e52565b145b6110355760405162461bcd60e51b815260206004820152602f60248201527f57616c6c6574206973206e65697468657220696e204c697665206e6f72204d6f60448201527f76696e6746756e647320737461746500000000000000000000000000000000006064820152608401610dfa565b6040517f9a08b74000000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__90639a08b7409061109090600d908b908b9088908c908c9060040161246f565b60006040518083038186803b1580156110a857600080fd5b505af41580156110bc573d6000803e3d6000fd5b5050505050505050505050565b6000546001600160a01b031633146111235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b61112d60006119ec565b565b6040517fc945968600000000000000000000000000000000000000000000000000000000815260009073__$d790fbbb73aa5f15b682a7376a512ac8e4$__9063c94596869061118d90600d908a908a908a908a908a906004016124df565b60206040518083038186803b1580156111a557600080fd5b505af41580156111b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dd9190612522565b600081815260066020526040902060010154909150600160e01b900463ffffffff1615158061121a57506000818152600c602052604090205460ff165b61128c5760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f73000000000000000000000000000000006064820152608401610dfa565b600480546040517f3f31f49f00000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__92633f31f49f926112f192600d928c928c928c928c926001600160a01b0316910161253b565b60006040518083038186803b15801561130957600080fd5b505af415801561131d573d6000803e3d6000fd5b50505050505050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526bffffffffffffffffffffffff198216600090815260146020908152604091829020825160e08101845281548152600182015492810192909252600281015467ffffffffffffffff81169383019390935263ffffffff680100000000000000008404811660608401526c010000000000000000000000008404166080830152909160a083019060ff600160801b90910416600481111561140457611404611e52565b600481111561141557611415611e52565b81526020016003820154815250509050919050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f49061147d906012908590600401612585565b60006040518083038186803b15801561149557600080fd5b505af41580156114a9573d6000803e3d6000fd5b5050505050565b6040517f4fd7d4860000000000000000000000000000000000000000000000000000000081526012600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d48690608401610c34565b6040517f7797c5dd00000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90637797c5dd90610ba3906001906012908990899089908990600401612214565b6040517f0b68d1d500000000000000000000000000000000000000000000000000000000815273__$faca6b149b11b9e5dd3c54d44c40a95c4f$__90630b68d1d5906115d0906001906012908a908a908a908a908a90600401612599565b60006040518083038186803b1580156115e857600080fd5b505af41580156115fc573d6000803e3d6000fd5b505050505050505050565b6040517f21e76ee800000000000000000000000000000000000000000000000000000000815273__$d790fbbb73aa5f15b682a7376a512ac8e4$__906321e76ee890610c3490600d908790879087906004016125fb565b6000546001600160a01b031633146116b85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b6001600160a01b0381166117345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610dfa565b61173d816119ec565b50565b6000546001600160a01b0316331461179a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dfa565b6040517f041aee990000000000000000000000000000000000000000000000000000000081526012600482015263ffffffff8516602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b15801561180a57600080fd5b505af415801561181e573d6000803e3d6000fd5b50506040517f998b564c0000000000000000000000000000000000000000000000000000000081526012600482015267ffffffffffffffff80871660248301528516604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b15801561189e57600080fd5b505af41580156118b2573d6000803e3d6000fd5b50506040517f45d9969c0000000000000000000000000000000000000000000000000000000081526012600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__92506345d9969c9150604401610ba3565b016020015190565b6060600061192a600284612626565b61195557507f0200000000000000000000000000000000000000000000000000000000000000611978565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215611a6657600080fd5b5035919050565b600060808284031215611a7f57600080fd5b50919050565b600060608284031215611a7f57600080fd5b80356bffffffffffffffffffffffff1981168114611ab457600080fd5b919050565b60008060008060c08587031215611acf57600080fd5b843567ffffffffffffffff80821115611ae757600080fd5b611af388838901611a6d565b95506020870135915080821115611b0957600080fd5b50611b1687828801611a85565b935050611b268660408701611a85565b9150611b3460a08601611a97565b905092959194509250565b600080600060608486031215611b5457600080fd5b505081359360208301359350604090920135919050565b60008060808385031215611b7e57600080fd5b611b8783611a97565b9150611b968460208501611a85565b90509250929050565b600080600060a08486031215611bb457600080fd5b833567ffffffffffffffff80821115611bcc57600080fd5b611bd887838801611a6d565b94506020860135915080821115611bee57600080fd5b50611bfb86828701611a85565b925050611c0b8560408601611a85565b90509250925092565b600080828403610100811215611c2957600080fd5b833567ffffffffffffffff811115611c4057600080fd5b611c4c86828701611a6d565b93505060e0601f1982011215611c6157600080fd5b506020830190509250929050565b80356001600160a01b0381168114611ab457600080fd5b80358015158114611ab457600080fd5b60008060408385031215611ca957600080fd5b611cb283611c6f565b9150611b9660208401611c86565b60008083601f840112611cd257600080fd5b50813567ffffffffffffffff811115611cea57600080fd5b602083019150836020828501011115611d0257600080fd5b9250929050565b600080600060408486031215611d1e57600080fd5b611d2784611a97565b9250602084013567ffffffffffffffff811115611d4357600080fd5b611d4f86828701611cc0565b9497909650939450505050565b60008060008060a08587031215611d7257600080fd5b843567ffffffffffffffff811115611d8957600080fd5b611d9587828801611cc0565b90955093505060208501359150611b348660408701611a85565b600080600080600060608688031215611dc757600080fd5b853567ffffffffffffffff80821115611ddf57600080fd5b611deb89838a01611cc0565b90975095506020880135915080821115611e0457600080fd5b50611e1188828901611cc0565b9094509250611e24905060408701611c86565b90509295509295909350565b600060208284031215611e4257600080fd5b611e4b82611a97565b9392505050565b634e487b7160e01b600052602160045260246000fd5b600060e082019050825182526020830151602083015267ffffffffffffffff6040840151166040830152606083015163ffffffff8082166060850152806080860151166080850152505060a083015160058110611ed557634e487b7160e01b600052602160045260246000fd5b8060a08401525060c083015160c083015292915050565b600060608284031215611efe57600080fd5b611e4b8383611a85565b803567ffffffffffffffff81168114611ab457600080fd5b600080600080600060c08688031215611f3857600080fd5b611f4186611a97565b9450611f508760208801611a85565b9350608086013567ffffffffffffffff811115611f6c57600080fd5b611f7888828901611cc0565b9094509250611e24905060a08701611f08565b600080600060408486031215611fa057600080fd5b833567ffffffffffffffff811115611fb757600080fd5b611fc386828701611cc0565b909790965060209590950135949350505050565b600060208284031215611fe957600080fd5b611e4b82611c6f565b803563ffffffff81168114611ab457600080fd5b6000806000806080858703121561201c57600080fd5b61202585611ff2565b935061203360208601611f08565b925061204160408601611f08565b9150611b3460608601611ff2565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114611ab457600080fd5b6000808335601e1984360301811261209657600080fd5b830160208101925035905067ffffffffffffffff8111156120b657600080fd5b803603831315611d0257600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60007fffffffff000000000000000000000000000000000000000000000000000000008061211b8461204f565b16845261212b602084018461207f565b608060208701526121406080870182846120c5565b915050612150604085018561207f565b86830360408801526121638382846120c5565b92505050816121746060860161204f565b166060860152809250505092915050565b6000612191828361207f565b606085526121a36060860182846120c5565b915050602083013560208501526121bd604084018461207f565b85830360408701526121d08382846120c5565b9695505050505050565b8035825263ffffffff6121ef60208301611ff2565b16602083015267ffffffffffffffff61220a60408301611f08565b1660408301525050565b6000610100888352876020840152806040840152612234818401886120ee565b905082810360608401526122488187612185565b91505061225860808301856121da565b6bffffffffffffffffffffffff19831660e0830152979650505050505050565b8381526bffffffffffffffffffffffff198316602082015260a081016122a160408301846121da565b949350505050565b85815284602082015260e0604082015260006122c860e08301866120ee565b82810360608401526122da8186612185565b9150506121d060808301846121da565b600061014086835285602084015280604084015261230a818401866120ee565b91505063ffffffff61231b84611ff2565b1660608301526001600160a01b0361233560208501611c6f565b16608083015260408301357fffffffffffffffff0000000000000000000000000000000000000000000000008116811461236e57600080fd5b7fffffffffffffffff0000000000000000000000000000000000000000000000001660a08301526123a160608401611a97565b6bffffffffffffffffffffffff191660c08301526123c160808401611a97565b6bffffffffffffffffffffffff191660e08301526123e160a0840161204f565b7fffffffff000000000000000000000000000000000000000000000000000000001661010083015261241560c08401611c6f565b6001600160a01b0381166101208401525095945050505050565b8581528460208201526bffffffffffffffffffffffff19841660408201526080606082015260006124646080830184866120c5565b979650505050505050565b86815260e06020820152600061248960e0830187896120c5565b90506bffffffffffffffffffffffff198516604083015283606083015282356080830152602083013560a0830152604083013560ff81168082146124cc57600080fd5b8060c08501525050979650505050505050565b8681526080602082015260006124f96080830187896120c5565b828103604084015261250c8186886120c5565b9150508215156060830152979650505050505050565b60006020828403121561253457600080fd5b5051919050565b8681526080602082015260006125556080830187896120c5565b82810360408401526125688186886120c5565b9150506001600160a01b0383166060830152979650505050505050565b82815260808101611e4b60208301846121da565b60006101008983528860208401526bffffffffffffffffffffffff19881660408401526125c960608401886121da565b8060c08401526125dc81840186886120c5565b91505067ffffffffffffffff831660e083015298975050505050505050565b8481526060602082015260006126156060830185876120c5565b905082604083015295945050505050565b60008261264357634e487b7160e01b600052601260045260246000fd5b50069056fea2646970667358221220d49289b806e928b3573d8ae1a8360ac448cc154e5830787c085ada8254e801fc64736f6c63430008090033",
1635
+ "linkReferences": {
1636
+ "contracts/bridge/Deposit.sol": {
1637
+ "Deposit": [
1638
+ {
1639
+ "length": 20,
1640
+ "start": 5077
1641
+ }
1642
+ ]
1643
+ },
1644
+ "contracts/bridge/Frauds.sol": {
1645
+ "Frauds": [
1646
+ {
1647
+ "length": 20,
1648
+ "start": 525
1649
+ },
1650
+ {
1651
+ "length": 20,
1652
+ "start": 631
1653
+ },
1654
+ {
1655
+ "length": 20,
1656
+ "start": 741
1657
+ },
1658
+ {
1659
+ "length": 20,
1660
+ "start": 856
1661
+ },
1662
+ {
1663
+ "length": 20,
1664
+ "start": 5822
1665
+ },
1666
+ {
1667
+ "length": 20,
1668
+ "start": 6075
1669
+ },
1670
+ {
1671
+ "length": 20,
1672
+ "start": 6425
1673
+ },
1674
+ {
1675
+ "length": 20,
1676
+ "start": 7312
1677
+ }
1678
+ ]
1679
+ },
1680
+ "contracts/bridge/MovingFunds.sol": {
1681
+ "MovingFunds": [
1682
+ {
1683
+ "length": 20,
1684
+ "start": 4560
1685
+ }
1686
+ ]
1687
+ },
1688
+ "contracts/bridge/Redeem.sol": {
1689
+ "Redeem": [
1690
+ {
1691
+ "length": 20,
1692
+ "start": 5355
1693
+ },
1694
+ {
1695
+ "length": 20,
1696
+ "start": 7071
1697
+ },
1698
+ {
1699
+ "length": 20,
1700
+ "start": 7163
1701
+ }
1702
+ ]
1703
+ },
1704
+ "contracts/bridge/Sweep.sol": {
1705
+ "Sweep": [
1706
+ {
1707
+ "length": 20,
1708
+ "start": 4987
1709
+ }
1710
+ ]
1711
+ },
1712
+ "contracts/bridge/Wallets.sol": {
1713
+ "Wallets": [
1714
+ {
1715
+ "length": 20,
1716
+ "start": 972
1717
+ },
1718
+ {
1719
+ "length": 20,
1720
+ "start": 1082
1721
+ },
1722
+ {
1723
+ "length": 20,
1724
+ "start": 1203
1725
+ },
1726
+ {
1727
+ "length": 20,
1728
+ "start": 1313
1729
+ },
1730
+ {
1731
+ "length": 20,
1732
+ "start": 4727
1733
+ },
1734
+ {
1735
+ "length": 20,
1736
+ "start": 4850
1737
+ },
1738
+ {
1739
+ "length": 20,
1740
+ "start": 6835
1741
+ },
1742
+ {
1743
+ "length": 20,
1744
+ "start": 6997
1745
+ },
1746
+ {
1747
+ "length": 20,
1748
+ "start": 7734
1749
+ },
1750
+ {
1751
+ "length": 20,
1752
+ "start": 7880
1753
+ },
1754
+ {
1755
+ "length": 20,
1756
+ "start": 8016
1757
+ }
1758
+ ]
1759
+ }
1760
+ },
1761
+ "deployedLinkReferences": {
1762
+ "contracts/bridge/Deposit.sol": {
1763
+ "Deposit": [
1764
+ {
1765
+ "length": 20,
1766
+ "start": 3444
1767
+ }
1768
+ ]
1769
+ },
1770
+ "contracts/bridge/Frauds.sol": {
1771
+ "Frauds": [
1772
+ {
1773
+ "length": 20,
1774
+ "start": 4189
1775
+ },
1776
+ {
1777
+ "length": 20,
1778
+ "start": 4442
1779
+ },
1780
+ {
1781
+ "length": 20,
1782
+ "start": 4792
1783
+ },
1784
+ {
1785
+ "length": 20,
1786
+ "start": 5679
1787
+ }
1788
+ ]
1789
+ },
1790
+ "contracts/bridge/MovingFunds.sol": {
1791
+ "MovingFunds": [
1792
+ {
1793
+ "length": 20,
1794
+ "start": 2927
1795
+ }
1796
+ ]
1797
+ },
1798
+ "contracts/bridge/Redeem.sol": {
1799
+ "Redeem": [
1800
+ {
1801
+ "length": 20,
1802
+ "start": 3722
1803
+ },
1804
+ {
1805
+ "length": 20,
1806
+ "start": 5438
1807
+ },
1808
+ {
1809
+ "length": 20,
1810
+ "start": 5530
1811
+ }
1812
+ ]
1813
+ },
1814
+ "contracts/bridge/Sweep.sol": {
1815
+ "Sweep": [
1816
+ {
1817
+ "length": 20,
1818
+ "start": 3354
1819
+ }
1820
+ ]
1821
+ },
1822
+ "contracts/bridge/Wallets.sol": {
1823
+ "Wallets": [
1824
+ {
1825
+ "length": 20,
1826
+ "start": 3094
1827
+ },
1828
+ {
1829
+ "length": 20,
1830
+ "start": 3217
1831
+ },
1832
+ {
1833
+ "length": 20,
1834
+ "start": 5202
1835
+ },
1836
+ {
1837
+ "length": 20,
1838
+ "start": 5364
1839
+ },
1840
+ {
1841
+ "length": 20,
1842
+ "start": 6101
1843
+ },
1844
+ {
1845
+ "length": 20,
1846
+ "start": 6247
1847
+ },
1848
+ {
1849
+ "length": 20,
1850
+ "start": 6383
1851
+ }
1852
+ ]
1853
+ }
1854
+ }
176
1855
  }