@keep-network/tbtc-v2 0.1.1-dev.1 → 0.1.1-dev.13

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 (29) hide show
  1. package/artifacts/TBTC.json +18 -18
  2. package/artifacts/TBTCToken.json +18 -18
  3. package/artifacts/VendingMachine.json +19 -19
  4. package/artifacts/solcInputs/ae2bc16e265d94d570ec143fe628377f.json +134 -0
  5. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  6. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  7. package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
  8. package/build/contracts/bank/Bank.sol/Bank.json +537 -0
  9. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  10. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  11. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  12. package/build/contracts/bridge/Bridge.sol/Bridge.json +473 -0
  13. package/build/contracts/bridge/Bridge.sol/IRelay.dbg.json +4 -0
  14. package/build/contracts/bridge/Bridge.sol/IRelay.json +37 -0
  15. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  16. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  17. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  18. package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
  19. package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
  20. package/build/contracts/vault/IVault.sol/IVault.json +47 -0
  21. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
  22. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +181 -0
  23. package/contracts/bank/Bank.sol +389 -0
  24. package/contracts/bridge/BitcoinTx.sol +125 -0
  25. package/contracts/bridge/Bridge.sol +803 -0
  26. package/contracts/vault/IVault.sol +60 -0
  27. package/contracts/vault/TBTCVault.sol +146 -0
  28. package/package.json +4 -3
  29. package/artifacts/solcInputs/0c46d22cee2363c42c8bb0664dc1be66.json +0 -104
@@ -0,0 +1,473 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Bridge",
4
+ "sourceName": "contracts/bridge/Bridge.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_bank",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_relay",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "_txProofDifficultyFactor",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": false,
32
+ "internalType": "bytes32",
33
+ "name": "fundingTxHash",
34
+ "type": "bytes32"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "uint32",
39
+ "name": "fundingOutputIndex",
40
+ "type": "uint32"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "address",
45
+ "name": "depositor",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "indexed": false,
50
+ "internalType": "uint64",
51
+ "name": "amount",
52
+ "type": "uint64"
53
+ },
54
+ {
55
+ "indexed": false,
56
+ "internalType": "bytes8",
57
+ "name": "blindingFactor",
58
+ "type": "bytes8"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "bytes20",
63
+ "name": "walletPubKeyHash",
64
+ "type": "bytes20"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "bytes20",
69
+ "name": "refundPubKeyHash",
70
+ "type": "bytes20"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "bytes4",
75
+ "name": "refundLocktime",
76
+ "type": "bytes4"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "address",
81
+ "name": "vault",
82
+ "type": "address"
83
+ }
84
+ ],
85
+ "name": "DepositRevealed",
86
+ "type": "event"
87
+ },
88
+ {
89
+ "anonymous": false,
90
+ "inputs": [
91
+ {
92
+ "indexed": false,
93
+ "internalType": "bytes20",
94
+ "name": "walletPubKeyHash",
95
+ "type": "bytes20"
96
+ },
97
+ {
98
+ "indexed": false,
99
+ "internalType": "bytes32",
100
+ "name": "sweepTxHash",
101
+ "type": "bytes32"
102
+ }
103
+ ],
104
+ "name": "DepositsSwept",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "previousOwner",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "newOwner",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "OwnershipTransferred",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
129
+ {
130
+ "indexed": true,
131
+ "internalType": "address",
132
+ "name": "vault",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "indexed": false,
137
+ "internalType": "bool",
138
+ "name": "isTrusted",
139
+ "type": "bool"
140
+ }
141
+ ],
142
+ "name": "VaultStatusUpdated",
143
+ "type": "event"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "bank",
148
+ "outputs": [
149
+ {
150
+ "internalType": "contract Bank",
151
+ "name": "",
152
+ "type": "address"
153
+ }
154
+ ],
155
+ "stateMutability": "view",
156
+ "type": "function"
157
+ },
158
+ {
159
+ "inputs": [
160
+ {
161
+ "internalType": "uint256",
162
+ "name": "",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "deposits",
167
+ "outputs": [
168
+ {
169
+ "internalType": "address",
170
+ "name": "depositor",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "internalType": "uint64",
175
+ "name": "amount",
176
+ "type": "uint64"
177
+ },
178
+ {
179
+ "internalType": "uint32",
180
+ "name": "revealedAt",
181
+ "type": "uint32"
182
+ },
183
+ {
184
+ "internalType": "address",
185
+ "name": "vault",
186
+ "type": "address"
187
+ },
188
+ {
189
+ "internalType": "uint32",
190
+ "name": "sweptAt",
191
+ "type": "uint32"
192
+ }
193
+ ],
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "address",
201
+ "name": "",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "isVaultTrusted",
206
+ "outputs": [
207
+ {
208
+ "internalType": "bool",
209
+ "name": "",
210
+ "type": "bool"
211
+ }
212
+ ],
213
+ "stateMutability": "view",
214
+ "type": "function"
215
+ },
216
+ {
217
+ "inputs": [
218
+ {
219
+ "internalType": "bytes20",
220
+ "name": "",
221
+ "type": "bytes20"
222
+ }
223
+ ],
224
+ "name": "mainUtxos",
225
+ "outputs": [
226
+ {
227
+ "internalType": "bytes32",
228
+ "name": "",
229
+ "type": "bytes32"
230
+ }
231
+ ],
232
+ "stateMutability": "view",
233
+ "type": "function"
234
+ },
235
+ {
236
+ "inputs": [],
237
+ "name": "owner",
238
+ "outputs": [
239
+ {
240
+ "internalType": "address",
241
+ "name": "",
242
+ "type": "address"
243
+ }
244
+ ],
245
+ "stateMutability": "view",
246
+ "type": "function"
247
+ },
248
+ {
249
+ "inputs": [],
250
+ "name": "relay",
251
+ "outputs": [
252
+ {
253
+ "internalType": "contract IRelay",
254
+ "name": "",
255
+ "type": "address"
256
+ }
257
+ ],
258
+ "stateMutability": "view",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [],
263
+ "name": "renounceOwnership",
264
+ "outputs": [],
265
+ "stateMutability": "nonpayable",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "components": [
272
+ {
273
+ "internalType": "bytes4",
274
+ "name": "version",
275
+ "type": "bytes4"
276
+ },
277
+ {
278
+ "internalType": "bytes",
279
+ "name": "inputVector",
280
+ "type": "bytes"
281
+ },
282
+ {
283
+ "internalType": "bytes",
284
+ "name": "outputVector",
285
+ "type": "bytes"
286
+ },
287
+ {
288
+ "internalType": "bytes4",
289
+ "name": "locktime",
290
+ "type": "bytes4"
291
+ }
292
+ ],
293
+ "internalType": "struct BitcoinTx.Info",
294
+ "name": "fundingTx",
295
+ "type": "tuple"
296
+ },
297
+ {
298
+ "components": [
299
+ {
300
+ "internalType": "uint32",
301
+ "name": "fundingOutputIndex",
302
+ "type": "uint32"
303
+ },
304
+ {
305
+ "internalType": "address",
306
+ "name": "depositor",
307
+ "type": "address"
308
+ },
309
+ {
310
+ "internalType": "bytes8",
311
+ "name": "blindingFactor",
312
+ "type": "bytes8"
313
+ },
314
+ {
315
+ "internalType": "bytes20",
316
+ "name": "walletPubKeyHash",
317
+ "type": "bytes20"
318
+ },
319
+ {
320
+ "internalType": "bytes20",
321
+ "name": "refundPubKeyHash",
322
+ "type": "bytes20"
323
+ },
324
+ {
325
+ "internalType": "bytes4",
326
+ "name": "refundLocktime",
327
+ "type": "bytes4"
328
+ },
329
+ {
330
+ "internalType": "address",
331
+ "name": "vault",
332
+ "type": "address"
333
+ }
334
+ ],
335
+ "internalType": "struct Bridge.RevealInfo",
336
+ "name": "reveal",
337
+ "type": "tuple"
338
+ }
339
+ ],
340
+ "name": "revealDeposit",
341
+ "outputs": [],
342
+ "stateMutability": "nonpayable",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [
347
+ {
348
+ "internalType": "address",
349
+ "name": "vault",
350
+ "type": "address"
351
+ },
352
+ {
353
+ "internalType": "bool",
354
+ "name": "isTrusted",
355
+ "type": "bool"
356
+ }
357
+ ],
358
+ "name": "setVaultStatus",
359
+ "outputs": [],
360
+ "stateMutability": "nonpayable",
361
+ "type": "function"
362
+ },
363
+ {
364
+ "inputs": [
365
+ {
366
+ "components": [
367
+ {
368
+ "internalType": "bytes4",
369
+ "name": "version",
370
+ "type": "bytes4"
371
+ },
372
+ {
373
+ "internalType": "bytes",
374
+ "name": "inputVector",
375
+ "type": "bytes"
376
+ },
377
+ {
378
+ "internalType": "bytes",
379
+ "name": "outputVector",
380
+ "type": "bytes"
381
+ },
382
+ {
383
+ "internalType": "bytes4",
384
+ "name": "locktime",
385
+ "type": "bytes4"
386
+ }
387
+ ],
388
+ "internalType": "struct BitcoinTx.Info",
389
+ "name": "sweepTx",
390
+ "type": "tuple"
391
+ },
392
+ {
393
+ "components": [
394
+ {
395
+ "internalType": "bytes",
396
+ "name": "merkleProof",
397
+ "type": "bytes"
398
+ },
399
+ {
400
+ "internalType": "uint256",
401
+ "name": "txIndexInBlock",
402
+ "type": "uint256"
403
+ },
404
+ {
405
+ "internalType": "bytes",
406
+ "name": "bitcoinHeaders",
407
+ "type": "bytes"
408
+ }
409
+ ],
410
+ "internalType": "struct BitcoinTx.Proof",
411
+ "name": "sweepProof",
412
+ "type": "tuple"
413
+ },
414
+ {
415
+ "components": [
416
+ {
417
+ "internalType": "bytes32",
418
+ "name": "txHash",
419
+ "type": "bytes32"
420
+ },
421
+ {
422
+ "internalType": "uint32",
423
+ "name": "txOutputIndex",
424
+ "type": "uint32"
425
+ },
426
+ {
427
+ "internalType": "uint64",
428
+ "name": "txOutputValue",
429
+ "type": "uint64"
430
+ }
431
+ ],
432
+ "internalType": "struct BitcoinTx.UTXO",
433
+ "name": "mainUtxo",
434
+ "type": "tuple"
435
+ }
436
+ ],
437
+ "name": "submitSweepProof",
438
+ "outputs": [],
439
+ "stateMutability": "nonpayable",
440
+ "type": "function"
441
+ },
442
+ {
443
+ "inputs": [
444
+ {
445
+ "internalType": "address",
446
+ "name": "newOwner",
447
+ "type": "address"
448
+ }
449
+ ],
450
+ "name": "transferOwnership",
451
+ "outputs": [],
452
+ "stateMutability": "nonpayable",
453
+ "type": "function"
454
+ },
455
+ {
456
+ "inputs": [],
457
+ "name": "txProofDifficultyFactor",
458
+ "outputs": [
459
+ {
460
+ "internalType": "uint256",
461
+ "name": "",
462
+ "type": "uint256"
463
+ }
464
+ ],
465
+ "stateMutability": "view",
466
+ "type": "function"
467
+ }
468
+ ],
469
+ "bytecode": "0x60e06040523480156200001157600080fd5b50604051620037863803806200378683398101604081905262000034916200018f565b6200003f3362000122565b6001600160a01b0383166200009b5760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f000000000060448201526064015b60405180910390fd5b6001600160601b0319606084901b1660a0526001600160a01b038216620001055760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000092565b60609190911b6001600160601b03191660c05260805250620001cf565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200018a57600080fd5b919050565b600080600060608486031215620001a4578283fd5b620001af8462000172565b9250620001bf6020850162000172565b9150604084015190509250925092565b60805160a05160601c60c05160601c613566620002206000396000818161026f0152818161217d015261221201526000818161015b01526105ed01526000818160de015261247401526135666000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806383a4342811610081578063b59589d11161005b578063b59589d11461026a578063e53c0b5514610291578063f2fde38b146102c457600080fd5b806383a43428146101955780638da5cb5b146101b5578063b02c43d0146101c657600080fd5b806360d712fc116100b257806360d712fc1461013b578063715018a61461014e57806376cdb03b1461015657600080fd5b80632bb818c2146100d957806359a9d90a146101135780635c0b481214610128575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b610126610121366004612dfd565b6102d7565b005b610126610136366004612e66565b610665565b610126610149366004612d2e565b610c95565b610126610d4e565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010a565b6101006101a3366004612d68565b60036020526000908152604090205481565b6000546001600160a01b031661017d565b6102256101d4366004612f2e565b600260205260009081526040902080546001909101546001600160a01b0380831692600160a01b80820467ffffffffffffffff1693600160e01b90920463ffffffff90811693831692919091041685565b604080516001600160a01b03968716815267ffffffffffffffff909516602086015263ffffffff9384169085015293166060830152909116608082015260a00161010a565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6102b461029f366004612d14565b60016020526000908152604090205460ff1681565b604051901515815260200161010a565b6101266102d2366004612d14565b610db4565b60006102e38484610e96565b90506000806103326102f860408801886132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061101092505050565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff19861682526003905291909120549294509092509080156104515780863561038a6040890160208a01612f46565b61039a60608a0160408b01612f60565b6040516020016103d79392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b604051602081830303815290604052805190602001201461043f5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b61044e36879003870187612ebe565b91505b600080806104a161046560208d018d6132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250611143915050565b9194509250905060006104be67ffffffffffffffff88168561349b565b905060008251826104cf919061337d565b905060005b835181101561052757818482815181106104fe57634e487b7160e01b600052603260045260246000fd5b60200260200101818151610512919061349b565b9052508061051f816134d5565b9150506104d4565b5060408051602081018c90526000918101919091526001600160c01b031960c08a901b166044820152604c0160408051808303601f1901815282825280516020918201206bffffffffffffffffffffffff198d1660008181526003845284902091909155835282018c90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16040517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063266a123a906106249087908790600401613278565b600060405180830381600087803b15801561063e57600080fd5b505af1158015610652573d6000803e3d6000fd5b5050505050505050505050505050505050565b600061067760e0830160c08401612d14565b6001600160a01b031614806106b957506001600061069b60e0840160c08501612d14565b6001600160a01b0316815260208101919091526040016000205460ff165b6107055760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610436565b60006107176040830160208401612d14565b6107276060840160408501612dd5565b6107376080850160608601612d68565b61074760a0860160808701612d68565b61075760c0870160a08801612dad565b60405160200161076b959493929190612ff4565b60408051601f19818403018152919052905060006107df61078f6020850185612f46565b63ffffffff166107a260408701876132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061164c9050565b905060006107ec82611832565b905080516014141561087c5761080183611b39565b6bffffffffffffffffffffffff191661081b826000611b60565b6bffffffffffffffffffffffff1916146108775760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610436565b610974565b80516020141561092c576002836040516108969190612fbb565b602060405180830381855afa1580156108b3573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108d69190612d95565b6108df82611b76565b146108775760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610436565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610436565b60006109d96109866020880188612dad565b61099360208901896132fb565b6109a060408b018b6132fb565b6109b060808d0160608e01612dad565b6040516020016109c596959493929190612f7a565b604051602081830303815290604052611b92565b90506000600281836109ee60208a018a612f46565b604051602001610a1592919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610a995760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610436565b6000610aa485611bb9565b82547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b67ffffffffffffffff8316021783559050610aee6040880160208901612d14565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff1602178255610b3d60e0880160c08901612d14565b60018301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0583610b9b60208a018a612f46565b610bab60408b0160208c01612d14565b84610bbc60608d0160408e01612dd5565b610bcc60808e0160608f01612d68565b8d6080016020810190610bdf9190612d68565b8e60a0016020810190610bf29190612dad565b8f60c0016020810190610c059190612d14565b60408051998a5263ffffffff90981660208a01526001600160a01b039687169789019790975267ffffffffffffffff90941660608801526001600160c01b031990921660808701526bffffffffffffffffffffffff1990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b03163314610da85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b610db26000611c30565b565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b6001600160a01b038116610e8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610436565b610e9381611c30565b50565b6000610ee2610ea860208501856132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c8d92505050565b610f2e5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f76696465640000006044820152606401610436565b610f78610f3e60408501856132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d3d92505050565b610fc45760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f766964656400006044820152606401610436565b610ffe610fd46020850185612dad565b610fe160208601866132fb565b610fee60408801886132fb565b6109b060808a0160608b01612dad565b905061100a8183611de0565b92915050565b600080600061101e84611f39565b915050806001146110975760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610436565b60006110a3858261164c565b90506110ae81611bb9565b925060006110bb82611832565b905080516014146111345760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610436565b60208101519450505050915091565b80516000906060908190151583808061115b89611f39565b9092509050600061116d836001613340565b905084156111855761118060018361349b565b611187565b815b67ffffffffffffffff8111156111ad57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156111d6578160200160208202803683370190505b509650865167ffffffffffffffff81111561120157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561122a578160200160208202803683370190505b5095506000805b8381101561154f578b5183106112465761154f565b60008060006112558f87611f50565b925092509250600060026000858560405160200161128a92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156114a7576001810154600160a01b900463ffffffff16156113255760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610436565b8c5186141561139c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610436565b6001810180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b4263ffffffff160217905580548d516001600160a01b03909116908e908890811061140457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092166020928302919091019091015280548c51600160a01b90910467ffffffffffffffff16908d908890811061145457634e487b7160e01b600052603260045260246000fd5b6020026020010181815250508b868151811061148057634e487b7160e01b600052603260045260246000fd5b60200260200101518e6114939190613340565b9d508561149f816134d5565b96505061152c565b8915158b1515141580156114bb57508e5184145b156114e45760408f01516114d99067ffffffffffffffff168f613340565b9d506001995061152c565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610436565b6115368288613340565b9650505050508080611547906134d5565b915050611231565b50600081116115c65760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610436565b8415158615151461163f5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610436565b5050505050509250925092565b606060008061165a85611f39565b90925090506000198214156116d75760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610436565b8084106117265760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610436565b600080611734846001613340565b905060005b868110156117bd5761174b8883611fa8565b925060001983141561179f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610436565b6117a98383613340565b9150806117b5816134d5565b915050611739565b506117c88782611fa8565b915060001982141561181c5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610436565b611827878284612017565b979650505050505050565b606060008260088151811061185757634e487b7160e01b600052603260045260246000fd5b0160200151835160f89190911c9150611871826009613358565b60ff161461188f575050604080516020810190915260008152919050565b826009815181106118b057634e487b7160e01b600052603260045260246000fd5b016020015160f81c6119645760028160ff1610156118de575050604080516020810190915260008152919050565b600083600a8151811061190157634e487b7160e01b600052603260045260246000fd5b016020015160f81c90506119166002836134b2565b60ff1681141580611934575080602014158015611934575080601414155b1561195057505060408051602081019091526000815292915050565b61195c84600b83612017565b949350505050565b6000611971846008611b60565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415611a775783600b815181106119de57634e487b7160e01b600052603260045260246000fd5b60209101015160f81c6014141580611a4e5750611a0960028551611a02919061349b565b8590611b60565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15611a6a57505060408051602081019091526000815292915050565b61195c84600c6014612017565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415611b22578360018551611ad0919061349b565b81518110611aee57634e487b7160e01b600052603260045260246000fd5b60209101015160f81c608714611b1557505060408051602081019091526000815292915050565b61195c84600b6014612017565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000611b6f8383016020015190565b9392505050565b6000815160001415611b8a57506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080611bc5836120e1565b60c01c9050600061195c8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000611c9b84611f39565b9092509050801580611cae575060001982145b15611cbd575060009392505050565b6000611cca836001613340565b905060005b82811015611d305785518210611ceb5750600095945050505050565b6000611cf787846120ed565b9050600019811415611d10575060009695505050505050565b611d1a8184613340565b9250508080611d28906134d5565b915050611ccf565b5093519093149392505050565b6000806000611d4b84611f39565b9092509050801580611d5e575060001982145b15611d6d575060009392505050565b6000611d7a836001613340565b905060005b82811015611d305785518210611d9b5750600095945050505050565b6000611da78784611fa8565b9050600019811415611dc0575060009695505050505050565b611dca8184613340565b9250508080611dd8906134d5565b915050611d7f565b611e79611e2d611df360408401846132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213892505050565b611e3783806132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879493925050506020850135612145565b611eeb5760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e642074782068617368000000006064820152608401610436565b611f35611efb60408301836132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061217892505050565b5050565b600080611f47836000612516565b91509150915091565b60008080611f5e8585611b60565b9250611f93611f6d86866126a2565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611f9f85856120ed565b90509250925092565b6000611fb5826009613340565b83511015611fc6575060001961100a565b600080611fdd85611fd8866008613340565b612516565b9092509050600019821415611ff8576000199250505061100a565b80612004836009613340565b61200e9190613340565b95945050505050565b6060816120335750604080516020810190915260008152611b6f565b600061203f8385613340565b90508381118015612051575080855110155b61209d5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610436565b604051915082604083010160405282825283850182038460208701018481015b808210156120d6578151838301526020820191506120bd565b505050509392505050565b600061100a8282611b60565b60008060006120fc85856126b9565b9092509050600019821415612117576000199250505061100a565b80612123836025613340565b61212d9190613340565b61200e906004613340565b604481015160009061100a565b60008385148015612154575081155b801561215f57508251155b1561216c5750600161195c565b61200e858486856126fb565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121d457600080fd5b505afa1580156121e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220c9190612d95565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561226957600080fd5b505afa15801561227d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a19190612d95565b905060006122b66122b1866127a3565b612846565b9050828114156122c857829350612346565b818114156122d857819350612346565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c74790000000000000000000000000000000000000000000000000000006064820152608401610436565b60006123518661286e565b90506000198114156123cb5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e00000000000000000000000000000000000000000000000000000000006064820152608401610436565b60011981141561241d5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e00000000000000000000006044820152606401610436565b60021981141561246f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e2061206865616465720000006044820152606401610436565b6124997f00000000000000000000000000000000000000000000000000000000000000008661347c565b81101561250e5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e000000000000000000000000006064820152608401610436565b505050505050565b60008060006125258585612a75565b905060ff811661256557600085858151811061255157634e487b7160e01b600052603260045260246000fd5b016020015190935060f81c915061269b9050565b83612571826001613358565b60ff1661257e9190613340565b85511015612595576000196000925092505061269b565b60008160ff16600214156125da576125cf6125bb6125b4876001613340565b8890611b60565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612691565b8160ff1660041415612604576125f7611f6d6125b4876001613340565b63ffffffff169050612691565b8160ff1660081415612691576126846126216125b4876001613340565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000611b6f6126b2836020613340565b8490611b60565b6000806126c7836025613340565b845110156126dc57506000199050600061269b565b6000806126ee86611fd8876024613340565b9097909650945050505050565b60006020845161270b91906134f0565b156127185750600061195c565b83516127265750600061195c565b818560005b86518110156127965761273f6002846134f0565b600114156127645761275d6127578883016020015190565b83612b2b565b915061277d565b61277a826127758984016020015190565b612b2b565b91505b60019290921c9161278f602082613340565b905061272b565b5090931495945050505050565b6000806127b1836048611b60565b60e81c9050600083604b815181106127d957634e487b7160e01b600052603260045260246000fd5b016020015160f81c9050600061280d83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff16905060006128216003846134b2565b60ff169050612832816101006133d4565b61283c908361347c565b9695505050505050565b600061100a7bffff000000000000000000000000000000000000000000000000000083612b37565b60006050825161287e91906134f0565b1561288c5750600019919050565b506040805160808101909152605081526000908190815b8451811015612a6d576128b7858383612b43565b80156128d7576128c78284612be2565b6128d75750600119949350505050565b60006128e2836127a3565b90506128ed83611b92565b935080612a318560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115612a44575060021995945050505050565b612a57612a5082612846565b8690612c0b565b9450612a669050605082613340565b90506128a3565b505050919050565b6000828281518110612a9757634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60ff1415612ab05750600861100a565b828281518110612ad057634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60fe1415612ae95750600461100a565b828281518110612b0957634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60fd1415612b225750600261100a565b50600092915050565b6000611b6f8383612c69565b6000611b6f828461337d565b81516000612b518284613340565b90508281118015612b63575080855110155b612baf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610436565b826020860101602085018382015b80831015612bd8578251825260209283019290910190612bbd565b5050505050505050565b600080612bee84612c97565b9050828114612c0157600091505061100a565b5060019392505050565b6000612c178284613340565b90508281101561100a5760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e000000000000006044820152606401610436565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b602481015160009061100a565b80356001600160a01b0381168114612cbb57600080fd5b919050565b600060808284031215612cd1578081fd5b50919050565b600060608284031215612cd1578081fd5b803563ffffffff81168114612cbb57600080fd5b803567ffffffffffffffff81168114612cbb57600080fd5b600060208284031215612d25578081fd5b611b6f82612ca4565b60008060408385031215612d40578081fd5b612d4983612ca4565b915060208301358015158114612d5d578182fd5b809150509250929050565b600060208284031215612d79578081fd5b81356bffffffffffffffffffffffff1981168114611b6f578182fd5b600060208284031215612da6578081fd5b5051919050565b600060208284031215612dbe578081fd5b81356001600160e01b031981168114611b6f578182fd5b600060208284031215612de6578081fd5b81356001600160c01b031981168114611b6f578182fd5b600080600060a08486031215612e11578081fd5b833567ffffffffffffffff80821115612e28578283fd5b612e3487838801612cc0565b94506020860135915080821115612e49578283fd5b50612e5686828701612cd7565b925050611f9f8560408601612cd7565b600080828403610100811215612e7a578283fd5b833567ffffffffffffffff811115612e90578384fd5b612e9c86828701612cc0565b93505060e0601f1982011215612eb0578182fd5b506020830190509250929050565b600060608284031215612ecf578081fd5b6040516060810181811067ffffffffffffffff82111715612efe57634e487b7160e01b83526041600452602483fd5b60405282358152612f1160208401612ce8565b6020820152612f2260408401612cfc565b60408201529392505050565b600060208284031215612f3f578081fd5b5035919050565b600060208284031215612f57578081fd5b611b6f82612ce8565b600060208284031215612f71578081fd5b611b6f82612cfc565b60006001600160e01b031980891683528688600485013786830160048101838152868882375093169390920160048101939093525050600801949350505050565b60008251815b81811015612fdb5760208186018101518583015201612fc1565b81811115612fe95782828501525b509190910192915050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f82015260006130cd6130c0613097602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526131916130c061309761306e613168601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061326c6132436006830161313f565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b604080825283519082018190526000906020906060840190828701845b828110156132ba5781516001600160a01b031684529284019290840190600101613295565b50505083810382850152845180825285830191830190845b818110156132ee578351835292840192918401916001016132d2565b5090979650505050505050565b6000808335601e19843603018112613311578283fd5b83018035915067ffffffffffffffff82111561332b578283fd5b60200191503681900382131561269b57600080fd5b6000821982111561335357613353613504565b500190565b600060ff821660ff84168060ff0382111561337557613375613504565b019392505050565b60008261338c5761338c61351a565b500490565b600181815b808511156133cc5781600019048211156133b2576133b2613504565b808516156133bf57918102915b93841c9390800290613396565b509250929050565b6000611b6f83836000826133ea5750600161100a565b816133f75750600061100a565b816001811461340d576002811461341757613433565b600191505061100a565b60ff84111561342857613428613504565b50506001821b61100a565b5060208310610133831016604e8410600b8410161715613456575081810a61100a565b6134608383613391565b806000190482111561347457613474613504565b029392505050565b600081600019048311821515161561349657613496613504565b500290565b6000828210156134ad576134ad613504565b500390565b600060ff821660ff8416808210156134cc576134cc613504565b90039392505050565b60006000198214156134e9576134e9613504565b5060010190565b6000826134ff576134ff61351a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220968673368bf3bb6d0d2fdb26d9f0a93fb62e71d055de028f220607039c5cbcdd64736f6c63430008040033",
470
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c806383a4342811610081578063b59589d11161005b578063b59589d11461026a578063e53c0b5514610291578063f2fde38b146102c457600080fd5b806383a43428146101955780638da5cb5b146101b5578063b02c43d0146101c657600080fd5b806360d712fc116100b257806360d712fc1461013b578063715018a61461014e57806376cdb03b1461015657600080fd5b80632bb818c2146100d957806359a9d90a146101135780635c0b481214610128575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b610126610121366004612dfd565b6102d7565b005b610126610136366004612e66565b610665565b610126610149366004612d2e565b610c95565b610126610d4e565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010a565b6101006101a3366004612d68565b60036020526000908152604090205481565b6000546001600160a01b031661017d565b6102256101d4366004612f2e565b600260205260009081526040902080546001909101546001600160a01b0380831692600160a01b80820467ffffffffffffffff1693600160e01b90920463ffffffff90811693831692919091041685565b604080516001600160a01b03968716815267ffffffffffffffff909516602086015263ffffffff9384169085015293166060830152909116608082015260a00161010a565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6102b461029f366004612d14565b60016020526000908152604090205460ff1681565b604051901515815260200161010a565b6101266102d2366004612d14565b610db4565b60006102e38484610e96565b90506000806103326102f860408801886132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061101092505050565b60408051606081018252600080825260208083018290528284018290526bffffffffffffffffffffffff19861682526003905291909120549294509092509080156104515780863561038a6040890160208a01612f46565b61039a60608a0160408b01612f60565b6040516020016103d79392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b604051602081830303815290604052805190602001201461043f5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b61044e36879003870187612ebe565b91505b600080806104a161046560208d018d6132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250611143915050565b9194509250905060006104be67ffffffffffffffff88168561349b565b905060008251826104cf919061337d565b905060005b835181101561052757818482815181106104fe57634e487b7160e01b600052603260045260246000fd5b60200260200101818151610512919061349b565b9052508061051f816134d5565b9150506104d4565b5060408051602081018c90526000918101919091526001600160c01b031960c08a901b166044820152604c0160408051808303601f1901815282825280516020918201206bffffffffffffffffffffffff198d1660008181526003845284902091909155835282018c90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16040517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063266a123a906106249087908790600401613278565b600060405180830381600087803b15801561063e57600080fd5b505af1158015610652573d6000803e3d6000fd5b5050505050505050505050505050505050565b600061067760e0830160c08401612d14565b6001600160a01b031614806106b957506001600061069b60e0840160c08501612d14565b6001600160a01b0316815260208101919091526040016000205460ff165b6107055760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610436565b60006107176040830160208401612d14565b6107276060840160408501612dd5565b6107376080850160608601612d68565b61074760a0860160808701612d68565b61075760c0870160a08801612dad565b60405160200161076b959493929190612ff4565b60408051601f19818403018152919052905060006107df61078f6020850185612f46565b63ffffffff166107a260408701876132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061164c9050565b905060006107ec82611832565b905080516014141561087c5761080183611b39565b6bffffffffffffffffffffffff191661081b826000611b60565b6bffffffffffffffffffffffff1916146108775760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610436565b610974565b80516020141561092c576002836040516108969190612fbb565b602060405180830381855afa1580156108b3573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108d69190612d95565b6108df82611b76565b146108775760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610436565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610436565b60006109d96109866020880188612dad565b61099360208901896132fb565b6109a060408b018b6132fb565b6109b060808d0160608e01612dad565b6040516020016109c596959493929190612f7a565b604051602081830303815290604052611b92565b90506000600281836109ee60208a018a612f46565b604051602001610a1592919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610a995760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610436565b6000610aa485611bb9565b82547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b67ffffffffffffffff8316021783559050610aee6040880160208901612d14565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff1602178255610b3d60e0880160c08901612d14565b60018301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0583610b9b60208a018a612f46565b610bab60408b0160208c01612d14565b84610bbc60608d0160408e01612dd5565b610bcc60808e0160608f01612d68565b8d6080016020810190610bdf9190612d68565b8e60a0016020810190610bf29190612dad565b8f60c0016020810190610c059190612d14565b60408051998a5263ffffffff90981660208a01526001600160a01b039687169789019790975267ffffffffffffffff90941660608801526001600160c01b031990921660808701526bffffffffffffffffffffffff1990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b03163314610da85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b610db26000611c30565b565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b6001600160a01b038116610e8a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610436565b610e9381611c30565b50565b6000610ee2610ea860208501856132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c8d92505050565b610f2e5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f76696465640000006044820152606401610436565b610f78610f3e60408501856132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d3d92505050565b610fc45760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f766964656400006044820152606401610436565b610ffe610fd46020850185612dad565b610fe160208601866132fb565b610fee60408801886132fb565b6109b060808a0160608b01612dad565b905061100a8183611de0565b92915050565b600080600061101e84611f39565b915050806001146110975760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610436565b60006110a3858261164c565b90506110ae81611bb9565b925060006110bb82611832565b905080516014146111345760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610436565b60208101519450505050915091565b80516000906060908190151583808061115b89611f39565b9092509050600061116d836001613340565b905084156111855761118060018361349b565b611187565b815b67ffffffffffffffff8111156111ad57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156111d6578160200160208202803683370190505b509650865167ffffffffffffffff81111561120157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561122a578160200160208202803683370190505b5095506000805b8381101561154f578b5183106112465761154f565b60008060006112558f87611f50565b925092509250600060026000858560405160200161128a92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156114a7576001810154600160a01b900463ffffffff16156113255760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610436565b8c5186141561139c5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610436565b6001810180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b4263ffffffff160217905580548d516001600160a01b03909116908e908890811061140457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092166020928302919091019091015280548c51600160a01b90910467ffffffffffffffff16908d908890811061145457634e487b7160e01b600052603260045260246000fd5b6020026020010181815250508b868151811061148057634e487b7160e01b600052603260045260246000fd5b60200260200101518e6114939190613340565b9d508561149f816134d5565b96505061152c565b8915158b1515141580156114bb57508e5184145b156114e45760408f01516114d99067ffffffffffffffff168f613340565b9d506001995061152c565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610436565b6115368288613340565b9650505050508080611547906134d5565b915050611231565b50600081116115c65760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610436565b8415158615151461163f5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610436565b5050505050509250925092565b606060008061165a85611f39565b90925090506000198214156116d75760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610436565b8084106117265760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610436565b600080611734846001613340565b905060005b868110156117bd5761174b8883611fa8565b925060001983141561179f5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610436565b6117a98383613340565b9150806117b5816134d5565b915050611739565b506117c88782611fa8565b915060001982141561181c5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610436565b611827878284612017565b979650505050505050565b606060008260088151811061185757634e487b7160e01b600052603260045260246000fd5b0160200151835160f89190911c9150611871826009613358565b60ff161461188f575050604080516020810190915260008152919050565b826009815181106118b057634e487b7160e01b600052603260045260246000fd5b016020015160f81c6119645760028160ff1610156118de575050604080516020810190915260008152919050565b600083600a8151811061190157634e487b7160e01b600052603260045260246000fd5b016020015160f81c90506119166002836134b2565b60ff1681141580611934575080602014158015611934575080601414155b1561195057505060408051602081019091526000815292915050565b61195c84600b83612017565b949350505050565b6000611971846008611b60565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415611a775783600b815181106119de57634e487b7160e01b600052603260045260246000fd5b60209101015160f81c6014141580611a4e5750611a0960028551611a02919061349b565b8590611b60565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15611a6a57505060408051602081019091526000815292915050565b61195c84600c6014612017565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415611b22578360018551611ad0919061349b565b81518110611aee57634e487b7160e01b600052603260045260246000fd5b60209101015160f81c608714611b1557505060408051602081019091526000815292915050565b61195c84600b6014612017565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000611b6f8383016020015190565b9392505050565b6000815160001415611b8a57506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080611bc5836120e1565b60c01c9050600061195c8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000611c9b84611f39565b9092509050801580611cae575060001982145b15611cbd575060009392505050565b6000611cca836001613340565b905060005b82811015611d305785518210611ceb5750600095945050505050565b6000611cf787846120ed565b9050600019811415611d10575060009695505050505050565b611d1a8184613340565b9250508080611d28906134d5565b915050611ccf565b5093519093149392505050565b6000806000611d4b84611f39565b9092509050801580611d5e575060001982145b15611d6d575060009392505050565b6000611d7a836001613340565b905060005b82811015611d305785518210611d9b5750600095945050505050565b6000611da78784611fa8565b9050600019811415611dc0575060009695505050505050565b611dca8184613340565b9250508080611dd8906134d5565b915050611d7f565b611e79611e2d611df360408401846132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213892505050565b611e3783806132fb565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879493925050506020850135612145565b611eeb5760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e642074782068617368000000006064820152608401610436565b611f35611efb60408301836132fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061217892505050565b5050565b600080611f47836000612516565b91509150915091565b60008080611f5e8585611b60565b9250611f93611f6d86866126a2565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611f9f85856120ed565b90509250925092565b6000611fb5826009613340565b83511015611fc6575060001961100a565b600080611fdd85611fd8866008613340565b612516565b9092509050600019821415611ff8576000199250505061100a565b80612004836009613340565b61200e9190613340565b95945050505050565b6060816120335750604080516020810190915260008152611b6f565b600061203f8385613340565b90508381118015612051575080855110155b61209d5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610436565b604051915082604083010160405282825283850182038460208701018481015b808210156120d6578151838301526020820191506120bd565b505050509392505050565b600061100a8282611b60565b60008060006120fc85856126b9565b9092509050600019821415612117576000199250505061100a565b80612123836025613340565b61212d9190613340565b61200e906004613340565b604481015160009061100a565b60008385148015612154575081155b801561215f57508251155b1561216c5750600161195c565b61200e858486856126fb565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121d457600080fd5b505afa1580156121e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220c9190612d95565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561226957600080fd5b505afa15801561227d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a19190612d95565b905060006122b66122b1866127a3565b612846565b9050828114156122c857829350612346565b818114156122d857819350612346565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c74790000000000000000000000000000000000000000000000000000006064820152608401610436565b60006123518661286e565b90506000198114156123cb5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e00000000000000000000000000000000000000000000000000000000006064820152608401610436565b60011981141561241d5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e00000000000000000000006044820152606401610436565b60021981141561246f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e2061206865616465720000006044820152606401610436565b6124997f00000000000000000000000000000000000000000000000000000000000000008661347c565b81101561250e5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e000000000000000000000000006064820152608401610436565b505050505050565b60008060006125258585612a75565b905060ff811661256557600085858151811061255157634e487b7160e01b600052603260045260246000fd5b016020015190935060f81c915061269b9050565b83612571826001613358565b60ff1661257e9190613340565b85511015612595576000196000925092505061269b565b60008160ff16600214156125da576125cf6125bb6125b4876001613340565b8890611b60565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612691565b8160ff1660041415612604576125f7611f6d6125b4876001613340565b63ffffffff169050612691565b8160ff1660081415612691576126846126216125b4876001613340565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b6000611b6f6126b2836020613340565b8490611b60565b6000806126c7836025613340565b845110156126dc57506000199050600061269b565b6000806126ee86611fd8876024613340565b9097909650945050505050565b60006020845161270b91906134f0565b156127185750600061195c565b83516127265750600061195c565b818560005b86518110156127965761273f6002846134f0565b600114156127645761275d6127578883016020015190565b83612b2b565b915061277d565b61277a826127758984016020015190565b612b2b565b91505b60019290921c9161278f602082613340565b905061272b565b5090931495945050505050565b6000806127b1836048611b60565b60e81c9050600083604b815181106127d957634e487b7160e01b600052603260045260246000fd5b016020015160f81c9050600061280d83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff16905060006128216003846134b2565b60ff169050612832816101006133d4565b61283c908361347c565b9695505050505050565b600061100a7bffff000000000000000000000000000000000000000000000000000083612b37565b60006050825161287e91906134f0565b1561288c5750600019919050565b506040805160808101909152605081526000908190815b8451811015612a6d576128b7858383612b43565b80156128d7576128c78284612be2565b6128d75750600119949350505050565b60006128e2836127a3565b90506128ed83611b92565b935080612a318560008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b1115612a44575060021995945050505050565b612a57612a5082612846565b8690612c0b565b9450612a669050605082613340565b90506128a3565b505050919050565b6000828281518110612a9757634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60ff1415612ab05750600861100a565b828281518110612ad057634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60fe1415612ae95750600461100a565b828281518110612b0957634e487b7160e01b600052603260045260246000fd5b60209101015160f81c60fd1415612b225750600261100a565b50600092915050565b6000611b6f8383612c69565b6000611b6f828461337d565b81516000612b518284613340565b90508281118015612b63575080855110155b612baf5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610436565b826020860101602085018382015b80831015612bd8578251825260209283019290910190612bbd565b5050505050505050565b600080612bee84612c97565b9050828114612c0157600091505061100a565b5060019392505050565b6000612c178284613340565b90508281101561100a5760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e000000000000006044820152606401610436565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b602481015160009061100a565b80356001600160a01b0381168114612cbb57600080fd5b919050565b600060808284031215612cd1578081fd5b50919050565b600060608284031215612cd1578081fd5b803563ffffffff81168114612cbb57600080fd5b803567ffffffffffffffff81168114612cbb57600080fd5b600060208284031215612d25578081fd5b611b6f82612ca4565b60008060408385031215612d40578081fd5b612d4983612ca4565b915060208301358015158114612d5d578182fd5b809150509250929050565b600060208284031215612d79578081fd5b81356bffffffffffffffffffffffff1981168114611b6f578182fd5b600060208284031215612da6578081fd5b5051919050565b600060208284031215612dbe578081fd5b81356001600160e01b031981168114611b6f578182fd5b600060208284031215612de6578081fd5b81356001600160c01b031981168114611b6f578182fd5b600080600060a08486031215612e11578081fd5b833567ffffffffffffffff80821115612e28578283fd5b612e3487838801612cc0565b94506020860135915080821115612e49578283fd5b50612e5686828701612cd7565b925050611f9f8560408601612cd7565b600080828403610100811215612e7a578283fd5b833567ffffffffffffffff811115612e90578384fd5b612e9c86828701612cc0565b93505060e0601f1982011215612eb0578182fd5b506020830190509250929050565b600060608284031215612ecf578081fd5b6040516060810181811067ffffffffffffffff82111715612efe57634e487b7160e01b83526041600452602483fd5b60405282358152612f1160208401612ce8565b6020820152612f2260408401612cfc565b60408201529392505050565b600060208284031215612f3f578081fd5b5035919050565b600060208284031215612f57578081fd5b611b6f82612ce8565b600060208284031215612f71578081fd5b611b6f82612cfc565b60006001600160e01b031980891683528688600485013786830160048101838152868882375093169390920160048101939093525050600801949350505050565b60008251815b81811015612fdb5760208186018101518583015201612fc1565b81811115612fe95782828501525b509190910192915050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f82015260006130cd6130c0613097602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526131916130c061309761306e613168601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b6005820152905061326c6132436006830161313f565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b604080825283519082018190526000906020906060840190828701845b828110156132ba5781516001600160a01b031684529284019290840190600101613295565b50505083810382850152845180825285830191830190845b818110156132ee578351835292840192918401916001016132d2565b5090979650505050505050565b6000808335601e19843603018112613311578283fd5b83018035915067ffffffffffffffff82111561332b578283fd5b60200191503681900382131561269b57600080fd5b6000821982111561335357613353613504565b500190565b600060ff821660ff84168060ff0382111561337557613375613504565b019392505050565b60008261338c5761338c61351a565b500490565b600181815b808511156133cc5781600019048211156133b2576133b2613504565b808516156133bf57918102915b93841c9390800290613396565b509250929050565b6000611b6f83836000826133ea5750600161100a565b816133f75750600061100a565b816001811461340d576002811461341757613433565b600191505061100a565b60ff84111561342857613428613504565b50506001821b61100a565b5060208310610133831016604e8410600b8410161715613456575081810a61100a565b6134608383613391565b806000190482111561347457613474613504565b029392505050565b600081600019048311821515161561349657613496613504565b500290565b6000828210156134ad576134ad613504565b500390565b600060ff821660ff8416808210156134cc576134cc613504565b90039392505050565b60006000198214156134e9576134e9613504565b5060010190565b6000826134ff576134ff61351a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fdfea2646970667358221220968673368bf3bb6d0d2fdb26d9f0a93fb62e71d055de028f220607039c5cbcdd64736f6c63430008040033",
471
+ "linkReferences": {},
472
+ "deployedLinkReferences": {}
473
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/8be27c4d48269d05d79233c0efe1df98.json"
4
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IRelay",
4
+ "sourceName": "contracts/bridge/Bridge.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "getCurrentEpochDifficulty",
9
+ "outputs": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "getPrevEpochDifficulty",
22
+ "outputs": [
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ }
32
+ ],
33
+ "bytecode": "0x",
34
+ "deployedBytecode": "0x",
35
+ "linkReferences": {},
36
+ "deployedLinkReferences": {}
37
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2f8e64c05fa8c4f2f2c708eabb3c81a3.json"
3
+ "buildInfo": "../../../build-info/8be27c4d48269d05d79233c0efe1df98.json"
4
4
  }