@keep-network/tbtc-v2 0.1.1-dev.0 → 0.1.1-dev.12

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 (30) hide show
  1. package/artifacts/TBTC.json +24 -24
  2. package/artifacts/TBTCToken.json +24 -24
  3. package/artifacts/VendingMachine.json +17 -17
  4. package/artifacts/solcInputs/258c81d1106a1d8dae0e3424749db907.json +134 -0
  5. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  6. package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
  7. package/build/contracts/bank/Bank.sol/Bank.json +537 -0
  8. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  9. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  10. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  11. package/build/contracts/bridge/Bridge.sol/Bridge.json +473 -0
  12. package/build/contracts/bridge/Bridge.sol/IRelay.dbg.json +4 -0
  13. package/build/contracts/bridge/Bridge.sol/IRelay.json +37 -0
  14. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  15. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  16. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  17. package/build/contracts/token/TBTC.sol/TBTC.json +4 -4
  18. package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
  19. package/build/contracts/vault/IVault.sol/IVault.json +47 -0
  20. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
  21. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +181 -0
  22. package/contracts/bank/Bank.sol +389 -0
  23. package/contracts/bridge/BitcoinTx.sol +125 -0
  24. package/contracts/bridge/Bridge.sol +804 -0
  25. package/contracts/vault/IVault.sol +60 -0
  26. package/contracts/vault/TBTCVault.sol +146 -0
  27. package/deploy/00_resolve_tbtc_v1_token.ts +1 -1
  28. package/export.json +4 -4
  29. package/package.json +25 -15
  30. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -104
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/2c4248711b87bf88539b00b8fc80902e.json"
3
+ "buildInfo": "../../build-info/ef80c46c2e86dfc5f0165578a1c13667.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/ef80c46c2e86dfc5f0165578a1c13667.json"
4
+ }
@@ -0,0 +1,537 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Bank",
4
+ "sourceName": "contracts/bank/Bank.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "owner",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": true,
22
+ "internalType": "address",
23
+ "name": "spender",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "amount",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "BalanceApproved",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "owner",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": false,
47
+ "internalType": "uint256",
48
+ "name": "amount",
49
+ "type": "uint256"
50
+ }
51
+ ],
52
+ "name": "BalanceDecreased",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": true,
60
+ "internalType": "address",
61
+ "name": "owner",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "amount",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "BalanceIncreased",
72
+ "type": "event"
73
+ },
74
+ {
75
+ "anonymous": false,
76
+ "inputs": [
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "from",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": true,
85
+ "internalType": "address",
86
+ "name": "to",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "amount",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "BalanceTransferred",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": false,
104
+ "internalType": "address",
105
+ "name": "newBridge",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "BridgeUpdated",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "previousOwner",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": true,
123
+ "internalType": "address",
124
+ "name": "newOwner",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "name": "OwnershipTransferred",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "DOMAIN_SEPARATOR",
134
+ "outputs": [
135
+ {
136
+ "internalType": "bytes32",
137
+ "name": "",
138
+ "type": "bytes32"
139
+ }
140
+ ],
141
+ "stateMutability": "view",
142
+ "type": "function"
143
+ },
144
+ {
145
+ "inputs": [],
146
+ "name": "PERMIT_TYPEHASH",
147
+ "outputs": [
148
+ {
149
+ "internalType": "bytes32",
150
+ "name": "",
151
+ "type": "bytes32"
152
+ }
153
+ ],
154
+ "stateMutability": "view",
155
+ "type": "function"
156
+ },
157
+ {
158
+ "inputs": [
159
+ {
160
+ "internalType": "address",
161
+ "name": "",
162
+ "type": "address"
163
+ },
164
+ {
165
+ "internalType": "address",
166
+ "name": "",
167
+ "type": "address"
168
+ }
169
+ ],
170
+ "name": "allowance",
171
+ "outputs": [
172
+ {
173
+ "internalType": "uint256",
174
+ "name": "",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "stateMutability": "view",
179
+ "type": "function"
180
+ },
181
+ {
182
+ "inputs": [
183
+ {
184
+ "internalType": "address",
185
+ "name": "spender",
186
+ "type": "address"
187
+ },
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "amount",
191
+ "type": "uint256"
192
+ }
193
+ ],
194
+ "name": "approveBalance",
195
+ "outputs": [],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "vault",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "uint256",
208
+ "name": "amount",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "approveBalanceAndCall",
213
+ "outputs": [],
214
+ "stateMutability": "nonpayable",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "address",
221
+ "name": "",
222
+ "type": "address"
223
+ }
224
+ ],
225
+ "name": "balanceOf",
226
+ "outputs": [
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "",
230
+ "type": "uint256"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [],
238
+ "name": "bridge",
239
+ "outputs": [
240
+ {
241
+ "internalType": "address",
242
+ "name": "",
243
+ "type": "address"
244
+ }
245
+ ],
246
+ "stateMutability": "view",
247
+ "type": "function"
248
+ },
249
+ {
250
+ "inputs": [],
251
+ "name": "cachedChainId",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "stateMutability": "view",
260
+ "type": "function"
261
+ },
262
+ {
263
+ "inputs": [],
264
+ "name": "cachedDomainSeparator",
265
+ "outputs": [
266
+ {
267
+ "internalType": "bytes32",
268
+ "name": "",
269
+ "type": "bytes32"
270
+ }
271
+ ],
272
+ "stateMutability": "view",
273
+ "type": "function"
274
+ },
275
+ {
276
+ "inputs": [
277
+ {
278
+ "internalType": "uint256",
279
+ "name": "amount",
280
+ "type": "uint256"
281
+ }
282
+ ],
283
+ "name": "decreaseBalance",
284
+ "outputs": [],
285
+ "stateMutability": "nonpayable",
286
+ "type": "function"
287
+ },
288
+ {
289
+ "inputs": [
290
+ {
291
+ "internalType": "address",
292
+ "name": "spender",
293
+ "type": "address"
294
+ },
295
+ {
296
+ "internalType": "uint256",
297
+ "name": "subtractedValue",
298
+ "type": "uint256"
299
+ }
300
+ ],
301
+ "name": "decreaseBalanceAllowance",
302
+ "outputs": [],
303
+ "stateMutability": "nonpayable",
304
+ "type": "function"
305
+ },
306
+ {
307
+ "inputs": [
308
+ {
309
+ "internalType": "address",
310
+ "name": "recipient",
311
+ "type": "address"
312
+ },
313
+ {
314
+ "internalType": "uint256",
315
+ "name": "amount",
316
+ "type": "uint256"
317
+ }
318
+ ],
319
+ "name": "increaseBalance",
320
+ "outputs": [],
321
+ "stateMutability": "nonpayable",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [
326
+ {
327
+ "internalType": "address",
328
+ "name": "spender",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "addedValue",
334
+ "type": "uint256"
335
+ }
336
+ ],
337
+ "name": "increaseBalanceAllowance",
338
+ "outputs": [],
339
+ "stateMutability": "nonpayable",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "vault",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "address[]",
351
+ "name": "depositors",
352
+ "type": "address[]"
353
+ },
354
+ {
355
+ "internalType": "uint256[]",
356
+ "name": "depositedAmounts",
357
+ "type": "uint256[]"
358
+ }
359
+ ],
360
+ "name": "increaseBalanceAndCall",
361
+ "outputs": [],
362
+ "stateMutability": "nonpayable",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "address[]",
369
+ "name": "recipients",
370
+ "type": "address[]"
371
+ },
372
+ {
373
+ "internalType": "uint256[]",
374
+ "name": "amounts",
375
+ "type": "uint256[]"
376
+ }
377
+ ],
378
+ "name": "increaseBalances",
379
+ "outputs": [],
380
+ "stateMutability": "nonpayable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [
385
+ {
386
+ "internalType": "address",
387
+ "name": "",
388
+ "type": "address"
389
+ }
390
+ ],
391
+ "name": "nonce",
392
+ "outputs": [
393
+ {
394
+ "internalType": "uint256",
395
+ "name": "",
396
+ "type": "uint256"
397
+ }
398
+ ],
399
+ "stateMutability": "view",
400
+ "type": "function"
401
+ },
402
+ {
403
+ "inputs": [],
404
+ "name": "owner",
405
+ "outputs": [
406
+ {
407
+ "internalType": "address",
408
+ "name": "",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "stateMutability": "view",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [
417
+ {
418
+ "internalType": "address",
419
+ "name": "owner",
420
+ "type": "address"
421
+ },
422
+ {
423
+ "internalType": "address",
424
+ "name": "spender",
425
+ "type": "address"
426
+ },
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "amount",
430
+ "type": "uint256"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "deadline",
435
+ "type": "uint256"
436
+ },
437
+ {
438
+ "internalType": "uint8",
439
+ "name": "v",
440
+ "type": "uint8"
441
+ },
442
+ {
443
+ "internalType": "bytes32",
444
+ "name": "r",
445
+ "type": "bytes32"
446
+ },
447
+ {
448
+ "internalType": "bytes32",
449
+ "name": "s",
450
+ "type": "bytes32"
451
+ }
452
+ ],
453
+ "name": "permit",
454
+ "outputs": [],
455
+ "stateMutability": "nonpayable",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [],
460
+ "name": "renounceOwnership",
461
+ "outputs": [],
462
+ "stateMutability": "nonpayable",
463
+ "type": "function"
464
+ },
465
+ {
466
+ "inputs": [
467
+ {
468
+ "internalType": "address",
469
+ "name": "recipient",
470
+ "type": "address"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "amount",
475
+ "type": "uint256"
476
+ }
477
+ ],
478
+ "name": "transferBalance",
479
+ "outputs": [],
480
+ "stateMutability": "nonpayable",
481
+ "type": "function"
482
+ },
483
+ {
484
+ "inputs": [
485
+ {
486
+ "internalType": "address",
487
+ "name": "spender",
488
+ "type": "address"
489
+ },
490
+ {
491
+ "internalType": "address",
492
+ "name": "recipient",
493
+ "type": "address"
494
+ },
495
+ {
496
+ "internalType": "uint256",
497
+ "name": "amount",
498
+ "type": "uint256"
499
+ }
500
+ ],
501
+ "name": "transferBalanceFrom",
502
+ "outputs": [],
503
+ "stateMutability": "nonpayable",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "address",
510
+ "name": "newOwner",
511
+ "type": "address"
512
+ }
513
+ ],
514
+ "name": "transferOwnership",
515
+ "outputs": [],
516
+ "stateMutability": "nonpayable",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "internalType": "address",
523
+ "name": "_bridge",
524
+ "type": "address"
525
+ }
526
+ ],
527
+ "name": "updateBridge",
528
+ "outputs": [],
529
+ "stateMutability": "nonpayable",
530
+ "type": "function"
531
+ }
532
+ ],
533
+ "bytecode": "0x60c06040523480156200001157600080fd5b5062000032620000266200005760201b60201c565b6200005f60201b60201c565b46608081815250506200004a6200012360201b60201c565b60a08181525050620002cb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001620001d895949392919062000226565b60405160208183030381529060405280519060200120905090565b620001fe8162000283565b82525050565b6200020f8162000297565b82525050565b6200022081620002c1565b82525050565b600060a0820190506200023d600083018862000204565b6200024c602083018762000204565b6200025b604083018662000204565b6200026a606083018562000215565b620002796080830184620001f3565b9695505050505050565b60006200029082620002a1565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60805160a051612aa9620002ff600039600081816107440152610ce901526000818161071c0152610b920152612aa96000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b4f94b2e1161007c578063b4f94b2e1461034c578063bb7e61bc1461036a578063d505accf14610386578063dd62ed3e146103a2578063e78cea92146103d2578063f2fde38b146103f05761014d565b806370a082311461028a57806370ae92d2146102ba578063715018a6146102ea578063771da5c5146102f45780637c6db49c146103125780638da5cb5b1461032e5761014d565b8063392aee4311610115578063392aee43146101e257806346b05e09146101fe57806356a6d9ef1461021a5780635b86f599146102365780635bfd99b9146102525780636eb382121461026e5761014d565b80630b6d324c1461015257806315b9b92a1461016e578063266a123a1461018a57806330adf81f146101a65780633644e515146101c4575b600080fd5b61016c60048036038101906101679190611c39565b61040c565b005b61018860048036038101906101839190611c39565b6104e2565b005b6101a4600480360381019061019f9190611c75565b61055e565b005b6101ae6106f4565b6040516101bb919061214b565b60405180910390f35b6101cc610718565b6040516101d9919061214b565b60405180910390f35b6101fc60048036038101906101f79190611cea565b610778565b005b61021860048036038101906102139190611c39565b61081f565b005b610234600480360381019061022f9190611c39565b61082e565b005b610250600480360381019061024b9190611c39565b61083d565b005b61026c60048036038101906102679190611c39565b6108db565b005b61028860048036038101906102839190611a5e565b610971565b005b6102a4600480360381019061029f9190611a5e565b610ad8565b6040516102b1919061245f565b60405180910390f35b6102d460048036038101906102cf9190611a5e565b610af0565b6040516102e1919061245f565b60405180910390f35b6102f2610b08565b005b6102fc610b90565b604051610309919061245f565b60405180910390f35b61032c60048036038101906103279190611ac3565b610bb4565b005b610336610cbe565b60405161034391906120cc565b60405180910390f35b610354610ce7565b604051610361919061214b565b60405180910390f35b610384600480360381019061037f9190611bb0565b610d0b565b005b6103a0600480360381019061039b9190611b12565b610ed6565b005b6103bc60048036038101906103b79190611a87565b6111ba565b6040516103c9919061245f565b60405180910390f35b6103da6111df565b6040516103e791906120cc565b60405180910390f35b61040a60048036038101906104059190611a5e565b611205565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c79061243f565b60405180910390fd5b6104dd33848484036112fd565b505050565b6104ed3383836112fd565b8173ffffffffffffffffffffffffffffffffffffffff16635379413733836040518363ffffffff1660e01b81526004016105289291906120e7565b600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e5906123ff565b60405180910390fd5b818190508484905014610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d9061225f565b60405180910390fd5b60005b848490508110156106ed576106da858583818110610680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106959190611a5e565b8484848181106106ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135611458565b80806106e5906125d2565b915050610639565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f000000000000000000000000000000000000000000000000000000000000000046141561076a577f00000000000000000000000000000000000000000000000000000000000000009050610775565b61077261156f565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107c7919061253c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff82604051610814919061245f565b60405180910390a250565b61082a3383836112fd565b5050565b61083933838361163d565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906123ff565b60405180910390fd5b6108d78282611458565b5050565b61096d338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461096891906124e6565b6112fd565b5050565b6109796118aa565b73ffffffffffffffffffffffffffffffffffffffff16610997610cbe565b73ffffffffffffffffffffffffffffffffffffffff16146109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e49061235f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a549061237f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610acd91906120cc565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610b106118aa565b73ffffffffffffffffffffffffffffffffffffffff16610b2e610cbe565b73ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b9061235f565b60405180910390fd5b610b8e60006118b2565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cad5781811015610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c969061229f565b60405180910390fd5b610cac84338484036112fd565b5b610cb884848461163d565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d92906123ff565b60405180910390fd5b818190508484905014610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda9061225f565b60405180910390fd5b6000805b83839050811015610e5257838382818110610e2b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610e3d91906124e6565b91508080610e4a906125d2565b915050610de7565b50610e5d8682611458565b8573ffffffffffffffffffffffffffffffffffffffff1663461c6373868686866040518563ffffffff1660e01b8152600401610e9c9493929190612110565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050505050565b42841015610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906123bf565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f76906123df565b60405180910390fd5b601b8360ff161480610f945750601c8360ff16145b610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca906122bf565b60405180910390fd5b6000610fdd610718565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611051906125d2565b919050558a60405160200161106b96959493929190612166565b60405160208183030381529060405280519060200120604051602001611092929190612095565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516110cf949392919061221a565b6020604051602081039080840390855afa1580156110f1573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561116557508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119b906122ff565b60405180910390fd5b6111af8989896112fd565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61120d6118aa565b73ffffffffffffffffffffffffffffffffffffffff1661122b610cbe565b73ffffffffffffffffffffffffffffffffffffffff1614611281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112789061235f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e89061227f565b60405180910390fd5b6112fa816118b2565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561136d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113649061231f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b4058360405161144b919061245f565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be9061241f565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461151691906124e6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b82604051611563919061245f565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016116229594939291906121c7565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a49061239f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561171c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611713906122df565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a9061233f565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461183891906124e6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d242618460405161189c919061245f565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061198581612a17565b92915050565b60008083601f84011261199d57600080fd5b8235905067ffffffffffffffff8111156119b657600080fd5b6020830191508360208202830111156119ce57600080fd5b9250929050565b60008083601f8401126119e757600080fd5b8235905067ffffffffffffffff811115611a0057600080fd5b602083019150836020820283011115611a1857600080fd5b9250929050565b600081359050611a2e81612a2e565b92915050565b600081359050611a4381612a45565b92915050565b600081359050611a5881612a5c565b92915050565b600060208284031215611a7057600080fd5b6000611a7e84828501611976565b91505092915050565b60008060408385031215611a9a57600080fd5b6000611aa885828601611976565b9250506020611ab985828601611976565b9150509250929050565b600080600060608486031215611ad857600080fd5b6000611ae686828701611976565b9350506020611af786828701611976565b9250506040611b0886828701611a34565b9150509250925092565b600080600080600080600060e0888a031215611b2d57600080fd5b6000611b3b8a828b01611976565b9750506020611b4c8a828b01611976565b9650506040611b5d8a828b01611a34565b9550506060611b6e8a828b01611a34565b9450506080611b7f8a828b01611a49565b93505060a0611b908a828b01611a1f565b92505060c0611ba18a828b01611a1f565b91505092959891949750929550565b600080600080600060608688031215611bc857600080fd5b6000611bd688828901611976565b955050602086013567ffffffffffffffff811115611bf357600080fd5b611bff8882890161198b565b9450945050604086013567ffffffffffffffff811115611c1e57600080fd5b611c2a888289016119d5565b92509250509295509295909350565b60008060408385031215611c4c57600080fd5b6000611c5a85828601611976565b9250506020611c6b85828601611a34565b9150509250929050565b60008060008060408587031215611c8b57600080fd5b600085013567ffffffffffffffff811115611ca557600080fd5b611cb18782880161198b565b9450945050602085013567ffffffffffffffff811115611cd057600080fd5b611cdc878288016119d5565b925092505092959194509250565b600060208284031215611cfc57600080fd5b6000611d0a84828501611a34565b91505092915050565b6000611d1f8383611d2b565b60208301905092915050565b611d3481612570565b82525050565b611d4381612570565b82525050565b6000611d558385612491565b9350611d608261247a565b8060005b85811015611d9957611d7682846124cf565b611d808882611d13565b9750611d8b83612484565b925050600181019050611d64565b5085925050509392505050565b6000611db283856124a2565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611de157600080fd5b602083029250611df28385846125c3565b82840190509392505050565b611e0781612582565b82525050565b611e1e611e1982612582565b61261b565b82525050565b6000611e316020836124b3565b9150611e3c82612654565b602082019050919050565b6000611e546026836124b3565b9150611e5f8261267d565b604082019050919050565b6000611e776021836124b3565b9150611e82826126cc565b604082019050919050565b6000611e9a6002836124c4565b9150611ea58261271b565b600282019050919050565b6000611ebd601b836124b3565b9150611ec882612744565b602082019050919050565b6000611ee06024836124b3565b9150611eeb8261276d565b604082019050919050565b6000611f036011836124b3565b9150611f0e826127bc565b602082019050919050565b6000611f266023836124b3565b9150611f31826127e5565b604082019050919050565b6000611f49601f836124b3565b9150611f5482612834565b602082019050919050565b6000611f6c6020836124b3565b9150611f778261285d565b602082019050919050565b6000611f8f601e836124b3565b9150611f9a82612886565b602082019050919050565b6000611fb26024836124b3565b9150611fbd826128af565b604082019050919050565b6000611fd56012836124b3565b9150611fe0826128fe565b602082019050919050565b6000611ff8601b836124b3565b915061200382612927565b602082019050919050565b600061201b6018836124b3565b915061202682612950565b602082019050919050565b600061203e6021836124b3565b915061204982612979565b604082019050919050565b6000612061602d836124b3565b915061206c826129c8565b604082019050919050565b612080816125ac565b82525050565b61208f816125b6565b82525050565b60006120a082611e8d565b91506120ac8285611e0d565b6020820191506120bc8284611e0d565b6020820191508190509392505050565b60006020820190506120e16000830184611d3a565b92915050565b60006040820190506120fc6000830185611d3a565b6121096020830184612077565b9392505050565b6000604082019050818103600083015261212b818688611d49565b90508181036020830152612140818486611da6565b905095945050505050565b60006020820190506121606000830184611dfe565b92915050565b600060c08201905061217b6000830189611dfe565b6121886020830188611d3a565b6121956040830187611d3a565b6121a26060830186612077565b6121af6080830185612077565b6121bc60a0830184612077565b979650505050505050565b600060a0820190506121dc6000830188611dfe565b6121e96020830187611dfe565b6121f66040830186611dfe565b6122036060830185612077565b6122106080830184611d3a565b9695505050505050565b600060808201905061222f6000830187611dfe565b61223c6020830186612086565b6122496040830185611dfe565b6122566060830184611dfe565b95945050505050565b6000602082019050818103600083015261227881611e24565b9050919050565b6000602082019050818103600083015261229881611e47565b9050919050565b600060208201905081810360008301526122b881611e6a565b9050919050565b600060208201905081810360008301526122d881611eb0565b9050919050565b600060208201905081810360008301526122f881611ed3565b9050919050565b6000602082019050818103600083015261231881611ef6565b9050919050565b6000602082019050818103600083015261233881611f19565b9050919050565b6000602082019050818103600083015261235881611f3c565b9050919050565b6000602082019050818103600083015261237881611f5f565b9050919050565b6000602082019050818103600083015261239881611f82565b9050919050565b600060208201905081810360008301526123b881611fa5565b9050919050565b600060208201905081810360008301526123d881611fc8565b9050919050565b600060208201905081810360008301526123f881611feb565b9050919050565b600060208201905081810360008301526124188161200e565b9050919050565b6000602082019050818103600083015261243881612031565b9050919050565b6000602082019050818103600083015261245881612054565b9050919050565b60006020820190506124746000830184612077565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006124de6020840184611976565b905092915050565b60006124f1826125ac565b91506124fc836125ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561253157612530612625565b5b828201905092915050565b6000612547826125ac565b9150612552836125ac565b92508282101561256557612564612625565b5b828203905092915050565b600061257b8261258c565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60006125dd826125ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126105761260f612625565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612a2081612570565b8114612a2b57600080fd5b50565b612a3781612582565b8114612a4257600080fd5b50565b612a4e816125ac565b8114612a5957600080fd5b50565b612a65816125b6565b8114612a7057600080fd5b5056fea2646970667358221220fb87ba15a08b4b0c937f997b7026d7b5a458ab77a4309ec9234241afa16256e164736f6c63430008040033",
534
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b4f94b2e1161007c578063b4f94b2e1461034c578063bb7e61bc1461036a578063d505accf14610386578063dd62ed3e146103a2578063e78cea92146103d2578063f2fde38b146103f05761014d565b806370a082311461028a57806370ae92d2146102ba578063715018a6146102ea578063771da5c5146102f45780637c6db49c146103125780638da5cb5b1461032e5761014d565b8063392aee4311610115578063392aee43146101e257806346b05e09146101fe57806356a6d9ef1461021a5780635b86f599146102365780635bfd99b9146102525780636eb382121461026e5761014d565b80630b6d324c1461015257806315b9b92a1461016e578063266a123a1461018a57806330adf81f146101a65780633644e515146101c4575b600080fd5b61016c60048036038101906101679190611c39565b61040c565b005b61018860048036038101906101839190611c39565b6104e2565b005b6101a4600480360381019061019f9190611c75565b61055e565b005b6101ae6106f4565b6040516101bb919061214b565b60405180910390f35b6101cc610718565b6040516101d9919061214b565b60405180910390f35b6101fc60048036038101906101f79190611cea565b610778565b005b61021860048036038101906102139190611c39565b61081f565b005b610234600480360381019061022f9190611c39565b61082e565b005b610250600480360381019061024b9190611c39565b61083d565b005b61026c60048036038101906102679190611c39565b6108db565b005b61028860048036038101906102839190611a5e565b610971565b005b6102a4600480360381019061029f9190611a5e565b610ad8565b6040516102b1919061245f565b60405180910390f35b6102d460048036038101906102cf9190611a5e565b610af0565b6040516102e1919061245f565b60405180910390f35b6102f2610b08565b005b6102fc610b90565b604051610309919061245f565b60405180910390f35b61032c60048036038101906103279190611ac3565b610bb4565b005b610336610cbe565b60405161034391906120cc565b60405180910390f35b610354610ce7565b604051610361919061214b565b60405180910390f35b610384600480360381019061037f9190611bb0565b610d0b565b005b6103a0600480360381019061039b9190611b12565b610ed6565b005b6103bc60048036038101906103b79190611a87565b6111ba565b6040516103c9919061245f565b60405180910390f35b6103da6111df565b6040516103e791906120cc565b60405180910390f35b61040a60048036038101906104059190611a5e565b611205565b005b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156104d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c79061243f565b60405180910390fd5b6104dd33848484036112fd565b505050565b6104ed3383836112fd565b8173ffffffffffffffffffffffffffffffffffffffff16635379413733836040518363ffffffff1660e01b81526004016105289291906120e7565b600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e5906123ff565b60405180910390fd5b818190508484905014610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d9061225f565b60405180910390fd5b60005b848490508110156106ed576106da858583818110610680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106959190611a5e565b8484848181106106ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135611458565b80806106e5906125d2565b915050610639565b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60007f000000000000000000000000000000000000000000000000000000000000000046141561076a577f00000000000000000000000000000000000000000000000000000000000000009050610775565b61077261156f565b90505b90565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107c7919061253c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff82604051610814919061245f565b60405180910390a250565b61082a3383836112fd565b5050565b61083933838361163d565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906123ff565b60405180910390fd5b6108d78282611458565b5050565b61096d338383600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461096891906124e6565b6112fd565b5050565b6109796118aa565b73ffffffffffffffffffffffffffffffffffffffff16610997610cbe565b73ffffffffffffffffffffffffffffffffffffffff16146109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e49061235f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a549061237f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a81604051610acd91906120cc565b60405180910390a150565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b610b106118aa565b73ffffffffffffffffffffffffffffffffffffffff16610b2e610cbe565b73ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b9061235f565b60405180910390fd5b610b8e60006118b2565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cad5781811015610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c969061229f565b60405180910390fd5b610cac84338484036112fd565b5b610cb884848461163d565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d92906123ff565b60405180910390fd5b818190508484905014610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda9061225f565b60405180910390fd5b6000805b83839050811015610e5257838382818110610e2b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002013582610e3d91906124e6565b91508080610e4a906125d2565b915050610de7565b50610e5d8682611458565b8573ffffffffffffffffffffffffffffffffffffffff1663461c6373868686866040518563ffffffff1660e01b8152600401610e9c9493929190612110565b600060405180830381600087803b158015610eb657600080fd5b505af1158015610eca573d6000803e3d6000fd5b50505050505050505050565b42841015610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f10906123bf565b60405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08160001c1115610f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f76906123df565b60405180910390fd5b601b8360ff161480610f945750601c8360ff16145b610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca906122bf565b60405180910390fd5b6000610fdd610718565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611051906125d2565b919050558a60405160200161106b96959493929190612166565b60405160208183030381529060405280519060200120604051602001611092929190612095565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516110cf949392919061221a565b6020604051602081039080840390855afa1580156110f1573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561116557508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119b906122ff565b60405180910390fd5b6111af8989896112fd565b505050505050505050565b6003602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61120d6118aa565b73ffffffffffffffffffffffffffffffffffffffff1661122b610cbe565b73ffffffffffffffffffffffffffffffffffffffff1614611281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112789061235f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e89061227f565b60405180910390fd5b6112fa816118b2565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561136d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113649061231f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b4058360405161144b919061245f565b60405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be9061241f565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461151691906124e6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b82604051611563919061245f565b60405180910390a25050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600981526020017f544254432042616e6b0000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016116229594939291906121c7565b60405160208183030381529060405280519060200120905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a49061239f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561171c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611713906122df565b60405180910390fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a9061233f565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461183891906124e6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d242618460405161189c919061245f565b60405180910390a350505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061198581612a17565b92915050565b60008083601f84011261199d57600080fd5b8235905067ffffffffffffffff8111156119b657600080fd5b6020830191508360208202830111156119ce57600080fd5b9250929050565b60008083601f8401126119e757600080fd5b8235905067ffffffffffffffff811115611a0057600080fd5b602083019150836020820283011115611a1857600080fd5b9250929050565b600081359050611a2e81612a2e565b92915050565b600081359050611a4381612a45565b92915050565b600081359050611a5881612a5c565b92915050565b600060208284031215611a7057600080fd5b6000611a7e84828501611976565b91505092915050565b60008060408385031215611a9a57600080fd5b6000611aa885828601611976565b9250506020611ab985828601611976565b9150509250929050565b600080600060608486031215611ad857600080fd5b6000611ae686828701611976565b9350506020611af786828701611976565b9250506040611b0886828701611a34565b9150509250925092565b600080600080600080600060e0888a031215611b2d57600080fd5b6000611b3b8a828b01611976565b9750506020611b4c8a828b01611976565b9650506040611b5d8a828b01611a34565b9550506060611b6e8a828b01611a34565b9450506080611b7f8a828b01611a49565b93505060a0611b908a828b01611a1f565b92505060c0611ba18a828b01611a1f565b91505092959891949750929550565b600080600080600060608688031215611bc857600080fd5b6000611bd688828901611976565b955050602086013567ffffffffffffffff811115611bf357600080fd5b611bff8882890161198b565b9450945050604086013567ffffffffffffffff811115611c1e57600080fd5b611c2a888289016119d5565b92509250509295509295909350565b60008060408385031215611c4c57600080fd5b6000611c5a85828601611976565b9250506020611c6b85828601611a34565b9150509250929050565b60008060008060408587031215611c8b57600080fd5b600085013567ffffffffffffffff811115611ca557600080fd5b611cb18782880161198b565b9450945050602085013567ffffffffffffffff811115611cd057600080fd5b611cdc878288016119d5565b925092505092959194509250565b600060208284031215611cfc57600080fd5b6000611d0a84828501611a34565b91505092915050565b6000611d1f8383611d2b565b60208301905092915050565b611d3481612570565b82525050565b611d4381612570565b82525050565b6000611d558385612491565b9350611d608261247a565b8060005b85811015611d9957611d7682846124cf565b611d808882611d13565b9750611d8b83612484565b925050600181019050611d64565b5085925050509392505050565b6000611db283856124a2565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611de157600080fd5b602083029250611df28385846125c3565b82840190509392505050565b611e0781612582565b82525050565b611e1e611e1982612582565b61261b565b82525050565b6000611e316020836124b3565b9150611e3c82612654565b602082019050919050565b6000611e546026836124b3565b9150611e5f8261267d565b604082019050919050565b6000611e776021836124b3565b9150611e82826126cc565b604082019050919050565b6000611e9a6002836124c4565b9150611ea58261271b565b600282019050919050565b6000611ebd601b836124b3565b9150611ec882612744565b602082019050919050565b6000611ee06024836124b3565b9150611eeb8261276d565b604082019050919050565b6000611f036011836124b3565b9150611f0e826127bc565b602082019050919050565b6000611f266023836124b3565b9150611f31826127e5565b604082019050919050565b6000611f49601f836124b3565b9150611f5482612834565b602082019050919050565b6000611f6c6020836124b3565b9150611f778261285d565b602082019050919050565b6000611f8f601e836124b3565b9150611f9a82612886565b602082019050919050565b6000611fb26024836124b3565b9150611fbd826128af565b604082019050919050565b6000611fd56012836124b3565b9150611fe0826128fe565b602082019050919050565b6000611ff8601b836124b3565b915061200382612927565b602082019050919050565b600061201b6018836124b3565b915061202682612950565b602082019050919050565b600061203e6021836124b3565b915061204982612979565b604082019050919050565b6000612061602d836124b3565b915061206c826129c8565b604082019050919050565b612080816125ac565b82525050565b61208f816125b6565b82525050565b60006120a082611e8d565b91506120ac8285611e0d565b6020820191506120bc8284611e0d565b6020820191508190509392505050565b60006020820190506120e16000830184611d3a565b92915050565b60006040820190506120fc6000830185611d3a565b6121096020830184612077565b9392505050565b6000604082019050818103600083015261212b818688611d49565b90508181036020830152612140818486611da6565b905095945050505050565b60006020820190506121606000830184611dfe565b92915050565b600060c08201905061217b6000830189611dfe565b6121886020830188611d3a565b6121956040830187611d3a565b6121a26060830186612077565b6121af6080830185612077565b6121bc60a0830184612077565b979650505050505050565b600060a0820190506121dc6000830188611dfe565b6121e96020830187611dfe565b6121f66040830186611dfe565b6122036060830185612077565b6122106080830184611d3a565b9695505050505050565b600060808201905061222f6000830187611dfe565b61223c6020830186612086565b6122496040830185611dfe565b6122566060830184611dfe565b95945050505050565b6000602082019050818103600083015261227881611e24565b9050919050565b6000602082019050818103600083015261229881611e47565b9050919050565b600060208201905081810360008301526122b881611e6a565b9050919050565b600060208201905081810360008301526122d881611eb0565b9050919050565b600060208201905081810360008301526122f881611ed3565b9050919050565b6000602082019050818103600083015261231881611ef6565b9050919050565b6000602082019050818103600083015261233881611f19565b9050919050565b6000602082019050818103600083015261235881611f3c565b9050919050565b6000602082019050818103600083015261237881611f5f565b9050919050565b6000602082019050818103600083015261239881611f82565b9050919050565b600060208201905081810360008301526123b881611fa5565b9050919050565b600060208201905081810360008301526123d881611fc8565b9050919050565b600060208201905081810360008301526123f881611feb565b9050919050565b600060208201905081810360008301526124188161200e565b9050919050565b6000602082019050818103600083015261243881612031565b9050919050565b6000602082019050818103600083015261245881612054565b9050919050565b60006020820190506124746000830184612077565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006124de6020840184611976565b905092915050565b60006124f1826125ac565b91506124fc836125ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561253157612530612625565b5b828201905092915050565b6000612547826125ac565b9150612552836125ac565b92508282101561256557612564612625565b5b828203905092915050565b600061257b8261258c565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60006125dd826125ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156126105761260f612625565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f417272617973206d7573742068617665207468652073616d65206c656e677468600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202776272076616c75650000000000600082015250565b7f43616e206e6f74207472616e7366657220746f207468652042616e6b2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4272696467652061646472657373206d757374206e6f74206265203078300000600082015250565b7f43616e206e6f74207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f5065726d697373696f6e20657870697265640000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265202773272076616c75650000000000600082015250565b7f43616c6c6572206973206e6f7420746865206272696467650000000000000000600082015250565b7f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60008201527f6b00000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60008201527f63652062656c6f77207a65726f00000000000000000000000000000000000000602082015250565b612a2081612570565b8114612a2b57600080fd5b50565b612a3781612582565b8114612a4257600080fd5b50565b612a4e816125ac565b8114612a5957600080fd5b50565b612a65816125b6565b8114612a7057600080fd5b5056fea2646970667358221220fb87ba15a08b4b0c937f997b7026d7b5a458ab77a4309ec9234241afa16256e164736f6c63430008040033",
535
+ "linkReferences": {},
536
+ "deployedLinkReferences": {}
537
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/ef80c46c2e86dfc5f0165578a1c13667.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BitcoinTx",
4
+ "sourceName": "contracts/bridge/BitcoinTx.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070b420ff4162cdda2bcf6e79f3c2f6aea70748d6b04373887d1c3a905254c66664736f6c63430008040033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070b420ff4162cdda2bcf6e79f3c2f6aea70748d6b04373887d1c3a905254c66664736f6c63430008040033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/ef80c46c2e86dfc5f0165578a1c13667.json"
4
+ }