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

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,924 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "OptimismDVNAdapterL1",
4
+ "sourceName": "contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address[]",
10
+ "name": "_admins",
11
+ "type": "address[]"
12
+ },
13
+ {
14
+ "internalType": "uint32",
15
+ "name": "_optimismEid",
16
+ "type": "uint32"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_l1Messenger",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "actual",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "requested",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "DVNAdapter_InsufficientBalance",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "sendLib",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint32",
52
+ "name": "dstEid",
53
+ "type": "uint32"
54
+ }
55
+ ],
56
+ "name": "DVNAdapter_MissingRecieveLib",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "DVNAdapter_NotImplemented",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "NoPeer",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "OnlyOptimism",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "address",
78
+ "name": "_to",
79
+ "type": "address"
80
+ },
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "_value",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "name": "Transfer_NativeFailed",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "Transfer_ToAddressIsZero",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [],
97
+ "name": "Worker_NotAllowed",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "Worker_OnlyMessageLib",
103
+ "type": "error"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "Worker_RoleRenouncingDisabled",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "anonymous": false,
112
+ "inputs": [
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint32",
116
+ "name": "gasLimit",
117
+ "type": "uint32"
118
+ }
119
+ ],
120
+ "name": "GasLimitSet",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": false,
128
+ "internalType": "address",
129
+ "name": "account",
130
+ "type": "address"
131
+ }
132
+ ],
133
+ "name": "Paused",
134
+ "type": "event"
135
+ },
136
+ {
137
+ "anonymous": false,
138
+ "inputs": [
139
+ {
140
+ "indexed": true,
141
+ "internalType": "address",
142
+ "name": "peer",
143
+ "type": "address"
144
+ }
145
+ ],
146
+ "name": "PeerSet",
147
+ "type": "event"
148
+ },
149
+ {
150
+ "anonymous": false,
151
+ "inputs": [
152
+ {
153
+ "components": [
154
+ {
155
+ "internalType": "address",
156
+ "name": "sendLib",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "internalType": "uint32",
161
+ "name": "dstEid",
162
+ "type": "uint32"
163
+ },
164
+ {
165
+ "internalType": "bytes32",
166
+ "name": "receiveLib",
167
+ "type": "bytes32"
168
+ }
169
+ ],
170
+ "indexed": false,
171
+ "internalType": "struct ReceiveLibParam[]",
172
+ "name": "params",
173
+ "type": "tuple[]"
174
+ }
175
+ ],
176
+ "name": "ReceiveLibsSet",
177
+ "type": "event"
178
+ },
179
+ {
180
+ "anonymous": false,
181
+ "inputs": [
182
+ {
183
+ "indexed": true,
184
+ "internalType": "bytes32",
185
+ "name": "role",
186
+ "type": "bytes32"
187
+ },
188
+ {
189
+ "indexed": true,
190
+ "internalType": "bytes32",
191
+ "name": "previousAdminRole",
192
+ "type": "bytes32"
193
+ },
194
+ {
195
+ "indexed": true,
196
+ "internalType": "bytes32",
197
+ "name": "newAdminRole",
198
+ "type": "bytes32"
199
+ }
200
+ ],
201
+ "name": "RoleAdminChanged",
202
+ "type": "event"
203
+ },
204
+ {
205
+ "anonymous": false,
206
+ "inputs": [
207
+ {
208
+ "indexed": true,
209
+ "internalType": "bytes32",
210
+ "name": "role",
211
+ "type": "bytes32"
212
+ },
213
+ {
214
+ "indexed": true,
215
+ "internalType": "address",
216
+ "name": "account",
217
+ "type": "address"
218
+ },
219
+ {
220
+ "indexed": true,
221
+ "internalType": "address",
222
+ "name": "sender",
223
+ "type": "address"
224
+ }
225
+ ],
226
+ "name": "RoleGranted",
227
+ "type": "event"
228
+ },
229
+ {
230
+ "anonymous": false,
231
+ "inputs": [
232
+ {
233
+ "indexed": true,
234
+ "internalType": "bytes32",
235
+ "name": "role",
236
+ "type": "bytes32"
237
+ },
238
+ {
239
+ "indexed": true,
240
+ "internalType": "address",
241
+ "name": "account",
242
+ "type": "address"
243
+ },
244
+ {
245
+ "indexed": true,
246
+ "internalType": "address",
247
+ "name": "sender",
248
+ "type": "address"
249
+ }
250
+ ],
251
+ "name": "RoleRevoked",
252
+ "type": "event"
253
+ },
254
+ {
255
+ "anonymous": false,
256
+ "inputs": [
257
+ {
258
+ "indexed": false,
259
+ "internalType": "uint16",
260
+ "name": "multiplierBps",
261
+ "type": "uint16"
262
+ }
263
+ ],
264
+ "name": "SetDefaultMultiplierBps",
265
+ "type": "event"
266
+ },
267
+ {
268
+ "anonymous": false,
269
+ "inputs": [
270
+ {
271
+ "indexed": false,
272
+ "internalType": "address",
273
+ "name": "priceFeed",
274
+ "type": "address"
275
+ }
276
+ ],
277
+ "name": "SetPriceFeed",
278
+ "type": "event"
279
+ },
280
+ {
281
+ "anonymous": false,
282
+ "inputs": [
283
+ {
284
+ "indexed": false,
285
+ "internalType": "uint32",
286
+ "name": "dstEid",
287
+ "type": "uint32"
288
+ },
289
+ {
290
+ "indexed": false,
291
+ "internalType": "uint8[]",
292
+ "name": "optionTypes",
293
+ "type": "uint8[]"
294
+ }
295
+ ],
296
+ "name": "SetSupportedOptionTypes",
297
+ "type": "event"
298
+ },
299
+ {
300
+ "anonymous": false,
301
+ "inputs": [
302
+ {
303
+ "indexed": false,
304
+ "internalType": "address",
305
+ "name": "workerLib",
306
+ "type": "address"
307
+ }
308
+ ],
309
+ "name": "SetWorkerLib",
310
+ "type": "event"
311
+ },
312
+ {
313
+ "anonymous": false,
314
+ "inputs": [
315
+ {
316
+ "indexed": false,
317
+ "internalType": "address",
318
+ "name": "account",
319
+ "type": "address"
320
+ }
321
+ ],
322
+ "name": "Unpaused",
323
+ "type": "event"
324
+ },
325
+ {
326
+ "anonymous": false,
327
+ "inputs": [
328
+ {
329
+ "indexed": false,
330
+ "internalType": "address",
331
+ "name": "lib",
332
+ "type": "address"
333
+ },
334
+ {
335
+ "indexed": false,
336
+ "internalType": "address",
337
+ "name": "to",
338
+ "type": "address"
339
+ },
340
+ {
341
+ "indexed": false,
342
+ "internalType": "uint256",
343
+ "name": "amount",
344
+ "type": "uint256"
345
+ }
346
+ ],
347
+ "name": "Withdraw",
348
+ "type": "event"
349
+ },
350
+ {
351
+ "inputs": [],
352
+ "name": "DEFAULT_ADMIN_ROLE",
353
+ "outputs": [
354
+ {
355
+ "internalType": "bytes32",
356
+ "name": "",
357
+ "type": "bytes32"
358
+ }
359
+ ],
360
+ "stateMutability": "view",
361
+ "type": "function"
362
+ },
363
+ {
364
+ "inputs": [],
365
+ "name": "allowlistSize",
366
+ "outputs": [
367
+ {
368
+ "internalType": "uint64",
369
+ "name": "",
370
+ "type": "uint64"
371
+ }
372
+ ],
373
+ "stateMutability": "view",
374
+ "type": "function"
375
+ },
376
+ {
377
+ "inputs": [
378
+ {
379
+ "components": [
380
+ {
381
+ "internalType": "uint32",
382
+ "name": "dstEid",
383
+ "type": "uint32"
384
+ },
385
+ {
386
+ "internalType": "bytes",
387
+ "name": "packetHeader",
388
+ "type": "bytes"
389
+ },
390
+ {
391
+ "internalType": "bytes32",
392
+ "name": "payloadHash",
393
+ "type": "bytes32"
394
+ },
395
+ {
396
+ "internalType": "uint64",
397
+ "name": "confirmations",
398
+ "type": "uint64"
399
+ },
400
+ {
401
+ "internalType": "address",
402
+ "name": "sender",
403
+ "type": "address"
404
+ }
405
+ ],
406
+ "internalType": "struct ILayerZeroDVN.AssignJobParam",
407
+ "name": "_param",
408
+ "type": "tuple"
409
+ },
410
+ {
411
+ "internalType": "bytes",
412
+ "name": "",
413
+ "type": "bytes"
414
+ }
415
+ ],
416
+ "name": "assignJob",
417
+ "outputs": [
418
+ {
419
+ "internalType": "uint256",
420
+ "name": "",
421
+ "type": "uint256"
422
+ }
423
+ ],
424
+ "stateMutability": "payable",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [],
429
+ "name": "defaultMultiplierBps",
430
+ "outputs": [
431
+ {
432
+ "internalType": "uint16",
433
+ "name": "",
434
+ "type": "uint16"
435
+ }
436
+ ],
437
+ "stateMutability": "view",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [],
442
+ "name": "gasLimit",
443
+ "outputs": [
444
+ {
445
+ "internalType": "uint32",
446
+ "name": "",
447
+ "type": "uint32"
448
+ }
449
+ ],
450
+ "stateMutability": "view",
451
+ "type": "function"
452
+ },
453
+ {
454
+ "inputs": [
455
+ {
456
+ "internalType": "uint32",
457
+ "name": "",
458
+ "type": "uint32"
459
+ },
460
+ {
461
+ "internalType": "uint64",
462
+ "name": "",
463
+ "type": "uint64"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "_sender",
468
+ "type": "address"
469
+ },
470
+ {
471
+ "internalType": "bytes",
472
+ "name": "",
473
+ "type": "bytes"
474
+ }
475
+ ],
476
+ "name": "getFee",
477
+ "outputs": [
478
+ {
479
+ "internalType": "uint256",
480
+ "name": "",
481
+ "type": "uint256"
482
+ }
483
+ ],
484
+ "stateMutability": "view",
485
+ "type": "function"
486
+ },
487
+ {
488
+ "inputs": [
489
+ {
490
+ "internalType": "bytes32",
491
+ "name": "role",
492
+ "type": "bytes32"
493
+ }
494
+ ],
495
+ "name": "getRoleAdmin",
496
+ "outputs": [
497
+ {
498
+ "internalType": "bytes32",
499
+ "name": "",
500
+ "type": "bytes32"
501
+ }
502
+ ],
503
+ "stateMutability": "view",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "uint32",
510
+ "name": "_eid",
511
+ "type": "uint32"
512
+ }
513
+ ],
514
+ "name": "getSupportedOptionTypes",
515
+ "outputs": [
516
+ {
517
+ "internalType": "uint8[]",
518
+ "name": "",
519
+ "type": "uint8[]"
520
+ }
521
+ ],
522
+ "stateMutability": "view",
523
+ "type": "function"
524
+ },
525
+ {
526
+ "inputs": [
527
+ {
528
+ "internalType": "bytes32",
529
+ "name": "role",
530
+ "type": "bytes32"
531
+ },
532
+ {
533
+ "internalType": "address",
534
+ "name": "account",
535
+ "type": "address"
536
+ }
537
+ ],
538
+ "name": "grantRole",
539
+ "outputs": [],
540
+ "stateMutability": "nonpayable",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [
545
+ {
546
+ "internalType": "address",
547
+ "name": "_sender",
548
+ "type": "address"
549
+ }
550
+ ],
551
+ "name": "hasAcl",
552
+ "outputs": [
553
+ {
554
+ "internalType": "bool",
555
+ "name": "",
556
+ "type": "bool"
557
+ }
558
+ ],
559
+ "stateMutability": "view",
560
+ "type": "function"
561
+ },
562
+ {
563
+ "inputs": [
564
+ {
565
+ "internalType": "bytes32",
566
+ "name": "role",
567
+ "type": "bytes32"
568
+ },
569
+ {
570
+ "internalType": "address",
571
+ "name": "account",
572
+ "type": "address"
573
+ }
574
+ ],
575
+ "name": "hasRole",
576
+ "outputs": [
577
+ {
578
+ "internalType": "bool",
579
+ "name": "",
580
+ "type": "bool"
581
+ }
582
+ ],
583
+ "stateMutability": "view",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [],
588
+ "name": "l1Messenger",
589
+ "outputs": [
590
+ {
591
+ "internalType": "address",
592
+ "name": "",
593
+ "type": "address"
594
+ }
595
+ ],
596
+ "stateMutability": "view",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [],
601
+ "name": "optimismEid",
602
+ "outputs": [
603
+ {
604
+ "internalType": "uint32",
605
+ "name": "",
606
+ "type": "uint32"
607
+ }
608
+ ],
609
+ "stateMutability": "view",
610
+ "type": "function"
611
+ },
612
+ {
613
+ "inputs": [],
614
+ "name": "paused",
615
+ "outputs": [
616
+ {
617
+ "internalType": "bool",
618
+ "name": "",
619
+ "type": "bool"
620
+ }
621
+ ],
622
+ "stateMutability": "view",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [],
627
+ "name": "peer",
628
+ "outputs": [
629
+ {
630
+ "internalType": "address",
631
+ "name": "",
632
+ "type": "address"
633
+ }
634
+ ],
635
+ "stateMutability": "view",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [],
640
+ "name": "priceFeed",
641
+ "outputs": [
642
+ {
643
+ "internalType": "address",
644
+ "name": "",
645
+ "type": "address"
646
+ }
647
+ ],
648
+ "stateMutability": "view",
649
+ "type": "function"
650
+ },
651
+ {
652
+ "inputs": [
653
+ {
654
+ "internalType": "address",
655
+ "name": "sendLib",
656
+ "type": "address"
657
+ },
658
+ {
659
+ "internalType": "uint32",
660
+ "name": "dstEid",
661
+ "type": "uint32"
662
+ }
663
+ ],
664
+ "name": "receiveLibs",
665
+ "outputs": [
666
+ {
667
+ "internalType": "bytes32",
668
+ "name": "receiveLib",
669
+ "type": "bytes32"
670
+ }
671
+ ],
672
+ "stateMutability": "view",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [
677
+ {
678
+ "internalType": "bytes32",
679
+ "name": "",
680
+ "type": "bytes32"
681
+ },
682
+ {
683
+ "internalType": "address",
684
+ "name": "",
685
+ "type": "address"
686
+ }
687
+ ],
688
+ "name": "renounceRole",
689
+ "outputs": [],
690
+ "stateMutability": "pure",
691
+ "type": "function"
692
+ },
693
+ {
694
+ "inputs": [
695
+ {
696
+ "internalType": "bytes32",
697
+ "name": "role",
698
+ "type": "bytes32"
699
+ },
700
+ {
701
+ "internalType": "address",
702
+ "name": "account",
703
+ "type": "address"
704
+ }
705
+ ],
706
+ "name": "revokeRole",
707
+ "outputs": [],
708
+ "stateMutability": "nonpayable",
709
+ "type": "function"
710
+ },
711
+ {
712
+ "inputs": [
713
+ {
714
+ "internalType": "uint16",
715
+ "name": "_multiplierBps",
716
+ "type": "uint16"
717
+ }
718
+ ],
719
+ "name": "setDefaultMultiplierBps",
720
+ "outputs": [],
721
+ "stateMutability": "nonpayable",
722
+ "type": "function"
723
+ },
724
+ {
725
+ "inputs": [
726
+ {
727
+ "internalType": "uint32",
728
+ "name": "_gasLimit",
729
+ "type": "uint32"
730
+ }
731
+ ],
732
+ "name": "setGasLimit",
733
+ "outputs": [],
734
+ "stateMutability": "nonpayable",
735
+ "type": "function"
736
+ },
737
+ {
738
+ "inputs": [
739
+ {
740
+ "internalType": "bool",
741
+ "name": "_paused",
742
+ "type": "bool"
743
+ }
744
+ ],
745
+ "name": "setPaused",
746
+ "outputs": [],
747
+ "stateMutability": "nonpayable",
748
+ "type": "function"
749
+ },
750
+ {
751
+ "inputs": [
752
+ {
753
+ "internalType": "address",
754
+ "name": "_peer",
755
+ "type": "address"
756
+ }
757
+ ],
758
+ "name": "setPeer",
759
+ "outputs": [],
760
+ "stateMutability": "nonpayable",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [
765
+ {
766
+ "internalType": "address",
767
+ "name": "_priceFeed",
768
+ "type": "address"
769
+ }
770
+ ],
771
+ "name": "setPriceFeed",
772
+ "outputs": [],
773
+ "stateMutability": "nonpayable",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [
778
+ {
779
+ "components": [
780
+ {
781
+ "internalType": "address",
782
+ "name": "sendLib",
783
+ "type": "address"
784
+ },
785
+ {
786
+ "internalType": "uint32",
787
+ "name": "dstEid",
788
+ "type": "uint32"
789
+ },
790
+ {
791
+ "internalType": "bytes32",
792
+ "name": "receiveLib",
793
+ "type": "bytes32"
794
+ }
795
+ ],
796
+ "internalType": "struct ReceiveLibParam[]",
797
+ "name": "_params",
798
+ "type": "tuple[]"
799
+ }
800
+ ],
801
+ "name": "setReceiveLibs",
802
+ "outputs": [],
803
+ "stateMutability": "nonpayable",
804
+ "type": "function"
805
+ },
806
+ {
807
+ "inputs": [
808
+ {
809
+ "internalType": "uint32",
810
+ "name": "_eid",
811
+ "type": "uint32"
812
+ },
813
+ {
814
+ "internalType": "uint8[]",
815
+ "name": "_optionTypes",
816
+ "type": "uint8[]"
817
+ }
818
+ ],
819
+ "name": "setSupportedOptionTypes",
820
+ "outputs": [],
821
+ "stateMutability": "nonpayable",
822
+ "type": "function"
823
+ },
824
+ {
825
+ "inputs": [
826
+ {
827
+ "internalType": "address",
828
+ "name": "_workerFeeLib",
829
+ "type": "address"
830
+ }
831
+ ],
832
+ "name": "setWorkerFeeLib",
833
+ "outputs": [],
834
+ "stateMutability": "nonpayable",
835
+ "type": "function"
836
+ },
837
+ {
838
+ "inputs": [
839
+ {
840
+ "internalType": "bytes4",
841
+ "name": "interfaceId",
842
+ "type": "bytes4"
843
+ }
844
+ ],
845
+ "name": "supportsInterface",
846
+ "outputs": [
847
+ {
848
+ "internalType": "bool",
849
+ "name": "",
850
+ "type": "bool"
851
+ }
852
+ ],
853
+ "stateMutability": "view",
854
+ "type": "function"
855
+ },
856
+ {
857
+ "inputs": [
858
+ {
859
+ "internalType": "address",
860
+ "name": "_lib",
861
+ "type": "address"
862
+ },
863
+ {
864
+ "internalType": "address",
865
+ "name": "_to",
866
+ "type": "address"
867
+ },
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "_amount",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "name": "withdrawFee",
875
+ "outputs": [],
876
+ "stateMutability": "nonpayable",
877
+ "type": "function"
878
+ },
879
+ {
880
+ "inputs": [
881
+ {
882
+ "internalType": "address",
883
+ "name": "_token",
884
+ "type": "address"
885
+ },
886
+ {
887
+ "internalType": "address",
888
+ "name": "_to",
889
+ "type": "address"
890
+ },
891
+ {
892
+ "internalType": "uint256",
893
+ "name": "_amount",
894
+ "type": "uint256"
895
+ }
896
+ ],
897
+ "name": "withdrawToken",
898
+ "outputs": [],
899
+ "stateMutability": "nonpayable",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [],
904
+ "name": "workerFeeLib",
905
+ "outputs": [
906
+ {
907
+ "internalType": "address",
908
+ "name": "",
909
+ "type": "address"
910
+ }
911
+ ],
912
+ "stateMutability": "view",
913
+ "type": "function"
914
+ },
915
+ {
916
+ "stateMutability": "payable",
917
+ "type": "receive"
918
+ }
919
+ ],
920
+ "bytecode": "0x60c06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b506040516200333438038062003334833981016040819052620000509162000341565b604080516000808252602082019092526001805460ff61ffff60e81b01191661017760ed1b179055600280546001600160a01b031916905533918591612ee0918285858115620000a757620000a760008362000199565b60005b85518110156200011557620001027f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000ee57620000ee62000439565b60200260200101516200019960201b60201c565b6200010d8162000465565b9050620000aa565b5060005b815181101562000170576200015d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000ee57620000ee62000439565b620001688162000465565b905062000119565b5050505063ffffffff96909616608052505050506001600160a01b031660a05250620004b29050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015620001ea57506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b156200023757600180546015906200021290600160a81b90046001600160401b031662000481565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b62000243828262000247565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000243576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002a33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516000906001600160a81b03811681146200031857600080fd5b6001600160a01b031692915050565b805163ffffffff811681146200033c57600080fd5b919050565b6000806000606084860312156200035757600080fd5b83516001600160401b03808211156200036f57600080fd5b818601915086601f8301126200038457600080fd5b81516020828211156200039b576200039b620002e7565b8160051b604051601f19603f83011681018181108682111715620003c357620003c3620002e7565b60405292835281830193508481018201928a841115620003e257600080fd5b948201945b838610156200040b57620003fb86620002fd565b85529482019493820193620003e7565b97506200041c905088820162000327565b9550505050506200043060408501620002fd565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016200047a576200047a6200044f565b5060010190565b60006001600160401b038281166002600160401b03198101620004a857620004a86200044f565b6001019392505050565b60805160a051612e4e620004e66000396000818161066e015261145e0152600081816109c501526112180152612e4e6000f3fe6080604052600436106101db5760003560e01c80635c975abb11610102578063c358de0a11610095578063d2ae210411610064578063d2ae2104146108f2578063d547741f1461095f578063d81e8dfe14610999578063f68016b7146109fc57600080fd5b8063c358de0a146107f8578063c416aa5114610832578063c7b2370b1461087e578063cd88b903146108b857600080fd5b8063741bef1a116100d1578063741bef1a1461070457806391d148541461074b57806395d376d7146107b6578063a217fddf146107c957600080fd5b80635c975abb146106105780636140e0e61461064257806369b90d6814610690578063724e78da146106ca57600080fd5b806326e67a371161017a57806336568abe1161014957806336568abe146105105780634cfa6d2c1461054a57806351b6a0fd1461059c57806352d84c62146105d657600080fd5b806326e67a371461041b5780632de11376146104625780632f2ff15d1461049c57806330bb3aac146104d657600080fd5b80631095b6d7116101b65780631095b6d7146102db57806311cda4151461031557806316c38b3c14610389578063248a9ca3146103c357600080fd5b8062bf2e80146101e757806301e336671461025557806301ffc9a71461029157600080fd5b366101e257005b600080fd5b3480156101f357600080fd5b50d3801561020057600080fd5b50d2801561020d57600080fd5b5060015461023d907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561026157600080fd5b50d3801561026e57600080fd5b50d2801561027b57600080fd5b5061028f61028a3660046125b0565b610a33565b005b34801561029d57600080fd5b50d380156102aa57600080fd5b50d280156102b757600080fd5b506102cb6102c63660046125ec565b610a6e565b604051901515815260200161024c565b3480156102e757600080fd5b50d380156102f457600080fd5b50d2801561030157600080fd5b5061028f6103103660046125b0565b610b07565b34801561032157600080fd5b50d3801561032e57600080fd5b50d2801561033b57600080fd5b5060055461036490640100000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161024c565b34801561039557600080fd5b50d380156103a257600080fd5b50d280156103af57600080fd5b5061028f6103be36600461263c565b610c96565b3480156103cf57600080fd5b50d380156103dc57600080fd5b50d280156103e957600080fd5b5061040d6103f8366004612659565b60009081526020819052604090206001015490565b60405190815260200161024c565b34801561042757600080fd5b50d3801561043457600080fd5b50d2801561044157600080fd5b50610455610450366004612686565b610cbb565b60405161024c91906126a1565b34801561046e57600080fd5b50d3801561047b57600080fd5b50d2801561048857600080fd5b506102cb6104973660046126e8565b610d42565b3480156104a857600080fd5b50d380156104b557600080fd5b50d280156104c257600080fd5b5061028f6104d1366004612703565b610e27565b3480156104e257600080fd5b50d380156104ef57600080fd5b50d280156104fc57600080fd5b5061040d61050b366004612778565b610e51565b34801561051c57600080fd5b50d3801561052957600080fd5b50d2801561053657600080fd5b5061028f610545366004612703565b610ea0565b34801561055657600080fd5b50d3801561056357600080fd5b50d2801561057057600080fd5b5061040d61057f3660046127fa565b600460209081526000928352604080842090915290825290205481565b3480156105a857600080fd5b50d380156105b557600080fd5b50d280156105c257600080fd5b5061028f6105d1366004612824565b610ed2565b3480156105e257600080fd5b50d380156105ef57600080fd5b50d280156105fc57600080fd5b5061028f61060b366004612686565b610fd3565b34801561061c57600080fd5b50d3801561062957600080fd5b50d2801561063657600080fd5b5060015460ff166102cb565b34801561064e57600080fd5b50d3801561065b57600080fd5b50d2801561066857600080fd5b506103647f000000000000000000000000000000000000000000000000000000000000000081565b34801561069c57600080fd5b50d380156106a957600080fd5b50d280156106b657600080fd5b5061028f6106c53660046126e8565b611068565b3480156106d657600080fd5b50d380156106e357600080fd5b50d280156106f057600080fd5b5061028f6106ff3660046126e8565b61110c565b34801561071057600080fd5b50d3801561071d57600080fd5b50d2801561072a57600080fd5b506002546103649073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075757600080fd5b50d3801561076457600080fd5b50d2801561077157600080fd5b506102cb610780366004612703565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61040d6107c4366004612899565b6111a9565b3480156107d557600080fd5b50d380156107e257600080fd5b50d280156107ef57600080fd5b5061040d600081565b34801561080457600080fd5b50d3801561081157600080fd5b50d2801561081e57600080fd5b5061028f61082d36600461290a565b6114e5565b34801561083e57600080fd5b50d3801561084b57600080fd5b50d2801561085857600080fd5b5060015461036490610100900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561088a57600080fd5b50d3801561089757600080fd5b50d280156108a457600080fd5b5061028f6108b33660046126e8565b611593565b3480156108c457600080fd5b50d380156108d157600080fd5b50d280156108de57600080fd5b5061028f6108ed36600461292e565b611637565b3480156108fe57600080fd5b50d3801561090b57600080fd5b50d2801561091857600080fd5b50600154610946907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161024c565b34801561096b57600080fd5b50d3801561097857600080fd5b50d2801561098557600080fd5b5061028f610994366004612703565b611688565b3480156109a557600080fd5b50d380156109b257600080fd5b50d280156109bf57600080fd5b506109e77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161024c565b348015610a0857600080fd5b50d38015610a1557600080fd5b50d28015610a2257600080fd5b506005546109e79063ffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a5d816116ad565b610a688484846116ba565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610b0157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610b31816116ad565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610baf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610c1f57600080fd5b505af1158015610c33573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610ca1816116ad565b8115610cb357610caf6116ea565b5050565b610caf611769565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610d3657602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610d075790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610d9757506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610e0d575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610e1a57506001919050565b506000919050565b919050565b600082815260208190526040902060010154610e42816116ad565b610e4c83836117c0565b505050565b600083610e5d81610d42565b610e93576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009695505050505050565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610edd816116ad565b60005b82811015610f945736848483818110610efb57610efb6129b4565b60600291909101915050604081013560046000610f1b60208501856126e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836020016020810190610f6a9190612686565b63ffffffff1681526020810191909152604001600020555080610f8c81612a12565b915050610ee0565b507f360a0efdea8fcc9a11ee20a2099e314ddcf49a941d66790cd4e5adea30faa0748383604051610fc6929190612a4a565b60405180910390a1505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ffd816116ad565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84169081179091556040519081527f8ab199d61b4607e4688f098b55f3871b3597fc3f8a7dc0702201fba354d8b58a906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611092816116ad565b600580547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040517f25fecc89eba6e3655a12d5db63dceb5f0711081bd42663652110b98d9a1ec77390600090a25050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611136816116ad565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d9060200161105c565b60006111bb60a08501608086016126e8565b6111c481610d42565b6111fa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112103361120b6020880188612686565b611886565b5063ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166175306112486020880188612686565b6112529190612ac5565b63ffffffff161461128f576040517fabc1839000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554640100000000900473ffffffffffffffffffffffffffffffffffffffff166112e6576040517fdaffed9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260046020908152604082207f8e760afe000000000000000000000000000000000000000000000000000000009161138f9190849061132c908b018b612686565b63ffffffff1681526020808201929092526040016000205490611351908a018a612b0f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408a013561191d565b60405160240161139f9190612be2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925260055491517f3dbb202b00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811692633dbb202b926114a79264010000000083041691869163ffffffff90911690600401612bf5565b600060405180830381600087803b1580156114c157600080fd5b505af11580156114d5573d6000803e3d6000fd5b5060009998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150f816116ad565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161105c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115bd816116ad565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161105c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611661816116ad565b63ffffffff841660009081526003602052604090206116819084846124af565b5050505050565b6000828152602081905260409020600101546116a3816116ad565b610e4c838361194c565b6116b78133611a11565b50565b73ffffffffffffffffffffffffffffffffffffffff83166116df57610e4c8282611ac9565b610e4c838383611bcf565b6116f2611c3d565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611771611cac565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa3361173f565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561181d575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561187c5760018054601590611855907501000000000000000000000000000000000000000000900467ffffffffffffffff16612c3a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610caf8282611d18565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205480610b01576040517ff25127e600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015263ffffffff831660248201526044015b60405180910390fd5b606083828460405160200161193493929190612c61565b60405160208183030381529060405290509392505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156119a8575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15611a0757600180546015906119e0907501000000000000000000000000000000000000000000900467ffffffffffffffff16612c8e565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610caf8282611e08565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610caf57611a4f81611ebf565b611a5a836020611ede565b604051602001611a6b929190612cd0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261191491600401612be2565b73ffffffffffffffffffffffffffffffffffffffff8216611b16576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611b70576040519150601f19603f3d011682016040523d82523d6000602084013e611b75565b606091505b5050905080610e4c576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611914565b73ffffffffffffffffffffffffffffffffffffffff8216611c1c576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4c73ffffffffffffffffffffffffffffffffffffffff84168383612128565b60015460ff1615611caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611914565b565b60015460ff16611caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611914565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610caf5760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611daa3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610caf5760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610b0173ffffffffffffffffffffffffffffffffffffffff831660145b60606000611eed836002612d51565b611ef8906002612d68565b67ffffffffffffffff811115611f1057611f10612d7b565b6040519080825280601f01601f191660200182016040528015611f3a576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f7157611f716129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fd457611fd46129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612010846002612d51565b61201b906001612d68565b90505b60018111156120b8577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061205c5761205c6129b4565b1a60f81b828281518110612072576120726129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936120b181612daa565b905061201e565b508315612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611914565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610e4c928692916000916121f39185169084906122a0565b90508051600014806122145750808060200190518101906122149190612ddf565b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611914565b60606122af84846000856122b7565b949350505050565b606082471015612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611914565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123729190612dfc565b60006040518083038185875af1925050503d80600081146123af576040519150601f19603f3d011682016040523d82523d6000602084013e6123b4565b606091505b50915091506123c5878383876123d0565b979650505050505050565b6060831561246657825160000361245f5773ffffffffffffffffffffffffffffffffffffffff85163b61245f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611914565b50816122af565b6122af838381511561247b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119149190612be2565b82805482825590600052602060002090601f016020900481019282156125485791602002820160005b8382111561251957833560ff1683826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026124d8565b80156125465782816101000a81549060ff0219169055600101602081600001049283019260010302612519565b505b50612554929150612558565b5090565b5b808211156125545760008155600101612559565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461259457600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b6000806000606084860312156125c557600080fd5b6125ce8461256d565b92506125dc6020850161256d565b9150604084013590509250925092565b6000602082840312156125fe57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461212157600080fd5b80151581146116b757600080fd5b60006020828403121561264e57600080fd5b81356121218161262e565b60006020828403121561266b57600080fd5b5035919050565b803563ffffffff81168114610e2257600080fd5b60006020828403121561269857600080fd5b61212182612672565b6020808252825182820181905260009190848201906040850190845b818110156126dc57835160ff16835292840192918401916001016126bd565b50909695505050505050565b6000602082840312156126fa57600080fd5b6121218261256d565b6000806040838503121561271657600080fd5b823591506127266020840161256d565b90509250929050565b60008083601f84011261274157600080fd5b50813567ffffffffffffffff81111561275957600080fd5b60208301915083602082850101111561277157600080fd5b9250929050565b60008060008060006080868803121561279057600080fd5b61279986612672565b9450602086013567ffffffffffffffff80821682146127b757600080fd5b8195506127c66040890161256d565b945060608801359150808211156127dc57600080fd5b506127e98882890161272f565b969995985093965092949392505050565b6000806040838503121561280d57600080fd5b6128168361256d565b915061272660208401612672565b6000806020838503121561283757600080fd5b823567ffffffffffffffff8082111561284f57600080fd5b818501915085601f83011261286357600080fd5b81358181111561287257600080fd5b86602060608302850101111561288757600080fd5b60209290920196919550909350505050565b6000806000604084860312156128ae57600080fd5b833567ffffffffffffffff808211156128c657600080fd5b9085019060a082880312156128da57600080fd5b909350602085013590808211156128f057600080fd5b506128fd8682870161272f565b9497909650939450505050565b60006020828403121561291c57600080fd5b813561ffff8116811461212157600080fd5b60008060006040848603121561294357600080fd5b61294c84612672565b9250602084013567ffffffffffffffff8082111561296957600080fd5b818601915086601f83011261297d57600080fd5b81358181111561298c57600080fd5b8760208260051b85010111156129a157600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4357612a436129e3565b5060010190565b6020808252818101839052600090604080840186845b87811015612ab85773ffffffffffffffffffffffffffffffffffffffff612a868361256d565b16835263ffffffff612a99868401612672565b1683860152818401358484015260609283019290910190600101612a60565b5090979650505050505050565b600063ffffffff80841680612b03577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910692915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b4457600080fd5b83018035915067ffffffffffffffff821115612b5f57600080fd5b60200191503681900382131561277157600080fd5b60005b83811015612b8f578181015183820152602001612b77565b50506000910152565b60008151808452612bb0816020860160208601612b74565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121216020830184612b98565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000612c246060830185612b98565b905063ffffffff83166040830152949350505050565b600067ffffffffffffffff808316818103612c5757612c576129e3565b6001019392505050565b83815282602082015260008251612c7f816040850160208701612b74565b91909101604001949350505050565b600067ffffffffffffffff821680612ca857612ca86129e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d08816017850160208801612b74565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612d45816028840160208801612b74565b01602801949350505050565b8082028115828204841417610b0157610b016129e3565b80820180821115610b0157610b016129e3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081612db957612db96129e3565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215612df157600080fd5b81516121218161262e565b60008251612e0e818460208701612b74565b919091019291505056fea26474726f6e582212207bf44310f8acabc4b048087b077f51c05c88f73d1ce6131abcd301342b33bd7764736f6c63430008140033",
921
+ "deployedBytecode": "0x6080604052600436106101db5760003560e01c80635c975abb11610102578063c358de0a11610095578063d2ae210411610064578063d2ae2104146108f2578063d547741f1461095f578063d81e8dfe14610999578063f68016b7146109fc57600080fd5b8063c358de0a146107f8578063c416aa5114610832578063c7b2370b1461087e578063cd88b903146108b857600080fd5b8063741bef1a116100d1578063741bef1a1461070457806391d148541461074b57806395d376d7146107b6578063a217fddf146107c957600080fd5b80635c975abb146106105780636140e0e61461064257806369b90d6814610690578063724e78da146106ca57600080fd5b806326e67a371161017a57806336568abe1161014957806336568abe146105105780634cfa6d2c1461054a57806351b6a0fd1461059c57806352d84c62146105d657600080fd5b806326e67a371461041b5780632de11376146104625780632f2ff15d1461049c57806330bb3aac146104d657600080fd5b80631095b6d7116101b65780631095b6d7146102db57806311cda4151461031557806316c38b3c14610389578063248a9ca3146103c357600080fd5b8062bf2e80146101e757806301e336671461025557806301ffc9a71461029157600080fd5b366101e257005b600080fd5b3480156101f357600080fd5b50d3801561020057600080fd5b50d2801561020d57600080fd5b5060015461023d907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561026157600080fd5b50d3801561026e57600080fd5b50d2801561027b57600080fd5b5061028f61028a3660046125b0565b610a33565b005b34801561029d57600080fd5b50d380156102aa57600080fd5b50d280156102b757600080fd5b506102cb6102c63660046125ec565b610a6e565b604051901515815260200161024c565b3480156102e757600080fd5b50d380156102f457600080fd5b50d2801561030157600080fd5b5061028f6103103660046125b0565b610b07565b34801561032157600080fd5b50d3801561032e57600080fd5b50d2801561033b57600080fd5b5060055461036490640100000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161024c565b34801561039557600080fd5b50d380156103a257600080fd5b50d280156103af57600080fd5b5061028f6103be36600461263c565b610c96565b3480156103cf57600080fd5b50d380156103dc57600080fd5b50d280156103e957600080fd5b5061040d6103f8366004612659565b60009081526020819052604090206001015490565b60405190815260200161024c565b34801561042757600080fd5b50d3801561043457600080fd5b50d2801561044157600080fd5b50610455610450366004612686565b610cbb565b60405161024c91906126a1565b34801561046e57600080fd5b50d3801561047b57600080fd5b50d2801561048857600080fd5b506102cb6104973660046126e8565b610d42565b3480156104a857600080fd5b50d380156104b557600080fd5b50d280156104c257600080fd5b5061028f6104d1366004612703565b610e27565b3480156104e257600080fd5b50d380156104ef57600080fd5b50d280156104fc57600080fd5b5061040d61050b366004612778565b610e51565b34801561051c57600080fd5b50d3801561052957600080fd5b50d2801561053657600080fd5b5061028f610545366004612703565b610ea0565b34801561055657600080fd5b50d3801561056357600080fd5b50d2801561057057600080fd5b5061040d61057f3660046127fa565b600460209081526000928352604080842090915290825290205481565b3480156105a857600080fd5b50d380156105b557600080fd5b50d280156105c257600080fd5b5061028f6105d1366004612824565b610ed2565b3480156105e257600080fd5b50d380156105ef57600080fd5b50d280156105fc57600080fd5b5061028f61060b366004612686565b610fd3565b34801561061c57600080fd5b50d3801561062957600080fd5b50d2801561063657600080fd5b5060015460ff166102cb565b34801561064e57600080fd5b50d3801561065b57600080fd5b50d2801561066857600080fd5b506103647f000000000000000000000000000000000000000000000000000000000000000081565b34801561069c57600080fd5b50d380156106a957600080fd5b50d280156106b657600080fd5b5061028f6106c53660046126e8565b611068565b3480156106d657600080fd5b50d380156106e357600080fd5b50d280156106f057600080fd5b5061028f6106ff3660046126e8565b61110c565b34801561071057600080fd5b50d3801561071d57600080fd5b50d2801561072a57600080fd5b506002546103649073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075757600080fd5b50d3801561076457600080fd5b50d2801561077157600080fd5b506102cb610780366004612703565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61040d6107c4366004612899565b6111a9565b3480156107d557600080fd5b50d380156107e257600080fd5b50d280156107ef57600080fd5b5061040d600081565b34801561080457600080fd5b50d3801561081157600080fd5b50d2801561081e57600080fd5b5061028f61082d36600461290a565b6114e5565b34801561083e57600080fd5b50d3801561084b57600080fd5b50d2801561085857600080fd5b5060015461036490610100900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561088a57600080fd5b50d3801561089757600080fd5b50d280156108a457600080fd5b5061028f6108b33660046126e8565b611593565b3480156108c457600080fd5b50d380156108d157600080fd5b50d280156108de57600080fd5b5061028f6108ed36600461292e565b611637565b3480156108fe57600080fd5b50d3801561090b57600080fd5b50d2801561091857600080fd5b50600154610946907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161024c565b34801561096b57600080fd5b50d3801561097857600080fd5b50d2801561098557600080fd5b5061028f610994366004612703565b611688565b3480156109a557600080fd5b50d380156109b257600080fd5b50d280156109bf57600080fd5b506109e77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161024c565b348015610a0857600080fd5b50d38015610a1557600080fd5b50d28015610a2257600080fd5b506005546109e79063ffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a5d816116ad565b610a688484846116ba565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610b0157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610b31816116ad565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610baf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610c1f57600080fd5b505af1158015610c33573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610ca1816116ad565b8115610cb357610caf6116ea565b5050565b610caf611769565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610d3657602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610d075790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610d9757506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610e0d575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610e1a57506001919050565b506000919050565b919050565b600082815260208190526040902060010154610e42816116ad565b610e4c83836117c0565b505050565b600083610e5d81610d42565b610e93576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009695505050505050565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610edd816116ad565b60005b82811015610f945736848483818110610efb57610efb6129b4565b60600291909101915050604081013560046000610f1b60208501856126e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836020016020810190610f6a9190612686565b63ffffffff1681526020810191909152604001600020555080610f8c81612a12565b915050610ee0565b507f360a0efdea8fcc9a11ee20a2099e314ddcf49a941d66790cd4e5adea30faa0748383604051610fc6929190612a4a565b60405180910390a1505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ffd816116ad565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84169081179091556040519081527f8ab199d61b4607e4688f098b55f3871b3597fc3f8a7dc0702201fba354d8b58a906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611092816116ad565b600580547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040517f25fecc89eba6e3655a12d5db63dceb5f0711081bd42663652110b98d9a1ec77390600090a25050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611136816116ad565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d9060200161105c565b60006111bb60a08501608086016126e8565b6111c481610d42565b6111fa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112103361120b6020880188612686565b611886565b5063ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166175306112486020880188612686565b6112529190612ac5565b63ffffffff161461128f576040517fabc1839000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554640100000000900473ffffffffffffffffffffffffffffffffffffffff166112e6576040517fdaffed9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260046020908152604082207f8e760afe000000000000000000000000000000000000000000000000000000009161138f9190849061132c908b018b612686565b63ffffffff1681526020808201929092526040016000205490611351908a018a612b0f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408a013561191d565b60405160240161139f9190612be2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925260055491517f3dbb202b00000000000000000000000000000000000000000000000000000000815290925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811692633dbb202b926114a79264010000000083041691869163ffffffff90911690600401612bf5565b600060405180830381600087803b1580156114c157600080fd5b505af11580156114d5573d6000803e3d6000fd5b5060009998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150f816116ad565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161105c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115bd816116ad565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161105c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611661816116ad565b63ffffffff841660009081526003602052604090206116819084846124af565b5050505050565b6000828152602081905260409020600101546116a3816116ad565b610e4c838361194c565b6116b78133611a11565b50565b73ffffffffffffffffffffffffffffffffffffffff83166116df57610e4c8282611ac9565b610e4c838383611bcf565b6116f2611c3d565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611771611cac565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa3361173f565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561181d575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561187c5760018054601590611855907501000000000000000000000000000000000000000000900467ffffffffffffffff16612c3a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610caf8282611d18565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205480610b01576040517ff25127e600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015263ffffffff831660248201526044015b60405180910390fd5b606083828460405160200161193493929190612c61565b60405160208183030381529060405290509392505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156119a8575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15611a0757600180546015906119e0907501000000000000000000000000000000000000000000900467ffffffffffffffff16612c8e565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610caf8282611e08565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610caf57611a4f81611ebf565b611a5a836020611ede565b604051602001611a6b929190612cd0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261191491600401612be2565b73ffffffffffffffffffffffffffffffffffffffff8216611b16576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611b70576040519150601f19603f3d011682016040523d82523d6000602084013e611b75565b606091505b5050905080610e4c576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611914565b73ffffffffffffffffffffffffffffffffffffffff8216611c1c576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4c73ffffffffffffffffffffffffffffffffffffffff84168383612128565b60015460ff1615611caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611914565b565b60015460ff16611caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611914565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610caf5760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611daa3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610caf5760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610b0173ffffffffffffffffffffffffffffffffffffffff831660145b60606000611eed836002612d51565b611ef8906002612d68565b67ffffffffffffffff811115611f1057611f10612d7b565b6040519080825280601f01601f191660200182016040528015611f3a576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f7157611f716129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fd457611fd46129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612010846002612d51565b61201b906001612d68565b90505b60018111156120b8577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061205c5761205c6129b4565b1a60f81b828281518110612072576120726129b4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936120b181612daa565b905061201e565b508315612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611914565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610e4c928692916000916121f39185169084906122a0565b90508051600014806122145750808060200190518101906122149190612ddf565b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611914565b60606122af84846000856122b7565b949350505050565b606082471015612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611914565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123729190612dfc565b60006040518083038185875af1925050503d80600081146123af576040519150601f19603f3d011682016040523d82523d6000602084013e6123b4565b606091505b50915091506123c5878383876123d0565b979650505050505050565b6060831561246657825160000361245f5773ffffffffffffffffffffffffffffffffffffffff85163b61245f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611914565b50816122af565b6122af838381511561247b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119149190612be2565b82805482825590600052602060002090601f016020900481019282156125485791602002820160005b8382111561251957833560ff1683826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026124d8565b80156125465782816101000a81549060ff0219169055600101602081600001049283019260010302612519565b505b50612554929150612558565b5090565b5b808211156125545760008155600101612559565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461259457600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b6000806000606084860312156125c557600080fd5b6125ce8461256d565b92506125dc6020850161256d565b9150604084013590509250925092565b6000602082840312156125fe57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461212157600080fd5b80151581146116b757600080fd5b60006020828403121561264e57600080fd5b81356121218161262e565b60006020828403121561266b57600080fd5b5035919050565b803563ffffffff81168114610e2257600080fd5b60006020828403121561269857600080fd5b61212182612672565b6020808252825182820181905260009190848201906040850190845b818110156126dc57835160ff16835292840192918401916001016126bd565b50909695505050505050565b6000602082840312156126fa57600080fd5b6121218261256d565b6000806040838503121561271657600080fd5b823591506127266020840161256d565b90509250929050565b60008083601f84011261274157600080fd5b50813567ffffffffffffffff81111561275957600080fd5b60208301915083602082850101111561277157600080fd5b9250929050565b60008060008060006080868803121561279057600080fd5b61279986612672565b9450602086013567ffffffffffffffff80821682146127b757600080fd5b8195506127c66040890161256d565b945060608801359150808211156127dc57600080fd5b506127e98882890161272f565b969995985093965092949392505050565b6000806040838503121561280d57600080fd5b6128168361256d565b915061272660208401612672565b6000806020838503121561283757600080fd5b823567ffffffffffffffff8082111561284f57600080fd5b818501915085601f83011261286357600080fd5b81358181111561287257600080fd5b86602060608302850101111561288757600080fd5b60209290920196919550909350505050565b6000806000604084860312156128ae57600080fd5b833567ffffffffffffffff808211156128c657600080fd5b9085019060a082880312156128da57600080fd5b909350602085013590808211156128f057600080fd5b506128fd8682870161272f565b9497909650939450505050565b60006020828403121561291c57600080fd5b813561ffff8116811461212157600080fd5b60008060006040848603121561294357600080fd5b61294c84612672565b9250602084013567ffffffffffffffff8082111561296957600080fd5b818601915086601f83011261297d57600080fd5b81358181111561298c57600080fd5b8760208260051b85010111156129a157600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4357612a436129e3565b5060010190565b6020808252818101839052600090604080840186845b87811015612ab85773ffffffffffffffffffffffffffffffffffffffff612a868361256d565b16835263ffffffff612a99868401612672565b1683860152818401358484015260609283019290910190600101612a60565b5090979650505050505050565b600063ffffffff80841680612b03577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910692915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b4457600080fd5b83018035915067ffffffffffffffff821115612b5f57600080fd5b60200191503681900382131561277157600080fd5b60005b83811015612b8f578181015183820152602001612b77565b50506000910152565b60008151808452612bb0816020860160208601612b74565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121216020830184612b98565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000612c246060830185612b98565b905063ffffffff83166040830152949350505050565b600067ffffffffffffffff808316818103612c5757612c576129e3565b6001019392505050565b83815282602082015260008251612c7f816040850160208701612b74565b91909101604001949350505050565b600067ffffffffffffffff821680612ca857612ca86129e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d08816017850160208801612b74565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612d45816028840160208801612b74565b01602801949350505050565b8082028115828204841417610b0157610b016129e3565b80820180821115610b0157610b016129e3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081612db957612db96129e3565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215612df157600080fd5b81516121218161262e565b60008251612e0e818460208701612b74565b919091019291505056fea26474726f6e582212207bf44310f8acabc4b048087b077f51c05c88f73d1ce6131abcd301342b33bd7764736f6c63430008140033",
922
+ "linkReferences": {},
923
+ "deployedLinkReferences": {}
924
+ }