@hyperlane-xyz/core 1.4.2 → 1.4.3-beta1

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 (305) hide show
  1. package/contracts/hooks/OptimismMessageHook.sol +1 -1
  2. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -1
  3. package/contracts/interfaces/isms/ICcipReadIsm.sol +28 -0
  4. package/contracts/isms/ccip-read/AbstractCcipReadIsm.sol +32 -0
  5. package/contracts/isms/hook/{optimism/OptimismISM.sol → OptimismISM.sol} +6 -6
  6. package/contracts/isms/hook/{CrossChainEnabled.sol → crossChainEnabled/CrossChainEnabled.sol} +3 -3
  7. package/contracts/isms/hook/crossChainEnabled/errors.sol +7 -0
  8. package/contracts/isms/hook/{optimism → crossChainEnabled/optimism}/LibOptimism.sol +1 -2
  9. package/dist/contracts/interfaces/isms/ICcipReadIsm.d.ts +67 -0
  10. package/dist/contracts/interfaces/isms/ICcipReadIsm.d.ts.map +1 -0
  11. package/dist/contracts/{isms/hook/optimism/LibOptimism.js → interfaces/isms/ICcipReadIsm.js} +1 -1
  12. package/dist/contracts/interfaces/isms/ICcipReadIsm.js.map +1 -0
  13. package/dist/contracts/interfaces/isms/index.d.ts +1 -0
  14. package/dist/contracts/interfaces/isms/index.d.ts.map +1 -1
  15. package/dist/contracts/isms/ccip-read/AbstractCcipReadIsm.d.ts +67 -0
  16. package/dist/contracts/isms/ccip-read/AbstractCcipReadIsm.d.ts.map +1 -0
  17. package/dist/contracts/isms/{hook/CrossChainEnabled.js → ccip-read/AbstractCcipReadIsm.js} +1 -1
  18. package/dist/contracts/isms/ccip-read/AbstractCcipReadIsm.js.map +1 -0
  19. package/dist/contracts/isms/ccip-read/index.d.ts +2 -0
  20. package/dist/contracts/isms/ccip-read/index.d.ts.map +1 -0
  21. package/dist/contracts/isms/ccip-read/index.js.map +1 -0
  22. package/dist/contracts/isms/hook/{optimism/OptimismISM.d.ts → OptimismISM.d.ts} +1 -1
  23. package/dist/contracts/isms/hook/OptimismISM.d.ts.map +1 -0
  24. package/dist/contracts/isms/hook/OptimismISM.js.map +1 -0
  25. package/dist/contracts/isms/hook/index.d.ts +1 -3
  26. package/dist/contracts/isms/hook/index.d.ts.map +1 -1
  27. package/dist/contracts/isms/hook/index.js +0 -1
  28. package/dist/contracts/isms/hook/index.js.map +1 -1
  29. package/dist/contracts/isms/index.d.ts +2 -0
  30. package/dist/contracts/isms/index.d.ts.map +1 -1
  31. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  32. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  33. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
  34. package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
  35. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.d.ts +1 -1
  36. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.js +1 -1
  37. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
  38. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
  39. package/dist/factories/contracts/interfaces/isms/ICcipReadIsm__factory.d.ts +33 -0
  40. package/dist/factories/contracts/interfaces/isms/ICcipReadIsm__factory.d.ts.map +1 -0
  41. package/dist/factories/contracts/interfaces/isms/ICcipReadIsm__factory.js +99 -0
  42. package/dist/factories/contracts/interfaces/isms/ICcipReadIsm__factory.js.map +1 -0
  43. package/dist/factories/contracts/interfaces/isms/index.d.ts +1 -0
  44. package/dist/factories/contracts/interfaces/isms/index.d.ts.map +1 -1
  45. package/dist/factories/contracts/interfaces/isms/index.js +3 -1
  46. package/dist/factories/contracts/interfaces/isms/index.js.map +1 -1
  47. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  48. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  49. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  50. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  51. package/dist/factories/contracts/isms/ccip-read/AbstractCcipReadIsm__factory.d.ts +33 -0
  52. package/dist/factories/contracts/isms/ccip-read/AbstractCcipReadIsm__factory.d.ts.map +1 -0
  53. package/dist/factories/contracts/isms/ccip-read/AbstractCcipReadIsm__factory.js +99 -0
  54. package/dist/factories/contracts/isms/ccip-read/AbstractCcipReadIsm__factory.js.map +1 -0
  55. package/dist/factories/contracts/isms/ccip-read/index.d.ts +2 -0
  56. package/dist/factories/contracts/isms/ccip-read/index.d.ts.map +1 -0
  57. package/dist/factories/contracts/isms/ccip-read/index.js +9 -0
  58. package/dist/factories/contracts/isms/ccip-read/index.js.map +1 -0
  59. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.d.ts +1 -1
  60. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.js +1 -1
  61. package/dist/factories/contracts/isms/hook/{optimism/OptimismISM__factory.d.ts → OptimismISM__factory.d.ts} +3 -7
  62. package/dist/factories/contracts/isms/hook/OptimismISM__factory.d.ts.map +1 -0
  63. package/dist/factories/contracts/isms/hook/{optimism/OptimismISM__factory.js → OptimismISM__factory.js} +1 -22
  64. package/dist/factories/contracts/isms/hook/OptimismISM__factory.js.map +1 -0
  65. package/dist/factories/contracts/isms/hook/index.d.ts +1 -2
  66. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
  67. package/dist/factories/contracts/isms/hook/index.js +3 -27
  68. package/dist/factories/contracts/isms/hook/index.js.map +1 -1
  69. package/dist/factories/contracts/isms/index.d.ts +1 -0
  70. package/dist/factories/contracts/isms/index.d.ts.map +1 -1
  71. package/dist/factories/contracts/isms/index.js +2 -1
  72. package/dist/factories/contracts/isms/index.js.map +1 -1
  73. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
  74. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +1 -1
  75. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  76. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  77. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  78. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  79. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  80. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  81. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  82. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  83. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
  84. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
  85. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  86. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  87. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  88. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  89. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  90. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  91. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  92. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  93. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  94. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  95. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  96. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  97. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  98. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  99. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  100. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  101. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  102. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  103. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  104. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  105. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  106. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  107. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  108. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  109. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
  110. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +1 -1
  111. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  112. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  113. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
  114. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +1 -1
  115. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  116. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  117. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  118. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  119. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  120. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  121. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  122. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  123. package/dist/index.d.ts +6 -8
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +8 -10
  126. package/dist/index.js.map +1 -1
  127. package/package.json +6 -4
  128. package/dist/contracts/isms/hook/CrossChainEnabled.d.ts +0 -28
  129. package/dist/contracts/isms/hook/CrossChainEnabled.d.ts.map +0 -1
  130. package/dist/contracts/isms/hook/CrossChainEnabled.js.map +0 -1
  131. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.d.ts +0 -28
  132. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.d.ts.map +0 -1
  133. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.js +0 -4
  134. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.js.map +0 -1
  135. package/dist/contracts/isms/hook/optimism/LibOptimism.d.ts +0 -28
  136. package/dist/contracts/isms/hook/optimism/LibOptimism.d.ts.map +0 -1
  137. package/dist/contracts/isms/hook/optimism/LibOptimism.js.map +0 -1
  138. package/dist/contracts/isms/hook/optimism/OptimismISM.d.ts.map +0 -1
  139. package/dist/contracts/isms/hook/optimism/OptimismISM.js.map +0 -1
  140. package/dist/contracts/isms/hook/optimism/index.d.ts +0 -4
  141. package/dist/contracts/isms/hook/optimism/index.d.ts.map +0 -1
  142. package/dist/contracts/isms/hook/optimism/index.js.map +0 -1
  143. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.d.ts +0 -17
  144. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.d.ts.map +0 -1
  145. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.js +0 -39
  146. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.js.map +0 -1
  147. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.d.ts +0 -17
  148. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.d.ts.map +0 -1
  149. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.js +0 -39
  150. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.js.map +0 -1
  151. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.d.ts +0 -25
  152. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.d.ts.map +0 -1
  153. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.js +0 -46
  154. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.js.map +0 -1
  155. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts.map +0 -1
  156. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.js.map +0 -1
  157. package/dist/factories/contracts/isms/hook/optimism/index.d.ts +0 -4
  158. package/dist/factories/contracts/isms/hook/optimism/index.d.ts.map +0 -1
  159. package/dist/factories/contracts/isms/hook/optimism/index.js +0 -13
  160. package/dist/factories/contracts/isms/hook/optimism/index.js.map +0 -1
  161. package/docs/book.css +0 -13
  162. package/docs/book.toml +0 -12
  163. package/docs/solidity.min.js +0 -74
  164. package/docs/src/README.md +0 -15
  165. package/docs/src/SUMMARY.md +0 -139
  166. package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +0 -124
  167. package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +0 -191
  168. package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +0 -251
  169. package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +0 -41
  170. package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +0 -100
  171. package/docs/src/contracts/README.md +0 -19
  172. package/docs/src/contracts/Router.sol/abstract.Router.md +0 -255
  173. package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +0 -117
  174. package/docs/src/contracts/hooks/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md +0 -64
  175. package/docs/src/contracts/hooks/ERC5164/README.md +0 -5
  176. package/docs/src/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol/interface.IMessageDispatcher.md +0 -25
  177. package/docs/src/contracts/hooks/ERC5164/interfaces/README.md +0 -4
  178. package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +0 -71
  179. package/docs/src/contracts/hooks/README.md +0 -5
  180. package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +0 -231
  181. package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +0 -161
  182. package/docs/src/contracts/igps/README.md +0 -6
  183. package/docs/src/contracts/igps/gas-oracles/README.md +0 -4
  184. package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +0 -114
  185. package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +0 -25
  186. package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +0 -43
  187. package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +0 -33
  188. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +0 -55
  189. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +0 -12
  190. package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +0 -13
  191. package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +0 -19
  192. package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +0 -103
  193. package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +0 -12
  194. package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +0 -33
  195. package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +0 -78
  196. package/docs/src/contracts/interfaces/README.md +0 -17
  197. package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +0 -12
  198. package/docs/src/contracts/interfaces/hooks/README.md +0 -4
  199. package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +0 -36
  200. package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +0 -36
  201. package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +0 -31
  202. package/docs/src/contracts/interfaces/isms/README.md +0 -6
  203. package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +0 -64
  204. package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +0 -21
  205. package/docs/src/contracts/interfaces/middleware/README.md +0 -5
  206. package/docs/src/contracts/isms/README.md +0 -7
  207. package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +0 -60
  208. package/docs/src/contracts/isms/aggregation/README.md +0 -6
  209. package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +0 -30
  210. package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +0 -15
  211. package/docs/src/contracts/isms/hook/AbstractHookISM.sol/abstract.AbstractHookISM.md +0 -44
  212. package/docs/src/contracts/isms/hook/CrossChainEnabled.sol/abstract.CrossChainEnabled.md +0 -74
  213. package/docs/src/contracts/isms/hook/ERC5164ISM.sol/contract.ERC5164ISM.md +0 -57
  214. package/docs/src/contracts/isms/hook/README.md +0 -7
  215. package/docs/src/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol/abstract.CrossChainEnabledOptimism.md +0 -53
  216. package/docs/src/contracts/isms/hook/optimism/LibOptimism.sol/library.LibOptimism.md +0 -39
  217. package/docs/src/contracts/isms/hook/optimism/OptimismISM.sol/contract.OptimismISM.md +0 -66
  218. package/docs/src/contracts/isms/hook/optimism/README.md +0 -6
  219. package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +0 -78
  220. package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +0 -69
  221. package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +0 -102
  222. package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +0 -355
  223. package/docs/src/contracts/isms/multisig/README.md +0 -12
  224. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +0 -36
  225. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +0 -11
  226. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +0 -15
  227. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +0 -10
  228. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +0 -15
  229. package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +0 -55
  230. package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +0 -112
  231. package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +0 -47
  232. package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +0 -44
  233. package/docs/src/contracts/isms/routing/README.md +0 -7
  234. package/docs/src/contracts/libs/Call.sol/library.CallLib.md +0 -124
  235. package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +0 -61
  236. package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +0 -63
  237. package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +0 -55
  238. package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +0 -354
  239. package/docs/src/contracts/libs/Message.sol/library.Message.md +0 -304
  240. package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +0 -36
  241. package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +0 -34
  242. package/docs/src/contracts/libs/README.md +0 -16
  243. package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +0 -123
  244. package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +0 -19
  245. package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +0 -31
  246. package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +0 -97
  247. package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +0 -296
  248. package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +0 -177
  249. package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +0 -109
  250. package/docs/src/contracts/libs/isms/README.md +0 -7
  251. package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +0 -134
  252. package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +0 -203
  253. package/docs/src/contracts/libs/middleware/README.md +0 -5
  254. package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +0 -542
  255. package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +0 -119
  256. package/docs/src/contracts/middleware/README.md +0 -6
  257. package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +0 -81
  258. package/docs/src/contracts/middleware/liquidity-layer/README.md +0 -6
  259. package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +0 -197
  260. package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +0 -189
  261. package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +0 -5
  262. package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +0 -23
  263. package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +0 -6
  264. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +0 -54
  265. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +0 -92
  266. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +0 -5
  267. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +0 -131
  268. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +0 -4
  269. package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +0 -58
  270. package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +0 -44
  271. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageDispatcher.md +0 -15
  272. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageExecutor.md +0 -11
  273. package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +0 -69
  274. package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +0 -137
  275. package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +0 -82
  276. package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +0 -22
  277. package/docs/src/contracts/mock/README.md +0 -11
  278. package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +0 -15
  279. package/docs/src/contracts/test/README.md +0 -20
  280. package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +0 -27
  281. package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +0 -29
  282. package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +0 -30
  283. package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +0 -15
  284. package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +0 -23
  285. package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +0 -29
  286. package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +0 -50
  287. package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +0 -68
  288. package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +0 -51
  289. package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +0 -45
  290. package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +0 -128
  291. package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +0 -78
  292. package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +0 -63
  293. package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +0 -49
  294. package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +0 -80
  295. package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +0 -15
  296. package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +0 -12
  297. package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +0 -15
  298. package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +0 -15
  299. package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +0 -15
  300. package/docs/src/contracts/test/bad-recipient/README.md +0 -8
  301. package/docs/src/contracts/upgrade/README.md +0 -4
  302. package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +0 -14
  303. /package/contracts/isms/hook/{optimism → crossChainEnabled/optimism}/CrossChainEnabledOptimism.sol +0 -0
  304. /package/dist/contracts/isms/{hook/optimism → ccip-read}/index.js +0 -0
  305. /package/dist/contracts/isms/hook/{optimism/OptimismISM.js → OptimismISM.js} +0 -0
@@ -15,7 +15,7 @@ pragma solidity >=0.8.0;
15
15
 
16
16
  // ============ Internal Imports ============
17
17
  import {IMessageHook} from "../interfaces/hooks/IMessageHook.sol";
18
- import {OptimismISM} from "../isms/hook/optimism/OptimismISM.sol";
18
+ import {OptimismISM} from "../isms/hook/OptimismISM.sol";
19
19
  import {TypeCasts} from "../libs/TypeCasts.sol";
20
20
 
21
21
  // ============ External Imports ============
@@ -9,7 +9,8 @@ interface IInterchainSecurityModule {
9
9
  LEGACY_MULTISIG,
10
10
  MERKLE_ROOT_MULTISIG,
11
11
  MESSAGE_ID_MULTISIG,
12
- NULL // used with relayer carrying no metadata
12
+ NULL, // used with relayer carrying no metadata
13
+ CCIP_READ
13
14
  }
14
15
 
15
16
  /**
@@ -0,0 +1,28 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ import {IInterchainSecurityModule} from "../IInterchainSecurityModule.sol";
5
+
6
+ interface ICcipReadIsm is IInterchainSecurityModule {
7
+ /// @dev https://eips.ethereum.org/EIPS/eip-3668
8
+ /// @param sender the address of the contract making the call, usually address(this)
9
+ /// @param urls the URLs to query for offchain data
10
+ /// @param callData context needed for offchain service to service request
11
+ /// @param callbackFunction function selector to call with offchain information
12
+ /// @param extraData additional passthrough information to call callbackFunction with
13
+ error OffchainLookup(
14
+ address sender,
15
+ string[] urls,
16
+ bytes callData,
17
+ bytes4 callbackFunction,
18
+ bytes extraData
19
+ );
20
+
21
+ /**
22
+ * @notice Reverts with the data needed to query information offchain
23
+ * and be submitted via the origin mailbox
24
+ * @dev See https://eips.ethereum.org/EIPS/eip-3668 for more information
25
+ * @param _message data that will help construct the offchain query
26
+ */
27
+ function getOffchainVerifyInfo(bytes calldata _message) external view;
28
+ }
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ // ============ Internal Imports ============
5
+ import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
6
+ import {ICcipReadIsm} from "../../interfaces/isms/ICcipReadIsm.sol";
7
+ import {IMailbox} from "../../interfaces/IMailbox.sol";
8
+ import {Message} from "../../libs/Message.sol";
9
+ import {AbstractMultisigIsm} from "../multisig/AbstractMultisigIsm.sol";
10
+
11
+ /**
12
+ * @title AbstractCcipReadIsm
13
+ * @notice An ISM that allows arbitrary payloads to be submitted and verified on chain
14
+ * @dev https://eips.ethereum.org/EIPS/eip-3668
15
+ * @dev The AbstractCcipReadIsm provided by Hyperlane is left intentially minimalist as
16
+ * the range of applications that could be supported by a CcipReadIsm are so broad. However
17
+ * there are few things to note when building a custom CcipReadIsm.
18
+ *
19
+ * 1. `getOffchainVerifyInfo` should revert with a `OffchainLookup` error, which encodes
20
+ * the data necessary to query for offchain information
21
+ * 2. For full CCIP Read specification compatibility, CcipReadIsm's should expose a function
22
+ * that in turn calls `process` on the configured Mailbox with the provided metadata and
23
+ * message. This functions selector should be provided as the `callbackFunction` payload
24
+ * for the OffchainLookup error
25
+ */
26
+ abstract contract AbstractCcipReadIsm is ICcipReadIsm {
27
+ // ============ Constants ============
28
+
29
+ // solhint-disable-next-line const-name-snakecase
30
+ uint8 public constant moduleType =
31
+ uint8(IInterchainSecurityModule.Types.CCIP_READ);
32
+ }
@@ -15,12 +15,12 @@ pragma solidity >=0.8.0;
15
15
 
16
16
  // ============ Internal Imports ============
17
17
 
18
- import {IInterchainSecurityModule} from "../../../interfaces/IInterchainSecurityModule.sol";
19
- import {OptimismMessageHook} from "../../../hooks/OptimismMessageHook.sol";
20
- import {Message} from "../../../libs/Message.sol";
21
- import {TypeCasts} from "../../../libs/TypeCasts.sol";
22
- import {AbstractHookISM} from "../AbstractHookISM.sol";
23
- import {CrossChainEnabledOptimism} from "./CrossChainEnabledOptimism.sol";
18
+ import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
19
+ import {OptimismMessageHook} from "../../hooks/OptimismMessageHook.sol";
20
+ import {Message} from "../../libs/Message.sol";
21
+ import {TypeCasts} from "../../libs/TypeCasts.sol";
22
+ import {AbstractHookISM} from "./AbstractHookISM.sol";
23
+ import {CrossChainEnabledOptimism} from "./crossChainEnabled/optimism/CrossChainEnabledOptimism.sol";
24
24
 
25
25
  // ============ External Imports ============
26
26
 
@@ -3,6 +3,8 @@
3
3
 
4
4
  pragma solidity ^0.8.4;
5
5
 
6
+ import "./errors.sol";
7
+
6
8
  /**
7
9
  * @author OpenZeppelin
8
10
  * @dev LibOptimism was removed from the OpenZeppelin Contracts library as of v4.7.0
@@ -11,15 +13,13 @@ pragma solidity ^0.8.4;
11
13
  * flow when receiving cross-chain messages.
12
14
  *
13
15
  * Actual implementations of cross-chain aware contracts, which are based on
14
- * this abstraction, will have to inherit from a bridge-specific
16
+ * this abstraction, will have to inherit from a bridge-specific
15
17
  * specialization. Such specializations are provided under
16
18
  * `crosschain/<chain>/CrossChainEnabled<chain>.sol`.
17
19
  *
18
20
  * _Available since v4.6._
19
21
  */
20
22
  abstract contract CrossChainEnabled {
21
- error NotCrossChainCall();
22
- error InvalidCrossChainSender(address actual, address expected);
23
23
  /**
24
24
  * @dev Throws if the current function call is not the result of a
25
25
  * cross-chain execution.
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // OpenZeppelin Contracts (last updated v4.6.0) (crosschain/errors.sol)
3
+
4
+ pragma solidity ^0.8.4;
5
+
6
+ error NotCrossChainCall();
7
+ error InvalidCrossChainSender(address actual, address expected);
@@ -4,6 +4,7 @@
4
4
  pragma solidity ^0.8.4;
5
5
 
6
6
  import {ICrossDomainMessenger} from "@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol";
7
+ import {NotCrossChainCall} from "../errors.sol";
7
8
 
8
9
  /**
9
10
  * @dev Primitives for cross-chain aware contracts for https://www.optimism.io/[Optimism].
@@ -11,8 +12,6 @@ import {ICrossDomainMessenger} from "@eth-optimism/contracts/libraries/bridge/IC
11
12
  * for the functionality used here.
12
13
  */
13
14
  library LibOptimism {
14
- error NotCrossChainCall();
15
-
16
15
  /**
17
16
  * @dev Returns whether the current function call is the result of a
18
17
  * cross-chain message relayed by `messenger`.
@@ -0,0 +1,67 @@
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
+ export interface ICcipReadIsmInterface extends utils.Interface {
6
+ functions: {
7
+ "getOffchainVerifyInfo(bytes)": FunctionFragment;
8
+ "moduleType()": FunctionFragment;
9
+ "verify(bytes,bytes)": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "getOffchainVerifyInfo" | "moduleType" | "verify"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "getOffchainVerifyInfo", values: [BytesLike]): string;
13
+ encodeFunctionData(functionFragment: "moduleType", values?: undefined): string;
14
+ encodeFunctionData(functionFragment: "verify", values: [BytesLike, BytesLike]): string;
15
+ decodeFunctionResult(functionFragment: "getOffchainVerifyInfo", data: BytesLike): Result;
16
+ decodeFunctionResult(functionFragment: "moduleType", data: BytesLike): Result;
17
+ decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result;
18
+ events: {};
19
+ }
20
+ export interface ICcipReadIsm extends BaseContract {
21
+ connect(signerOrProvider: Signer | Provider | string): this;
22
+ attach(addressOrName: string): this;
23
+ deployed(): Promise<this>;
24
+ interface: ICcipReadIsmInterface;
25
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
26
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
27
+ listeners(eventName?: string): Array<Listener>;
28
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
29
+ removeAllListeners(eventName?: string): this;
30
+ off: OnEvent<this>;
31
+ on: OnEvent<this>;
32
+ once: OnEvent<this>;
33
+ removeListener: OnEvent<this>;
34
+ functions: {
35
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<[void]>;
36
+ moduleType(overrides?: CallOverrides): Promise<[number]>;
37
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
38
+ from?: string | Promise<string>;
39
+ }): Promise<ContractTransaction>;
40
+ };
41
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<void>;
42
+ moduleType(overrides?: CallOverrides): Promise<number>;
43
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
44
+ from?: string | Promise<string>;
45
+ }): Promise<ContractTransaction>;
46
+ callStatic: {
47
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<void>;
48
+ moduleType(overrides?: CallOverrides): Promise<number>;
49
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: CallOverrides): Promise<boolean>;
50
+ };
51
+ filters: {};
52
+ estimateGas: {
53
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
54
+ moduleType(overrides?: CallOverrides): Promise<BigNumber>;
55
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
56
+ from?: string | Promise<string>;
57
+ }): Promise<BigNumber>;
58
+ };
59
+ populateTransaction: {
60
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
61
+ moduleType(overrides?: CallOverrides): Promise<PopulatedTransaction>;
62
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
63
+ from?: string | Promise<string>;
64
+ }): Promise<PopulatedTransaction>;
65
+ };
66
+ }
67
+ //# sourceMappingURL=ICcipReadIsm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICcipReadIsm.d.ts","sourceRoot":"","sources":["../../../../types/contracts/interfaces/isms/ICcipReadIsm.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  /* Autogenerated file. Do not edit manually. */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=LibOptimism.js.map
4
+ //# sourceMappingURL=ICcipReadIsm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICcipReadIsm.js","sourceRoot":"","sources":["../../../../types/contracts/interfaces/isms/ICcipReadIsm.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
@@ -1,4 +1,5 @@
1
1
  export type { IAggregationIsm } from "./IAggregationIsm";
2
+ export type { ICcipReadIsm } from "./ICcipReadIsm";
2
3
  export type { IMultisigIsm } from "./IMultisigIsm";
3
4
  export type { IRoutingIsm } from "./IRoutingIsm";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/interfaces/isms/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/interfaces/isms/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
+ export interface AbstractCcipReadIsmInterface extends utils.Interface {
6
+ functions: {
7
+ "getOffchainVerifyInfo(bytes)": FunctionFragment;
8
+ "moduleType()": FunctionFragment;
9
+ "verify(bytes,bytes)": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "getOffchainVerifyInfo" | "moduleType" | "verify"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "getOffchainVerifyInfo", values: [BytesLike]): string;
13
+ encodeFunctionData(functionFragment: "moduleType", values?: undefined): string;
14
+ encodeFunctionData(functionFragment: "verify", values: [BytesLike, BytesLike]): string;
15
+ decodeFunctionResult(functionFragment: "getOffchainVerifyInfo", data: BytesLike): Result;
16
+ decodeFunctionResult(functionFragment: "moduleType", data: BytesLike): Result;
17
+ decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result;
18
+ events: {};
19
+ }
20
+ export interface AbstractCcipReadIsm extends BaseContract {
21
+ connect(signerOrProvider: Signer | Provider | string): this;
22
+ attach(addressOrName: string): this;
23
+ deployed(): Promise<this>;
24
+ interface: AbstractCcipReadIsmInterface;
25
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
26
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
27
+ listeners(eventName?: string): Array<Listener>;
28
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
29
+ removeAllListeners(eventName?: string): this;
30
+ off: OnEvent<this>;
31
+ on: OnEvent<this>;
32
+ once: OnEvent<this>;
33
+ removeListener: OnEvent<this>;
34
+ functions: {
35
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<[void]>;
36
+ moduleType(overrides?: CallOverrides): Promise<[number]>;
37
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
38
+ from?: string | Promise<string>;
39
+ }): Promise<ContractTransaction>;
40
+ };
41
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<void>;
42
+ moduleType(overrides?: CallOverrides): Promise<number>;
43
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
44
+ from?: string | Promise<string>;
45
+ }): Promise<ContractTransaction>;
46
+ callStatic: {
47
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<void>;
48
+ moduleType(overrides?: CallOverrides): Promise<number>;
49
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: CallOverrides): Promise<boolean>;
50
+ };
51
+ filters: {};
52
+ estimateGas: {
53
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
54
+ moduleType(overrides?: CallOverrides): Promise<BigNumber>;
55
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
56
+ from?: string | Promise<string>;
57
+ }): Promise<BigNumber>;
58
+ };
59
+ populateTransaction: {
60
+ getOffchainVerifyInfo(_message: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
61
+ moduleType(overrides?: CallOverrides): Promise<PopulatedTransaction>;
62
+ verify(_metadata: BytesLike, _message: BytesLike, overrides?: Overrides & {
63
+ from?: string | Promise<string>;
64
+ }): Promise<PopulatedTransaction>;
65
+ };
66
+ }
67
+ //# sourceMappingURL=AbstractCcipReadIsm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractCcipReadIsm.d.ts","sourceRoot":"","sources":["../../../../types/contracts/isms/ccip-read/AbstractCcipReadIsm.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  /* Autogenerated file. Do not edit manually. */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=CrossChainEnabled.js.map
4
+ //# sourceMappingURL=AbstractCcipReadIsm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractCcipReadIsm.js","sourceRoot":"","sources":["../../../../types/contracts/isms/ccip-read/AbstractCcipReadIsm.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
@@ -0,0 +1,2 @@
1
+ export type { AbstractCcipReadIsm } from "./AbstractCcipReadIsm";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/isms/ccip-read/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../types/contracts/isms/ccip-read/index.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../../common";
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
4
  import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptimismISM.d.ts","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/OptimismISM.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptimismISM.js","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/OptimismISM.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
@@ -1,6 +1,4 @@
1
- import type * as optimism from "./optimism";
2
- export type { optimism };
3
1
  export type { AbstractHookISM } from "./AbstractHookISM";
4
- export type { CrossChainEnabled } from "./CrossChainEnabled";
5
2
  export type { ERC5164ISM } from "./ERC5164ISM";
3
+ export type { OptimismISM } from "./OptimismISM";
6
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
- /* Autogenerated file. Do not edit manually. */
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/index.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../types/contracts/isms/hook/index.ts"],"names":[],"mappings":""}
@@ -1,8 +1,10 @@
1
1
  import type * as aggregation from "./aggregation";
2
+ import type * as ccipRead from "./ccip-read";
2
3
  import type * as hook from "./hook";
3
4
  import type * as multisig from "./multisig";
4
5
  import type * as routing from "./routing";
5
6
  export type { aggregation };
7
+ export type { ccipRead };
6
8
  export type { hook };
7
9
  export type { multisig };
8
10
  export type { routing };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/contracts/isms/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,WAAW,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,YAAY,EAAE,IAAI,EAAE,CAAC;AAErB,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,YAAY,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/contracts/isms/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,WAAW,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,KAAK,QAAQ,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,YAAY,EAAE,IAAI,EAAE,CAAC;AAErB,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -12,7 +12,7 @@ export declare class Mailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): Mailbox;
14
14
  connect(signer: Signer): Mailbox__factory;
15
- static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405162002229380380620022298339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516121936200009660003960008181610230015281816106300152610d0501526121936000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063907c0f92116100cd578063f2fde38b11610081578063fa31de0111610066578063fa31de011461030e578063fd54b22814610321578063ffa1ad741461032b57600080fd5b8063f2fde38b146102e8578063f794687a146102fb57600080fd5b8063e495f1d4116100b2578063e495f1d4146102aa578063e70f48ac146102cd578063ebf0c717146102e057600080fd5b8063907c0f9214610270578063b187bd261461029257600080fd5b8063715018a6116101245780638456cb59116101095780638456cb59146102235780638d3638f41461022b5780638da5cb5b1461025257600080fd5b8063715018a6146102085780637c39d1301461021057600080fd5b8063485cc95511610155578063485cc95514610199578063522ae002146101ac5780636e5f516e146101c357600080fd5b806306661abd146101715780633f4ba83a1461018f575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b610197610345565b005b6101976101a7366004611a93565b610380565b6101b561080081565b604051908152602001610186565b6097546101e39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610197610533565b61019761021e366004611b0e565b610547565b6101976109fa565b6101757f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff166101e3565b610278610a35565b6040805192835263ffffffff909116602083015201610186565b61029a610a5d565b6040519015158152602001610186565b61029a6102b8366004611b7a565b60b96020526000908152604090205460ff1681565b6101e36102db366004611b93565b610a70565b6101b5610b3e565b6101976102f6366004611b93565b610b4a565b610197610309366004611b93565b610c01565b6101b561031c366004611bb0565b610c12565b60b8546101b59081565b610333600081565b60405160ff9091168152602001610186565b61034d610dce565b610355610e4f565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff16158080156103a05750600054600160ff909116105b806103ba5750303b1580156103ba575060005460ff166001145b61044b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156104a957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6104b1610ec2565b6104b9610f59565b6104c283610b4a565b6104cb82610ff8565b801561052e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61053b610dce565b61054560006110e5565b565b6001606554146105b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610442565b600060658190556105c4838361115c565b60ff161461062e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610442565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661065f8383611180565b63ffffffff16146106cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610442565b600061070d83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a392505050565b600081815260b9602052604090205490915060ff1615610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610442565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556107cd6102db85856111ae565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610828908990899089908990600401611c52565b6020604051808303816000875af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b9190611c84565b6108d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610442565b60006108dd85856111c7565b905060006108eb86866111d7565b905060006108f987876111ae565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109238b8b6111f0565b6040518563ffffffff1660e01b81526004016109429493929190611ca6565b600060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610a02610dce565b610a0a61120c565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610a40610b3e565b6001610a4b60b85490565b610a559190611d05565b915091509091565b6000610a6b60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610af7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610af491810190611d29565b60015b15610b205773ffffffffffffffffffffffffffffffffffffffff811615610b1e5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610a6b609861127f565b610b52610dce565b73ffffffffffffffffffffffffffffffffffffffff8116610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610442565b610bfe816110e5565b50565b610c09610dce565b610bfe81610ff8565b6000610c2060655460021490565b15610c87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610442565b610800821115610cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610442565b6000610d2e6000610d0360b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611292565b80516020820120909150610d436098826112d0565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610d919190611d46565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610442565b606554600214610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610442565b6001606555565b600054610100900460ff16610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b600054610100900460ff16610ff0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b61054561140f565b73ffffffffffffffffffffffffffffffffffffffff81163b611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610442565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061116b6001828486611db2565b61117491611ddc565b60f81c90505b92915050565b6000611190602d60298486611db2565b61119991611e22565b60e01c9392505050565b805160209091012090565b60006111c06111bd84846114af565b90565b9392505050565b6000611190600960058486611db2565b60006111e7602960098486611db2565b6111c091611e68565b36600061120083604d8187611db2565b915091505b9250929050565b606554600203611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610442565b6002606555565b600061117a8261128d6114bf565b611980565b606088888888888888886040516020016112b3989796959493929190611ea4565b604051602081830303815290604052905098975050505050505050565b60016112de6020600261205a565b6112e89190612066565b826020015410611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610442565b60018260200160008282546113699190612079565b9091555050602082015460005b602081101561140657816001166001036113a5578284826020811061139d5761139d61208c565b015550505050565b8381602081106113b7576113b761208c565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826113f291906120bb565b9150806113fe816120f6565b915050611376565b5061052e61212e565b600054610100900460ff166114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b610545336110e5565b60006111e7604d602d8486611db2565b6114c7611a52565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b6020811015611a4a57600182821c1660008683602081106119ad576119ad61208c565b01549050816001036119ea576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611a35565b848684602081106119fd576119fd61208c565b6020020151604051602001611a1c929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611a42906120f6565b91505061198a565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfe57600080fd5b60008060408385031215611aa657600080fd5b8235611ab181611a71565b91506020830135611ac181611a71565b809150509250929050565b60008083601f840112611ade57600080fd5b50813567ffffffffffffffff811115611af657600080fd5b60208301915083602082850101111561120557600080fd5b60008060008060408587031215611b2457600080fd5b843567ffffffffffffffff80821115611b3c57600080fd5b611b4888838901611acc565b90965094506020870135915080821115611b6157600080fd5b50611b6e87828801611acc565b95989497509550505050565b600060208284031215611b8c57600080fd5b5035919050565b600060208284031215611ba557600080fd5b81356111c081611a71565b60008060008060608587031215611bc657600080fd5b843563ffffffff81168114611bda57600080fd5b935060208501359250604085013567ffffffffffffffff811115611bfd57600080fd5b611b6e87828801611acc565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611c66604083018688611c09565b8281036020840152611c79818587611c09565b979650505050505050565b600060208284031215611c9657600080fd5b815180151581146111c057600080fd5b63ffffffff85168152836020820152606060408201526000611ccc606083018486611c09565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611d2257611d22611cd6565b5092915050565b600060208284031215611d3b57600080fd5b81516111c081611a71565b600060208083528351808285015260005b81811015611d7357858101830151858201604001528201611d57565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008085851115611dc257600080fd5b83861115611dcf57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611a4a5760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611a4a5760049490940360031b84901b1690921692915050565b8035602083101561117a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b80851115611f9357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611f7957611f79611cd6565b80851615611f8657918102915b93841c9390800290611f3f565b509250929050565b600082611faa5750600161117a565b81611fb75750600061117a565b8160018114611fcd5760028114611fd757611ff3565b600191505061117a565b60ff841115611fe857611fe8611cd6565b50506001821b61117a565b5060208310610133831016604e8410600b8410161715612016575081810a61117a565b6120208383611f3a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561205257612052611cd6565b029392505050565b60006111c08383611f9b565b8181038181111561117a5761117a611cd6565b8082018082111561117a5761117a611cd6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000826120f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361212757612127611cd6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220283e445db08e17896b77731cd7bc5184aef1cd9eb6e318803b3ce4c57b06d18464736f6c63430008110033";
15
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405162002229380380620022298339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516121936200009660003960008181610230015281816106300152610d0501526121936000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063907c0f92116100cd578063f2fde38b11610081578063fa31de0111610066578063fa31de011461030e578063fd54b22814610321578063ffa1ad741461032b57600080fd5b8063f2fde38b146102e8578063f794687a146102fb57600080fd5b8063e495f1d4116100b2578063e495f1d4146102aa578063e70f48ac146102cd578063ebf0c717146102e057600080fd5b8063907c0f9214610270578063b187bd261461029257600080fd5b8063715018a6116101245780638456cb59116101095780638456cb59146102235780638d3638f41461022b5780638da5cb5b1461025257600080fd5b8063715018a6146102085780637c39d1301461021057600080fd5b8063485cc95511610155578063485cc95514610199578063522ae002146101ac5780636e5f516e146101c357600080fd5b806306661abd146101715780633f4ba83a1461018f575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b610197610345565b005b6101976101a7366004611a93565b610380565b6101b561080081565b604051908152602001610186565b6097546101e39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610197610533565b61019761021e366004611b0e565b610547565b6101976109fa565b6101757f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff166101e3565b610278610a35565b6040805192835263ffffffff909116602083015201610186565b61029a610a5d565b6040519015158152602001610186565b61029a6102b8366004611b7a565b60b96020526000908152604090205460ff1681565b6101e36102db366004611b93565b610a70565b6101b5610b3e565b6101976102f6366004611b93565b610b4a565b610197610309366004611b93565b610c01565b6101b561031c366004611bb0565b610c12565b60b8546101b59081565b610333600081565b60405160ff9091168152602001610186565b61034d610dce565b610355610e4f565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff16158080156103a05750600054600160ff909116105b806103ba5750303b1580156103ba575060005460ff166001145b61044b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156104a957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6104b1610ec2565b6104b9610f59565b6104c283610b4a565b6104cb82610ff8565b801561052e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61053b610dce565b61054560006110e5565b565b6001606554146105b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610442565b600060658190556105c4838361115c565b60ff161461062e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610442565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661065f8383611180565b63ffffffff16146106cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610442565b600061070d83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a392505050565b600081815260b9602052604090205490915060ff1615610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610442565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556107cd6102db85856111ae565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610828908990899089908990600401611c52565b6020604051808303816000875af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b9190611c84565b6108d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610442565b60006108dd85856111c7565b905060006108eb86866111d7565b905060006108f987876111ae565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109238b8b6111f0565b6040518563ffffffff1660e01b81526004016109429493929190611ca6565b600060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610a02610dce565b610a0a61120c565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610a40610b3e565b6001610a4b60b85490565b610a559190611d05565b915091509091565b6000610a6b60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610af7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610af491810190611d29565b60015b15610b205773ffffffffffffffffffffffffffffffffffffffff811615610b1e5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610a6b609861127f565b610b52610dce565b73ffffffffffffffffffffffffffffffffffffffff8116610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610442565b610bfe816110e5565b50565b610c09610dce565b610bfe81610ff8565b6000610c2060655460021490565b15610c87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610442565b610800821115610cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610442565b6000610d2e6000610d0360b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611292565b80516020820120909150610d436098826112d0565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610d919190611d46565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610442565b606554600214610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610442565b6001606555565b600054610100900460ff16610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b600054610100900460ff16610ff0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b61054561140f565b73ffffffffffffffffffffffffffffffffffffffff81163b611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610442565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061116b6001828486611db2565b61117491611ddc565b60f81c90505b92915050565b6000611190602d60298486611db2565b61119991611e22565b60e01c9392505050565b805160209091012090565b60006111c06111bd84846114af565b90565b9392505050565b6000611190600960058486611db2565b60006111e7602960098486611db2565b6111c091611e68565b36600061120083604d8187611db2565b915091505b9250929050565b606554600203611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610442565b6002606555565b600061117a8261128d6114bf565b611980565b606088888888888888886040516020016112b3989796959493929190611ea4565b604051602081830303815290604052905098975050505050505050565b60016112de6020600261205a565b6112e89190612066565b826020015410611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610442565b60018260200160008282546113699190612079565b9091555050602082015460005b602081101561140657816001166001036113a5578284826020811061139d5761139d61208c565b015550505050565b8381602081106113b7576113b761208c565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826113f291906120bb565b9150806113fe816120f6565b915050611376565b5061052e61212e565b600054610100900460ff166114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610442565b610545336110e5565b60006111e7604d602d8486611db2565b6114c7611a52565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b6020811015611a4a57600182821c1660008683602081106119ad576119ad61208c565b01549050816001036119ea576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611a35565b848684602081106119fd576119fd61208c565b6020020151604051602001611a1c929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611a42906120f6565b91505061198a565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfe57600080fd5b60008060408385031215611aa657600080fd5b8235611ab181611a71565b91506020830135611ac181611a71565b809150509250929050565b60008083601f840112611ade57600080fd5b50813567ffffffffffffffff811115611af657600080fd5b60208301915083602082850101111561120557600080fd5b60008060008060408587031215611b2457600080fd5b843567ffffffffffffffff80821115611b3c57600080fd5b611b4888838901611acc565b90965094506020870135915080821115611b6157600080fd5b50611b6e87828801611acc565b95989497509550505050565b600060208284031215611b8c57600080fd5b5035919050565b600060208284031215611ba557600080fd5b81356111c081611a71565b60008060008060608587031215611bc657600080fd5b843563ffffffff81168114611bda57600080fd5b935060208501359250604085013567ffffffffffffffff811115611bfd57600080fd5b611b6e87828801611acc565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000611c66604083018688611c09565b8281036020840152611c79818587611c09565b979650505050505050565b600060208284031215611c9657600080fd5b815180151581146111c057600080fd5b63ffffffff85168152836020820152606060408201526000611ccc606083018486611c09565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611d2257611d22611cd6565b5092915050565b600060208284031215611d3b57600080fd5b81516111c081611a71565b600060208083528351808285015260005b81811015611d7357858101830151858201604001528201611d57565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008085851115611dc257600080fd5b83861115611dcf57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611a4a5760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611a4a5760049490940360031b84901b1690921692915050565b8035602083101561117a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b80851115611f9357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611f7957611f79611cd6565b80851615611f8657918102915b93841c9390800290611f3f565b509250929050565b600082611faa5750600161117a565b81611fb75750600061117a565b8160018114611fcd5760028114611fd757611ff3565b600191505061117a565b60ff841115611fe857611fe8611cd6565b50506001821b61117a565b5060208310610133831016604e8410600b8410161715612016575081810a61117a565b6120208383611f3a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561205257612052611cd6565b029392505050565b60006111c08383611f9b565b8181038181111561117a5761117a611cd6565b8082018082111561117a5761117a611cd6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000826120f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361212757612127611cd6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220d6f190bbbc6dd5996396b02e3f879b34f377436d5eb95ba31ba46f98da84871764736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: {
18
18
  internalType: string;