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

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