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

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 (36) 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/package.json +8 -4
@@ -0,0 +1,326 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "FPValidator",
4
+ "sourceName": "contracts/proof/FPValidator.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_stargateBridgeAddress",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_stargateTokenAddress",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "bytes",
26
+ "name": "data",
27
+ "type": "bytes"
28
+ },
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "sizeOfSrcAddress",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "internalType": "bytes32",
36
+ "name": "ulnAddress",
37
+ "type": "bytes32"
38
+ }
39
+ ],
40
+ "name": "getPacket",
41
+ "outputs": [
42
+ {
43
+ "components": [
44
+ {
45
+ "internalType": "uint16",
46
+ "name": "srcChainId",
47
+ "type": "uint16"
48
+ },
49
+ {
50
+ "internalType": "uint16",
51
+ "name": "dstChainId",
52
+ "type": "uint16"
53
+ },
54
+ {
55
+ "internalType": "uint64",
56
+ "name": "nonce",
57
+ "type": "uint64"
58
+ },
59
+ {
60
+ "internalType": "address",
61
+ "name": "dstAddress",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "internalType": "bytes",
66
+ "name": "srcAddress",
67
+ "type": "bytes"
68
+ },
69
+ {
70
+ "internalType": "bytes32",
71
+ "name": "ulnAddress",
72
+ "type": "bytes32"
73
+ },
74
+ {
75
+ "internalType": "bytes",
76
+ "name": "payload",
77
+ "type": "bytes"
78
+ }
79
+ ],
80
+ "internalType": "struct LayerZeroPacket.Packet",
81
+ "name": "",
82
+ "type": "tuple"
83
+ }
84
+ ],
85
+ "stateMutability": "pure",
86
+ "type": "function"
87
+ },
88
+ {
89
+ "inputs": [],
90
+ "name": "getProofType",
91
+ "outputs": [
92
+ {
93
+ "internalType": "uint8",
94
+ "name": "",
95
+ "type": "uint8"
96
+ }
97
+ ],
98
+ "stateMutability": "view",
99
+ "type": "function"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "getUtilsVersion",
104
+ "outputs": [
105
+ {
106
+ "internalType": "uint8",
107
+ "name": "",
108
+ "type": "uint8"
109
+ }
110
+ ],
111
+ "stateMutability": "view",
112
+ "type": "function"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "bytes32",
118
+ "name": "",
119
+ "type": "bytes32"
120
+ },
121
+ {
122
+ "internalType": "uint256[]",
123
+ "name": "",
124
+ "type": "uint256[]"
125
+ },
126
+ {
127
+ "internalType": "uint256",
128
+ "name": "",
129
+ "type": "uint256"
130
+ },
131
+ {
132
+ "internalType": "bytes[]",
133
+ "name": "proof",
134
+ "type": "bytes[]"
135
+ }
136
+ ],
137
+ "name": "getVerifyLog",
138
+ "outputs": [
139
+ {
140
+ "components": [
141
+ {
142
+ "internalType": "bytes32",
143
+ "name": "contractAddress",
144
+ "type": "bytes32"
145
+ },
146
+ {
147
+ "internalType": "bytes32",
148
+ "name": "topicZeroSig",
149
+ "type": "bytes32"
150
+ },
151
+ {
152
+ "internalType": "bytes",
153
+ "name": "data",
154
+ "type": "bytes"
155
+ }
156
+ ],
157
+ "internalType": "struct IValidationLibraryHelperV2.ULNLog",
158
+ "name": "log",
159
+ "type": "tuple"
160
+ }
161
+ ],
162
+ "stateMutability": "pure",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "proofType",
168
+ "outputs": [
169
+ {
170
+ "internalType": "uint8",
171
+ "name": "",
172
+ "type": "uint8"
173
+ }
174
+ ],
175
+ "stateMutability": "view",
176
+ "type": "function"
177
+ },
178
+ {
179
+ "inputs": [
180
+ {
181
+ "internalType": "bytes",
182
+ "name": "_payload",
183
+ "type": "bytes"
184
+ }
185
+ ],
186
+ "name": "secureStgPayload",
187
+ "outputs": [
188
+ {
189
+ "internalType": "bytes",
190
+ "name": "",
191
+ "type": "bytes"
192
+ }
193
+ ],
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "bytes",
201
+ "name": "_payload",
202
+ "type": "bytes"
203
+ }
204
+ ],
205
+ "name": "secureStgTokenPayload",
206
+ "outputs": [
207
+ {
208
+ "internalType": "bytes",
209
+ "name": "",
210
+ "type": "bytes"
211
+ }
212
+ ],
213
+ "stateMutability": "pure",
214
+ "type": "function"
215
+ },
216
+ {
217
+ "inputs": [],
218
+ "name": "stargateBridgeAddress",
219
+ "outputs": [
220
+ {
221
+ "internalType": "address",
222
+ "name": "",
223
+ "type": "address"
224
+ }
225
+ ],
226
+ "stateMutability": "view",
227
+ "type": "function"
228
+ },
229
+ {
230
+ "inputs": [],
231
+ "name": "stargateTokenAddress",
232
+ "outputs": [
233
+ {
234
+ "internalType": "address",
235
+ "name": "",
236
+ "type": "address"
237
+ }
238
+ ],
239
+ "stateMutability": "view",
240
+ "type": "function"
241
+ },
242
+ {
243
+ "inputs": [],
244
+ "name": "utilsVersion",
245
+ "outputs": [
246
+ {
247
+ "internalType": "uint8",
248
+ "name": "",
249
+ "type": "uint8"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [
257
+ {
258
+ "internalType": "bytes32",
259
+ "name": "_packetHash",
260
+ "type": "bytes32"
261
+ },
262
+ {
263
+ "internalType": "bytes",
264
+ "name": "_transactionProof",
265
+ "type": "bytes"
266
+ },
267
+ {
268
+ "internalType": "uint256",
269
+ "name": "_remoteAddressSize",
270
+ "type": "uint256"
271
+ }
272
+ ],
273
+ "name": "validateProof",
274
+ "outputs": [
275
+ {
276
+ "components": [
277
+ {
278
+ "internalType": "uint16",
279
+ "name": "srcChainId",
280
+ "type": "uint16"
281
+ },
282
+ {
283
+ "internalType": "uint16",
284
+ "name": "dstChainId",
285
+ "type": "uint16"
286
+ },
287
+ {
288
+ "internalType": "uint64",
289
+ "name": "nonce",
290
+ "type": "uint64"
291
+ },
292
+ {
293
+ "internalType": "address",
294
+ "name": "dstAddress",
295
+ "type": "address"
296
+ },
297
+ {
298
+ "internalType": "bytes",
299
+ "name": "srcAddress",
300
+ "type": "bytes"
301
+ },
302
+ {
303
+ "internalType": "bytes32",
304
+ "name": "ulnAddress",
305
+ "type": "bytes32"
306
+ },
307
+ {
308
+ "internalType": "bytes",
309
+ "name": "payload",
310
+ "type": "bytes"
311
+ }
312
+ ],
313
+ "internalType": "struct LayerZeroPacket.Packet",
314
+ "name": "packet",
315
+ "type": "tuple"
316
+ }
317
+ ],
318
+ "stateMutability": "view",
319
+ "type": "function"
320
+ }
321
+ ],
322
+ "bytecode": "0x60c06040526000805461ff001960ff199091166002171661010017905534801561002857600080fd5b5060405161146738038061146783398101604081905261004791610081565b6001600160601b0319606092831b8116608052911b1660a0526100b3565b80516001600160a01b038116811461007c57600080fd5b919050565b60008060408385031215610093578182fd5b61009c83610065565b91506100aa60208401610065565b90509250929050565b60805160601c60a05160601c6113816100e6600039806103dc528061045f525080610200528061037152506113816000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80636348d26911610081578063d633ad611161005b578063d633ad6114610184578063e965c1921461018c578063ea455df914610194576100c9565b80636348d269146101545780639bcd850f14610169578063b71e0f7114610171576100c9565b80632ff20449116100b25780632ff204491461010c57806347713b391461012c5780635711c2a814610134576100c9565b806305af5d35146100ce5780630f222e65146100ec575b600080fd5b6100d66101a7565b6040516100e391906111e3565b60405180910390f35b6100ff6100fa366004610cfa565b6101b0565b6040516100e391906111b4565b61011f61011a366004610e6f565b6101c2565b6040516100e39190611106565b6100d66101dd565b610147610142366004610df7565b6101eb565b6040516100e3919061103d565b61015c6101fe565b6040516100e3919061101c565b6100d6610222565b61011f61017f366004610d7a565b61022b565b6100d661044f565b61015c61045d565b6101476101a2366004610df7565b610481565b60005460ff1681565b6101b8610aeb565b9695505050505050565b6101ca610b0a565b6101d584848461048c565b949350505050565b600054610100900460ff1681565b60606101f682610666565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b610233610b0a565b60008211610276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d906110cf565b60405180910390fd5b60208311801561029c575084848460405161029292919061100c565b6040518091039020145b6102d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d90611072565b60006102e160208286886112f7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208083015192935061036d915061032f908790818a6112f7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925085915061048c9050565b92507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156103da576103d48360c00151610666565b60c08401525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156104455761043f8360c00151610787565b60c08401525b5050949350505050565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606101f682610787565b610494610b0a565b835160006104a3856020610831565b90508082101561051457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6008860151600a870151868801600c8101516020909101518486039392919061ffff83166105a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6105ab610b48565b6105b5818c6108ae565b506105c58160008e602a8f6108e8565b506105ce610b48565b86156105fc576105de81886108ae565b506105fa60008e6105f08b6020610831565b849291908b6108e8565b505b6040805160e08101825261ffff968716815294909516602085015267ffffffffffffffff9095169383019390935273ffffffffffffffffffffffffffffffffffffffff1660608201529051608082015260a08101879052905160c082015293505050509392505050565b6020810151606090600160ff82161415610780576000806000806000806000898060200190518101906106999190610ebb565b975097509750975097509750975050600081511115610778578151600090156106c3575060148201515b803b80610775576000826040516020016106dd9190610fdc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610733928f928f928f928f928f928f928b92016111f1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506101f99b505050505050505050505050565b50505b505050505050505b5090919050565b6060600080838060200190518101906107a09190610e2a565b91509150600080835111156107b6575060148201515b73ffffffffffffffffffffffffffffffffffffffff81166108285760405161dead906000906107e9908390602001610fdc565b6040516020818303038152906040529050808460405160200161080d929190611050565b604051602081830303815290604052955050505050506101f9565b50929392505050565b6000828201838110156108a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6108b6610b48565b60208206156108cb5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6108f0610b48565b8560200151828601111561091a5761091a8661091288602001518886016109c2565b6002026109d9565b6000808751805188602083010193508089870111156109395788860182525b5050508484015b6020841061097d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610940565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000818311156109d35750816108a8565b50919050565b81516109e583836108ae565b506109f083826109f6565b50505050565b6109fe610b48565b6108a583846000015151848551610a13610b48565b8251821115610a2157600080fd5b84602001518285011115610a4357610a438561091287602001518786016109c2565b600080865180518760208301019350808887011115610a625787860182525b505050602084015b60208410610aa757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610a6a565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060608152602001600081525090565b60008083601f840112610b73578081fd5b50813567ffffffffffffffff811115610b8a578182fd5b6020830191508360208083028501011115610ba457600080fd5b9250929050565b600082601f830112610bbb578081fd5b8135610bce610bc9826112b7565b611293565b818152846020838601011115610be2578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112610c0c578081fd5b8151610c1a610bc9826112b7565b818152846020838601011115610c2e578283fd5b6101d582602083016020870161131f565b600060408284031215610c50578081fd5b6040516040810181811067ffffffffffffffff82111715610c6d57fe5b604052825181526020928301519281019290925250919050565b600060c08284031215610c98578081fd5b60405160c0810181811067ffffffffffffffff82111715610cb557fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b60008060008060008060808789031215610d12578182fd5b86359550602087013567ffffffffffffffff80821115610d30578384fd5b610d3c8a838b01610b62565b9097509550604089013594506060890135915080821115610d5b578384fd5b50610d6889828a01610b62565b979a9699509497509295939492505050565b60008060008060608587031215610d8f578384fd5b84359350602085013567ffffffffffffffff80821115610dad578485fd5b818701915087601f830112610dc0578485fd5b813581811115610dce578586fd5b886020828501011115610ddf578586fd5b95986020929092019750949560400135945092505050565b600060208284031215610e08578081fd5b813567ffffffffffffffff811115610e1e578182fd5b6101d584828501610bab565b60008060408385031215610e3c578182fd5b825167ffffffffffffffff811115610e52578283fd5b610e5e85828601610bfc565b925050602083015190509250929050565b600080600060608486031215610e83578283fd5b833567ffffffffffffffff811115610e99578384fd5b610ea586828701610bab565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b031215610ed7578182fd5b885160ff81168114610ee7578283fd5b80985050602089015196506040890151955060608901519450610f0d8a60808b01610c3f565b9350610f1c8a60c08b01610c87565b925061018089015167ffffffffffffffff80821115610f39578384fd5b610f458c838d01610bfc565b93506101a08b0151915080821115610f5b578283fd5b50610f688b828c01610bfc565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452610faa81602086016020860161131f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6000602082526108a56020830184610f92565b6000604082526110636040830185610f92565b90508260208301529392505050565b60208082526023908201527f50726f6f664c69623a20696e76616c6964207472616e73616374696f6e20707260408201527f6f6f660000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161114b6080840182610f78565b50608083015160e060a0840152611166610100840182610f92565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526111ab8282610f92565b95945050505050565b600060208252825160208301526020830151604083015260408301516060808401526101d56080840182610f92565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261126f81840186610f92565b90508281036101a08401526112848185610f92565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff811182821017156112af57fe5b604052919050565b600067ffffffffffffffff8211156112cb57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008085851115611306578182fd5b83861115611312578182fd5b5050820193919092039150565b60005b8381101561133a578181015183820152602001611322565b838111156109f0575050600091015256fea26469706673582212204e0c5c2a7026a7b0defd5e1cfd062e365840a8aee2246f9233adacfdb03e02ee64736f6c63430007060033",
323
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80636348d26911610081578063d633ad611161005b578063d633ad6114610184578063e965c1921461018c578063ea455df914610194576100c9565b80636348d269146101545780639bcd850f14610169578063b71e0f7114610171576100c9565b80632ff20449116100b25780632ff204491461010c57806347713b391461012c5780635711c2a814610134576100c9565b806305af5d35146100ce5780630f222e65146100ec575b600080fd5b6100d66101a7565b6040516100e391906111e3565b60405180910390f35b6100ff6100fa366004610cfa565b6101b0565b6040516100e391906111b4565b61011f61011a366004610e6f565b6101c2565b6040516100e39190611106565b6100d66101dd565b610147610142366004610df7565b6101eb565b6040516100e3919061103d565b61015c6101fe565b6040516100e3919061101c565b6100d6610222565b61011f61017f366004610d7a565b61022b565b6100d661044f565b61015c61045d565b6101476101a2366004610df7565b610481565b60005460ff1681565b6101b8610aeb565b9695505050505050565b6101ca610b0a565b6101d584848461048c565b949350505050565b600054610100900460ff1681565b60606101f682610666565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b610233610b0a565b60008211610276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d906110cf565b60405180910390fd5b60208311801561029c575084848460405161029292919061100c565b6040518091039020145b6102d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026d90611072565b60006102e160208286886112f7565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208083015192935061036d915061032f908790818a6112f7565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925085915061048c9050565b92507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156103da576103d48360c00151610666565b60c08401525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614156104455761043f8360c00151610787565b60c08401525b5050949350505050565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606101f682610787565b610494610b0a565b835160006104a3856020610831565b90508082101561051457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6008860151600a870151868801600c8101516020909101518486039392919061ffff83166105a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6105ab610b48565b6105b5818c6108ae565b506105c58160008e602a8f6108e8565b506105ce610b48565b86156105fc576105de81886108ae565b506105fa60008e6105f08b6020610831565b849291908b6108e8565b505b6040805160e08101825261ffff968716815294909516602085015267ffffffffffffffff9095169383019390935273ffffffffffffffffffffffffffffffffffffffff1660608201529051608082015260a08101879052905160c082015293505050509392505050565b6020810151606090600160ff82161415610780576000806000806000806000898060200190518101906106999190610ebb565b975097509750975097509750975050600081511115610778578151600090156106c3575060148201515b803b80610775576000826040516020016106dd9190610fdc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260208381018352600080855292519194509192610733928f928f928f928f928f928f928b92016111f1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506101f99b505050505050505050505050565b50505b505050505050505b5090919050565b6060600080838060200190518101906107a09190610e2a565b91509150600080835111156107b6575060148201515b73ffffffffffffffffffffffffffffffffffffffff81166108285760405161dead906000906107e9908390602001610fdc565b6040516020818303038152906040529050808460405160200161080d929190611050565b604051602081830303815290604052955050505050506101f9565b50929392505050565b6000828201838110156108a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6108b6610b48565b60208206156108cb5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6108f0610b48565b8560200151828601111561091a5761091a8661091288602001518886016109c2565b6002026109d9565b6000808751805188602083010193508089870111156109395788860182525b5050508484015b6020841061097d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610940565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000818311156109d35750816108a8565b50919050565b81516109e583836108ae565b506109f083826109f6565b50505050565b6109fe610b48565b6108a583846000015151848551610a13610b48565b8251821115610a2157600080fd5b84602001518285011115610a4357610a438561091287602001518786016109c2565b600080865180518760208301019350808887011115610a625787860182525b505050602084015b60208410610aa757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610a6a565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060608152602001600081525090565b60008083601f840112610b73578081fd5b50813567ffffffffffffffff811115610b8a578182fd5b6020830191508360208083028501011115610ba457600080fd5b9250929050565b600082601f830112610bbb578081fd5b8135610bce610bc9826112b7565b611293565b818152846020838601011115610be2578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112610c0c578081fd5b8151610c1a610bc9826112b7565b818152846020838601011115610c2e578283fd5b6101d582602083016020870161131f565b600060408284031215610c50578081fd5b6040516040810181811067ffffffffffffffff82111715610c6d57fe5b604052825181526020928301519281019290925250919050565b600060c08284031215610c98578081fd5b60405160c0810181811067ffffffffffffffff82111715610cb557fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b60008060008060008060808789031215610d12578182fd5b86359550602087013567ffffffffffffffff80821115610d30578384fd5b610d3c8a838b01610b62565b9097509550604089013594506060890135915080821115610d5b578384fd5b50610d6889828a01610b62565b979a9699509497509295939492505050565b60008060008060608587031215610d8f578384fd5b84359350602085013567ffffffffffffffff80821115610dad578485fd5b818701915087601f830112610dc0578485fd5b813581811115610dce578586fd5b886020828501011115610ddf578586fd5b95986020929092019750949560400135945092505050565b600060208284031215610e08578081fd5b813567ffffffffffffffff811115610e1e578182fd5b6101d584828501610bab565b60008060408385031215610e3c578182fd5b825167ffffffffffffffff811115610e52578283fd5b610e5e85828601610bfc565b925050602083015190509250929050565b600080600060608486031215610e83578283fd5b833567ffffffffffffffff811115610e99578384fd5b610ea586828701610bab565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b031215610ed7578182fd5b885160ff81168114610ee7578283fd5b80985050602089015196506040890151955060608901519450610f0d8a60808b01610c3f565b9350610f1c8a60c08b01610c87565b925061018089015167ffffffffffffffff80821115610f39578384fd5b610f458c838d01610bfc565b93506101a08b0151915080821115610f5b578283fd5b50610f688b828c01610bfc565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452610faa81602086016020860161131f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6000602082526108a56020830184610f92565b6000604082526110636040830185610f92565b90508260208301529392505050565b60208082526023908201527f50726f6f664c69623a20696e76616c6964207472616e73616374696f6e20707260408201527f6f6f660000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161114b6080840182610f78565b50608083015160e060a0840152611166610100840182610f92565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526111ab8282610f92565b95945050505050565b600060208252825160208301526020830151604083015260408301516060808401526101d56080840182610f92565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261126f81840186610f92565b90508281036101a08401526112848185610f92565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff811182821017156112af57fe5b604052919050565b600067ffffffffffffffff8211156112cb57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008085851115611306578182fd5b83861115611312578182fd5b5050820193919092039150565b60005b8381101561133a578181015183820152602001611322565b838111156109f0575050600091015256fea26469706673582212204e0c5c2a7026a7b0defd5e1cfd062e365840a8aee2246f9233adacfdb03e02ee64736f6c63430007060033",
324
+ "linkReferences": {},
325
+ "deployedLinkReferences": {}
326
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IStargate",
4
+ "sourceName": "contracts/proof/FPValidator.sol",
5
+ "abi": [],
6
+ "bytecode": "0x",
7
+ "deployedBytecode": "0x",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,146 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MPTValidator",
4
+ "sourceName": "contracts/proof/MPTValidator.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "PACKET_SIGNATURE",
9
+ "outputs": [
10
+ {
11
+ "internalType": "bytes32",
12
+ "name": "",
13
+ "type": "bytes32"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "bytes32",
23
+ "name": "hashRoot",
24
+ "type": "bytes32"
25
+ },
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "receiptSlotIndex",
29
+ "type": "uint256"
30
+ },
31
+ {
32
+ "internalType": "uint256",
33
+ "name": "logIndex",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "internalType": "bytes[]",
38
+ "name": "proof",
39
+ "type": "bytes[]"
40
+ },
41
+ {
42
+ "internalType": "uint256[]",
43
+ "name": "pointers",
44
+ "type": "uint256[]"
45
+ }
46
+ ],
47
+ "name": "getVerifyLog",
48
+ "outputs": [
49
+ {
50
+ "components": [
51
+ {
52
+ "internalType": "bytes32",
53
+ "name": "contractAddress",
54
+ "type": "bytes32"
55
+ },
56
+ {
57
+ "internalType": "bytes32",
58
+ "name": "topicZeroSig",
59
+ "type": "bytes32"
60
+ },
61
+ {
62
+ "internalType": "bytes",
63
+ "name": "data",
64
+ "type": "bytes"
65
+ }
66
+ ],
67
+ "internalType": "struct MPTValidator.ULNLog",
68
+ "name": "",
69
+ "type": "tuple"
70
+ }
71
+ ],
72
+ "stateMutability": "pure",
73
+ "type": "function"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "bytes32",
79
+ "name": "_receiptsRoot",
80
+ "type": "bytes32"
81
+ },
82
+ {
83
+ "internalType": "bytes",
84
+ "name": "_transactionProof",
85
+ "type": "bytes"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "_remoteAddressSize",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "validateProof",
94
+ "outputs": [
95
+ {
96
+ "components": [
97
+ {
98
+ "internalType": "uint16",
99
+ "name": "srcChainId",
100
+ "type": "uint16"
101
+ },
102
+ {
103
+ "internalType": "uint16",
104
+ "name": "dstChainId",
105
+ "type": "uint16"
106
+ },
107
+ {
108
+ "internalType": "uint64",
109
+ "name": "nonce",
110
+ "type": "uint64"
111
+ },
112
+ {
113
+ "internalType": "address",
114
+ "name": "dstAddress",
115
+ "type": "address"
116
+ },
117
+ {
118
+ "internalType": "bytes",
119
+ "name": "srcAddress",
120
+ "type": "bytes"
121
+ },
122
+ {
123
+ "internalType": "bytes32",
124
+ "name": "ulnAddress",
125
+ "type": "bytes32"
126
+ },
127
+ {
128
+ "internalType": "bytes",
129
+ "name": "payload",
130
+ "type": "bytes"
131
+ }
132
+ ],
133
+ "internalType": "struct LayerZeroPacket.Packet",
134
+ "name": "packet",
135
+ "type": "tuple"
136
+ }
137
+ ],
138
+ "stateMutability": "pure",
139
+ "type": "function"
140
+ }
141
+ ],
142
+ "bytecode": "0x608060405234801561001057600080fd5b5061151d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b71e0f7114610046578063be9d395e1461006f578063fa3ebe1314610084575b600080fd5b6100596100543660046110d8565b6100a4565b6040516100669190611356565b60405180910390f35b610077610163565b60405161006691906112e1565b610097610092366004611155565b610187565b6040516100669190611404565b6100ac610ee8565b6000808080806100be888a018a6111d3565b9450945094509450945060006100d78b848488886101a6565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f614610140576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610137906112ea565b60405180910390fd5b6101548160400151878a8460000151610306565b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b61018f610f26565b61019c86868686866101a6565b9695505050505050565b6101ae610f26565b6000606060005b8551811015610245578581815181106101ca57fe5b6020026020010151915081805190602001208914610214576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101379061131f565b845181101561023d5784818151811061022957fe5b602002602001015192506020838301015198505b6001016101b5565b506000610259610254836103fc565b610474565b805190915060009061026b908a610520565b9050610279610254826105e9565b915061028482610675565b5061028e82610675565b5061029882610675565b506102af610254896102a985610675565b90610520565b91506102b9610f26565b6102ca6102c584610675565b610725565b81526102dd6102c560006102a986610675565b60208201526102f36102ee84610675565b610842565b60408201529a9950505050505050505050565b61030e610ee8565b602085015160608601516068870151858801607c0151919061032e610f45565b610338818961096f565b506103488160008c60888c6109a9565b5060006103608961035a866014610a83565b90610a83565b905061036a610f45565b610374818361096f565b5061039060008d6103868d609c610afa565b84929190866109a9565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b610404610f5f565b602082018051835160009190911a908015801590610425575060c060ff8316105b1561045457600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b60405180604001604052808281526020018481525093505050505b919050565b61047c610f79565b61048582610b75565b6104f057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b60006104ff8360200151610baf565b60208085015160408051808201909152868152920190820152915050919050565b610528610f5f565b61053183610b75565b610586576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114a66021913960400191505060405180910390fd5b60006105958460200151610baf565b60208501510190506000805b848110156105c0576105b283610c4e565b9283019291506001016105a1565b506105ca82610c4e565b6040805180820190915290815260208101929092525090505b92915050565b6105f1610f5f565b60006106008360200151610baf565b60208401518451908201805192935060009290921a91908015801590610629575060c060ff8416105b1561065857600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b61067d610f5f565b61068682610d23565b6106f157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061070182610c4e565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061073a57508151602110155b6107a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b60006107b48360200151610baf565b90508083600001511015610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061147e6028913960400191505060405180910390fd5b82516020808501518301805192849003929183101561083957826020036101000a820491505b50949350505050565b805160609061089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114c76021913960400191505060405180910390fd5b60006108ab8360200151610baf565b9050808360000151101561090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061147e6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561092857600080fd5b506040519080825280601f01601f191660200182016040528015610953576020820181803683370190505b5090506000816020019050610839848760200151018285610d38565b610977610f45565b602082061561098c5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6109b1610f45565b856020015182860111156109db576109db866109d38860200151888601610dbf565b600202610dd6565b6000808751805188602083010193508089870111156109fa5788860182525b5050508484015b60208410610a3e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610a01565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082821115610af457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610b6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b8051600090610b865750600061046f565b6020820151805160001a9060c0821015610ba55760009250505061046f565b5060019392505050565b8051600090811a6080811015610bc957600091505061046f565b60b8811080610be4575060c08110801590610be4575060f881105b15610bf357600191505061046f565b60c0811015610c25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061046f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061046f565b80516000908190811a6080811015610c695760019150610d1c565b60b8811015610c9c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150610d1c565b60c0811015610cc95760b78103600185019450806020036101000a85510460018201810193505050610d1c565b60f8811015610cfc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150610d1c565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80610d4257610dba565b5b60208110610d805782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610d43565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115610dd05750816105e3565b50919050565b8151610de2838361096f565b50610ded8382610df3565b50505050565b610dfb610f45565b610b6e83846000015151848551610e10610f45565b8251821115610e1e57600080fd5b84602001518285011115610e4057610e40856109d38760200151878601610dbf565b600080865180518760208301019350808887011115610e5f5787860182525b505050602084015b60208410610ea457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610e67565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160608082018352600080835260208301529181019190915290565b604051806040016040528060608152602001600081525090565b604051806040016040528060008152602001600081525090565b6040518060400160405280610f8c610f5f565b8152602001600081525090565b6000601f8381840112610faa578182fd5b82356020610fbf610fba8361145f565b61143b565b82815281810190868301865b8581101561106357813589018a603f820112610fe5578889fd5b85810135604067ffffffffffffffff821115610ffd57fe5b61102c887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8501160161143b565b8281528d8284860101111561103f578b8cfd5b828285018a83013791820188018b9052508552509284019290840190600101610fcb565b509098975050505050505050565b600082601f830112611081578081fd5b81356020611091610fba8361145f565b82815281810190858301838502870184018810156110ad578586fd5b855b858110156110cb578135845292840192908401906001016110af565b5090979650505050505050565b600080600080606085870312156110ed578384fd5b84359350602085013567ffffffffffffffff8082111561110b578485fd5b818701915087601f83011261111e578485fd5b81358181111561112c578586fd5b88602082850101111561113d578586fd5b95986020929092019750949560400135945092505050565b600080600080600060a0868803121561116c578081fd5b853594506020860135935060408601359250606086013567ffffffffffffffff80821115611198578283fd5b6111a489838a01610f99565b935060808801359150808211156111b9578283fd5b506111c688828901611071565b9150509295509295909350565b600080600080600060a086880312156111ea578081fd5b853561ffff811681146111fb578182fd5b9450602086013567ffffffffffffffff80821115611217578283fd5b61122389838a01610f99565b95506040880135915080821115611238578283fd5b5061124588828901611071565b9598949750949560608101359550608001359392505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452815b8181101561129d57602081850181015186830182015201611281565b818111156112ae5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90815260200190565b6020808252818101527f4c617965725a65726f3a207061636b6574206e6f74207265636f676e697a6564604082015260600190565b6020808252601b908201527f4c617965725a65726f3a20696e76616c696420686173686c696e6b0000000000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161139b608084018261125e565b50608083015160e060a08401526113b6610100840182611278565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526113fb8282611278565b95945050505050565b600060208252825160208301526020830151604083015260408301516060808401526114336080840182611278565b949350505050565b60405181810167ffffffffffffffff8111828210171561145757fe5b604052919050565b600067ffffffffffffffff82111561147357fe5b506020908102019056fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a264697066735822122035de65b39872dca82af724dced6e883bebf5aa4e81e8ace478c975c5960cdcf564736f6c63430007060033",
143
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063b71e0f7114610046578063be9d395e1461006f578063fa3ebe1314610084575b600080fd5b6100596100543660046110d8565b6100a4565b6040516100669190611356565b60405180910390f35b610077610163565b60405161006691906112e1565b610097610092366004611155565b610187565b6040516100669190611404565b6100ac610ee8565b6000808080806100be888a018a6111d3565b9450945094509450945060006100d78b848488886101a6565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f614610140576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610137906112ea565b60405180910390fd5b6101548160400151878a8460000151610306565b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b61018f610f26565b61019c86868686866101a6565b9695505050505050565b6101ae610f26565b6000606060005b8551811015610245578581815181106101ca57fe5b6020026020010151915081805190602001208914610214576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101379061131f565b845181101561023d5784818151811061022957fe5b602002602001015192506020838301015198505b6001016101b5565b506000610259610254836103fc565b610474565b805190915060009061026b908a610520565b9050610279610254826105e9565b915061028482610675565b5061028e82610675565b5061029882610675565b506102af610254896102a985610675565b90610520565b91506102b9610f26565b6102ca6102c584610675565b610725565b81526102dd6102c560006102a986610675565b60208201526102f36102ee84610675565b610842565b60408201529a9950505050505050505050565b61030e610ee8565b602085015160608601516068870151858801607c0151919061032e610f45565b610338818961096f565b506103488160008c60888c6109a9565b5060006103608961035a866014610a83565b90610a83565b905061036a610f45565b610374818361096f565b5061039060008d6103868d609c610afa565b84929190866109a9565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b610404610f5f565b602082018051835160009190911a908015801590610425575060c060ff8316105b1561045457600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b60405180604001604052808281526020018481525093505050505b919050565b61047c610f79565b61048582610b75565b6104f057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b60006104ff8360200151610baf565b60208085015160408051808201909152868152920190820152915050919050565b610528610f5f565b61053183610b75565b610586576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114a66021913960400191505060405180910390fd5b60006105958460200151610baf565b60208501510190506000805b848110156105c0576105b283610c4e565b9283019291506001016105a1565b506105ca82610c4e565b6040805180820190915290815260208101929092525090505b92915050565b6105f1610f5f565b60006106008360200151610baf565b60208401518451908201805192935060009290921a91908015801590610629575060c060ff8416105b1561065857600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b61067d610f5f565b61068682610d23565b6106f157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061070182610c4e565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061073a57508151602110155b6107a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b60006107b48360200151610baf565b90508083600001511015610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061147e6028913960400191505060405180910390fd5b82516020808501518301805192849003929183101561083957826020036101000a820491505b50949350505050565b805160609061089c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114c76021913960400191505060405180910390fd5b60006108ab8360200151610baf565b9050808360000151101561090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061147e6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561092857600080fd5b506040519080825280601f01601f191660200182016040528015610953576020820181803683370190505b5090506000816020019050610839848760200151018285610d38565b610977610f45565b602082061561098c5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6109b1610f45565b856020015182860111156109db576109db866109d38860200151888601610dbf565b600202610dd6565b6000808751805188602083010193508089870111156109fa5788860182525b5050508484015b60208410610a3e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610a01565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082821115610af457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610b6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b8051600090610b865750600061046f565b6020820151805160001a9060c0821015610ba55760009250505061046f565b5060019392505050565b8051600090811a6080811015610bc957600091505061046f565b60b8811080610be4575060c08110801590610be4575060f881105b15610bf357600191505061046f565b60c0811015610c25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061046f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061046f565b80516000908190811a6080811015610c695760019150610d1c565b60b8811015610c9c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150610d1c565b60c0811015610cc95760b78103600185019450806020036101000a85510460018201810193505050610d1c565b60f8811015610cfc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150610d1c565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80610d4257610dba565b5b60208110610d805782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610d43565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115610dd05750816105e3565b50919050565b8151610de2838361096f565b50610ded8382610df3565b50505050565b610dfb610f45565b610b6e83846000015151848551610e10610f45565b8251821115610e1e57600080fd5b84602001518285011115610e4057610e40856109d38760200151878601610dbf565b600080865180518760208301019350808887011115610e5f5787860182525b505050602084015b60208410610ea457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610e67565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160608082018352600080835260208301529181019190915290565b604051806040016040528060608152602001600081525090565b604051806040016040528060008152602001600081525090565b6040518060400160405280610f8c610f5f565b8152602001600081525090565b6000601f8381840112610faa578182fd5b82356020610fbf610fba8361145f565b61143b565b82815281810190868301865b8581101561106357813589018a603f820112610fe5578889fd5b85810135604067ffffffffffffffff821115610ffd57fe5b61102c887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c8501160161143b565b8281528d8284860101111561103f578b8cfd5b828285018a83013791820188018b9052508552509284019290840190600101610fcb565b509098975050505050505050565b600082601f830112611081578081fd5b81356020611091610fba8361145f565b82815281810190858301838502870184018810156110ad578586fd5b855b858110156110cb578135845292840192908401906001016110af565b5090979650505050505050565b600080600080606085870312156110ed578384fd5b84359350602085013567ffffffffffffffff8082111561110b578485fd5b818701915087601f83011261111e578485fd5b81358181111561112c578586fd5b88602082850101111561113d578586fd5b95986020929092019750949560400135945092505050565b600080600080600060a0868803121561116c578081fd5b853594506020860135935060408601359250606086013567ffffffffffffffff80821115611198578283fd5b6111a489838a01610f99565b935060808801359150808211156111b9578283fd5b506111c688828901611071565b9150509295509295909350565b600080600080600060a086880312156111ea578081fd5b853561ffff811681146111fb578182fd5b9450602086013567ffffffffffffffff80821115611217578283fd5b61122389838a01610f99565b95506040880135915080821115611238578283fd5b5061124588828901611071565b9598949750949560608101359550608001359392505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452815b8181101561129d57602081850181015186830182015201611281565b818111156112ae5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90815260200190565b6020808252818101527f4c617965725a65726f3a207061636b6574206e6f74207265636f676e697a6564604082015260600190565b6020808252601b908201527f4c617965725a65726f3a20696e76616c696420686173686c696e6b0000000000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161139b608084018261125e565b50608083015160e060a08401526113b6610100840182611278565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e08501526113fb8282611278565b95945050505050565b600060208252825160208301526020830151604083015260408301516060808401526114336080840182611278565b949350505050565b60405181810167ffffffffffffffff8111828210171561145757fe5b604052919050565b600067ffffffffffffffff82111561147357fe5b506020908102019056fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a264697066735822122035de65b39872dca82af724dced6e883bebf5aa4e81e8ace478c975c5960cdcf564736f6c63430007060033",
144
+ "linkReferences": {},
145
+ "deployedLinkReferences": {}
146
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IStargate",
4
+ "sourceName": "contracts/proof/MPTValidator01.sol",
5
+ "abi": [],
6
+ "bytecode": "0x",
7
+ "deployedBytecode": "0x",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }