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