@layerzerolabs/lz-evm-sdk-v1 1.5.7 → 1.5.9

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 (77) hide show
  1. package/artifacts/contracts/interfaces/IContractOne.sol/IContractOne.json +24 -0
  2. package/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +447 -0
  3. package/artifacts/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +160 -0
  4. package/artifacts/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +184 -0
  5. package/artifacts/contracts/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +77 -0
  6. package/artifacts/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +97 -0
  7. package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +107 -0
  8. package/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
  9. package/artifacts/contracts/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +92 -0
  10. package/artifacts/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +107 -0
  11. package/artifacts/contracts/interfaces/ILayerZeroRelayerV2PriceData.sol/ILayerZeroRelayerV2PriceData.json +83 -0
  12. package/artifacts/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +40 -0
  13. package/artifacts/contracts/interfaces/ILayerZeroUltraLightNodeV1.sol/ILayerZeroUltraLightNodeV1.json +156 -0
  14. package/artifacts/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +582 -0
  15. package/artifacts/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +83 -0
  16. package/artifacts/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +77 -0
  17. package/artifacts/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +146 -0
  18. package/artifacts/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +154 -0
  19. package/artifacts/contracts/proof/FPValidator.sol/FPValidator.json +326 -0
  20. package/artifacts/contracts/proof/FPValidator.sol/IStargate.json +10 -0
  21. package/artifacts/contracts/proof/MPTValidator.sol/MPTValidator.json +146 -0
  22. package/artifacts/contracts/proof/MPTValidator01.sol/IStargate.json +10 -0
  23. package/artifacts/contracts/proof/MPTValidator01.sol/MPTValidator01.json +339 -0
  24. package/artifacts/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +310 -0
  25. package/artifacts/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +212 -0
  26. package/artifacts/contracts/proof/MPTValidatorV4.sol/IStargate.json +10 -0
  27. package/artifacts/contracts/proof/MPTValidatorV4.sol/IUltraLightNode.json +108 -0
  28. package/artifacts/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +414 -0
  29. package/artifacts/contracts/proof/MPTValidatorV5.sol/IStargate.json +10 -0
  30. package/artifacts/contracts/proof/MPTValidatorV5.sol/IUltraLightNode.json +108 -0
  31. package/artifacts/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +432 -0
  32. package/artifacts/contracts/proof/utility/Buffer.sol/Buffer.json +10 -0
  33. package/artifacts/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +10 -0
  34. package/artifacts/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +10 -0
  35. package/artifacts/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +10 -0
  36. package/deployments/cathay-testnet/DefaultProxyAdmin.json +273 -0
  37. package/deployments/cathay-testnet/Endpoint.json +1282 -0
  38. package/deployments/cathay-testnet/FPValidator.json +382 -0
  39. package/deployments/cathay-testnet/MPTValidator01.json +395 -0
  40. package/deployments/cathay-testnet/NonceContract.json +159 -0
  41. package/deployments/cathay-testnet/PriceFeed.json +760 -0
  42. package/deployments/cathay-testnet/PriceFeed_Implementation.json +776 -0
  43. package/deployments/cathay-testnet/PriceFeed_Proxy.json +233 -0
  44. package/deployments/cathay-testnet/RelayerV2.json +1169 -0
  45. package/deployments/cathay-testnet/RelayerV2_Implementation.json +1270 -0
  46. package/deployments/cathay-testnet/RelayerV2_Proxy.json +245 -0
  47. package/deployments/cathay-testnet/TreasuryV2.json +458 -0
  48. package/deployments/cathay-testnet/UltraLightNodeV2.json +1816 -0
  49. package/deployments/kava-testnet/DefaultProxyAdmin.json +273 -0
  50. package/deployments/scroll-testnet/DefaultProxyAdmin.json +273 -0
  51. package/deployments/scroll-testnet/Endpoint.json +1282 -0
  52. package/deployments/scroll-testnet/FPValidator.json +382 -0
  53. package/deployments/scroll-testnet/MPTValidator01.json +395 -0
  54. package/deployments/scroll-testnet/NonceContract.json +159 -0
  55. package/deployments/scroll-testnet/PriceFeed.json +760 -0
  56. package/deployments/scroll-testnet/PriceFeed_Implementation.json +776 -0
  57. package/deployments/scroll-testnet/PriceFeed_Proxy.json +233 -0
  58. package/deployments/scroll-testnet/RelayerV2.json +1169 -0
  59. package/deployments/scroll-testnet/RelayerV2_Implementation.json +1270 -0
  60. package/deployments/scroll-testnet/RelayerV2_Proxy.json +245 -0
  61. package/deployments/scroll-testnet/TreasuryV2.json +458 -0
  62. package/deployments/scroll-testnet/UltraLightNodeV2.json +1816 -0
  63. package/deployments/tenet-testnet/DefaultProxyAdmin.json +273 -0
  64. package/deployments/tenet-testnet/Endpoint.json +1282 -0
  65. package/deployments/tenet-testnet/FPValidator.json +382 -0
  66. package/deployments/tenet-testnet/MPTValidator01.json +395 -0
  67. package/deployments/tenet-testnet/NonceContract.json +159 -0
  68. package/deployments/tenet-testnet/PriceFeed.json +760 -0
  69. package/deployments/tenet-testnet/PriceFeed_Implementation.json +776 -0
  70. package/deployments/tenet-testnet/PriceFeed_Proxy.json +233 -0
  71. package/deployments/tenet-testnet/RelayerV2.json +1169 -0
  72. package/deployments/tenet-testnet/RelayerV2_Implementation.json +1270 -0
  73. package/deployments/tenet-testnet/RelayerV2_Proxy.json +245 -0
  74. package/deployments/tenet-testnet/TreasuryV2.json +458 -0
  75. package/deployments/tenet-testnet/UltraLightNodeV2.json +1816 -0
  76. package/package.json +8 -4
  77. package/artifacts/contracts/oracle/MultiSigOracle.sol/MultiSigOracle.json +0 -827
@@ -0,0 +1,108 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IUltraLightNode",
4
+ "sourceName": "contracts/proof/MPTValidatorV4.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint16",
10
+ "name": "_chainId",
11
+ "type": "uint16"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "userApplicationAddress",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "getAppConfig",
20
+ "outputs": [
21
+ {
22
+ "components": [
23
+ {
24
+ "internalType": "uint16",
25
+ "name": "inboundProofLibraryVersion",
26
+ "type": "uint16"
27
+ },
28
+ {
29
+ "internalType": "uint64",
30
+ "name": "inboundBlockConfirmations",
31
+ "type": "uint64"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "relayer",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "internalType": "uint16",
40
+ "name": "outboundProofType",
41
+ "type": "uint16"
42
+ },
43
+ {
44
+ "internalType": "uint64",
45
+ "name": "outboundBlockConfirmations",
46
+ "type": "uint64"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "oracle",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "internalType": "struct IUltraLightNode.ApplicationConfiguration",
55
+ "name": "",
56
+ "type": "tuple"
57
+ }
58
+ ],
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "inputs": [
64
+ {
65
+ "internalType": "address",
66
+ "name": "_oracle",
67
+ "type": "address"
68
+ },
69
+ {
70
+ "internalType": "uint16",
71
+ "name": "_remoteChainId",
72
+ "type": "uint16"
73
+ },
74
+ {
75
+ "internalType": "bytes32",
76
+ "name": "_lookupHash",
77
+ "type": "bytes32"
78
+ }
79
+ ],
80
+ "name": "getBlockHeaderData",
81
+ "outputs": [
82
+ {
83
+ "components": [
84
+ {
85
+ "internalType": "uint256",
86
+ "name": "confirmations",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "internalType": "bytes32",
91
+ "name": "data",
92
+ "type": "bytes32"
93
+ }
94
+ ],
95
+ "internalType": "struct IUltraLightNode.BlockData",
96
+ "name": "blockData",
97
+ "type": "tuple"
98
+ }
99
+ ],
100
+ "stateMutability": "view",
101
+ "type": "function"
102
+ }
103
+ ],
104
+ "bytecode": "0x",
105
+ "deployedBytecode": "0x",
106
+ "linkReferences": {},
107
+ "deployedLinkReferences": {}
108
+ }
@@ -0,0 +1,414 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MPTValidatorV4",
4
+ "sourceName": "contracts/proof/MPTValidatorV4.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_stargateBridgeAddress",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_stgTokenAddress",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint16",
20
+ "name": "_localChainId",
21
+ "type": "uint16"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_ulnAddress",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "PACKET_SIGNATURE",
35
+ "outputs": [
36
+ {
37
+ "internalType": "bytes32",
38
+ "name": "",
39
+ "type": "bytes32"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [
47
+ {
48
+ "components": [
49
+ {
50
+ "internalType": "uint16",
51
+ "name": "srcChainId",
52
+ "type": "uint16"
53
+ },
54
+ {
55
+ "internalType": "uint16",
56
+ "name": "dstChainId",
57
+ "type": "uint16"
58
+ },
59
+ {
60
+ "internalType": "uint64",
61
+ "name": "nonce",
62
+ "type": "uint64"
63
+ },
64
+ {
65
+ "internalType": "address",
66
+ "name": "dstAddress",
67
+ "type": "address"
68
+ },
69
+ {
70
+ "internalType": "bytes",
71
+ "name": "srcAddress",
72
+ "type": "bytes"
73
+ },
74
+ {
75
+ "internalType": "bytes32",
76
+ "name": "ulnAddress",
77
+ "type": "bytes32"
78
+ },
79
+ {
80
+ "internalType": "bytes",
81
+ "name": "payload",
82
+ "type": "bytes"
83
+ }
84
+ ],
85
+ "internalType": "struct LayerZeroPacket.Packet",
86
+ "name": "packet",
87
+ "type": "tuple"
88
+ },
89
+ {
90
+ "internalType": "bytes32",
91
+ "name": "blockHash",
92
+ "type": "bytes32"
93
+ },
94
+ {
95
+ "internalType": "bytes32",
96
+ "name": "receiptsRoot",
97
+ "type": "bytes32"
98
+ }
99
+ ],
100
+ "name": "assertMessagePath",
101
+ "outputs": [],
102
+ "stateMutability": "view",
103
+ "type": "function"
104
+ },
105
+ {
106
+ "inputs": [
107
+ {
108
+ "internalType": "bytes",
109
+ "name": "data",
110
+ "type": "bytes"
111
+ },
112
+ {
113
+ "internalType": "uint16",
114
+ "name": "srcChain",
115
+ "type": "uint16"
116
+ },
117
+ {
118
+ "internalType": "uint256",
119
+ "name": "sizeOfSrcAddress",
120
+ "type": "uint256"
121
+ },
122
+ {
123
+ "internalType": "bytes32",
124
+ "name": "ulnAddress",
125
+ "type": "bytes32"
126
+ }
127
+ ],
128
+ "name": "getPacket",
129
+ "outputs": [
130
+ {
131
+ "components": [
132
+ {
133
+ "internalType": "uint16",
134
+ "name": "srcChainId",
135
+ "type": "uint16"
136
+ },
137
+ {
138
+ "internalType": "uint16",
139
+ "name": "dstChainId",
140
+ "type": "uint16"
141
+ },
142
+ {
143
+ "internalType": "uint64",
144
+ "name": "nonce",
145
+ "type": "uint64"
146
+ },
147
+ {
148
+ "internalType": "address",
149
+ "name": "dstAddress",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "internalType": "bytes",
154
+ "name": "srcAddress",
155
+ "type": "bytes"
156
+ },
157
+ {
158
+ "internalType": "bytes32",
159
+ "name": "ulnAddress",
160
+ "type": "bytes32"
161
+ },
162
+ {
163
+ "internalType": "bytes",
164
+ "name": "payload",
165
+ "type": "bytes"
166
+ }
167
+ ],
168
+ "internalType": "struct LayerZeroPacket.Packet",
169
+ "name": "",
170
+ "type": "tuple"
171
+ }
172
+ ],
173
+ "stateMutability": "pure",
174
+ "type": "function"
175
+ },
176
+ {
177
+ "inputs": [],
178
+ "name": "getUtilsVersion",
179
+ "outputs": [
180
+ {
181
+ "internalType": "uint8",
182
+ "name": "",
183
+ "type": "uint8"
184
+ }
185
+ ],
186
+ "stateMutability": "view",
187
+ "type": "function"
188
+ },
189
+ {
190
+ "inputs": [
191
+ {
192
+ "internalType": "bytes32",
193
+ "name": "hashRoot",
194
+ "type": "bytes32"
195
+ },
196
+ {
197
+ "internalType": "uint256[]",
198
+ "name": "receiptSlotIndex",
199
+ "type": "uint256[]"
200
+ },
201
+ {
202
+ "internalType": "uint256",
203
+ "name": "logIndex",
204
+ "type": "uint256"
205
+ },
206
+ {
207
+ "internalType": "bytes[]",
208
+ "name": "proof",
209
+ "type": "bytes[]"
210
+ }
211
+ ],
212
+ "name": "getVerifyLog",
213
+ "outputs": [
214
+ {
215
+ "components": [
216
+ {
217
+ "internalType": "bytes32",
218
+ "name": "contractAddress",
219
+ "type": "bytes32"
220
+ },
221
+ {
222
+ "internalType": "bytes32",
223
+ "name": "topicZeroSig",
224
+ "type": "bytes32"
225
+ },
226
+ {
227
+ "internalType": "bytes",
228
+ "name": "data",
229
+ "type": "bytes"
230
+ }
231
+ ],
232
+ "internalType": "struct IValidationLibraryHelper.ULNLog",
233
+ "name": "",
234
+ "type": "tuple"
235
+ }
236
+ ],
237
+ "stateMutability": "pure",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [],
242
+ "name": "localChainId",
243
+ "outputs": [
244
+ {
245
+ "internalType": "uint16",
246
+ "name": "",
247
+ "type": "uint16"
248
+ }
249
+ ],
250
+ "stateMutability": "view",
251
+ "type": "function"
252
+ },
253
+ {
254
+ "inputs": [
255
+ {
256
+ "internalType": "bytes",
257
+ "name": "_payload",
258
+ "type": "bytes"
259
+ }
260
+ ],
261
+ "name": "secureStgPayload",
262
+ "outputs": [
263
+ {
264
+ "internalType": "bytes",
265
+ "name": "",
266
+ "type": "bytes"
267
+ }
268
+ ],
269
+ "stateMutability": "view",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "bytes",
276
+ "name": "_payload",
277
+ "type": "bytes"
278
+ }
279
+ ],
280
+ "name": "secureStgTokenPayload",
281
+ "outputs": [
282
+ {
283
+ "internalType": "bytes",
284
+ "name": "",
285
+ "type": "bytes"
286
+ }
287
+ ],
288
+ "stateMutability": "pure",
289
+ "type": "function"
290
+ },
291
+ {
292
+ "inputs": [],
293
+ "name": "stargateBridgeAddress",
294
+ "outputs": [
295
+ {
296
+ "internalType": "address",
297
+ "name": "",
298
+ "type": "address"
299
+ }
300
+ ],
301
+ "stateMutability": "view",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [],
306
+ "name": "stgTokenAddress",
307
+ "outputs": [
308
+ {
309
+ "internalType": "address",
310
+ "name": "",
311
+ "type": "address"
312
+ }
313
+ ],
314
+ "stateMutability": "view",
315
+ "type": "function"
316
+ },
317
+ {
318
+ "inputs": [],
319
+ "name": "uln",
320
+ "outputs": [
321
+ {
322
+ "internalType": "contract IUltraLightNode",
323
+ "name": "",
324
+ "type": "address"
325
+ }
326
+ ],
327
+ "stateMutability": "view",
328
+ "type": "function"
329
+ },
330
+ {
331
+ "inputs": [],
332
+ "name": "utilsVersion",
333
+ "outputs": [
334
+ {
335
+ "internalType": "uint8",
336
+ "name": "",
337
+ "type": "uint8"
338
+ }
339
+ ],
340
+ "stateMutability": "view",
341
+ "type": "function"
342
+ },
343
+ {
344
+ "inputs": [
345
+ {
346
+ "internalType": "bytes32",
347
+ "name": "_receiptsRoot",
348
+ "type": "bytes32"
349
+ },
350
+ {
351
+ "internalType": "bytes",
352
+ "name": "_transactionProof",
353
+ "type": "bytes"
354
+ },
355
+ {
356
+ "internalType": "uint256",
357
+ "name": "_remoteAddressSize",
358
+ "type": "uint256"
359
+ }
360
+ ],
361
+ "name": "validateProof",
362
+ "outputs": [
363
+ {
364
+ "components": [
365
+ {
366
+ "internalType": "uint16",
367
+ "name": "srcChainId",
368
+ "type": "uint16"
369
+ },
370
+ {
371
+ "internalType": "uint16",
372
+ "name": "dstChainId",
373
+ "type": "uint16"
374
+ },
375
+ {
376
+ "internalType": "uint64",
377
+ "name": "nonce",
378
+ "type": "uint64"
379
+ },
380
+ {
381
+ "internalType": "address",
382
+ "name": "dstAddress",
383
+ "type": "address"
384
+ },
385
+ {
386
+ "internalType": "bytes",
387
+ "name": "srcAddress",
388
+ "type": "bytes"
389
+ },
390
+ {
391
+ "internalType": "bytes32",
392
+ "name": "ulnAddress",
393
+ "type": "bytes32"
394
+ },
395
+ {
396
+ "internalType": "bytes",
397
+ "name": "payload",
398
+ "type": "bytes"
399
+ }
400
+ ],
401
+ "internalType": "struct LayerZeroPacket.Packet",
402
+ "name": "",
403
+ "type": "tuple"
404
+ }
405
+ ],
406
+ "stateMutability": "view",
407
+ "type": "function"
408
+ }
409
+ ],
410
+ "bytecode": "0x6101006040526000805460ff191660031790553480156200001f57600080fd5b506040516200278e3803806200278e83398101604081905262000042916200009b565b606093841b6001600160601b031990811660805292841b831660a05260f09190911b6001600160f01b03191660c05290911b1660e052620000fe565b80516001600160a01b03811681146200009657600080fd5b919050565b60008060008060808587031215620000b1578384fd5b620000bc856200007e565b9350620000cc602086016200007e565b9250604085015161ffff81168114620000e3578283fd5b9150620000f3606086016200007e565b905092959194509250565b60805160601c60a05160601c60c05160f01c60e05160601c612635620001596000398061029b5280610874528061094352508061025352806107ca525080610213528061043452508061027752806103c952506126356000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101b1578063d633ad61146101c6578063e0cabadd146101ce578063ea455df9146101e1576100df565b80636c473aff1461017457806378d823f71461017c578063b71e0f7114610191576100df565b80635711c2a8116100bd5780635711c2a8146101375780635b056da5146101575780636348d2691461016c576100df565b80630f222e65146100e45780633fc18d4c1461010d57806347713b3914610122575b600080fd5b6100f76100f2366004611b32565b6101f4565b6040516101049190612393565b60405180910390f35b610115610211565b6040516101049190612059565b61012a610235565b60405161010491906123fb565b61014a610145366004611c23565b61023e565b60405161010491906120b5565b61015f610251565b60405161010491906123c2565b610115610275565b610115610299565b61018f61018a366004611d96565b6102bd565b005b6101a461019f366004611ba6565b6102cd565b60405161010491906122ee565b6101b96104ac565b60405161010491906120ac565b61012a6104d0565b6101a46101dc366004611c56565b6104d9565b61014a6101ef366004611c23565b6104ed565b6101fc61182c565b610208858585856104f8565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b6060610249826106a7565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102c88383836107c8565b505050565b6102d561184b565b60008211610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906122b7565b60405180910390fd5b60008080808061032a888a018a611e83565b9450945094509450945060006103428b8484876104f8565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f9061218f565b805160408201516000916103ba919089908c90610a59565b90506103c781878e6107c8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff1614156104325761042c8160c001516106a7565b60c08201525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16141561049d576104978160c00151610b4f565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b6104e161184b565b61020885858585610a59565b606061024982610b4f565b61050061182c565b815184511461053b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906120ea565b6000825111610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612223565b61057e611889565b606060005b845181101561062a5784818151811061059857fe5b60200260200101519150818051906020012088146105e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612158565b6106088782815181106105f157fe5b602002602001015161060284610bf9565b90610c6d565b925060018551038110156106225761061f83610e29565b97505b600101610583565b50600061063b600361060285610f46565b9050600061065161064c8389610c6d565b610fd2565b905061065b61182c565b61066c6106678361107e565b610e29565b815261067f61066760006106028561107e565b60208201526106956106908361107e565b61112e565b60408201529998505050505050505050565b6020810151606090600160ff821614156107c1576000806000806000806000898060200190518101906106da9190611f08565b9750975097509750975097509750506000815111156107b957815160009015610704575060148201515b803b806107b65760008260405160200161071e9190612029565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610774928f928f928f928f928f928f928b9201612409565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c5061024c9b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff161461082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906121c6565b825160608401516040517fa466222200000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926108a99291906004016123d1565b60c06040518083038186803b1580156108c157600080fd5b505afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190611cf8565b60a081015185516040517febfa08e900000000000000000000000000000000000000000000000000000000815292935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e99261097892899060040161207a565b604080518083038186803b15801561098f57600080fd5b505afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611a4b565b905082816020015114610a06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612121565b816020015167ffffffffffffffff1681600001511015610a52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f9061225a565b5050505050565b610a6161184b565b602085015160608601516068870151858801607c01519190610a816118a3565b610a8b818961125b565b50610a9b8160008c60888c611295565b506000610ab389610aad86601c61136f565b9061136f565b9050610abd6118a3565b610ac7818361125b565b50610ae360008d610ad98d609c6113e6565b8492919086611295565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610b689190611cb3565b9150915060008083511115610b7e575060148201515b73ffffffffffffffffffffffffffffffffffffffff8116610bf05760405161dead90600090610bb1908390602001612029565b60405160208183030381529060405290508084604051602001610bd59291906120c8565b6040516020818303038152906040529550505050505061024c565b50929392505050565b610c01611889565b602082018051835160009190911a908015801590610c22575060c060ff8316105b15610c5157600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b610c75611889565b610c7e83611461565b610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125be6021913960400191505060405180910390fd5b610cdc8361149b565b8210610d4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610d60906114f3565b60208601510190506000805b85811015610d8b57610d7d83611592565b928301929150600101610d6c565b50610d9582611592565b9050828183011115610e0857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610e3e57508151602110155b610ea957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610eb883602001516114f3565b90508083600001511015610f17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806125966028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610f3d57826020036101000a820491505b50949350505050565b610f4e611889565b6000610f5d83602001516114f3565b60208401518451908201805192935060009290921a91908015801590610f86575060c060ff8416105b15610fb557600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610fda6118bd565b610fe382611461565b61104e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b600061105d83602001516114f3565b60208085015160408051808201909152868152920190820152915050919050565b611086611889565b61108f82611667565b6110fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061110a82611592565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090611188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125df6021913960400191505060405180910390fd5b600061119783602001516114f3565b905080836000015110156111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806125966028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561121457600080fd5b506040519080825280601f01601f19166020018201604052801561123f576020820181803683370190505b5090506000816020019050610f3d84876020015101828561167c565b6112636118a3565b60208206156112785760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61129d6118a3565b856020015182860111156112c7576112c7866112bf8860200151888601611703565b60020261171a565b6000808751805188602083010193508089870111156112e65788860182525b5050508484015b6020841061132a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016112ed565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000828211156113e057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561145a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516000906114725750600061024c565b6020820151805160001a9060c08210156114915760009250505061024c565b5060019392505050565b80516000906114ac5750600061024c565b6000806114bc84602001516114f3565b602085015185519181019250015b808210156114ea576114db82611592565b600190930192909101906114ca565b50909392505050565b8051600090811a608081101561150d57600091505061024c565b60b8811080611528575060c08110801590611528575060f881105b1561153757600191505061024c565b60c0811015611569577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061024c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061024c565b80516000908190811a60808110156115ad5760019150611660565b60b88110156115e0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150611660565b60c081101561160d5760b78103600185019450806020036101000a85510460018201810193505050611660565b60f8811015611640577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150611660565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80611686576102c8565b5b602081106116c45782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611687565b915181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169216919091179052565b600081831115611714575081610e23565b50919050565b8151611726838361125b565b506117318382611737565b50505050565b61173f6118a3565b61145a838460000151518485516117546118a3565b825182111561176257600080fd5b8460200151828501111561178457611784856112bf8760200151878601611703565b6000808651805187602083010193508088870111156117a35787860182525b505050602084015b602084106117e857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016117ab565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806118d0611889565b8152602001600081525090565b803561024c8161254a565b805161024c8161254a565b600082601f830112611903578081fd5b81356020611918611913836124c0565b61249c565b82815281810190858301855b8581101561194d5761193b898684358b01016119b4565b84529284019290840190600101611924565b5090979650505050505050565b600082601f83011261196a578081fd5b8135602061197a611913836124c0565b8281528181019085830183850287018401881015611996578586fd5b855b8581101561194d57813584529284019290840190600101611998565b600082601f8301126119c4578081fd5b81356119d2611913826124de565b8181528460208386010111156119e6578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611a10578081fd5b8151611a1e611913826124de565b818152846020838601011115611a32578283fd5b611a4382602083016020870161251e565b949350505050565b600060408284031215611a5c578081fd5b6040516040810181811067ffffffffffffffff82111715611a7957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611aa4578081fd5b60405160c0810181811067ffffffffffffffff82111715611ac157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b803561024c8161256f565b805161024c8161256f565b803561024c8161257f565b805161024c8161257f565b60008060008060808587031215611b47578384fd5b84359350602085013567ffffffffffffffff80821115611b65578485fd5b611b718883890161195a565b9450604087013593506060870135915080821115611b8d578283fd5b50611b9a878288016118f3565b91505092959194509250565b60008060008060608587031215611bbb578182fd5b84359350602085013567ffffffffffffffff80821115611bd9578384fd5b818701915087601f830112611bec578384fd5b813581811115611bfa578485fd5b886020828501011115611c0b578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611c34578081fd5b813567ffffffffffffffff811115611c4a578182fd5b611a43848285016119b4565b60008060008060808587031215611c6b578182fd5b843567ffffffffffffffff811115611c81578283fd5b611c8d878288016119b4565b9450506020850135611c9e8161256f565b93969395505050506040820135916060013590565b60008060408385031215611cc5578182fd5b825167ffffffffffffffff811115611cdb578283fd5b611ce785828601611a00565b925050602083015190509250929050565b600060c08284031215611d09578081fd5b60405160c0810181811067ffffffffffffffff82111715611d2657fe5b6040528251611d348161256f565b81526020830151611d448161257f565b60208201526040830151611d578161254a565b6040820152611d6860608401611b11565b6060820152611d7960808401611b27565b6080820152611d8a60a084016118e8565b60a08201529392505050565b600080600060608486031215611daa578081fd5b833567ffffffffffffffff80821115611dc1578283fd5b9085019060e08288031215611dd4578283fd5b611dde60e061249c565b611de783611b06565b8152611df560208401611b06565b6020820152611e0660408401611b1c565b6040820152611e17606084016118dd565b6060820152608083013582811115611e2d578485fd5b611e39898286016119b4565b60808301525060a083013560a082015260c083013582811115611e5a578485fd5b611e66898286016119b4565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611e9a578283fd5b8535611ea58161256f565b945060208601359350604086013567ffffffffffffffff80821115611ec8578485fd5b611ed489838a016118f3565b94506060880135915080821115611ee9578283fd5b50611ef68882890161195a565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611f24578586fd5b885160ff81168114611f34578687fd5b80985050602089015196506040890151955060608901519450611f5a8a60808b01611a4b565b9350611f698a60c08b01611a93565b925061018089015167ffffffffffffffff80821115611f86578384fd5b611f928c838d01611a00565b93506101a08b0151915080821115611fa8578283fd5b50611fb58b828c01611a00565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611ff781602086016020860161251e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff93909316835261ffff919091166020830152604082015260600190565b90815260200190565b60006020825261145a6020830184611fdf565b6000604082526120db6040830185611fdf565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e20636860408201527f61696e2049440000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e666960408201527f726d6174696f6e73000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff604084015116606083015260608301516123336080840182611fc5565b50608083015160e060a084015261234e610100840182611fdf565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526102088282611fdf565b60006020825282516020830152602083015160408301526040830151606080840152611a436080840182611fdf565b61ffff91909116815260200190565b61ffff92909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261248781840186611fdf565b90508281036101a084015261049d8185611fdf565b60405181810167ffffffffffffffff811182821017156124b857fe5b604052919050565b600067ffffffffffffffff8211156124d457fe5b5060209081020190565b600067ffffffffffffffff8211156124f257fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612539578181015183820152602001612521565b838111156117315750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461256c57600080fd5b50565b61ffff8116811461256c57600080fd5b67ffffffffffffffff8116811461256c57600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a264697066735822122006c43d6c505c1fabfd90869aa00302d388a3db4a17a4f88ebcac04d0e12eb84e64736f6c63430007060033",
411
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101b1578063d633ad61146101c6578063e0cabadd146101ce578063ea455df9146101e1576100df565b80636c473aff1461017457806378d823f71461017c578063b71e0f7114610191576100df565b80635711c2a8116100bd5780635711c2a8146101375780635b056da5146101575780636348d2691461016c576100df565b80630f222e65146100e45780633fc18d4c1461010d57806347713b3914610122575b600080fd5b6100f76100f2366004611b32565b6101f4565b6040516101049190612393565b60405180910390f35b610115610211565b6040516101049190612059565b61012a610235565b60405161010491906123fb565b61014a610145366004611c23565b61023e565b60405161010491906120b5565b61015f610251565b60405161010491906123c2565b610115610275565b610115610299565b61018f61018a366004611d96565b6102bd565b005b6101a461019f366004611ba6565b6102cd565b60405161010491906122ee565b6101b96104ac565b60405161010491906120ac565b61012a6104d0565b6101a46101dc366004611c56565b6104d9565b61014a6101ef366004611c23565b6104ed565b6101fc61182c565b610208858585856104f8565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b6060610249826106a7565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102c88383836107c8565b505050565b6102d561184b565b60008211610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906122b7565b60405180910390fd5b60008080808061032a888a018a611e83565b9450945094509450945060006103428b8484876104f8565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f9061218f565b805160408201516000916103ba919089908c90610a59565b90506103c781878e6107c8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff1614156104325761042c8160c001516106a7565b60c08201525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16141561049d576104978160c00151610b4f565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b6104e161184b565b61020885858585610a59565b606061024982610b4f565b61050061182c565b815184511461053b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906120ea565b6000825111610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612223565b61057e611889565b606060005b845181101561062a5784818151811061059857fe5b60200260200101519150818051906020012088146105e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612158565b6106088782815181106105f157fe5b602002602001015161060284610bf9565b90610c6d565b925060018551038110156106225761061f83610e29565b97505b600101610583565b50600061063b600361060285610f46565b9050600061065161064c8389610c6d565b610fd2565b905061065b61182c565b61066c6106678361107e565b610e29565b815261067f61066760006106028561107e565b60208201526106956106908361107e565b61112e565b60408201529998505050505050505050565b6020810151606090600160ff821614156107c1576000806000806000806000898060200190518101906106da9190611f08565b9750975097509750975097509750506000815111156107b957815160009015610704575060148201515b803b806107b65760008260405160200161071e9190612029565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610774928f928f928f928f928f928f928b9201612409565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c5061024c9b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff161461082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f906121c6565b825160608401516040517fa466222200000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926108a99291906004016123d1565b60c06040518083038186803b1580156108c157600080fd5b505afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190611cf8565b60a081015185516040517febfa08e900000000000000000000000000000000000000000000000000000000815292935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e99261097892899060040161207a565b604080518083038186803b15801561098f57600080fd5b505afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611a4b565b905082816020015114610a06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90612121565b816020015167ffffffffffffffff1681600001511015610a52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f9061225a565b5050505050565b610a6161184b565b602085015160608601516068870151858801607c01519190610a816118a3565b610a8b818961125b565b50610a9b8160008c60888c611295565b506000610ab389610aad86601c61136f565b9061136f565b9050610abd6118a3565b610ac7818361125b565b50610ae360008d610ad98d609c6113e6565b8492919086611295565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610b689190611cb3565b9150915060008083511115610b7e575060148201515b73ffffffffffffffffffffffffffffffffffffffff8116610bf05760405161dead90600090610bb1908390602001612029565b60405160208183030381529060405290508084604051602001610bd59291906120c8565b6040516020818303038152906040529550505050505061024c565b50929392505050565b610c01611889565b602082018051835160009190911a908015801590610c22575060c060ff8316105b15610c5157600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b610c75611889565b610c7e83611461565b610cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125be6021913960400191505060405180910390fd5b610cdc8361149b565b8210610d4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610d60906114f3565b60208601510190506000805b85811015610d8b57610d7d83611592565b928301929150600101610d6c565b50610d9582611592565b9050828183011115610e0857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610e3e57508151602110155b610ea957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610eb883602001516114f3565b90508083600001511015610f17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806125966028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610f3d57826020036101000a820491505b50949350505050565b610f4e611889565b6000610f5d83602001516114f3565b60208401518451908201805192935060009290921a91908015801590610f86575060c060ff8416105b15610fb557600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610fda6118bd565b610fe382611461565b61104e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b600061105d83602001516114f3565b60208085015160408051808201909152868152920190820152915050919050565b611086611889565b61108f82611667565b6110fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061110a82611592565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090611188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125df6021913960400191505060405180910390fd5b600061119783602001516114f3565b905080836000015110156111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806125966028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561121457600080fd5b506040519080825280601f01601f19166020018201604052801561123f576020820181803683370190505b5090506000816020019050610f3d84876020015101828561167c565b6112636118a3565b60208206156112785760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61129d6118a3565b856020015182860111156112c7576112c7866112bf8860200151888601611703565b60020261171a565b6000808751805188602083010193508089870111156112e65788860182525b5050508484015b6020841061132a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016112ed565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000828211156113e057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561145a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516000906114725750600061024c565b6020820151805160001a9060c08210156114915760009250505061024c565b5060019392505050565b80516000906114ac5750600061024c565b6000806114bc84602001516114f3565b602085015185519181019250015b808210156114ea576114db82611592565b600190930192909101906114ca565b50909392505050565b8051600090811a608081101561150d57600091505061024c565b60b8811080611528575060c08110801590611528575060f881105b1561153757600191505061024c565b60c0811015611569577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061024c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061024c565b80516000908190811a60808110156115ad5760019150611660565b60b88110156115e0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150611660565b60c081101561160d5760b78103600185019450806020036101000a85510460018201810193505050611660565b60f8811015611640577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150611660565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80611686576102c8565b5b602081106116c45782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611687565b915181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169216919091179052565b600081831115611714575081610e23565b50919050565b8151611726838361125b565b506117318382611737565b50505050565b61173f6118a3565b61145a838460000151518485516117546118a3565b825182111561176257600080fd5b8460200151828501111561178457611784856112bf8760200151878601611703565b6000808651805187602083010193508088870111156117a35787860182525b505050602084015b602084106117e857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016117ab565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806118d0611889565b8152602001600081525090565b803561024c8161254a565b805161024c8161254a565b600082601f830112611903578081fd5b81356020611918611913836124c0565b61249c565b82815281810190858301855b8581101561194d5761193b898684358b01016119b4565b84529284019290840190600101611924565b5090979650505050505050565b600082601f83011261196a578081fd5b8135602061197a611913836124c0565b8281528181019085830183850287018401881015611996578586fd5b855b8581101561194d57813584529284019290840190600101611998565b600082601f8301126119c4578081fd5b81356119d2611913826124de565b8181528460208386010111156119e6578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611a10578081fd5b8151611a1e611913826124de565b818152846020838601011115611a32578283fd5b611a4382602083016020870161251e565b949350505050565b600060408284031215611a5c578081fd5b6040516040810181811067ffffffffffffffff82111715611a7957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611aa4578081fd5b60405160c0810181811067ffffffffffffffff82111715611ac157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b803561024c8161256f565b805161024c8161256f565b803561024c8161257f565b805161024c8161257f565b60008060008060808587031215611b47578384fd5b84359350602085013567ffffffffffffffff80821115611b65578485fd5b611b718883890161195a565b9450604087013593506060870135915080821115611b8d578283fd5b50611b9a878288016118f3565b91505092959194509250565b60008060008060608587031215611bbb578182fd5b84359350602085013567ffffffffffffffff80821115611bd9578384fd5b818701915087601f830112611bec578384fd5b813581811115611bfa578485fd5b886020828501011115611c0b578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611c34578081fd5b813567ffffffffffffffff811115611c4a578182fd5b611a43848285016119b4565b60008060008060808587031215611c6b578182fd5b843567ffffffffffffffff811115611c81578283fd5b611c8d878288016119b4565b9450506020850135611c9e8161256f565b93969395505050506040820135916060013590565b60008060408385031215611cc5578182fd5b825167ffffffffffffffff811115611cdb578283fd5b611ce785828601611a00565b925050602083015190509250929050565b600060c08284031215611d09578081fd5b60405160c0810181811067ffffffffffffffff82111715611d2657fe5b6040528251611d348161256f565b81526020830151611d448161257f565b60208201526040830151611d578161254a565b6040820152611d6860608401611b11565b6060820152611d7960808401611b27565b6080820152611d8a60a084016118e8565b60a08201529392505050565b600080600060608486031215611daa578081fd5b833567ffffffffffffffff80821115611dc1578283fd5b9085019060e08288031215611dd4578283fd5b611dde60e061249c565b611de783611b06565b8152611df560208401611b06565b6020820152611e0660408401611b1c565b6040820152611e17606084016118dd565b6060820152608083013582811115611e2d578485fd5b611e39898286016119b4565b60808301525060a083013560a082015260c083013582811115611e5a578485fd5b611e66898286016119b4565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611e9a578283fd5b8535611ea58161256f565b945060208601359350604086013567ffffffffffffffff80821115611ec8578485fd5b611ed489838a016118f3565b94506060880135915080821115611ee9578283fd5b50611ef68882890161195a565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611f24578586fd5b885160ff81168114611f34578687fd5b80985050602089015196506040890151955060608901519450611f5a8a60808b01611a4b565b9350611f698a60c08b01611a93565b925061018089015167ffffffffffffffff80821115611f86578384fd5b611f928c838d01611a00565b93506101a08b0151915080821115611fa8578283fd5b50611fb58b828c01611a00565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611ff781602086016020860161251e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff93909316835261ffff919091166020830152604082015260600190565b90815260200190565b60006020825261145a6020830184611fdf565b6000604082526120db6040830185611fdf565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e20636860408201527f61696e2049440000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e666960408201527f726d6174696f6e73000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff604084015116606083015260608301516123336080840182611fc5565b50608083015160e060a084015261234e610100840182611fdf565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526102088282611fdf565b60006020825282516020830152602083015160408301526040830151606080840152611a436080840182611fdf565b61ffff91909116815260200190565b61ffff92909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261248781840186611fdf565b90508281036101a084015261049d8185611fdf565b60405181810167ffffffffffffffff811182821017156124b857fe5b604052919050565b600067ffffffffffffffff8211156124d457fe5b5060209081020190565b600067ffffffffffffffff8211156124f257fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612539578181015183820152602001612521565b838111156117315750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461256c57600080fd5b50565b61ffff8116811461256c57600080fd5b67ffffffffffffffff8116811461256c57600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a264697066735822122006c43d6c505c1fabfd90869aa00302d388a3db4a17a4f88ebcac04d0e12eb84e64736f6c63430007060033",
412
+ "linkReferences": {},
413
+ "deployedLinkReferences": {}
414
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IStargate",
4
+ "sourceName": "contracts/proof/MPTValidatorV5.sol",
5
+ "abi": [],
6
+ "bytecode": "0x",
7
+ "deployedBytecode": "0x",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }