@layerzerolabs/lz-evm-messagelib-v2 2.0.13 → 2.0.15

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 (110) hide show
  1. package/artifacts/contracts/Executor.sol/Executor.json +20 -20
  2. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +19 -19
  3. package/artifacts/contracts/MessageLibBase.sol/MessageLibBase.json +1 -1
  4. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +15 -15
  5. package/artifacts/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +1 -1
  6. package/artifacts/contracts/SendLibBase.sol/SendLibBase.json +6 -6
  7. package/artifacts/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +10 -10
  8. package/artifacts/contracts/Treasury.sol/Treasury.json +9 -9
  9. package/artifacts/contracts/Worker.sol/Worker.json +18 -18
  10. package/artifacts/contracts/interfaces/IExecutor.sol/IExecutor.json +3 -3
  11. package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +4 -4
  12. package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +3 -3
  13. package/artifacts/contracts/interfaces/IWorker.sol/IWorker.json +3 -3
  14. package/artifacts/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
  15. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +279 -20
  16. package/artifacts/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +90 -11
  17. package/artifacts/contracts/uln/SendUlnBase.sol/SendUlnBase.json +7 -7
  18. package/artifacts/contracts/uln/UlnBase.sol/UlnBase.json +7 -7
  19. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +31 -31
  20. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +14 -14
  21. package/artifacts/contracts/uln/dvn/MultiSig.sol/MultiSig.json +5 -5
  22. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +488 -169
  23. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +372 -16
  24. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +419 -93
  25. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
  26. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
  27. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
  28. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
  29. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +611 -249
  30. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
  31. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +526 -13
  32. package/artifacts/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
  33. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
  34. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
  35. package/artifacts/contracts/uln/interfaces/IDVN.sol/IDVN.json +3 -3
  36. package/artifacts/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +1 -1
  37. package/artifacts/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +0 -24
  38. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
  39. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +282 -0
  40. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +91 -0
  41. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +290 -0
  42. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +4 -4
  43. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +7 -7
  44. package/artifacts/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +2 -2
  45. package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +5 -5
  46. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +88 -57
  47. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
  48. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
  49. package/artifacts/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +15 -15
  50. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +76 -76
  51. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +5 -5
  52. package/artifacts/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +4 -4
  53. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +79 -24
  54. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
  55. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
  56. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +75 -75
  57. package/artifacts/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +18 -18
  58. package/contracts/ExecutorFeeLib.sol +6 -6
  59. package/contracts/MessageLibBase.sol +2 -2
  60. package/contracts/PriceFeed.sol +3 -3
  61. package/contracts/ReceiveLibBaseE2.sol +0 -26
  62. package/contracts/SendLibBase.sol +10 -10
  63. package/contracts/SendLibBaseE2.sol +4 -4
  64. package/contracts/Treasury.sol +2 -2
  65. package/contracts/Worker.sol +3 -3
  66. package/contracts/interfaces/IExecutorFeeLib.sol +4 -4
  67. package/contracts/interfaces/ILayerZeroPriceFeed.sol +3 -3
  68. package/contracts/interfaces/IWorker.sol +3 -3
  69. package/contracts/uln/LzExecutor.sol +51 -19
  70. package/contracts/uln/ReceiveUlnBase.sol +21 -14
  71. package/contracts/uln/UlnBase.sol +19 -19
  72. package/contracts/uln/dvn/DVN.sol +16 -16
  73. package/contracts/uln/dvn/DVNFeeLib.sol +2 -2
  74. package/contracts/uln/dvn/MultiSig.sol +13 -13
  75. package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol +95 -97
  76. package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol +64 -2
  77. package/contracts/uln/dvn/adapters/DVNAdapterBase.sol +74 -124
  78. package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol +126 -0
  79. package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol +50 -0
  80. package/contracts/uln/dvn/adapters/avalanche/NOTES.md +4 -0
  81. package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol +85 -100
  82. package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol +121 -2
  83. package/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol +36 -0
  84. package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol +86 -0
  85. package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol +58 -0
  86. package/contracts/uln/interfaces/IDVNFeeLib.sol +1 -1
  87. package/contracts/uln/interfaces/IReceiveUlnE2.sol +0 -5
  88. package/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol +45 -0
  89. package/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol +48 -0
  90. package/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol +30 -0
  91. package/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol +45 -0
  92. package/contracts/uln/libs/DVNOptions.sol +6 -6
  93. package/contracts/uln/libs/UlnOptions.sol +13 -13
  94. package/contracts/uln/uln301/AddressSizeConfig.sol +4 -4
  95. package/contracts/uln/uln301/ReceiveLibBaseE1.sol +4 -4
  96. package/contracts/uln/uln301/ReceiveUln301.sol +4 -41
  97. package/contracts/uln/uln301/ReceiveUln301View.sol +89 -0
  98. package/contracts/uln/uln301/SendLibBaseE1.sol +5 -5
  99. package/contracts/uln/uln301/SendUln301.sol +3 -3
  100. package/contracts/uln/uln301/TreasuryFeeHandler.sol +6 -6
  101. package/contracts/uln/uln301/interfaces/IMessageLibE1.sol +4 -4
  102. package/contracts/uln/uln302/ReceiveUln302.sol +4 -27
  103. package/contracts/uln/uln302/ReceiveUln302View.sol +89 -0
  104. package/contracts/uln/uln302/SendUln302.sol +3 -3
  105. package/contracts/upgradeable/WorkerUpgradeable.sol +3 -3
  106. package/package.json +7 -5
  107. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +0 -50
  108. package/artifacts/contracts/uln/interfaces/IDVNAdapterFeeLib.sol/IDVNAdapterFeeLib.json +0 -50
  109. package/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol +0 -20
  110. package/contracts/uln/interfaces/IDVNAdapterFeeLib.sol +0 -13
@@ -4,29 +4,18 @@
4
4
  "sourceName": "contracts/uln/LzExecutor.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_receiveUln302",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_endpoint",
16
- "type": "address"
17
- }
18
- ],
19
- "stateMutability": "nonpayable",
20
- "type": "constructor"
7
+ "inputs": [],
8
+ "name": "LzExecutor_Executed",
9
+ "type": "error"
21
10
  },
22
11
  {
23
12
  "inputs": [],
24
- "name": "Executed",
13
+ "name": "LzExecutor_ReceiveLibViewNotSet",
25
14
  "type": "error"
26
15
  },
27
16
  {
28
17
  "inputs": [],
29
- "name": "ToAddressIsZero",
18
+ "name": "LzExecutor_Verifying",
30
19
  "type": "error"
31
20
  },
32
21
  {
@@ -42,14 +31,46 @@
42
31
  "type": "uint256"
43
32
  }
44
33
  ],
45
- "name": "TransferNativeFailed",
34
+ "name": "Transfer_NativeFailed",
46
35
  "type": "error"
47
36
  },
48
37
  {
49
38
  "inputs": [],
50
- "name": "Verifying",
39
+ "name": "Transfer_ToAddressIsZero",
51
40
  "type": "error"
52
41
  },
42
+ {
43
+ "anonymous": false,
44
+ "inputs": [
45
+ {
46
+ "indexed": false,
47
+ "internalType": "uint8",
48
+ "name": "version",
49
+ "type": "uint8"
50
+ }
51
+ ],
52
+ "name": "Initialized",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": false,
60
+ "internalType": "address",
61
+ "name": "_to",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "_amount",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "NativeWithdrawn",
72
+ "type": "event"
73
+ },
53
74
  {
54
75
  "anonymous": false,
55
76
  "inputs": [
@@ -69,6 +90,51 @@
69
90
  "name": "OwnershipTransferred",
70
91
  "type": "event"
71
92
  },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "address",
99
+ "name": "_receiveLib",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "address",
105
+ "name": "_receiveLibView",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "ReceiveLibViewSet",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "EMPTY_PAYLOAD_HASH",
115
+ "outputs": [
116
+ {
117
+ "internalType": "bytes32",
118
+ "name": "",
119
+ "type": "bytes32"
120
+ }
121
+ ],
122
+ "stateMutability": "view",
123
+ "type": "function"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "NIL_PAYLOAD_HASH",
128
+ "outputs": [
129
+ {
130
+ "internalType": "bytes32",
131
+ "name": "",
132
+ "type": "bytes32"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ },
72
138
  {
73
139
  "inputs": [
74
140
  {
@@ -171,6 +237,111 @@
171
237
  "stateMutability": "view",
172
238
  "type": "function"
173
239
  },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "components": [
244
+ {
245
+ "internalType": "uint32",
246
+ "name": "srcEid",
247
+ "type": "uint32"
248
+ },
249
+ {
250
+ "internalType": "bytes32",
251
+ "name": "sender",
252
+ "type": "bytes32"
253
+ },
254
+ {
255
+ "internalType": "uint64",
256
+ "name": "nonce",
257
+ "type": "uint64"
258
+ }
259
+ ],
260
+ "internalType": "struct Origin",
261
+ "name": "_origin",
262
+ "type": "tuple"
263
+ },
264
+ {
265
+ "internalType": "address",
266
+ "name": "_receiver",
267
+ "type": "address"
268
+ }
269
+ ],
270
+ "name": "executable",
271
+ "outputs": [
272
+ {
273
+ "internalType": "enum ExecutionState",
274
+ "name": "",
275
+ "type": "uint8"
276
+ }
277
+ ],
278
+ "stateMutability": "view",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [
283
+ {
284
+ "components": [
285
+ {
286
+ "internalType": "uint32",
287
+ "name": "srcEid",
288
+ "type": "uint32"
289
+ },
290
+ {
291
+ "internalType": "bytes32",
292
+ "name": "sender",
293
+ "type": "bytes32"
294
+ },
295
+ {
296
+ "internalType": "uint64",
297
+ "name": "nonce",
298
+ "type": "uint64"
299
+ }
300
+ ],
301
+ "internalType": "struct Origin",
302
+ "name": "_origin",
303
+ "type": "tuple"
304
+ },
305
+ {
306
+ "internalType": "address",
307
+ "name": "_receiver",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "initializable",
312
+ "outputs": [
313
+ {
314
+ "internalType": "bool",
315
+ "name": "",
316
+ "type": "bool"
317
+ }
318
+ ],
319
+ "stateMutability": "view",
320
+ "type": "function"
321
+ },
322
+ {
323
+ "inputs": [
324
+ {
325
+ "internalType": "address",
326
+ "name": "_receiveUln302",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "internalType": "address",
331
+ "name": "_receiveUln302View",
332
+ "type": "address"
333
+ },
334
+ {
335
+ "internalType": "address",
336
+ "name": "_endpoint",
337
+ "type": "address"
338
+ }
339
+ ],
340
+ "name": "initialize",
341
+ "outputs": [],
342
+ "stateMutability": "nonpayable",
343
+ "type": "function"
344
+ },
174
345
  {
175
346
  "inputs": [],
176
347
  "name": "localEid",
@@ -197,6 +368,25 @@
197
368
  "stateMutability": "view",
198
369
  "type": "function"
199
370
  },
371
+ {
372
+ "inputs": [
373
+ {
374
+ "internalType": "address",
375
+ "name": "receiveLib",
376
+ "type": "address"
377
+ }
378
+ ],
379
+ "name": "receiveLibToView",
380
+ "outputs": [
381
+ {
382
+ "internalType": "address",
383
+ "name": "receiveLibView",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
200
390
  {
201
391
  "inputs": [],
202
392
  "name": "receiveUln302",
@@ -217,6 +407,24 @@
217
407
  "stateMutability": "nonpayable",
218
408
  "type": "function"
219
409
  },
410
+ {
411
+ "inputs": [
412
+ {
413
+ "internalType": "address",
414
+ "name": "_receiveLib",
415
+ "type": "address"
416
+ },
417
+ {
418
+ "internalType": "address",
419
+ "name": "_receiveLibView",
420
+ "type": "address"
421
+ }
422
+ ],
423
+ "name": "setReceiveLibView",
424
+ "outputs": [],
425
+ "stateMutability": "nonpayable",
426
+ "type": "function"
427
+ },
220
428
  {
221
429
  "inputs": [
222
430
  {
@@ -230,6 +438,57 @@
230
438
  "stateMutability": "nonpayable",
231
439
  "type": "function"
232
440
  },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "components": [
445
+ {
446
+ "internalType": "uint32",
447
+ "name": "srcEid",
448
+ "type": "uint32"
449
+ },
450
+ {
451
+ "internalType": "bytes32",
452
+ "name": "sender",
453
+ "type": "bytes32"
454
+ },
455
+ {
456
+ "internalType": "uint64",
457
+ "name": "nonce",
458
+ "type": "uint64"
459
+ }
460
+ ],
461
+ "internalType": "struct Origin",
462
+ "name": "_origin",
463
+ "type": "tuple"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "_receiver",
468
+ "type": "address"
469
+ },
470
+ {
471
+ "internalType": "address",
472
+ "name": "_receiveLib",
473
+ "type": "address"
474
+ },
475
+ {
476
+ "internalType": "bytes32",
477
+ "name": "_payloadHash",
478
+ "type": "bytes32"
479
+ }
480
+ ],
481
+ "name": "verifiable",
482
+ "outputs": [
483
+ {
484
+ "internalType": "bool",
485
+ "name": "",
486
+ "type": "bool"
487
+ }
488
+ ],
489
+ "stateMutability": "view",
490
+ "type": "function"
491
+ },
233
492
  {
234
493
  "inputs": [
235
494
  {
@@ -249,8 +508,8 @@
249
508
  "type": "function"
250
509
  }
251
510
  ],
252
- "bytecode": "0x60e06040523480156200001157600080fd5b50604051620010a7380380620010a7833981016040819052620000349162000135565b6200003f33620000c8565b6001600160a01b03808316608052811660a08190526040805163416ecebf60e01b8152905163416ecebf916004808201926020929091908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b691906200016d565b63ffffffff1660c052506200019c9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013057600080fd5b919050565b600080604083850312156200014957600080fd5b620001548362000118565b9150620001646020840162000118565b90509250929050565b6000602082840312156200018057600080fd5b815163ffffffff811681146200019557600080fd5b9392505050565b60805160a05160c051610eb9620001ee6000396000818161012701526103bd01526000818160b40152818161023301526106ec01526000818161017001528181610331015261036d0152610eb96000f3fe60806040526004361061007b5760003560e01c8063843c7b0e1161004e578063843c7b0e1461015e5780638da5cb5b14610192578063dcfdeb60146101bd578063f2fde38b146101d057600080fd5b806307b18bde146100805780635e280f11146100a2578063715018a6146101005780637260753714610115575b600080fd5b34801561008c57600080fd5b506100a061009b366004610a8e565b6101f0565b005b3480156100ae57600080fd5b506100d67f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010c57600080fd5b506100a0610206565b34801561012157600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f7565b34801561016a57600080fd5b506100d67f000000000000000000000000000000000000000000000000000000000000000081565b34801561019e57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166100d6565b6100a06101cb366004610ab8565b61021a565b3480156101dc57600080fd5b506100a06101eb366004610b66565b6107a8565b6101f8610864565b61020282826108e5565b5050565b61020e610864565b61021860006109f0565b565b600073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016634b4b2efb856102696080820160608301610b66565b6040518363ffffffff1660e01b8152600401610286929190610bee565b602060405180830381865afa1580156102a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c79190610c2c565b905060028160028111156102dd576102dd610c49565b03610314576040517f68f46c4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561032857610328610c49565b146106885760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615610391577f0000000000000000000000000000000000000000000000000000000000000000610393565b855b9050600060016103a96060880160408901610c78565b6103b66020890189610c93565b60208901357f00000000000000000000000000000000000000000000000000000000000000006103ec60808c0160608d01610b66565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600060808701356104ea60a0890189610cae565b6040516020016104fc93929190610d1a565b60405160208183030381529060405280519060200120905060008373ffffffffffffffffffffffffffffffffffffffff166327d12cd984846040518363ffffffff1660e01b8152600401610551929190610d34565b602060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190610c2c565b905060018160028111156105a8576105a8610c49565b03610638576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690630894edf1906106019086908690600401610d34565b600060405180830381600087803b15801561061b57600080fd5b505af115801561062f573d6000803e3d6000fd5b50505050610683565b600081600281111561064c5761064c610c49565b03610683576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505b60005b828110156106d457368484838181106106a6576106a6610da7565b6040029190910191506106cb90506106c16020830183610b66565b82602001356108e5565b5060010161068b565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016630c0c389e60e08601356101008701358761072d6080820160608301610b66565b60808a013561073f60a08c018c610cae565b61074c60c08e018e610cae565b6040518a63ffffffff1660e01b815260040161076e9796959493929190610e1f565b6000604051808303818589803b15801561078757600080fd5b5088f115801561079b573d6000803e3d6000fd5b5050505050505050505050565b6107b0610864565b73ffffffffffffffffffffffffffffffffffffffff8116610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610861816109f0565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff8216610932576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461098c576040519150601f19603f3d011682016040523d82523d6000602084013e610991565b606091505b50509050806109eb576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161084f565b505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610a8957600080fd5b919050565b60008060408385031215610aa157600080fd5b610aaa83610a65565b946020939093013593505050565b60008060008060608587031215610ace57600080fd5b610ad785610a65565b9350602085013567ffffffffffffffff80821115610af457600080fd5b908601906101208289031215610b0957600080fd5b90935060408601359080821115610b1f57600080fd5b818701915087601f830112610b3357600080fd5b813581811115610b4257600080fd5b8860208260061b8501011115610b5757600080fd5b95989497505060200194505050565b600060208284031215610b7857600080fd5b610b8182610a65565b9392505050565b803563ffffffff81168114610a8957600080fd5b803567ffffffffffffffff81168114610a8957600080fd5b63ffffffff610bc282610b88565b1682526020810135602083015267ffffffffffffffff610be460408301610b9c565b1660408301525050565b60808101610bfc8285610bb4565b73ffffffffffffffffffffffffffffffffffffffff831660608301529392505050565b6003811061086157600080fd5b600060208284031215610c3e57600080fd5b8151610b8181610c1f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610c8a57600080fd5b610b8182610b9c565b600060208284031215610ca557600080fd5b610b8182610b88565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610ce357600080fd5b83018035915067ffffffffffffffff821115610cfe57600080fd5b602001915036819003821315610d1357600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015610d625760208187018101516060868401015201610d45565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b610e298189610bb4565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000610e6260e083018688610dd6565b82810360c0840152610e75818587610dd6565b9a995050505050505050505056fea26469706673582212206df5499e040aad07956ad8c2299c668e5610587c4f1225748258cf3cff090b7364736f6c63430008160033",
253
- "deployedBytecode": "0x60806040526004361061007b5760003560e01c8063843c7b0e1161004e578063843c7b0e1461015e5780638da5cb5b14610192578063dcfdeb60146101bd578063f2fde38b146101d057600080fd5b806307b18bde146100805780635e280f11146100a2578063715018a6146101005780637260753714610115575b600080fd5b34801561008c57600080fd5b506100a061009b366004610a8e565b6101f0565b005b3480156100ae57600080fd5b506100d67f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561010c57600080fd5b506100a0610206565b34801561012157600080fd5b506101497f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f7565b34801561016a57600080fd5b506100d67f000000000000000000000000000000000000000000000000000000000000000081565b34801561019e57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166100d6565b6100a06101cb366004610ab8565b61021a565b3480156101dc57600080fd5b506100a06101eb366004610b66565b6107a8565b6101f8610864565b61020282826108e5565b5050565b61020e610864565b61021860006109f0565b565b600073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016634b4b2efb856102696080820160608301610b66565b6040518363ffffffff1660e01b8152600401610286929190610bee565b602060405180830381865afa1580156102a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c79190610c2c565b905060028160028111156102dd576102dd610c49565b03610314576040517f68f46c4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600281111561032857610328610c49565b146106885760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615610391577f0000000000000000000000000000000000000000000000000000000000000000610393565b855b9050600060016103a96060880160408901610c78565b6103b66020890189610c93565b60208901357f00000000000000000000000000000000000000000000000000000000000000006103ec60808c0160608d01610b66565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600060808701356104ea60a0890189610cae565b6040516020016104fc93929190610d1a565b60405160208183030381529060405280519060200120905060008373ffffffffffffffffffffffffffffffffffffffff166327d12cd984846040518363ffffffff1660e01b8152600401610551929190610d34565b602060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190610c2c565b905060018160028111156105a8576105a8610c49565b03610638576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690630894edf1906106019086908690600401610d34565b600060405180830381600087803b15801561061b57600080fd5b505af115801561062f573d6000803e3d6000fd5b50505050610683565b600081600281111561064c5761064c610c49565b03610683576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505b60005b828110156106d457368484838181106106a6576106a6610da7565b6040029190910191506106cb90506106c16020830183610b66565b82602001356108e5565b5060010161068b565b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016630c0c389e60e08601356101008701358761072d6080820160608301610b66565b60808a013561073f60a08c018c610cae565b61074c60c08e018e610cae565b6040518a63ffffffff1660e01b815260040161076e9796959493929190610e1f565b6000604051808303818589803b15801561078757600080fd5b5088f115801561079b573d6000803e3d6000fd5b5050505050505050505050565b6107b0610864565b73ffffffffffffffffffffffffffffffffffffffff8116610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610861816109f0565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084f565b73ffffffffffffffffffffffffffffffffffffffff8216610932576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461098c576040519150601f19603f3d011682016040523d82523d6000602084013e610991565b606091505b50509050806109eb576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161084f565b505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610a8957600080fd5b919050565b60008060408385031215610aa157600080fd5b610aaa83610a65565b946020939093013593505050565b60008060008060608587031215610ace57600080fd5b610ad785610a65565b9350602085013567ffffffffffffffff80821115610af457600080fd5b908601906101208289031215610b0957600080fd5b90935060408601359080821115610b1f57600080fd5b818701915087601f830112610b3357600080fd5b813581811115610b4257600080fd5b8860208260061b8501011115610b5757600080fd5b95989497505060200194505050565b600060208284031215610b7857600080fd5b610b8182610a65565b9392505050565b803563ffffffff81168114610a8957600080fd5b803567ffffffffffffffff81168114610a8957600080fd5b63ffffffff610bc282610b88565b1682526020810135602083015267ffffffffffffffff610be460408301610b9c565b1660408301525050565b60808101610bfc8285610bb4565b73ffffffffffffffffffffffffffffffffffffffff831660608301529392505050565b6003811061086157600080fd5b600060208284031215610c3e57600080fd5b8151610b8181610c1f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610c8a57600080fd5b610b8182610b9c565b600060208284031215610ca557600080fd5b610b8182610b88565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610ce357600080fd5b83018035915067ffffffffffffffff821115610cfe57600080fd5b602001915036819003821315610d1357600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015610d625760208187018101516060868401015201610d45565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b610e298189610bb4565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000610e6260e083018688610dd6565b82810360c0840152610e75818587610dd6565b9a995050505050505050505056fea26469706673582212206df5499e040aad07956ad8c2299c668e5610587c4f1225748258cf3cff090b7364736f6c63430008160033",
511
+ "bytecode": "0x608060405234801561001057600080fd5b50611ed2806100206000396000f3fe6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b5061011861011336600461189d565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c366004611983565b610418565b60405161015891906119e6565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a27565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b506101186106e5565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca366004611983565b6106f9565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a42565b6107c0565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611a85565b610b6f565b61011861036d366004611aaf565b610c00565b34801561037e57600080fd5b506102cf61038d366004611b5d565b61115e565b34801561039e57600080fd5b506101186103ad366004611a27565b6112fd565b6103ba6113b4565b6103c48282611435565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611ba9565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611bc2565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c45760039150506106df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611bc2565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c95760029150506106df565b80156106d95760019150506106df565b60009150505b92915050565b6106ed6113b4565b6106f76000611540565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190611bdf565b9392505050565b60006107ea7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108435773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610865565b3373ffffffffffffffffffffffffffffffffffffffff82161461086557600080fd5b600054610100900460ff16158080156108855750600054600160ff909116105b8061089f5750303b15801561089f575060005460ff166001145b610930576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561098e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109966115b7565b61099f83611656565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611c01565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610b6857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610b776113b4565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c24610c1436869003860186611c1e565b61017c6080870160608801611a27565b90506003816003811115610c3a57610c3a6119b7565b03610c71576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610c8557610c856119b7565b1461105c5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610cc95760975473ffffffffffffffffffffffffffffffffffffffff16610ccb565b855b905060006001610ce16060880160408901611c3a565b610cee6020890189611c57565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d2560808c0160608d01611a27565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e2360a0890189611c74565b604051602001610e3593929190611ce0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610ecd576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f249087908790600401611cfa565b602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190611d6d565b90506001816003811115610f7b57610f7b6119b7565b0361100b576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf190610fd49087908790600401611cfa565b600060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b50505050611056565b600081600381111561101f5761101f6119b7565b03611056576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110a8573684848381811061107a5761107a611d8e565b60400291909101915061109f90506110956020830183611a27565b8260200135611435565b5060010161105f565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876110e36080820160608301611a27565b60808a01356110f560a08c018c611c74565b61110260c08e018e611c74565b6040518a63ffffffff1660e01b81526004016111249796959493929190611e06565b6000604051808303818589803b15801561113d57600080fd5b5088f1158015611151573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d9190611bdf565b611219575060006112f5565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190611bdf565b6112e4575060006112f5565b816112f1575060006112f5565b5060015b949350505050565b6113056113b4565b73ffffffffffffffffffffffffffffffffffffffff81166113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610927565b6113b181611540565b50565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610927565b73ffffffffffffffffffffffffffffffffffffffff8216611482576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146114dc576040519150601f19603f3d011682016040523d82523d6000602084013e6114e1565b606091505b505090508061153b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610927565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661164e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6106f76116f6565b600054610100900460ff166116ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6113b181611796565b600054610100900460ff1661178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6106f733611540565b600054610100900460ff1661182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff8116811461189857600080fd5b919050565b600080604083850312156118b057600080fd5b6118b983611874565b946020939093013593505050565b63ffffffff811681146113b157600080fd5b67ffffffffffffffff811681146113b157600080fd5b60006060828403121561190157600080fd5b6040516060810181811067ffffffffffffffff8211171561194b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052905080823561195c816118c7565b8152602083810135908201526040830135611976816118d9565b6040919091015292915050565b6000806080838503121561199657600080fd5b6119a084846118ef565b91506119ae60608401611874565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a3957600080fd5b6107b982611874565b600080600060608486031215611a5757600080fd5b611a6084611874565b9250611a6e60208501611874565b9150611a7c60408501611874565b90509250925092565b60008060408385031215611a9857600080fd5b611aa183611874565b91506119ae60208401611874565b60008060008060608587031215611ac557600080fd5b611ace85611874565b9350602085013567ffffffffffffffff80821115611aeb57600080fd5b908601906101208289031215611b0057600080fd5b90935060408601359080821115611b1657600080fd5b818701915087601f830112611b2a57600080fd5b813581811115611b3957600080fd5b8860208260061b8501011115611b4e57600080fd5b95989497505060200194505050565b60008060008060c08587031215611b7357600080fd5b611b7d86866118ef565b9350611b8b60608601611874565b9250611b9960808601611874565b9396929550929360a00135925050565b600060208284031215611bbb57600080fd5b5051919050565b600060208284031215611bd457600080fd5b81516107b9816118d9565b600060208284031215611bf157600080fd5b815180151581146107b957600080fd5b600060208284031215611c1357600080fd5b81516107b9816118c7565b600060608284031215611c3057600080fd5b6107b983836118ef565b600060208284031215611c4c57600080fd5b81356107b9816118d9565b600060208284031215611c6957600080fd5b81356107b9816118c7565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ca957600080fd5b83018035915067ffffffffffffffff821115611cc457600080fd5b602001915036819003821315611cd957600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d285760208187018101516060868401015201611d0b565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611d7f57600080fd5b8151600481106107b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e13816118c7565b63ffffffff168252602089810135908301526040890135611e33816118d9565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611e7b60e083018688611dbd565b82810360c0840152611e8e818587611dbd565b9a995050505050505050505056fea264697066735822122079244e2c4028b07eaa8085a218430f8d20a80228e4f54f10aa29e1e73fb3a30e64736f6c63430008160033",
512
+ "deployedBytecode": "0x6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b5061011861011336600461189d565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c366004611983565b610418565b60405161015891906119e6565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a27565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b506101186106e5565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca366004611983565b6106f9565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a42565b6107c0565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611a85565b610b6f565b61011861036d366004611aaf565b610c00565b34801561037e57600080fd5b506102cf61038d366004611b5d565b61115e565b34801561039e57600080fd5b506101186103ad366004611a27565b6112fd565b6103ba6113b4565b6103c48282611435565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611ba9565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611bc2565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c45760039150506106df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611bc2565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c95760029150506106df565b80156106d95760019150506106df565b60009150505b92915050565b6106ed6113b4565b6106f76000611540565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190611bdf565b9392505050565b60006107ea7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108435773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610865565b3373ffffffffffffffffffffffffffffffffffffffff82161461086557600080fd5b600054610100900460ff16158080156108855750600054600160ff909116105b8061089f5750303b15801561089f575060005460ff166001145b610930576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561098e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109966115b7565b61099f83611656565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611c01565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610b6857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610b776113b4565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c24610c1436869003860186611c1e565b61017c6080870160608801611a27565b90506003816003811115610c3a57610c3a6119b7565b03610c71576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610c8557610c856119b7565b1461105c5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610cc95760975473ffffffffffffffffffffffffffffffffffffffff16610ccb565b855b905060006001610ce16060880160408901611c3a565b610cee6020890189611c57565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d2560808c0160608d01611a27565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e2360a0890189611c74565b604051602001610e3593929190611ce0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610ecd576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f249087908790600401611cfa565b602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190611d6d565b90506001816003811115610f7b57610f7b6119b7565b0361100b576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf190610fd49087908790600401611cfa565b600060405180830381600087803b158015610fee57600080fd5b505af1158015611002573d6000803e3d6000fd5b50505050611056565b600081600381111561101f5761101f6119b7565b03611056576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110a8573684848381811061107a5761107a611d8e565b60400291909101915061109f90506110956020830183611a27565b8260200135611435565b5060010161105f565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876110e36080820160608301611a27565b60808a01356110f560a08c018c611c74565b61110260c08e018e611c74565b6040518a63ffffffff1660e01b81526004016111249796959493929190611e06565b6000604051808303818589803b15801561113d57600080fd5b5088f1158015611151573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d9190611bdf565b611219575060006112f5565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190611bdf565b6112e4575060006112f5565b816112f1575060006112f5565b5060015b949350505050565b6113056113b4565b73ffffffffffffffffffffffffffffffffffffffff81166113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610927565b6113b181611540565b50565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610927565b73ffffffffffffffffffffffffffffffffffffffff8216611482576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146114dc576040519150601f19603f3d011682016040523d82523d6000602084013e6114e1565b606091505b505090508061153b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610927565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661164e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6106f76116f6565b600054610100900460ff166116ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6113b181611796565b600054610100900460ff1661178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b6106f733611540565b600054610100900460ff1661182d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610927565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff8116811461189857600080fd5b919050565b600080604083850312156118b057600080fd5b6118b983611874565b946020939093013593505050565b63ffffffff811681146113b157600080fd5b67ffffffffffffffff811681146113b157600080fd5b60006060828403121561190157600080fd5b6040516060810181811067ffffffffffffffff8211171561194b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052905080823561195c816118c7565b8152602083810135908201526040830135611976816118d9565b6040919091015292915050565b6000806080838503121561199657600080fd5b6119a084846118ef565b91506119ae60608401611874565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a21577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a3957600080fd5b6107b982611874565b600080600060608486031215611a5757600080fd5b611a6084611874565b9250611a6e60208501611874565b9150611a7c60408501611874565b90509250925092565b60008060408385031215611a9857600080fd5b611aa183611874565b91506119ae60208401611874565b60008060008060608587031215611ac557600080fd5b611ace85611874565b9350602085013567ffffffffffffffff80821115611aeb57600080fd5b908601906101208289031215611b0057600080fd5b90935060408601359080821115611b1657600080fd5b818701915087601f830112611b2a57600080fd5b813581811115611b3957600080fd5b8860208260061b8501011115611b4e57600080fd5b95989497505060200194505050565b60008060008060c08587031215611b7357600080fd5b611b7d86866118ef565b9350611b8b60608601611874565b9250611b9960808601611874565b9396929550929360a00135925050565b600060208284031215611bbb57600080fd5b5051919050565b600060208284031215611bd457600080fd5b81516107b9816118d9565b600060208284031215611bf157600080fd5b815180151581146107b957600080fd5b600060208284031215611c1357600080fd5b81516107b9816118c7565b600060608284031215611c3057600080fd5b6107b983836118ef565b600060208284031215611c4c57600080fd5b81356107b9816118d9565b600060208284031215611c6957600080fd5b81356107b9816118c7565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611ca957600080fd5b83018035915067ffffffffffffffff821115611cc457600080fd5b602001915036819003821315611cd957600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d285760208187018101516060868401015201611d0b565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611d7f57600080fd5b8151600481106107b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e13816118c7565b63ffffffff168252602089810135908301526040890135611e33816118d9565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611e7b60e083018688611dbd565b82810360c0840152611e8e818587611dbd565b9a995050505050505050505056fea264697066735822122079244e2c4028b07eaa8085a218430f8d20a80228e4f54f10aa29e1e73fb3a30e64736f6c63430008160033",
254
513
  "linkReferences": {},
255
514
  "deployedLinkReferences": {}
256
515
  }
@@ -5,47 +5,47 @@
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
- "name": "AtLeastOneDVN",
8
+ "name": "LZ_ULN_AtLeastOneDVN",
9
9
  "type": "error"
10
10
  },
11
11
  {
12
12
  "inputs": [],
13
- "name": "InvalidConfirmations",
13
+ "name": "LZ_ULN_InvalidConfirmations",
14
14
  "type": "error"
15
15
  },
16
16
  {
17
17
  "inputs": [],
18
- "name": "InvalidEid",
18
+ "name": "LZ_ULN_InvalidEid",
19
19
  "type": "error"
20
20
  },
21
21
  {
22
22
  "inputs": [],
23
- "name": "InvalidOptionalDVNCount",
23
+ "name": "LZ_ULN_InvalidOptionalDVNCount",
24
24
  "type": "error"
25
25
  },
26
26
  {
27
27
  "inputs": [],
28
- "name": "InvalidOptionalDVNThreshold",
28
+ "name": "LZ_ULN_InvalidOptionalDVNThreshold",
29
29
  "type": "error"
30
30
  },
31
31
  {
32
32
  "inputs": [],
33
- "name": "InvalidPacketHeader",
33
+ "name": "LZ_ULN_InvalidPacketHeader",
34
34
  "type": "error"
35
35
  },
36
36
  {
37
37
  "inputs": [],
38
- "name": "InvalidPacketVersion",
38
+ "name": "LZ_ULN_InvalidPacketVersion",
39
39
  "type": "error"
40
40
  },
41
41
  {
42
42
  "inputs": [],
43
- "name": "InvalidRequiredDVNCount",
43
+ "name": "LZ_ULN_InvalidRequiredDVNCount",
44
44
  "type": "error"
45
45
  },
46
46
  {
47
47
  "inputs": [],
48
- "name": "Unsorted",
48
+ "name": "LZ_ULN_Unsorted",
49
49
  "type": "error"
50
50
  },
51
51
  {
@@ -56,12 +56,12 @@
56
56
  "type": "uint32"
57
57
  }
58
58
  ],
59
- "name": "UnsupportedEid",
59
+ "name": "LZ_ULN_UnsupportedEid",
60
60
  "type": "error"
61
61
  },
62
62
  {
63
63
  "inputs": [],
64
- "name": "Verifying",
64
+ "name": "LZ_ULN_Verifying",
65
65
  "type": "error"
66
66
  },
67
67
  {
@@ -228,6 +228,24 @@
228
228
  "name": "UlnConfigSet",
229
229
  "type": "event"
230
230
  },
231
+ {
232
+ "inputs": [
233
+ {
234
+ "internalType": "bytes",
235
+ "name": "_packetHeader",
236
+ "type": "bytes"
237
+ },
238
+ {
239
+ "internalType": "uint32",
240
+ "name": "_localEid",
241
+ "type": "uint32"
242
+ }
243
+ ],
244
+ "name": "assertHeader",
245
+ "outputs": [],
246
+ "stateMutability": "pure",
247
+ "type": "function"
248
+ },
231
249
  {
232
250
  "inputs": [
233
251
  {
@@ -463,6 +481,67 @@
463
481
  "outputs": [],
464
482
  "stateMutability": "nonpayable",
465
483
  "type": "function"
484
+ },
485
+ {
486
+ "inputs": [
487
+ {
488
+ "components": [
489
+ {
490
+ "internalType": "uint64",
491
+ "name": "confirmations",
492
+ "type": "uint64"
493
+ },
494
+ {
495
+ "internalType": "uint8",
496
+ "name": "requiredDVNCount",
497
+ "type": "uint8"
498
+ },
499
+ {
500
+ "internalType": "uint8",
501
+ "name": "optionalDVNCount",
502
+ "type": "uint8"
503
+ },
504
+ {
505
+ "internalType": "uint8",
506
+ "name": "optionalDVNThreshold",
507
+ "type": "uint8"
508
+ },
509
+ {
510
+ "internalType": "address[]",
511
+ "name": "requiredDVNs",
512
+ "type": "address[]"
513
+ },
514
+ {
515
+ "internalType": "address[]",
516
+ "name": "optionalDVNs",
517
+ "type": "address[]"
518
+ }
519
+ ],
520
+ "internalType": "struct UlnConfig",
521
+ "name": "_config",
522
+ "type": "tuple"
523
+ },
524
+ {
525
+ "internalType": "bytes32",
526
+ "name": "_headerHash",
527
+ "type": "bytes32"
528
+ },
529
+ {
530
+ "internalType": "bytes32",
531
+ "name": "_payloadHash",
532
+ "type": "bytes32"
533
+ }
534
+ ],
535
+ "name": "verifiable",
536
+ "outputs": [
537
+ {
538
+ "internalType": "bool",
539
+ "name": "",
540
+ "type": "bool"
541
+ }
542
+ ],
543
+ "stateMutability": "view",
544
+ "type": "function"
466
545
  }
467
546
  ],
468
547
  "bytecode": "0x",
@@ -5,32 +5,32 @@
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
- "name": "AtLeastOneDVN",
8
+ "name": "LZ_ULN_AtLeastOneDVN",
9
9
  "type": "error"
10
10
  },
11
11
  {
12
12
  "inputs": [],
13
- "name": "InvalidConfirmations",
13
+ "name": "LZ_ULN_InvalidConfirmations",
14
14
  "type": "error"
15
15
  },
16
16
  {
17
17
  "inputs": [],
18
- "name": "InvalidOptionalDVNCount",
18
+ "name": "LZ_ULN_InvalidOptionalDVNCount",
19
19
  "type": "error"
20
20
  },
21
21
  {
22
22
  "inputs": [],
23
- "name": "InvalidOptionalDVNThreshold",
23
+ "name": "LZ_ULN_InvalidOptionalDVNThreshold",
24
24
  "type": "error"
25
25
  },
26
26
  {
27
27
  "inputs": [],
28
- "name": "InvalidRequiredDVNCount",
28
+ "name": "LZ_ULN_InvalidRequiredDVNCount",
29
29
  "type": "error"
30
30
  },
31
31
  {
32
32
  "inputs": [],
33
- "name": "Unsorted",
33
+ "name": "LZ_ULN_Unsorted",
34
34
  "type": "error"
35
35
  },
36
36
  {
@@ -41,7 +41,7 @@
41
41
  "type": "uint32"
42
42
  }
43
43
  ],
44
- "name": "UnsupportedEid",
44
+ "name": "LZ_ULN_UnsupportedEid",
45
45
  "type": "error"
46
46
  },
47
47
  {