@layerzerolabs/protocol-v2-messagelib-evm-contracts 1.2.96 → 1.2.98

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 (272) hide show
  1. package/README.md +1 -1
  2. package/artifacts/contracts/Executor.sol/Executor.json +1413 -0
  3. package/artifacts/contracts/Executor.sol/ILayerZeroEndpointV2.json +230 -0
  4. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +546 -0
  5. package/artifacts/contracts/MessageLibBase.sol/MessageLibBase.json +16 -0
  6. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +694 -0
  7. package/artifacts/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +154 -0
  8. package/artifacts/contracts/SendLibBase.sol/SendLibBase.json +381 -0
  9. package/artifacts/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +819 -0
  10. package/artifacts/contracts/SimpleReadExecutor.sol/ILayerZeroEndpointV2.json +139 -0
  11. package/artifacts/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +260 -0
  12. package/artifacts/contracts/Treasury.sol/Treasury.json +309 -0
  13. package/artifacts/contracts/Worker.sol/Worker.json +579 -0
  14. package/artifacts/contracts/decompressor/DVNDecoder.sol/DVNDecoder.json +10 -0
  15. package/artifacts/contracts/decompressor/DVNDecompressor.sol/DVNDecompressor.json +329 -0
  16. package/artifacts/contracts/decompressor/DecompressorExtension.sol/DecompressorExtension.json +92 -0
  17. package/artifacts/contracts/decompressor/ExecutorDecoder.sol/ExecutorDecoder.json +10 -0
  18. package/artifacts/contracts/decompressor/ExecutorDecompressor.sol/ExecutorDecompressor.json +220 -0
  19. package/artifacts/contracts/interfaces/IExecutor.sol/IExecutor.json +487 -0
  20. package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +410 -0
  21. package/artifacts/contracts/interfaces/ILayerZeroExecutor.sol/ILayerZeroExecutor.json +79 -0
  22. package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +222 -0
  23. package/artifacts/contracts/interfaces/ILayerZeroReadExecutor.sol/ILayerZeroReadExecutor.json +59 -0
  24. package/artifacts/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +79 -0
  25. package/artifacts/contracts/interfaces/IWorker.sol/IWorker.json +221 -0
  26. package/artifacts/contracts/libs/ExecutorOptions.sol/ExecutorOptions.json +31 -0
  27. package/artifacts/contracts/libs/SafeCall.sol/SafeCall.json +10 -0
  28. package/artifacts/contracts/lowlat/EssenceDVNWrapper.sol/EssenceDVNWrapper.json +369 -0
  29. package/artifacts/contracts/lowlat/MultiCall.sol/MultiCall.json +120 -0
  30. package/artifacts/contracts/mocks/DVNMock.sol/DVNMock.json +135 -0
  31. package/artifacts/contracts/mocks/ExecutorMock.sol/ExecutorMock.json +397 -0
  32. package/artifacts/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
  33. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +515 -0
  34. package/artifacts/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +551 -0
  35. package/artifacts/contracts/uln/SendUlnBase.sol/SendUlnBase.json +412 -0
  36. package/artifacts/contracts/uln/UlnBase.sol/UlnBase.json +387 -0
  37. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +1509 -0
  38. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +695 -0
  39. package/artifacts/contracts/uln/dvn/DeadDVN.sol/DeadDVN.json +164 -0
  40. package/artifacts/contracts/uln/dvn/MultiSig.sol/MultiSig.json +217 -0
  41. package/artifacts/contracts/uln/dvn/SimpleReadDVN.sol/SimpleReadDVN.json +231 -0
  42. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +1040 -0
  43. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +417 -0
  44. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +789 -0
  45. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
  46. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
  47. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
  48. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
  49. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +1171 -0
  50. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
  51. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +574 -0
  52. package/artifacts/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
  53. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
  54. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
  55. package/artifacts/contracts/uln/interfaces/IDVN.sol/IDVN.json +438 -0
  56. package/artifacts/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +374 -0
  57. package/artifacts/contracts/uln/interfaces/ILayerZeroDVN.sol/ILayerZeroDVN.json +96 -0
  58. package/artifacts/contracts/uln/interfaces/ILayerZeroReadDVN.sol/ILayerZeroReadDVN.json +79 -0
  59. package/artifacts/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +52 -0
  60. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
  61. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +293 -0
  62. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +78 -0
  63. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +301 -0
  64. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +27 -0
  65. package/artifacts/contracts/uln/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +26 -0
  66. package/artifacts/contracts/uln/libs/SupportedCmdTypes.sol/SupportedCmdTypesLib.json +16 -0
  67. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +54 -0
  68. package/artifacts/contracts/uln/readlib/ReadLib1002.sol/ReadLib1002.json +1288 -0
  69. package/artifacts/contracts/uln/readlib/ReadLib1002View.sol/ReadLib1002View.json +285 -0
  70. package/artifacts/contracts/uln/readlib/ReadLibBase.sol/ReadLibBase.json +387 -0
  71. package/artifacts/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +129 -0
  72. package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ILayerZeroReceiveLibrary.json +68 -0
  73. package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +416 -0
  74. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +1000 -0
  75. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
  76. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
  77. package/artifacts/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +804 -0
  78. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +1278 -0
  79. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +94 -0
  80. package/artifacts/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +247 -0
  81. package/artifacts/contracts/uln/uln301/interfaces/INonceContract.sol/INonceContract.json +40 -0
  82. package/artifacts/contracts/uln/uln301/interfaces/ITreasuryFeeHandler.sol/ITreasuryFeeHandler.json +44 -0
  83. package/artifacts/contracts/uln/uln301/interfaces/IUltraLightNode301.sol/IUltraLightNode301.json +29 -0
  84. package/artifacts/contracts/uln/uln301/mocks/NonceContractMock.sol/NonceContractMock.json +93 -0
  85. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +757 -0
  86. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
  87. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
  88. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +1259 -0
  89. package/artifacts/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +592 -0
  90. package/artifacts/contracts/upgradeable/proxy/ProxyAdmin.sol/ProxyAdmin.json +181 -0
  91. package/artifacts/contracts/upgradeable/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +160 -0
  92. package/artifacts-tron/contracts/Executor.sol/Executor.json +1413 -0
  93. package/artifacts-tron/contracts/Executor.sol/ILayerZeroEndpointV2.json +230 -0
  94. package/artifacts-tron/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +546 -0
  95. package/artifacts-tron/contracts/MessageLibBase.sol/MessageLibBase.json +16 -0
  96. package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +694 -0
  97. package/artifacts-tron/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +154 -0
  98. package/artifacts-tron/contracts/SendLibBase.sol/SendLibBase.json +381 -0
  99. package/artifacts-tron/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +819 -0
  100. package/artifacts-tron/contracts/SimpleReadExecutor.sol/ILayerZeroEndpointV2.json +139 -0
  101. package/artifacts-tron/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +260 -0
  102. package/artifacts-tron/contracts/Treasury.sol/Treasury.json +309 -0
  103. package/artifacts-tron/contracts/Worker.sol/Worker.json +579 -0
  104. package/artifacts-tron/contracts/decompressor/DVNDecoder.sol/DVNDecoder.json +10 -0
  105. package/artifacts-tron/contracts/decompressor/DVNDecompressor.sol/DVNDecompressor.json +329 -0
  106. package/artifacts-tron/contracts/decompressor/DecompressorExtension.sol/DecompressorExtension.json +92 -0
  107. package/artifacts-tron/contracts/decompressor/ExecutorDecoder.sol/ExecutorDecoder.json +10 -0
  108. package/artifacts-tron/contracts/decompressor/ExecutorDecompressor.sol/ExecutorDecompressor.json +220 -0
  109. package/artifacts-tron/contracts/interfaces/IExecutor.sol/IExecutor.json +487 -0
  110. package/artifacts-tron/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +410 -0
  111. package/artifacts-tron/contracts/interfaces/ILayerZeroExecutor.sol/ILayerZeroExecutor.json +79 -0
  112. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +222 -0
  113. package/artifacts-tron/contracts/interfaces/ILayerZeroReadExecutor.sol/ILayerZeroReadExecutor.json +59 -0
  114. package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +79 -0
  115. package/artifacts-tron/contracts/interfaces/IWorker.sol/IWorker.json +221 -0
  116. package/artifacts-tron/contracts/libs/ExecutorOptions.sol/ExecutorOptions.json +31 -0
  117. package/artifacts-tron/contracts/libs/SafeCall.sol/SafeCall.json +10 -0
  118. package/artifacts-tron/contracts/lowlat/EssenceDVNWrapper.sol/EssenceDVNWrapper.json +369 -0
  119. package/artifacts-tron/contracts/lowlat/MultiCall.sol/MultiCall.json +120 -0
  120. package/artifacts-tron/contracts/mocks/DVNMock.sol/DVNMock.json +135 -0
  121. package/artifacts-tron/contracts/mocks/ExecutorMock.sol/ExecutorMock.json +397 -0
  122. package/artifacts-tron/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
  123. package/artifacts-tron/contracts/uln/LzExecutor.sol/LzExecutor.json +515 -0
  124. package/artifacts-tron/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +551 -0
  125. package/artifacts-tron/contracts/uln/SendUlnBase.sol/SendUlnBase.json +412 -0
  126. package/artifacts-tron/contracts/uln/UlnBase.sol/UlnBase.json +387 -0
  127. package/artifacts-tron/contracts/uln/dvn/DVN.sol/DVN.json +1509 -0
  128. package/artifacts-tron/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +695 -0
  129. package/artifacts-tron/contracts/uln/dvn/DeadDVN.sol/DeadDVN.json +164 -0
  130. package/artifacts-tron/contracts/uln/dvn/MultiSig.sol/MultiSig.json +217 -0
  131. package/artifacts-tron/contracts/uln/dvn/SimpleReadDVN.sol/SimpleReadDVN.json +231 -0
  132. package/artifacts-tron/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +1040 -0
  133. package/artifacts-tron/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +417 -0
  134. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +789 -0
  135. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
  136. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
  137. package/artifacts-tron/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
  138. package/artifacts-tron/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
  139. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +1171 -0
  140. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
  141. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +574 -0
  142. package/artifacts-tron/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
  143. package/artifacts-tron/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
  144. package/artifacts-tron/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
  145. package/artifacts-tron/contracts/uln/interfaces/IDVN.sol/IDVN.json +438 -0
  146. package/artifacts-tron/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +374 -0
  147. package/artifacts-tron/contracts/uln/interfaces/ILayerZeroDVN.sol/ILayerZeroDVN.json +96 -0
  148. package/artifacts-tron/contracts/uln/interfaces/ILayerZeroReadDVN.sol/ILayerZeroReadDVN.json +79 -0
  149. package/artifacts-tron/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +52 -0
  150. package/artifacts-tron/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
  151. package/artifacts-tron/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +293 -0
  152. package/artifacts-tron/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +78 -0
  153. package/artifacts-tron/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +301 -0
  154. package/artifacts-tron/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +27 -0
  155. package/artifacts-tron/contracts/uln/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +26 -0
  156. package/artifacts-tron/contracts/uln/libs/SupportedCmdTypes.sol/SupportedCmdTypesLib.json +16 -0
  157. package/artifacts-tron/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +54 -0
  158. package/artifacts-tron/contracts/uln/readlib/ReadLib1002.sol/ReadLib1002.json +1288 -0
  159. package/artifacts-tron/contracts/uln/readlib/ReadLib1002View.sol/ReadLib1002View.json +285 -0
  160. package/artifacts-tron/contracts/uln/readlib/ReadLibBase.sol/ReadLibBase.json +387 -0
  161. package/artifacts-tron/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +129 -0
  162. package/artifacts-tron/contracts/uln/uln301/ReceiveLibBaseE1.sol/ILayerZeroReceiveLibrary.json +68 -0
  163. package/artifacts-tron/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +416 -0
  164. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +1000 -0
  165. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
  166. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
  167. package/artifacts-tron/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +804 -0
  168. package/artifacts-tron/contracts/uln/uln301/SendUln301.sol/SendUln301.json +1278 -0
  169. package/artifacts-tron/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +94 -0
  170. package/artifacts-tron/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +247 -0
  171. package/artifacts-tron/contracts/uln/uln301/interfaces/INonceContract.sol/INonceContract.json +40 -0
  172. package/artifacts-tron/contracts/uln/uln301/interfaces/ITreasuryFeeHandler.sol/ITreasuryFeeHandler.json +44 -0
  173. package/artifacts-tron/contracts/uln/uln301/interfaces/IUltraLightNode301.sol/IUltraLightNode301.json +29 -0
  174. package/artifacts-tron/contracts/uln/uln301/mocks/NonceContractMock.sol/NonceContractMock.json +93 -0
  175. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +757 -0
  176. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
  177. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
  178. package/artifacts-tron/contracts/uln/uln302/SendUln302.sol/SendUln302.json +1259 -0
  179. package/artifacts-tron/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +592 -0
  180. package/artifacts-tron/contracts/upgradeable/proxy/ProxyAdmin.sol/ProxyAdmin.json +181 -0
  181. package/artifacts-tron/contracts/upgradeable/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +160 -0
  182. package/artifacts-zk/contracts/Executor.sol/Executor.json +1414 -0
  183. package/artifacts-zk/contracts/Executor.sol/ILayerZeroEndpointV2.json +231 -0
  184. package/artifacts-zk/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +547 -0
  185. package/artifacts-zk/contracts/MessageLibBase.sol/MessageLibBase.json +17 -0
  186. package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +695 -0
  187. package/artifacts-zk/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +155 -0
  188. package/artifacts-zk/contracts/SendLibBase.sol/SendLibBase.json +382 -0
  189. package/artifacts-zk/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +820 -0
  190. package/artifacts-zk/contracts/SimpleReadExecutor.sol/ILayerZeroEndpointV2.json +140 -0
  191. package/artifacts-zk/contracts/SimpleReadExecutor.sol/SimpleReadExecutor.json +261 -0
  192. package/artifacts-zk/contracts/Treasury.sol/Treasury.json +310 -0
  193. package/artifacts-zk/contracts/Worker.sol/Worker.json +580 -0
  194. package/artifacts-zk/contracts/decompressor/DVNDecoder.sol/DVNDecoder.json +11 -0
  195. package/artifacts-zk/contracts/decompressor/DVNDecompressor.sol/DVNDecompressor.json +330 -0
  196. package/artifacts-zk/contracts/decompressor/DecompressorExtension.sol/DecompressorExtension.json +93 -0
  197. package/artifacts-zk/contracts/decompressor/ExecutorDecoder.sol/ExecutorDecoder.json +11 -0
  198. package/artifacts-zk/contracts/decompressor/ExecutorDecompressor.sol/ExecutorDecompressor.json +221 -0
  199. package/artifacts-zk/contracts/interfaces/IExecutor.sol/IExecutor.json +488 -0
  200. package/artifacts-zk/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +411 -0
  201. package/artifacts-zk/contracts/interfaces/ILayerZeroExecutor.sol/ILayerZeroExecutor.json +80 -0
  202. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +223 -0
  203. package/artifacts-zk/contracts/interfaces/ILayerZeroReadExecutor.sol/ILayerZeroReadExecutor.json +60 -0
  204. package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +80 -0
  205. package/artifacts-zk/contracts/interfaces/IWorker.sol/IWorker.json +222 -0
  206. package/artifacts-zk/contracts/libs/ExecutorOptions.sol/ExecutorOptions.json +32 -0
  207. package/artifacts-zk/contracts/libs/SafeCall.sol/SafeCall.json +11 -0
  208. package/artifacts-zk/contracts/lowlat/EssenceDVNWrapper.sol/EssenceDVNWrapper.json +370 -0
  209. package/artifacts-zk/contracts/lowlat/MultiCall.sol/MultiCall.json +121 -0
  210. package/artifacts-zk/contracts/mocks/DVNMock.sol/DVNMock.json +136 -0
  211. package/artifacts-zk/contracts/mocks/ExecutorMock.sol/ExecutorMock.json +398 -0
  212. package/artifacts-zk/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +36 -0
  213. package/artifacts-zk/contracts/uln/LzExecutor.sol/LzExecutor.json +516 -0
  214. package/artifacts-zk/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +552 -0
  215. package/artifacts-zk/contracts/uln/SendUlnBase.sol/SendUlnBase.json +413 -0
  216. package/artifacts-zk/contracts/uln/UlnBase.sol/UlnBase.json +388 -0
  217. package/artifacts-zk/contracts/uln/dvn/DVN.sol/DVN.json +1510 -0
  218. package/artifacts-zk/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +696 -0
  219. package/artifacts-zk/contracts/uln/dvn/DeadDVN.sol/DeadDVN.json +165 -0
  220. package/artifacts-zk/contracts/uln/dvn/MultiSig.sol/MultiSig.json +218 -0
  221. package/artifacts-zk/contracts/uln/dvn/SimpleReadDVN.sol/SimpleReadDVN.json +232 -0
  222. package/artifacts-zk/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +1041 -0
  223. package/artifacts-zk/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +418 -0
  224. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +790 -0
  225. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +35 -0
  226. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +31 -0
  227. package/artifacts-zk/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +937 -0
  228. package/artifacts-zk/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +869 -0
  229. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +1172 -0
  230. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +31 -0
  231. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +575 -0
  232. package/artifacts-zk/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +17 -0
  233. package/artifacts-zk/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +925 -0
  234. package/artifacts-zk/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +892 -0
  235. package/artifacts-zk/contracts/uln/interfaces/IDVN.sol/IDVN.json +439 -0
  236. package/artifacts-zk/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +375 -0
  237. package/artifacts-zk/contracts/uln/interfaces/ILayerZeroDVN.sol/ILayerZeroDVN.json +97 -0
  238. package/artifacts-zk/contracts/uln/interfaces/ILayerZeroReadDVN.sol/ILayerZeroReadDVN.json +80 -0
  239. package/artifacts-zk/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +53 -0
  240. package/artifacts-zk/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +161 -0
  241. package/artifacts-zk/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +294 -0
  242. package/artifacts-zk/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +79 -0
  243. package/artifacts-zk/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +302 -0
  244. package/artifacts-zk/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +28 -0
  245. package/artifacts-zk/contracts/uln/libs/ReadCmdCodecV1.sol/ReadCmdCodecV1.json +27 -0
  246. package/artifacts-zk/contracts/uln/libs/SupportedCmdTypes.sol/SupportedCmdTypesLib.json +17 -0
  247. package/artifacts-zk/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +55 -0
  248. package/artifacts-zk/contracts/uln/readlib/ReadLib1002.sol/ReadLib1002.json +1289 -0
  249. package/artifacts-zk/contracts/uln/readlib/ReadLib1002View.sol/ReadLib1002View.json +286 -0
  250. package/artifacts-zk/contracts/uln/readlib/ReadLibBase.sol/ReadLibBase.json +388 -0
  251. package/artifacts-zk/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +130 -0
  252. package/artifacts-zk/contracts/uln/uln301/ReceiveLibBaseE1.sol/ILayerZeroReceiveLibrary.json +69 -0
  253. package/artifacts-zk/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +417 -0
  254. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +1001 -0
  255. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +179 -0
  256. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +127 -0
  257. package/artifacts-zk/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +805 -0
  258. package/artifacts-zk/contracts/uln/uln301/SendUln301.sol/SendUln301.json +1279 -0
  259. package/artifacts-zk/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +95 -0
  260. package/artifacts-zk/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +248 -0
  261. package/artifacts-zk/contracts/uln/uln301/interfaces/INonceContract.sol/INonceContract.json +41 -0
  262. package/artifacts-zk/contracts/uln/uln301/interfaces/ITreasuryFeeHandler.sol/ITreasuryFeeHandler.json +45 -0
  263. package/artifacts-zk/contracts/uln/uln301/interfaces/IUltraLightNode301.sol/IUltraLightNode301.json +30 -0
  264. package/artifacts-zk/contracts/uln/uln301/mocks/NonceContractMock.sol/NonceContractMock.json +94 -0
  265. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +758 -0
  266. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +147 -0
  267. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +252 -0
  268. package/artifacts-zk/contracts/uln/uln302/SendUln302.sol/SendUln302.json +1260 -0
  269. package/artifacts-zk/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +593 -0
  270. package/artifacts-zk/contracts/upgradeable/proxy/ProxyAdmin.sol/ProxyAdmin.json +182 -0
  271. package/artifacts-zk/contracts/upgradeable/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +161 -0
  272. package/package.json +6 -6
@@ -0,0 +1,515 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LzExecutor",
4
+ "sourceName": "contracts/uln/LzExecutor.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "LzExecutor_Executed",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "LzExecutor_ReceiveLibViewNotSet",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "LzExecutor_Verifying",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "_to",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "_value",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "name": "Transfer_NativeFailed",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "Transfer_ToAddressIsZero",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "anonymous": false,
44
+ "inputs": [
45
+ {
46
+ "indexed": false,
47
+ "internalType": "uint8",
48
+ "name": "version",
49
+ "type": "uint8"
50
+ }
51
+ ],
52
+ "name": "Initialized",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": false,
60
+ "internalType": "address",
61
+ "name": "_to",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "_amount",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "NativeWithdrawn",
72
+ "type": "event"
73
+ },
74
+ {
75
+ "anonymous": false,
76
+ "inputs": [
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "previousOwner",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": true,
85
+ "internalType": "address",
86
+ "name": "newOwner",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "OwnershipTransferred",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "address",
99
+ "name": "_receiveLib",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "address",
105
+ "name": "_receiveLibView",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "ReceiveLibViewSet",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "EMPTY_PAYLOAD_HASH",
115
+ "outputs": [
116
+ {
117
+ "internalType": "bytes32",
118
+ "name": "",
119
+ "type": "bytes32"
120
+ }
121
+ ],
122
+ "stateMutability": "view",
123
+ "type": "function"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "NIL_PAYLOAD_HASH",
128
+ "outputs": [
129
+ {
130
+ "internalType": "bytes32",
131
+ "name": "",
132
+ "type": "bytes32"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ },
138
+ {
139
+ "inputs": [
140
+ {
141
+ "internalType": "address",
142
+ "name": "_receiveLib",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "components": [
147
+ {
148
+ "components": [
149
+ {
150
+ "internalType": "uint32",
151
+ "name": "srcEid",
152
+ "type": "uint32"
153
+ },
154
+ {
155
+ "internalType": "bytes32",
156
+ "name": "sender",
157
+ "type": "bytes32"
158
+ },
159
+ {
160
+ "internalType": "uint64",
161
+ "name": "nonce",
162
+ "type": "uint64"
163
+ }
164
+ ],
165
+ "internalType": "struct Origin",
166
+ "name": "origin",
167
+ "type": "tuple"
168
+ },
169
+ {
170
+ "internalType": "address",
171
+ "name": "receiver",
172
+ "type": "address"
173
+ },
174
+ {
175
+ "internalType": "bytes32",
176
+ "name": "guid",
177
+ "type": "bytes32"
178
+ },
179
+ {
180
+ "internalType": "bytes",
181
+ "name": "message",
182
+ "type": "bytes"
183
+ },
184
+ {
185
+ "internalType": "bytes",
186
+ "name": "extraData",
187
+ "type": "bytes"
188
+ },
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "gas",
192
+ "type": "uint256"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "value",
197
+ "type": "uint256"
198
+ }
199
+ ],
200
+ "internalType": "struct LzReceiveParam",
201
+ "name": "_lzReceiveParam",
202
+ "type": "tuple"
203
+ },
204
+ {
205
+ "components": [
206
+ {
207
+ "internalType": "address",
208
+ "name": "_receiver",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "_amount",
214
+ "type": "uint256"
215
+ }
216
+ ],
217
+ "internalType": "struct NativeDropParam[]",
218
+ "name": "_nativeDropParams",
219
+ "type": "tuple[]"
220
+ }
221
+ ],
222
+ "name": "commitAndExecute",
223
+ "outputs": [],
224
+ "stateMutability": "payable",
225
+ "type": "function"
226
+ },
227
+ {
228
+ "inputs": [],
229
+ "name": "endpoint",
230
+ "outputs": [
231
+ {
232
+ "internalType": "contract ILayerZeroEndpointV2",
233
+ "name": "",
234
+ "type": "address"
235
+ }
236
+ ],
237
+ "stateMutability": "view",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "components": [
244
+ {
245
+ "internalType": "uint32",
246
+ "name": "srcEid",
247
+ "type": "uint32"
248
+ },
249
+ {
250
+ "internalType": "bytes32",
251
+ "name": "sender",
252
+ "type": "bytes32"
253
+ },
254
+ {
255
+ "internalType": "uint64",
256
+ "name": "nonce",
257
+ "type": "uint64"
258
+ }
259
+ ],
260
+ "internalType": "struct Origin",
261
+ "name": "_origin",
262
+ "type": "tuple"
263
+ },
264
+ {
265
+ "internalType": "address",
266
+ "name": "_receiver",
267
+ "type": "address"
268
+ }
269
+ ],
270
+ "name": "executable",
271
+ "outputs": [
272
+ {
273
+ "internalType": "enum ExecutionState",
274
+ "name": "",
275
+ "type": "uint8"
276
+ }
277
+ ],
278
+ "stateMutability": "view",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [
283
+ {
284
+ "components": [
285
+ {
286
+ "internalType": "uint32",
287
+ "name": "srcEid",
288
+ "type": "uint32"
289
+ },
290
+ {
291
+ "internalType": "bytes32",
292
+ "name": "sender",
293
+ "type": "bytes32"
294
+ },
295
+ {
296
+ "internalType": "uint64",
297
+ "name": "nonce",
298
+ "type": "uint64"
299
+ }
300
+ ],
301
+ "internalType": "struct Origin",
302
+ "name": "_origin",
303
+ "type": "tuple"
304
+ },
305
+ {
306
+ "internalType": "address",
307
+ "name": "_receiver",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "initializable",
312
+ "outputs": [
313
+ {
314
+ "internalType": "bool",
315
+ "name": "",
316
+ "type": "bool"
317
+ }
318
+ ],
319
+ "stateMutability": "view",
320
+ "type": "function"
321
+ },
322
+ {
323
+ "inputs": [
324
+ {
325
+ "internalType": "address",
326
+ "name": "_receiveUln302",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "internalType": "address",
331
+ "name": "_receiveUln302View",
332
+ "type": "address"
333
+ },
334
+ {
335
+ "internalType": "address",
336
+ "name": "_endpoint",
337
+ "type": "address"
338
+ }
339
+ ],
340
+ "name": "initialize",
341
+ "outputs": [],
342
+ "stateMutability": "nonpayable",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [],
347
+ "name": "localEid",
348
+ "outputs": [
349
+ {
350
+ "internalType": "uint32",
351
+ "name": "",
352
+ "type": "uint32"
353
+ }
354
+ ],
355
+ "stateMutability": "view",
356
+ "type": "function"
357
+ },
358
+ {
359
+ "inputs": [],
360
+ "name": "owner",
361
+ "outputs": [
362
+ {
363
+ "internalType": "address",
364
+ "name": "",
365
+ "type": "address"
366
+ }
367
+ ],
368
+ "stateMutability": "view",
369
+ "type": "function"
370
+ },
371
+ {
372
+ "inputs": [
373
+ {
374
+ "internalType": "address",
375
+ "name": "receiveLib",
376
+ "type": "address"
377
+ }
378
+ ],
379
+ "name": "receiveLibToView",
380
+ "outputs": [
381
+ {
382
+ "internalType": "address",
383
+ "name": "receiveLibView",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [],
392
+ "name": "receiveUln302",
393
+ "outputs": [
394
+ {
395
+ "internalType": "address",
396
+ "name": "",
397
+ "type": "address"
398
+ }
399
+ ],
400
+ "stateMutability": "view",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [],
405
+ "name": "renounceOwnership",
406
+ "outputs": [],
407
+ "stateMutability": "nonpayable",
408
+ "type": "function"
409
+ },
410
+ {
411
+ "inputs": [
412
+ {
413
+ "internalType": "address",
414
+ "name": "_receiveLib",
415
+ "type": "address"
416
+ },
417
+ {
418
+ "internalType": "address",
419
+ "name": "_receiveLibView",
420
+ "type": "address"
421
+ }
422
+ ],
423
+ "name": "setReceiveLibView",
424
+ "outputs": [],
425
+ "stateMutability": "nonpayable",
426
+ "type": "function"
427
+ },
428
+ {
429
+ "inputs": [
430
+ {
431
+ "internalType": "address",
432
+ "name": "newOwner",
433
+ "type": "address"
434
+ }
435
+ ],
436
+ "name": "transferOwnership",
437
+ "outputs": [],
438
+ "stateMutability": "nonpayable",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "components": [
445
+ {
446
+ "internalType": "uint32",
447
+ "name": "srcEid",
448
+ "type": "uint32"
449
+ },
450
+ {
451
+ "internalType": "bytes32",
452
+ "name": "sender",
453
+ "type": "bytes32"
454
+ },
455
+ {
456
+ "internalType": "uint64",
457
+ "name": "nonce",
458
+ "type": "uint64"
459
+ }
460
+ ],
461
+ "internalType": "struct Origin",
462
+ "name": "_origin",
463
+ "type": "tuple"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "_receiver",
468
+ "type": "address"
469
+ },
470
+ {
471
+ "internalType": "address",
472
+ "name": "_receiveLib",
473
+ "type": "address"
474
+ },
475
+ {
476
+ "internalType": "bytes32",
477
+ "name": "_payloadHash",
478
+ "type": "bytes32"
479
+ }
480
+ ],
481
+ "name": "verifiable",
482
+ "outputs": [
483
+ {
484
+ "internalType": "bool",
485
+ "name": "",
486
+ "type": "bool"
487
+ }
488
+ ],
489
+ "stateMutability": "view",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [
494
+ {
495
+ "internalType": "address",
496
+ "name": "_to",
497
+ "type": "address"
498
+ },
499
+ {
500
+ "internalType": "uint256",
501
+ "name": "_amount",
502
+ "type": "uint256"
503
+ }
504
+ ],
505
+ "name": "withdrawNative",
506
+ "outputs": [],
507
+ "stateMutability": "nonpayable",
508
+ "type": "function"
509
+ }
510
+ ],
511
+ "bytecode": "0x608060405234801561001057600080fd5b50611f29806100206000396000f3fe6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b506101186101133660046118ed565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c3660046119d3565b610418565b6040516101589190611a36565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a77565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b50610118610713565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca3660046119d3565b610727565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a99565b610810565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611adc565b610bbf565b61011861036d366004611b06565b610c50565b34801561037e57600080fd5b506102cf61038d366004611bb4565b6111ae565b34801561039e57600080fd5b506101186103ad366004611a77565b61134d565b6103ba611404565b6103c48282611485565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611c00565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611c19565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c457600391505061070d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611c19565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c957600291505061070d565b80158015906106f857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b1561070757600191505061070d565b60009150505b92915050565b61071b611404565b6107256000611590565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa9250505080156107fd575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526107fa91810190611c36565b60015b6108095750600061070d565b905061070d565b600061083a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108935773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556108b5565b3373ffffffffffffffffffffffffffffffffffffffff8216146108b557600080fd5b600054610100900460ff16158080156108d55750600054600160ff909116105b806108ef5750303b1580156108ef575060005460ff166001145b610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109de57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109e6611607565b6109ef836116a6565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab39190611c58565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610bb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610bc7611404565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c74610c6436869003860186611c75565b61017c6080870160608801611a77565b90506003816003811115610c8a57610c8a611a07565b03610cc1576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610cd557610cd5611a07565b146110ac5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610d195760975473ffffffffffffffffffffffffffffffffffffffff16610d1b565b855b905060006001610d316060880160408901611c91565b610d3e6020890189611cae565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d7560808c0160608d01611a77565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e7360a0890189611ccb565b604051602001610e8593929190611d37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610f1d576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f749087908790600401611d51565b602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190611dc4565b90506001816003811115610fcb57610fcb611a07565b0361105b576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf1906110249087908790600401611d51565b600060405180830381600087803b15801561103e57600080fd5b505af1158015611052573d6000803e3d6000fd5b505050506110a6565b600081600381111561106f5761106f611a07565b036110a6576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110f857368484838181106110ca576110ca611de5565b6040029190910191506110ef90506110e56020830183611a77565b8260200135611485565b506001016110af565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876111336080820160608301611a77565b60808a013561114560a08c018c611ccb565b61115260c08e018e611ccb565b6040518a63ffffffff1660e01b81526004016111749796959493929190611e5d565b6000604051808303818589803b15801561118d57600080fd5b5088f11580156111a1573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d9190611c36565b61126957506000611345565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611c36565b61133457506000611345565b8161134157506000611345565b5060015b949350505050565b611355611404565b73ffffffffffffffffffffffffffffffffffffffff81166113f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610977565b61140181611590565b50565b60335473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610977565b73ffffffffffffffffffffffffffffffffffffffff82166114d2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461152c576040519150601f19603f3d011682016040523d82523d6000602084013e611531565b606091505b505090508061158b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610977565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661169e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b610725611746565b600054610100900460ff1661173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b611401816117e6565b600054610100900460ff166117dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b61072533611590565b600054610100900460ff1661187d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146118e857600080fd5b919050565b6000806040838503121561190057600080fd5b611909836118c4565b946020939093013593505050565b63ffffffff8116811461140157600080fd5b67ffffffffffffffff8116811461140157600080fd5b60006060828403121561195157600080fd5b6040516060810181811067ffffffffffffffff8211171561199b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508082356119ac81611917565b81526020838101359082015260408301356119c681611929565b6040919091015292915050565b600080608083850312156119e657600080fd5b6119f0848461193f565b91506119fe606084016118c4565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a71577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a8957600080fd5b611a92826118c4565b9392505050565b600080600060608486031215611aae57600080fd5b611ab7846118c4565b9250611ac5602085016118c4565b9150611ad3604085016118c4565b90509250925092565b60008060408385031215611aef57600080fd5b611af8836118c4565b91506119fe602084016118c4565b60008060008060608587031215611b1c57600080fd5b611b25856118c4565b9350602085013567ffffffffffffffff80821115611b4257600080fd5b908601906101208289031215611b5757600080fd5b90935060408601359080821115611b6d57600080fd5b818701915087601f830112611b8157600080fd5b813581811115611b9057600080fd5b8860208260061b8501011115611ba557600080fd5b95989497505060200194505050565b60008060008060c08587031215611bca57600080fd5b611bd4868661193f565b9350611be2606086016118c4565b9250611bf0608086016118c4565b9396929550929360a00135925050565b600060208284031215611c1257600080fd5b5051919050565b600060208284031215611c2b57600080fd5b8151611a9281611929565b600060208284031215611c4857600080fd5b81518015158114611a9257600080fd5b600060208284031215611c6a57600080fd5b8151611a9281611917565b600060608284031215611c8757600080fd5b611a92838361193f565b600060208284031215611ca357600080fd5b8135611a9281611929565b600060208284031215611cc057600080fd5b8135611a9281611917565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0057600080fd5b83018035915067ffffffffffffffff821115611d1b57600080fd5b602001915036819003821315611d3057600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d7f5760208187018101516060868401015201611d62565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611dd657600080fd5b815160048110611a9257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e6a81611917565b63ffffffff168252602089810135908301526040890135611e8a81611929565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611ed260e083018688611e14565b82810360c0840152611ee5818587611e14565b9a995050505050505050505056fea2646970667358221220d4dc21622cd209072937535e93f175af6275d7c6daba87d120fca111727ed06364736f6c63430008160033",
512
+ "deployedBytecode": "0x6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b506101186101133660046118ed565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c3660046119d3565b610418565b6040516101589190611a36565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a77565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b50610118610713565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca3660046119d3565b610727565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a99565b610810565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611adc565b610bbf565b61011861036d366004611b06565b610c50565b34801561037e57600080fd5b506102cf61038d366004611bb4565b6111ae565b34801561039e57600080fd5b506101186103ad366004611a77565b61134d565b6103ba611404565b6103c48282611485565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611c00565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611c19565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c457600391505061070d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611c19565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c957600291505061070d565b80158015906106f857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b1561070757600191505061070d565b60009150505b92915050565b61071b611404565b6107256000611590565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa9250505080156107fd575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526107fa91810190611c36565b60015b6108095750600061070d565b905061070d565b600061083a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108935773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556108b5565b3373ffffffffffffffffffffffffffffffffffffffff8216146108b557600080fd5b600054610100900460ff16158080156108d55750600054600160ff909116105b806108ef5750303b1580156108ef575060005460ff166001145b610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109de57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109e6611607565b6109ef836116a6565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab39190611c58565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610bb857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610bc7611404565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c74610c6436869003860186611c75565b61017c6080870160608801611a77565b90506003816003811115610c8a57610c8a611a07565b03610cc1576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610cd557610cd5611a07565b146110ac5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610d195760975473ffffffffffffffffffffffffffffffffffffffff16610d1b565b855b905060006001610d316060880160408901611c91565b610d3e6020890189611cae565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d7560808c0160608d01611a77565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e7360a0890189611ccb565b604051602001610e8593929190611d37565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610f1d576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f749087908790600401611d51565b602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190611dc4565b90506001816003811115610fcb57610fcb611a07565b0361105b576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf1906110249087908790600401611d51565b600060405180830381600087803b15801561103e57600080fd5b505af1158015611052573d6000803e3d6000fd5b505050506110a6565b600081600381111561106f5761106f611a07565b036110a6576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110f857368484838181106110ca576110ca611de5565b6040029190910191506110ef90506110e56020830183611a77565b8260200135611485565b506001016110af565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876111336080820160608301611a77565b60808a013561114560a08c018c611ccb565b61115260c08e018e611ccb565b6040518a63ffffffff1660e01b81526004016111749796959493929190611e5d565b6000604051808303818589803b15801561118d57600080fd5b5088f11580156111a1573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa158015611239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125d9190611c36565b61126957506000611345565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611c36565b61133457506000611345565b8161134157506000611345565b5060015b949350505050565b611355611404565b73ffffffffffffffffffffffffffffffffffffffff81166113f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610977565b61140181611590565b50565b60335473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610977565b73ffffffffffffffffffffffffffffffffffffffff82166114d2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461152c576040519150601f19603f3d011682016040523d82523d6000602084013e611531565b606091505b505090508061158b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610977565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661169e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b610725611746565b600054610100900460ff1661173d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b611401816117e6565b600054610100900460ff166117dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b61072533611590565b600054610100900460ff1661187d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610977565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146118e857600080fd5b919050565b6000806040838503121561190057600080fd5b611909836118c4565b946020939093013593505050565b63ffffffff8116811461140157600080fd5b67ffffffffffffffff8116811461140157600080fd5b60006060828403121561195157600080fd5b6040516060810181811067ffffffffffffffff8211171561199b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508082356119ac81611917565b81526020838101359082015260408301356119c681611929565b6040919091015292915050565b600080608083850312156119e657600080fd5b6119f0848461193f565b91506119fe606084016118c4565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a71577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a8957600080fd5b611a92826118c4565b9392505050565b600080600060608486031215611aae57600080fd5b611ab7846118c4565b9250611ac5602085016118c4565b9150611ad3604085016118c4565b90509250925092565b60008060408385031215611aef57600080fd5b611af8836118c4565b91506119fe602084016118c4565b60008060008060608587031215611b1c57600080fd5b611b25856118c4565b9350602085013567ffffffffffffffff80821115611b4257600080fd5b908601906101208289031215611b5757600080fd5b90935060408601359080821115611b6d57600080fd5b818701915087601f830112611b8157600080fd5b813581811115611b9057600080fd5b8860208260061b8501011115611ba557600080fd5b95989497505060200194505050565b60008060008060c08587031215611bca57600080fd5b611bd4868661193f565b9350611be2606086016118c4565b9250611bf0608086016118c4565b9396929550929360a00135925050565b600060208284031215611c1257600080fd5b5051919050565b600060208284031215611c2b57600080fd5b8151611a9281611929565b600060208284031215611c4857600080fd5b81518015158114611a9257600080fd5b600060208284031215611c6a57600080fd5b8151611a9281611917565b600060608284031215611c8757600080fd5b611a92838361193f565b600060208284031215611ca357600080fd5b8135611a9281611929565b600060208284031215611cc057600080fd5b8135611a9281611917565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d0057600080fd5b83018035915067ffffffffffffffff821115611d1b57600080fd5b602001915036819003821315611d3057600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d7f5760208187018101516060868401015201611d62565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611dd657600080fd5b815160048110611a9257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e6a81611917565b63ffffffff168252602089810135908301526040890135611e8a81611929565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611ed260e083018688611e14565b82810360c0840152611ee5818587611e14565b9a995050505050505050505056fea2646970667358221220d4dc21622cd209072937535e93f175af6275d7c6daba87d120fca111727ed06364736f6c63430008160033",
513
+ "linkReferences": {},
514
+ "deployedLinkReferences": {}
515
+ }