@layerzerolabs/lz-evm-sdk-v1 2.3.8 → 2.3.10

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 (146) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/artifacts-tron/contracts/Endpoint.sol/Endpoint.json +958 -0
  3. package/artifacts-tron/contracts/NonceContract.sol/NonceContract.json +88 -0
  4. package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +531 -0
  5. package/artifacts-tron/contracts/RelayerV2.sol/RelayerV2.json +1170 -0
  6. package/artifacts-tron/contracts/UltraLightNode.sol/UltraLightNode.json +1475 -0
  7. package/artifacts-tron/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1423 -0
  8. package/artifacts-tron/contracts/interfaces/IContractOne.sol/IContractOne.json +24 -0
  9. package/artifacts-tron/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +447 -0
  10. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +160 -0
  11. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +184 -0
  12. package/artifacts-tron/contracts/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +77 -0
  13. package/artifacts-tron/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +97 -0
  14. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +107 -0
  15. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +104 -0
  16. package/artifacts-tron/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
  17. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +92 -0
  18. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +107 -0
  19. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2PriceData.sol/ILayerZeroRelayerV2PriceData.json +83 -0
  20. package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +40 -0
  21. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV1.sol/ILayerZeroUltraLightNodeV1.json +156 -0
  22. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +582 -0
  23. package/artifacts-tron/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +83 -0
  24. package/artifacts-tron/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +77 -0
  25. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +146 -0
  26. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +154 -0
  27. package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +353 -0
  28. package/artifacts-tron/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +259 -0
  29. package/artifacts-tron/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +318 -0
  30. package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +162 -0
  31. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +116 -0
  32. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +162 -0
  33. package/artifacts-tron/contracts/proof/FPValidator.sol/FPValidator.json +326 -0
  34. package/artifacts-tron/contracts/proof/FPValidator.sol/IStargate.json +10 -0
  35. package/artifacts-tron/contracts/proof/MPTValidator.sol/MPTValidator.json +146 -0
  36. package/artifacts-tron/contracts/proof/MPTValidator01.sol/IStargate.json +10 -0
  37. package/artifacts-tron/contracts/proof/MPTValidator01.sol/MPTValidator01.json +339 -0
  38. package/artifacts-tron/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +310 -0
  39. package/artifacts-tron/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +212 -0
  40. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IStargate.json +10 -0
  41. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IUltraLightNode.json +108 -0
  42. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +414 -0
  43. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IStargate.json +10 -0
  44. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IUltraLightNode.json +108 -0
  45. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +432 -0
  46. package/artifacts-tron/contracts/proof/utility/Buffer.sol/Buffer.json +10 -0
  47. package/artifacts-tron/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +10 -0
  48. package/artifacts-tron/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +10 -0
  49. package/artifacts-tron/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +10 -0
  50. package/artifacts-zk/contracts/Endpoint.sol/Endpoint.json +959 -0
  51. package/artifacts-zk/contracts/NonceContract.sol/NonceContract.json +89 -0
  52. package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +545 -0
  53. package/artifacts-zk/contracts/RelayerV2.sol/RelayerV2.json +1020 -0
  54. package/artifacts-zk/contracts/TreasuryV2.sol/TreasuryV2.json +309 -0
  55. package/artifacts-zk/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1424 -0
  56. package/artifacts-zk/contracts/interfaces/IContractOne.sol/IContractOne.json +25 -0
  57. package/artifacts-zk/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +448 -0
  58. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +161 -0
  59. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +185 -0
  60. package/artifacts-zk/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +98 -0
  61. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +108 -0
  62. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +105 -0
  63. package/artifacts-zk/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +40 -0
  64. package/artifacts-zk/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +108 -0
  65. package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +41 -0
  66. package/artifacts-zk/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +583 -0
  67. package/artifacts-zk/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +84 -0
  68. package/artifacts-zk/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +78 -0
  69. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +147 -0
  70. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +155 -0
  71. package/artifacts-zk/contracts/oracle/OracleV2.sol/OracleV2.json +1527 -0
  72. package/artifacts-zk/contracts/precrime/PreCrime.sol/PreCrime.json +354 -0
  73. package/artifacts-zk/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +260 -0
  74. package/artifacts-zk/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +319 -0
  75. package/artifacts-zk/contracts/precrime/example/inherit/CounterI.sol/CounterI.json +624 -0
  76. package/artifacts-zk/contracts/precrime/example/inherit/CounterPrecrime.sol/CounterPrecrime.json +458 -0
  77. package/artifacts-zk/contracts/precrime/example/view/CounterPrecrimeView.sol/CounterPrecrimeView.json +417 -0
  78. package/artifacts-zk/contracts/precrime/example/view/CounterV.sol/CounterV.json +178 -0
  79. package/artifacts-zk/contracts/precrime/example/view/CounterView.sol/CounterView.json +166 -0
  80. package/artifacts-zk/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +163 -0
  81. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +117 -0
  82. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +163 -0
  83. package/artifacts-zk/contracts/proof/FPValidator.sol/FPValidator.json +327 -0
  84. package/artifacts-zk/contracts/proof/FPValidator.sol/IStargate.json +11 -0
  85. package/artifacts-zk/contracts/proof/utility/Buffer.sol/Buffer.json +11 -0
  86. package/artifacts-zk/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +11 -0
  87. package/artifacts-zk/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +11 -0
  88. package/artifacts-zk/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +11 -0
  89. package/artifacts-zk/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +172 -0
  90. package/artifacts-zk/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +156 -0
  91. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +10 -10
  92. package/deployments/arbitrum-sandbox-local/Endpoint.json +7 -7
  93. package/deployments/arbitrum-sandbox-local/FPValidator.json +4 -4
  94. package/deployments/arbitrum-sandbox-local/MPTValidator01.json +4 -4
  95. package/deployments/arbitrum-sandbox-local/NonceContract.json +4 -4
  96. package/deployments/arbitrum-sandbox-local/RelayerV2.json +16 -16
  97. package/deployments/arbitrum-sandbox-local/RelayerV2_Implementation.json +4 -4
  98. package/deployments/arbitrum-sandbox-local/RelayerV2_Proxy.json +16 -16
  99. package/deployments/arbitrum-sandbox-local/TreasuryV2.json +7 -7
  100. package/deployments/arbitrum-sandbox-local/UltraLightNode.json +7 -7
  101. package/deployments/arbitrum-sandbox-local/UltraLightNodeV2.json +7 -7
  102. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +10 -10
  103. package/deployments/bsc-sandbox-local/Endpoint.json +7 -7
  104. package/deployments/bsc-sandbox-local/FPValidator.json +4 -4
  105. package/deployments/bsc-sandbox-local/MPTValidator01.json +4 -4
  106. package/deployments/bsc-sandbox-local/NonceContract.json +4 -4
  107. package/deployments/bsc-sandbox-local/RelayerV2.json +16 -16
  108. package/deployments/bsc-sandbox-local/RelayerV2_Implementation.json +4 -4
  109. package/deployments/bsc-sandbox-local/RelayerV2_Proxy.json +16 -16
  110. package/deployments/bsc-sandbox-local/TreasuryV2.json +7 -7
  111. package/deployments/bsc-sandbox-local/UltraLightNode.json +7 -7
  112. package/deployments/bsc-sandbox-local/UltraLightNodeV2.json +7 -7
  113. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +10 -10
  114. package/deployments/ethereum-sandbox-local/Endpoint.json +7 -7
  115. package/deployments/ethereum-sandbox-local/FPValidator.json +4 -4
  116. package/deployments/ethereum-sandbox-local/MPTValidator01.json +4 -4
  117. package/deployments/ethereum-sandbox-local/NonceContract.json +4 -4
  118. package/deployments/ethereum-sandbox-local/RelayerV2.json +16 -16
  119. package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +4 -4
  120. package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +16 -16
  121. package/deployments/ethereum-sandbox-local/TreasuryV2.json +7 -7
  122. package/deployments/ethereum-sandbox-local/UltraLightNode.json +7 -7
  123. package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +7 -7
  124. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +10 -10
  125. package/deployments/polygon-sandbox-local/Endpoint.json +7 -7
  126. package/deployments/polygon-sandbox-local/FPValidator.json +4 -4
  127. package/deployments/polygon-sandbox-local/MPTValidator01.json +4 -4
  128. package/deployments/polygon-sandbox-local/NonceContract.json +4 -4
  129. package/deployments/polygon-sandbox-local/RelayerV2.json +16 -16
  130. package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +4 -4
  131. package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +16 -16
  132. package/deployments/polygon-sandbox-local/TreasuryV2.json +7 -7
  133. package/deployments/polygon-sandbox-local/UltraLightNode.json +7 -7
  134. package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +7 -7
  135. package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +14 -14
  136. package/deployments/tron-sandbox-local/Endpoint.json +10 -10
  137. package/deployments/tron-sandbox-local/FPValidator.json +6 -6
  138. package/deployments/tron-sandbox-local/MPTValidator01.json +6 -6
  139. package/deployments/tron-sandbox-local/NonceContract.json +7 -7
  140. package/deployments/tron-sandbox-local/RelayerV2.json +31 -31
  141. package/deployments/tron-sandbox-local/RelayerV2_Implementation.json +6 -6
  142. package/deployments/tron-sandbox-local/RelayerV2_Proxy.json +28 -28
  143. package/deployments/tron-sandbox-local/TreasuryV2.json +11 -11
  144. package/deployments/tron-sandbox-local/UltraLightNode.json +11 -11
  145. package/deployments/tron-sandbox-local/UltraLightNodeV2.json +12 -12
  146. package/package.json +23 -7
@@ -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": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506114838061003a6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c8063b71e0f7114610060578063be9d395e14610089578063fa3ebe131461009e575b600080fd5b61007361006e36600461107a565b6100be565b60405161008091906112da565b60405180910390f35b61009161017d565b6040516100809190611265565b6100b16100ac3660046110f7565b6101a1565b604051610080919061136a565b6100c6610ea8565b6000808080806100d8888a018a611175565b9450945094509450945060006100f18b848488886101c0565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f61461015a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101519061126e565b60405180910390fd5b61016e8160400151878a8460000151610320565b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b6101a9610ee6565b6101b686868686866101c0565b9695505050505050565b6101c8610ee6565b6000606060005b855181101561025f578581815181106101e457fe5b602002602001015191508180519060200120891461022e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610151906112a3565b84518110156102575784818151811061024357fe5b602002602001015192506020838301015198505b6001016101cf565b50600061027361026e83610416565b61048e565b8051909150600090610285908a61053a565b905061029361026e82610603565b915061029e8261068f565b506102a88261068f565b506102b28261068f565b506102c961026e896102c38561068f565b9061053a565b91506102d3610ee6565b6102e46102df8461068f565b61073f565b81526102f76102df60006102c38661068f565b602082015261030d6103088461068f565b61085c565b60408201529a9950505050505050505050565b610328610ea8565b602085015160608601516068870151858801607c01519190610348610f05565b6103528189610989565b506103628160008c60888c6109c3565b50600061037a89610374866014610a7f565b90610a7f565b9050610384610f05565b61038e8183610989565b506103aa60008d6103a08d609c610af6565b84929190866109c3565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b61041e610f1f565b602082018051835160009190911a90801580159061043f575060c060ff8316105b1561046e57600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b60405180604001604052808281526020018481525093505050505b919050565b610496610f39565b61049f82610b71565b61050a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b60006105198360200151610bab565b60208085015160408051808201909152868152920190820152915050919050565b610542610f1f565b61054b83610b71565b6105a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061140c6021913960400191505060405180910390fd5b60006105af8460200151610bab565b60208501510190506000805b848110156105da576105cc83610c4a565b9283019291506001016105bb565b506105e482610c4a565b6040805180820190915290815260208101929092525090505b92915050565b61060b610f1f565b600061061a8360200151610bab565b60208401518451908201805192935060009290921a91908015801590610643575060c060ff8416105b1561067257600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610697610f1f565b6106a082610d1f565b61070b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061071b82610c4a565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061075457508151602110155b6107bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b60006107ce8360200151610bab565b9050808360000151101561082d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806113e46028913960400191505060405180910390fd5b82516020808501518301805192849003929183101561085357826020036101000a820491505b50949350505050565b80516060906108b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061142d6021913960400191505060405180910390fd5b60006108c58360200151610bab565b90508083600001511015610924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806113e46028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561094257600080fd5b506040519080825280601f01601f19166020018201604052801561096d576020820181803683370190505b5090506000816020019050610853848760200151018285610d34565b610991610f05565b60208206156109a65760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6109cb610f05565b856020015182860111156109f5576109f5866109ed8860200151888601610d9d565b600202610db4565b600080875180518860208301019350808987011115610a145788860182525b5050508484015b60208410610a3a5780518252601f199093019260209182019101610a1b565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082821115610af057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610b6a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b8051600090610b8257506000610489565b6020820151805160001a9060c0821015610ba157600092505050610489565b5060019392505050565b8051600090811a6080811015610bc5576000915050610489565b60b8811080610be0575060c08110801590610be0575060f881105b15610bef576001915050610489565b60c0811015610c21577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a019050610489565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a019050610489565b80516000908190811a6080811015610c655760019150610d18565b60b8811015610c98577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150610d18565b60c0811015610cc55760b78103600185019450806020036101000a85510460018201810193505050610d18565b60f8811015610cf8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150610d18565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80610d3e57610d98565b5b60208110610d5e578251825260209283019290910190601f1901610d3f565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115610dae5750816105fd565b50919050565b8151610dc08383610989565b50610dcb8382610dd1565b50505050565b610dd9610f05565b610b6a83846000015151848551610dee610f05565b8251821115610dfc57600080fd5b84602001518285011115610e1e57610e1e856109ed8760200151878601610d9d565b600080865180518760208301019350808887011115610e3d5787860182525b505050602084015b60208410610e645780518252601f199093019260209182019101610e45565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160608082018352600080835260208301529181019190915290565b604051806040016040528060608152602001600081525090565b604051806040016040528060008152602001600081525090565b6040518060400160405280610f4c610f1f565b8152602001600081525090565b6000601f8381840112610f6a578182fd5b82356020610f7f610f7a836113c5565b6113a1565b82815281810190868301865b8581101561100557813589018a603f820112610fa5578889fd5b85810135604067ffffffffffffffff821115610fbd57fe5b610fce88601f198c850116016113a1565b8281528d82848601011115610fe1578b8cfd5b828285018a83013791820188018b9052508552509284019290840190600101610f8b565b509098975050505050505050565b600082601f830112611023578081fd5b81356020611033610f7a836113c5565b828152818101908583018385028701840188101561104f578586fd5b855b8581101561106d57813584529284019290840190600101611051565b5090979650505050505050565b6000806000806060858703121561108f578384fd5b84359350602085013567ffffffffffffffff808211156110ad578485fd5b818701915087601f8301126110c0578485fd5b8135818111156110ce578586fd5b8860208285010111156110df578586fd5b95986020929092019750949560400135945092505050565b600080600080600060a0868803121561110e578081fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8082111561113a578283fd5b61114689838a01610f59565b9350608088013591508082111561115b578283fd5b5061116888828901611013565b9150509295509295909350565b600080600080600060a0868803121561118c578081fd5b853561ffff8116811461119d578182fd5b9450602086013567ffffffffffffffff808211156111b9578283fd5b6111c589838a01610f59565b955060408801359150808211156111da578283fd5b506111e788828901611013565b9598949750949560608101359550608001359392505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452815b8181101561123f57602081850181015186830182015201611223565b818111156112505782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b6020808252818101527f4c617965725a65726f3a207061636b6574206e6f74207265636f676e697a6564604082015260600190565b6020808252601b908201527f4c617965725a65726f3a20696e76616c696420686173686c696e6b0000000000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161131f6080840182611200565b50608083015160e060a084015261133a61010084018261121a565b905060a084015160c084015260c0840151601f198483030160e0850152611361828261121a565b95945050505050565b60006020825282516020830152602083015160408301526040830151606080840152611399608084018261121a565b949350505050565b60405181810167ffffffffffffffff811182821017156113bd57fe5b604052919050565b600067ffffffffffffffff8211156113d957fe5b506020908102019056fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a26469706673582212207b9b962b6981725487923340bb34bd3a8c0ec392688e9c1450c494ac04ff173464736f6c63430007060033",
143
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c8063b71e0f7114610060578063be9d395e14610089578063fa3ebe131461009e575b600080fd5b61007361006e36600461107a565b6100be565b60405161008091906112da565b60405180910390f35b61009161017d565b6040516100809190611265565b6100b16100ac3660046110f7565b6101a1565b604051610080919061136a565b6100c6610ea8565b6000808080806100d8888a018a611175565b9450945094509450945060006100f18b848488886101c0565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f61461015a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101519061126e565b60405180910390fd5b61016e8160400151878a8460000151610320565b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b6101a9610ee6565b6101b686868686866101c0565b9695505050505050565b6101c8610ee6565b6000606060005b855181101561025f578581815181106101e457fe5b602002602001015191508180519060200120891461022e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610151906112a3565b84518110156102575784818151811061024357fe5b602002602001015192506020838301015198505b6001016101cf565b50600061027361026e83610416565b61048e565b8051909150600090610285908a61053a565b905061029361026e82610603565b915061029e8261068f565b506102a88261068f565b506102b28261068f565b506102c961026e896102c38561068f565b9061053a565b91506102d3610ee6565b6102e46102df8461068f565b61073f565b81526102f76102df60006102c38661068f565b602082015261030d6103088461068f565b61085c565b60408201529a9950505050505050505050565b610328610ea8565b602085015160608601516068870151858801607c01519190610348610f05565b6103528189610989565b506103628160008c60888c6109c3565b50600061037a89610374866014610a7f565b90610a7f565b9050610384610f05565b61038e8183610989565b506103aa60008d6103a08d609c610af6565b84929190866109c3565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b61041e610f1f565b602082018051835160009190911a90801580159061043f575060c060ff8316105b1561046e57600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b60405180604001604052808281526020018481525093505050505b919050565b610496610f39565b61049f82610b71565b61050a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b60006105198360200151610bab565b60208085015160408051808201909152868152920190820152915050919050565b610542610f1f565b61054b83610b71565b6105a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061140c6021913960400191505060405180910390fd5b60006105af8460200151610bab565b60208501510190506000805b848110156105da576105cc83610c4a565b9283019291506001016105bb565b506105e482610c4a565b6040805180820190915290815260208101929092525090505b92915050565b61060b610f1f565b600061061a8360200151610bab565b60208401518451908201805192935060009290921a91908015801590610643575060c060ff8416105b1561067257600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610697610f1f565b6106a082610d1f565b61070b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b6020820151600061071b82610c4a565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061075457508151602110155b6107bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b60006107ce8360200151610bab565b9050808360000151101561082d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806113e46028913960400191505060405180910390fd5b82516020808501518301805192849003929183101561085357826020036101000a820491505b50949350505050565b80516060906108b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061142d6021913960400191505060405180910390fd5b60006108c58360200151610bab565b90508083600001511015610924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806113e46028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff8111801561094257600080fd5b506040519080825280601f01601f19166020018201604052801561096d576020820181803683370190505b5090506000816020019050610853848760200151018285610d34565b610991610f05565b60208206156109a65760208206602003820191505b506020828101829052604080518085526000815290920101905290565b6109cb610f05565b856020015182860111156109f5576109f5866109ed8860200151888601610d9d565b600202610db4565b600080875180518860208301019350808987011115610a145788860182525b5050508484015b60208410610a3a5780518252601f199093019260209182019101610a1b565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082821115610af057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610b6a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b8051600090610b8257506000610489565b6020820151805160001a9060c0821015610ba157600092505050610489565b5060019392505050565b8051600090811a6080811015610bc5576000915050610489565b60b8811080610be0575060c08110801590610be0575060f881105b15610bef576001915050610489565b60c0811015610c21577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a019050610489565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a019050610489565b80516000908190811a6080811015610c655760019150610d18565b60b8811015610c98577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150610d18565b60c0811015610cc55760b78103600185019450806020036101000a85510460018201810193505050610d18565b60f8811015610cf8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150610d18565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80610d3e57610d98565b5b60208110610d5e578251825260209283019290910190601f1901610d3f565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115610dae5750816105fd565b50919050565b8151610dc08383610989565b50610dcb8382610dd1565b50505050565b610dd9610f05565b610b6a83846000015151848551610dee610f05565b8251821115610dfc57600080fd5b84602001518285011115610e1e57610e1e856109ed8760200151878601610d9d565b600080865180518760208301019350808887011115610e3d5787860182525b505050602084015b60208410610e645780518252601f199093019260209182019101610e45565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160608082018352600080835260208301529181019190915290565b604051806040016040528060608152602001600081525090565b604051806040016040528060008152602001600081525090565b6040518060400160405280610f4c610f1f565b8152602001600081525090565b6000601f8381840112610f6a578182fd5b82356020610f7f610f7a836113c5565b6113a1565b82815281810190868301865b8581101561100557813589018a603f820112610fa5578889fd5b85810135604067ffffffffffffffff821115610fbd57fe5b610fce88601f198c850116016113a1565b8281528d82848601011115610fe1578b8cfd5b828285018a83013791820188018b9052508552509284019290840190600101610f8b565b509098975050505050505050565b600082601f830112611023578081fd5b81356020611033610f7a836113c5565b828152818101908583018385028701840188101561104f578586fd5b855b8581101561106d57813584529284019290840190600101611051565b5090979650505050505050565b6000806000806060858703121561108f578384fd5b84359350602085013567ffffffffffffffff808211156110ad578485fd5b818701915087601f8301126110c0578485fd5b8135818111156110ce578586fd5b8860208285010111156110df578586fd5b95986020929092019750949560400135945092505050565b600080600080600060a0868803121561110e578081fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8082111561113a578283fd5b61114689838a01610f59565b9350608088013591508082111561115b578283fd5b5061116888828901611013565b9150509295509295909350565b600080600080600060a0868803121561118c578081fd5b853561ffff8116811461119d578182fd5b9450602086013567ffffffffffffffff808211156111b9578283fd5b6111c589838a01610f59565b955060408801359150808211156111da578283fd5b506111e788828901611013565b9598949750949560608101359550608001359392505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452815b8181101561123f57602081850181015186830182015201611223565b818111156112505782602083870101525b50601f01601f19169290920160200192915050565b90815260200190565b6020808252818101527f4c617965725a65726f3a207061636b6574206e6f74207265636f676e697a6564604082015260600190565b6020808252601b908201527f4c617965725a65726f3a20696e76616c696420686173686c696e6b0000000000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161131f6080840182611200565b50608083015160e060a084015261133a61010084018261121a565b905060a084015160c084015260c0840151601f198483030160e0850152611361828261121a565b95945050505050565b60006020825282516020830152602083015160408301526040830151606080840152611399608084018261121a565b949350505050565b60405181810167ffffffffffffffff811182821017156113bd57fe5b604052919050565b600067ffffffffffffffff8211156113d957fe5b506020908102019056fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a26469706673582212207b9b962b6981725487923340bb34bd3a8c0ec392688e9c1450c494ac04ff173464736f6c63430007060033",
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
+ }
@@ -0,0 +1,339 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MPTValidator01",
4
+ "sourceName": "contracts/proof/MPTValidator01.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
+ "name": "PACKET_SIGNATURE",
25
+ "outputs": [
26
+ {
27
+ "internalType": "bytes32",
28
+ "name": "",
29
+ "type": "bytes32"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "bytes",
39
+ "name": "data",
40
+ "type": "bytes"
41
+ },
42
+ {
43
+ "internalType": "uint256",
44
+ "name": "sizeOfSrcAddress",
45
+ "type": "uint256"
46
+ },
47
+ {
48
+ "internalType": "bytes32",
49
+ "name": "ulnAddress",
50
+ "type": "bytes32"
51
+ }
52
+ ],
53
+ "name": "getPacket",
54
+ "outputs": [
55
+ {
56
+ "components": [
57
+ {
58
+ "internalType": "uint16",
59
+ "name": "srcChainId",
60
+ "type": "uint16"
61
+ },
62
+ {
63
+ "internalType": "uint16",
64
+ "name": "dstChainId",
65
+ "type": "uint16"
66
+ },
67
+ {
68
+ "internalType": "uint64",
69
+ "name": "nonce",
70
+ "type": "uint64"
71
+ },
72
+ {
73
+ "internalType": "address",
74
+ "name": "dstAddress",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "internalType": "bytes",
79
+ "name": "srcAddress",
80
+ "type": "bytes"
81
+ },
82
+ {
83
+ "internalType": "bytes32",
84
+ "name": "ulnAddress",
85
+ "type": "bytes32"
86
+ },
87
+ {
88
+ "internalType": "bytes",
89
+ "name": "payload",
90
+ "type": "bytes"
91
+ }
92
+ ],
93
+ "internalType": "struct LayerZeroPacket.Packet",
94
+ "name": "",
95
+ "type": "tuple"
96
+ }
97
+ ],
98
+ "stateMutability": "pure",
99
+ "type": "function"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "getProofType",
104
+ "outputs": [
105
+ {
106
+ "internalType": "uint8",
107
+ "name": "",
108
+ "type": "uint8"
109
+ }
110
+ ],
111
+ "stateMutability": "view",
112
+ "type": "function"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "getUtilsVersion",
117
+ "outputs": [
118
+ {
119
+ "internalType": "uint8",
120
+ "name": "",
121
+ "type": "uint8"
122
+ }
123
+ ],
124
+ "stateMutability": "view",
125
+ "type": "function"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "bytes32",
131
+ "name": "hashRoot",
132
+ "type": "bytes32"
133
+ },
134
+ {
135
+ "internalType": "uint256[]",
136
+ "name": "receiptSlotIndex",
137
+ "type": "uint256[]"
138
+ },
139
+ {
140
+ "internalType": "uint256",
141
+ "name": "logIndex",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "internalType": "bytes[]",
146
+ "name": "proof",
147
+ "type": "bytes[]"
148
+ }
149
+ ],
150
+ "name": "getVerifyLog",
151
+ "outputs": [
152
+ {
153
+ "components": [
154
+ {
155
+ "internalType": "bytes32",
156
+ "name": "contractAddress",
157
+ "type": "bytes32"
158
+ },
159
+ {
160
+ "internalType": "bytes32",
161
+ "name": "topicZeroSig",
162
+ "type": "bytes32"
163
+ },
164
+ {
165
+ "internalType": "bytes",
166
+ "name": "data",
167
+ "type": "bytes"
168
+ }
169
+ ],
170
+ "internalType": "struct IValidationLibraryHelperV2.ULNLog",
171
+ "name": "",
172
+ "type": "tuple"
173
+ }
174
+ ],
175
+ "stateMutability": "pure",
176
+ "type": "function"
177
+ },
178
+ {
179
+ "inputs": [],
180
+ "name": "proofType",
181
+ "outputs": [
182
+ {
183
+ "internalType": "uint8",
184
+ "name": "",
185
+ "type": "uint8"
186
+ }
187
+ ],
188
+ "stateMutability": "view",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "bytes",
195
+ "name": "_payload",
196
+ "type": "bytes"
197
+ }
198
+ ],
199
+ "name": "secureStgPayload",
200
+ "outputs": [
201
+ {
202
+ "internalType": "bytes",
203
+ "name": "",
204
+ "type": "bytes"
205
+ }
206
+ ],
207
+ "stateMutability": "view",
208
+ "type": "function"
209
+ },
210
+ {
211
+ "inputs": [
212
+ {
213
+ "internalType": "bytes",
214
+ "name": "_payload",
215
+ "type": "bytes"
216
+ }
217
+ ],
218
+ "name": "secureStgTokenPayload",
219
+ "outputs": [
220
+ {
221
+ "internalType": "bytes",
222
+ "name": "",
223
+ "type": "bytes"
224
+ }
225
+ ],
226
+ "stateMutability": "pure",
227
+ "type": "function"
228
+ },
229
+ {
230
+ "inputs": [],
231
+ "name": "stargateBridgeAddress",
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": "stargateTokenAddress",
245
+ "outputs": [
246
+ {
247
+ "internalType": "address",
248
+ "name": "",
249
+ "type": "address"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "utilsVersion",
258
+ "outputs": [
259
+ {
260
+ "internalType": "uint8",
261
+ "name": "",
262
+ "type": "uint8"
263
+ }
264
+ ],
265
+ "stateMutability": "view",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "bytes32",
272
+ "name": "_receiptsRoot",
273
+ "type": "bytes32"
274
+ },
275
+ {
276
+ "internalType": "bytes",
277
+ "name": "_transactionProof",
278
+ "type": "bytes"
279
+ },
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "_remoteAddressSize",
283
+ "type": "uint256"
284
+ }
285
+ ],
286
+ "name": "validateProof",
287
+ "outputs": [
288
+ {
289
+ "components": [
290
+ {
291
+ "internalType": "uint16",
292
+ "name": "srcChainId",
293
+ "type": "uint16"
294
+ },
295
+ {
296
+ "internalType": "uint16",
297
+ "name": "dstChainId",
298
+ "type": "uint16"
299
+ },
300
+ {
301
+ "internalType": "uint64",
302
+ "name": "nonce",
303
+ "type": "uint64"
304
+ },
305
+ {
306
+ "internalType": "address",
307
+ "name": "dstAddress",
308
+ "type": "address"
309
+ },
310
+ {
311
+ "internalType": "bytes",
312
+ "name": "srcAddress",
313
+ "type": "bytes"
314
+ },
315
+ {
316
+ "internalType": "bytes32",
317
+ "name": "ulnAddress",
318
+ "type": "bytes32"
319
+ },
320
+ {
321
+ "internalType": "bytes",
322
+ "name": "payload",
323
+ "type": "bytes"
324
+ }
325
+ ],
326
+ "internalType": "struct LayerZeroPacket.Packet",
327
+ "name": "packet",
328
+ "type": "tuple"
329
+ }
330
+ ],
331
+ "stateMutability": "view",
332
+ "type": "function"
333
+ }
334
+ ],
335
+ "bytecode": "0x60c060405260008054600160ff199091161761ff0019166104001790553480156200002957600080fd5b50d380156200003757600080fd5b50d280156200004557600080fd5b5060405162001e9438038062001e948339810160408190526200006891620000b0565b6001600160601b0319606092831b8116608052911b1660a052620000e7565b80516000906001600160a81b0381168114620000a1578182fd5b6001600160a01b031692915050565b60008060408385031215620000c3578182fd5b620000ce8362000087565b9150620000de6020840162000087565b90509250929050565b60805160601c60a05160601c611d796200011b6000398061038d528061043652508061024552806103225250611d796000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106100ee5760003560e01c80639bcd850f1161009b578063d633ad6111610075578063d633ad61146101be578063e965c192146101c6578063ea455df9146101ce576100ee565b80639bcd850f1461018e578063b71e0f7114610196578063be9d395e146101a9576100ee565b806347713b39116100cc57806347713b39146101515780635711c2a8146101595780636348d26914610179576100ee565b806305af5d35146100f35780630f222e65146101115780632ff2044914610131575b600080fd5b6100fb6101e1565b6040516101089190611b99565b60405180910390f35b61012461011f366004611689565b6101ea565b6040516101089190611b6a565b61014461013f3660046117f2565b610207565b6040516101089190611ae3565b6100fb610222565b61016c61016736600461177a565b610230565b604051610108919061199b565b610181610243565b6040516101089190611971565b6100fb610267565b6101446101a43660046116fd565b610270565b6101b1610402565b6040516101089190611992565b6100fb610426565b610181610434565b61016c6101dc36600461177a565b610458565b60005460ff1681565b6101f2611363565b6101fe85858585610463565b95945050505050565b61020f611382565b61021a8484846105c4565b949350505050565b600054610100900460ff1681565b606061023b82610719565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b610278611382565b600082116102a15760405162461bcd60e51b815260040161029890611aac565b60405180910390fd5b600080806102b18688018861161f565b92509250925060006102c589848487610463565b60208101519091507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea821461030b5760405162461bcd60e51b815260040161029890611a3e565b61031e81604001518783600001516105c4565b94507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff16141561038b576103858560c00151610719565b60c08601525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff1614156103f6576103f08560c001516107fe565b60c08601525b50505050949350505050565b7fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea8281565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b606061023b826107fe565b61046b611363565b815184511461048c5760405162461bcd60e51b8152600401610298906119d0565b60008251116104ad5760405162461bcd60e51b815260040161029890611a75565b6104b56113c0565b606060005b8451811015610547578481815181106104cf57fe5b60200260200101519150818051906020012088146104ff5760405162461bcd60e51b815260040161029890611a07565b61052587828151811061050e57fe5b602002602001015161051f846108a8565b9061091c565b9250600185510381101561053f5761053c83610a8a565b97505b6001016104ba565b506000610558600361051f85610b73565b9050600061056e610569838961091c565b610bff565b9050610578611363565b61058961058483610c91565b610a8a565b815261059c610584600061051f85610c91565b60208201526105b26105ad83610c91565b610d27565b60408201529998505050505050505050565b6105cc611382565b60408401516048850151604a860151858701604c81015160609091015161ffff831661063f576040805162461bcd60e51b815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6106476113da565b610651818a610e20565b506106618160008c606a8d610e5a565b50600061066f8a6020610f16565b9050600061067d8883610f77565b90506106876113da565b6106918183610e20565b506106ad60008e6106a3866060610f16565b8492919086610e5a565b506040805160e08101825261ffff988916815296909716602087015267ffffffffffffffff909716958501959095525073ffffffffffffffffffffffffffffffffffffffff909116606083015251608082015260a08101869052915160c0830152509150509392505050565b6020810151606090600160ff821614156107f75760008060008060008060008980602001905181019061074c919061183e565b9750975097509750975097509750506000815111156107ef57815160009015610776575060148201515b803b806107ec576000826040516020016107909190611941565b60408051601f19818403018152602083810183526000808552925191945091926107c8928f928f928f928f928f928f928b9201611ba7565b60408051601f198184030181529190529c5061023e9b505050505050505050505050565b50505b505050505050505b5090919050565b60606000808380602001905181019061081791906117ad565b915091506000808351111561082d575060148201515b73ffffffffffffffffffffffffffffffffffffffff811661089f5760405161dead90600090610860908390602001611941565b604051602081830303815290604052905080846040516020016108849291906119ae565b6040516020818303038152906040529550505050505061023e565b50929392505050565b6108b06113c0565b602082018051835160009190911a9080158015906108d1575060c060ff8316105b1561090057600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b6109246113c0565b61092d83610fd4565b6109685760405162461bcd60e51b8152600401808060200182810382526021815260200180611d026021913960400191505060405180910390fd5b6109718361100e565b82106109c4576040805162461bcd60e51b815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b82516020840151908101906000906109db90611066565b60208601510190506000805b85811015610a06576109f883611105565b9283019291506001016109e7565b50610a1082611105565b9050828183011115610a69576040805162461bcd60e51b815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610a9f57508151602110155b610af0576040805162461bcd60e51b815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610aff8360200151611066565b90508083600001511015610b445760405162461bcd60e51b8152600401808060200182810382526028815260200180611cda6028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610b6a57826020036101000a820491505b50949350505050565b610b7b6113c0565b6000610b8a8360200151611066565b60208401518451908201805192935060009290921a91908015801590610bb3575060c060ff8416105b15610be257600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610c076113f4565b610c1082610fd4565b610c61576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b6000610c708360200151611066565b60208085015160408051808201909152868152920190820152915050919050565b610c996113c0565b610ca2826111da565b610cf3576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b60208201516000610d0382611105565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610d675760405162461bcd60e51b8152600401808060200182810382526021815260200180611d236021913960400191505060405180910390fd5b6000610d768360200151611066565b90508083600001511015610dbb5760405162461bcd60e51b8152600401808060200182810382526028815260200180611cda6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff81118015610dd957600080fd5b506040519080825280601f01601f191660200182016040528015610e04576020820181803683370190505b5090506000816020019050610b6a8487602001510182856111ef565b610e286113da565b6020820615610e3d5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b610e626113da565b85602001518286011115610e8c57610e8c86610e848860200151888601611258565b60020261126f565b600080875180518860208301019350808987011115610eab5788860182525b5050508484015b60208410610ed15780518252601f199093019260209182019101610eb2565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082820183811015610f70576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610fce576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8051600090610fe55750600061023e565b6020820151805160001a9060c08210156110045760009250505061023e565b5060019392505050565b805160009061101f5750600061023e565b60008061102f8460200151611066565b602085015185519181019250015b8082101561105d5761104e82611105565b6001909301929091019061103d565b50909392505050565b8051600090811a608081101561108057600091505061023e565b60b881108061109b575060c0811080159061109b575060f881105b156110aa57600191505061023e565b60c08110156110dc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061023e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061023e565b80516000908190811a608081101561112057600191506111d3565b60b8811015611153577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81810191506111d3565b60c08110156111805760b78103600185019450806020036101000a855104600182018101935050506111d3565b60f88110156111b3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41810191506111d3565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b806111f957611253565b5b60208110611219578251825260209283019290910190601f19016111fa565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115611269575081610a84565b50919050565b815161127b8383610e20565b50611286838261128c565b50505050565b6112946113da565b610f70838460000151518485516112a96113da565b82518211156112b757600080fd5b846020015182850111156112d9576112d985610e848760200151878601611258565b6000808651805187602083010193508088870111156112f85787860182525b505050602084015b6020841061131f5780518252601f199093019260209182019101611300565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806114076113c0565b8152602001600081525090565b600082601f830112611424578081fd5b8135602061143961143483611c6d565b611c49565b82815281810190858301855b8581101561146e5761145c898684358b01016114d5565b84529284019290840190600101611445565b5090979650505050505050565b600082601f83011261148b578081fd5b8135602061149b61143483611c6d565b82815281810190858301838502870184018810156114b7578586fd5b855b8581101561146e578135845292840192908401906001016114b9565b600082601f8301126114e5578081fd5b81356114f361143482611c8b565b818152846020838601011115611507578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611531578081fd5b815161153f61143482611c8b565b818152846020838601011115611553578283fd5b61021a826020830160208701611cad565b600060408284031215611575578081fd5b6040516040810181811067ffffffffffffffff8211171561159257fe5b604052825181526020928301519281019290925250919050565b600060c082840312156115bd578081fd5b60405160c0810181811067ffffffffffffffff821117156115da57fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b600080600060608486031215611633578283fd5b833567ffffffffffffffff8082111561164a578485fd5b61165687838801611414565b9450602086013591508082111561166b578384fd5b506116788682870161147b565b925050604084013590509250925092565b6000806000806080858703121561169e578081fd5b84359350602085013567ffffffffffffffff808211156116bc578283fd5b6116c88883890161147b565b94506040870135935060608701359150808211156116e4578283fd5b506116f187828801611414565b91505092959194509250565b60008060008060608587031215611712578384fd5b84359350602085013567ffffffffffffffff80821115611730578485fd5b818701915087601f830112611743578485fd5b813581811115611751578586fd5b886020828501011115611762578586fd5b95986020929092019750949560400135945092505050565b60006020828403121561178b578081fd5b813567ffffffffffffffff8111156117a1578182fd5b61021a848285016114d5565b600080604083850312156117bf578182fd5b825167ffffffffffffffff8111156117d5578283fd5b6117e185828601611521565b925050602083015190509250929050565b600080600060608486031215611806578283fd5b833567ffffffffffffffff81111561181c578384fd5b611828868287016114d5565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b03121561185a578586fd5b885160ff8116811461186a578687fd5b809850506020890151965060408901519550606089015194506118908a60808b01611564565b935061189f8a60c08b016115ac565b925061018089015167ffffffffffffffff808211156118bc578384fd5b6118c88c838d01611521565b93506101a08b01519150808211156118de578283fd5b506118eb8b828c01611521565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845261192d816020860160208601611cad565b601f01601f19169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060208252610f706020830184611915565b6000604082526119c16040830185611915565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff60408401511660608301526060830151611b2860808401826118fb565b50608083015160e060a0840152611b43610100840182611915565b905060a084015160c084015260c0840151601f198483030160e08501526101fe8282611915565b6000602082528251602083015260208301516040830152604083015160608084015261021a6080840182611915565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a086015161016084015280610180840152611c2581840186611915565b90508281036101a0840152611c3a8185611915565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff81118282101715611c6557fe5b604052919050565b600067ffffffffffffffff821115611c8157fe5b5060209081020190565b600067ffffffffffffffff821115611c9f57fe5b50601f01601f191660200190565b60005b83811015611cc8578181015183820152602001611cb0565b83811115611286575050600091015256fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220dcaf3a7249d50c27d327ce046afacb2961b1a1b8b10988b3d316eb6e3f2fa2a364736f6c63430007060033",
336
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106100ee5760003560e01c80639bcd850f1161009b578063d633ad6111610075578063d633ad61146101be578063e965c192146101c6578063ea455df9146101ce576100ee565b80639bcd850f1461018e578063b71e0f7114610196578063be9d395e146101a9576100ee565b806347713b39116100cc57806347713b39146101515780635711c2a8146101595780636348d26914610179576100ee565b806305af5d35146100f35780630f222e65146101115780632ff2044914610131575b600080fd5b6100fb6101e1565b6040516101089190611b99565b60405180910390f35b61012461011f366004611689565b6101ea565b6040516101089190611b6a565b61014461013f3660046117f2565b610207565b6040516101089190611ae3565b6100fb610222565b61016c61016736600461177a565b610230565b604051610108919061199b565b610181610243565b6040516101089190611971565b6100fb610267565b6101446101a43660046116fd565b610270565b6101b1610402565b6040516101089190611992565b6100fb610426565b610181610434565b61016c6101dc36600461177a565b610458565b60005460ff1681565b6101f2611363565b6101fe85858585610463565b95945050505050565b61020f611382565b61021a8484846105c4565b949350505050565b600054610100900460ff1681565b606061023b82610719565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1690565b610278611382565b600082116102a15760405162461bcd60e51b815260040161029890611aac565b60405180910390fd5b600080806102b18688018861161f565b92509250925060006102c589848487610463565b60208101519091507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea821461030b5760405162461bcd60e51b815260040161029890611a3e565b61031e81604001518783600001516105c4565b94507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff16141561038b576103858560c00151610719565b60c08601525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16856060015173ffffffffffffffffffffffffffffffffffffffff1614156103f6576103f08560c001516107fe565b60c08601525b50505050949350505050565b7fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea8281565b600054610100900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b606061023b826107fe565b61046b611363565b815184511461048c5760405162461bcd60e51b8152600401610298906119d0565b60008251116104ad5760405162461bcd60e51b815260040161029890611a75565b6104b56113c0565b606060005b8451811015610547578481815181106104cf57fe5b60200260200101519150818051906020012088146104ff5760405162461bcd60e51b815260040161029890611a07565b61052587828151811061050e57fe5b602002602001015161051f846108a8565b9061091c565b9250600185510381101561053f5761053c83610a8a565b97505b6001016104ba565b506000610558600361051f85610b73565b9050600061056e610569838961091c565b610bff565b9050610578611363565b61058961058483610c91565b610a8a565b815261059c610584600061051f85610c91565b60208201526105b26105ad83610c91565b610d27565b60408201529998505050505050505050565b6105cc611382565b60408401516048850151604a860151858701604c81015160609091015161ffff831661063f576040805162461bcd60e51b815260206004820152601f60248201527f4c617965725a65726f5061636b65743a20696e76616c6964207061636b657400604482015290519081900360640190fd5b6106476113da565b610651818a610e20565b506106618160008c606a8d610e5a565b50600061066f8a6020610f16565b9050600061067d8883610f77565b90506106876113da565b6106918183610e20565b506106ad60008e6106a3866060610f16565b8492919086610e5a565b506040805160e08101825261ffff988916815296909716602087015267ffffffffffffffff909716958501959095525073ffffffffffffffffffffffffffffffffffffffff909116606083015251608082015260a08101869052915160c0830152509150509392505050565b6020810151606090600160ff821614156107f75760008060008060008060008980602001905181019061074c919061183e565b9750975097509750975097509750506000815111156107ef57815160009015610776575060148201515b803b806107ec576000826040516020016107909190611941565b60408051601f19818403018152602083810183526000808552925191945091926107c8928f928f928f928f928f928f928b9201611ba7565b60408051601f198184030181529190529c5061023e9b505050505050505050505050565b50505b505050505050505b5090919050565b60606000808380602001905181019061081791906117ad565b915091506000808351111561082d575060148201515b73ffffffffffffffffffffffffffffffffffffffff811661089f5760405161dead90600090610860908390602001611941565b604051602081830303815290604052905080846040516020016108849291906119ae565b6040516020818303038152906040529550505050505061023e565b50929392505050565b6108b06113c0565b602082018051835160009190911a9080158015906108d1575060c060ff8316105b1561090057600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b6109246113c0565b61092d83610fd4565b6109685760405162461bcd60e51b8152600401808060200182810382526021815260200180611d026021913960400191505060405180910390fd5b6109718361100e565b82106109c4576040805162461bcd60e51b815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b82516020840151908101906000906109db90611066565b60208601510190506000805b85811015610a06576109f883611105565b9283019291506001016109e7565b50610a1082611105565b9050828183011115610a69576040805162461bcd60e51b815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610a9f57508151602110155b610af0576040805162461bcd60e51b815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610aff8360200151611066565b90508083600001511015610b445760405162461bcd60e51b8152600401808060200182810382526028815260200180611cda6028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610b6a57826020036101000a820491505b50949350505050565b610b7b6113c0565b6000610b8a8360200151611066565b60208401518451908201805192935060009290921a91908015801590610bb3575060c060ff8416105b15610be257600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b610c076113f4565b610c1082610fd4565b610c61576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b6000610c708360200151611066565b60208085015160408051808201909152868152920190820152915050919050565b610c996113c0565b610ca2826111da565b610cf3576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b60208201516000610d0382611105565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610d675760405162461bcd60e51b8152600401808060200182810382526021815260200180611d236021913960400191505060405180910390fd5b6000610d768360200151611066565b90508083600001511015610dbb5760405162461bcd60e51b8152600401808060200182810382526028815260200180611cda6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff81118015610dd957600080fd5b506040519080825280601f01601f191660200182016040528015610e04576020820181803683370190505b5090506000816020019050610b6a8487602001510182856111ef565b610e286113da565b6020820615610e3d5760208206602003820191505b506020828101829052604080518085526000815290920101905290565b610e626113da565b85602001518286011115610e8c57610e8c86610e848860200151888601611258565b60020261126f565b600080875180518860208301019350808987011115610eab5788860182525b5050508484015b60208410610ed15780518252601f199093019260209182019101610eb2565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b600082820183811015610f70576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610fce576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8051600090610fe55750600061023e565b6020820151805160001a9060c08210156110045760009250505061023e565b5060019392505050565b805160009061101f5750600061023e565b60008061102f8460200151611066565b602085015185519181019250015b8082101561105d5761104e82611105565b6001909301929091019061103d565b50909392505050565b8051600090811a608081101561108057600091505061023e565b60b881108061109b575060c0811080159061109b575060f881105b156110aa57600191505061023e565b60c08110156110dc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a01905061023e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a01905061023e565b80516000908190811a608081101561112057600191506111d3565b60b8811015611153577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81810191506111d3565b60c08110156111805760b78103600185019450806020036101000a855104600182018101935050506111d3565b60f88110156111b3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41810191506111d3565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b806111f957611253565b5b60208110611219578251825260209283019290910190601f19016111fa565b8251825160208390036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161782525b505050565b600081831115611269575081610a84565b50919050565b815161127b8383610e20565b50611286838261128c565b50505050565b6112946113da565b610f70838460000151518485516112a96113da565b82518211156112b757600080fd5b846020015182850111156112d9576112d985610e848760200151878601611258565b6000808651805187602083010193508088870111156112f85787860182525b505050602084015b6020841061131f5780518252601f199093019260209182019101611300565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806114076113c0565b8152602001600081525090565b600082601f830112611424578081fd5b8135602061143961143483611c6d565b611c49565b82815281810190858301855b8581101561146e5761145c898684358b01016114d5565b84529284019290840190600101611445565b5090979650505050505050565b600082601f83011261148b578081fd5b8135602061149b61143483611c6d565b82815281810190858301838502870184018810156114b7578586fd5b855b8581101561146e578135845292840192908401906001016114b9565b600082601f8301126114e5578081fd5b81356114f361143482611c8b565b818152846020838601011115611507578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611531578081fd5b815161153f61143482611c8b565b818152846020838601011115611553578283fd5b61021a826020830160208701611cad565b600060408284031215611575578081fd5b6040516040810181811067ffffffffffffffff8211171561159257fe5b604052825181526020928301519281019290925250919050565b600060c082840312156115bd578081fd5b60405160c0810181811067ffffffffffffffff821117156115da57fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b600080600060608486031215611633578283fd5b833567ffffffffffffffff8082111561164a578485fd5b61165687838801611414565b9450602086013591508082111561166b578384fd5b506116788682870161147b565b925050604084013590509250925092565b6000806000806080858703121561169e578081fd5b84359350602085013567ffffffffffffffff808211156116bc578283fd5b6116c88883890161147b565b94506040870135935060608701359150808211156116e4578283fd5b506116f187828801611414565b91505092959194509250565b60008060008060608587031215611712578384fd5b84359350602085013567ffffffffffffffff80821115611730578485fd5b818701915087601f830112611743578485fd5b813581811115611751578586fd5b886020828501011115611762578586fd5b95986020929092019750949560400135945092505050565b60006020828403121561178b578081fd5b813567ffffffffffffffff8111156117a1578182fd5b61021a848285016114d5565b600080604083850312156117bf578182fd5b825167ffffffffffffffff8111156117d5578283fd5b6117e185828601611521565b925050602083015190509250929050565b600080600060608486031215611806578283fd5b833567ffffffffffffffff81111561181c578384fd5b611828868287016114d5565b9660208601359650604090950135949350505050565b6000806000806000806000806101c0898b03121561185a578586fd5b885160ff8116811461186a578687fd5b809850506020890151965060408901519550606089015194506118908a60808b01611564565b935061189f8a60c08b016115ac565b925061018089015167ffffffffffffffff808211156118bc578384fd5b6118c88c838d01611521565b93506101a08b01519150808211156118de578283fd5b506118eb8b828c01611521565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845261192d816020860160208601611cad565b601f01601f19169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060208252610f706020830184611915565b6000604082526119c16040830185611915565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff60408401511660608301526060830151611b2860808401826118fb565b50608083015160e060a0840152611b43610100840182611915565b905060a084015160c084015260c0840151601f198483030160e08501526101fe8282611915565b6000602082528251602083015260208301516040830152604083015160608084015261021a6080840182611915565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a086015161016084015280610180840152611c2581840186611915565b90508281036101a0840152611c3a8185611915565b9b9a5050505050505050505050565b60405181810167ffffffffffffffff81118282101715611c6557fe5b604052919050565b600067ffffffffffffffff821115611c8157fe5b5060209081020190565b600067ffffffffffffffff821115611c9f57fe5b50601f01601f191660200190565b60005b83811015611cc8578181015183820152602001611cb0565b83811115611286575050600091015256fe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220dcaf3a7249d50c27d327ce046afacb2961b1a1b8b10988b3d316eb6e3f2fa2a364736f6c63430007060033",
337
+ "linkReferences": {},
338
+ "deployedLinkReferences": {}
339
+ }