@hyperlane-xyz/core 1.3.8 → 1.4.1

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 (373) hide show
  1. package/contracts/hooks/{ERC5164MessageHook.sol → ERC5164/ERC5164MessageHook.sol} +4 -4
  2. package/contracts/hooks/OptimismMessageHook.sol +1 -1
  3. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -2
  4. package/contracts/isms/{native/AbstractNativeISM.sol → hook/AbstractHookISM.sol} +4 -7
  5. package/contracts/isms/hook/CrossChainEnabled.sol +57 -0
  6. package/contracts/isms/{native → hook}/ERC5164ISM.sol +4 -4
  7. package/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol +50 -0
  8. package/contracts/isms/hook/optimism/LibOptimism.sol +41 -0
  9. package/contracts/isms/{native → hook/optimism}/OptimismISM.sol +8 -8
  10. package/contracts/middleware/InterchainAccountRouter.sol +8 -14
  11. package/dist/@openzeppelin/contracts/index.d.ts +0 -2
  12. package/dist/@openzeppelin/contracts/index.d.ts.map +1 -1
  13. package/dist/contracts/hooks/{ERC5164MessageHook.d.ts → ERC5164/ERC5164MessageHook.d.ts} +1 -1
  14. package/dist/contracts/hooks/ERC5164/ERC5164MessageHook.d.ts.map +1 -0
  15. package/dist/contracts/hooks/ERC5164/ERC5164MessageHook.js.map +1 -0
  16. package/dist/contracts/hooks/ERC5164/index.d.ts +1 -0
  17. package/dist/contracts/hooks/ERC5164/index.d.ts.map +1 -1
  18. package/dist/contracts/hooks/index.d.ts +0 -1
  19. package/dist/contracts/hooks/index.d.ts.map +1 -1
  20. package/dist/contracts/isms/{native/AbstractNativeISM.d.ts → hook/AbstractHookISM.d.ts} +11 -11
  21. package/dist/contracts/isms/hook/AbstractHookISM.d.ts.map +1 -0
  22. package/dist/contracts/isms/hook/AbstractHookISM.js +4 -0
  23. package/dist/contracts/isms/hook/AbstractHookISM.js.map +1 -0
  24. package/dist/contracts/isms/hook/CrossChainEnabled.d.ts +28 -0
  25. package/dist/contracts/isms/hook/CrossChainEnabled.d.ts.map +1 -0
  26. package/dist/contracts/isms/{native/AbstractNativeISM.js → hook/CrossChainEnabled.js} +1 -1
  27. package/dist/contracts/isms/hook/CrossChainEnabled.js.map +1 -0
  28. package/dist/contracts/isms/{native → hook}/ERC5164ISM.d.ts +7 -7
  29. package/dist/contracts/isms/hook/ERC5164ISM.d.ts.map +1 -0
  30. package/dist/contracts/isms/hook/ERC5164ISM.js.map +1 -0
  31. package/dist/contracts/isms/hook/index.d.ts +6 -0
  32. package/dist/contracts/isms/hook/index.d.ts.map +1 -0
  33. package/dist/contracts/isms/hook/index.js.map +1 -0
  34. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.d.ts +28 -0
  35. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.d.ts.map +1 -0
  36. package/dist/{@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.js → contracts/isms/hook/optimism/CrossChainEnabledOptimism.js} +1 -1
  37. package/dist/contracts/isms/hook/optimism/CrossChainEnabledOptimism.js.map +1 -0
  38. package/dist/contracts/isms/hook/optimism/LibOptimism.d.ts +28 -0
  39. package/dist/contracts/isms/hook/optimism/LibOptimism.d.ts.map +1 -0
  40. package/dist/contracts/{libs/TestMerkle.sol/MerkleTree.js → isms/hook/optimism/LibOptimism.js} +1 -1
  41. package/dist/contracts/isms/hook/optimism/LibOptimism.js.map +1 -0
  42. package/dist/contracts/isms/{native → hook/optimism}/OptimismISM.d.ts +8 -8
  43. package/dist/contracts/isms/hook/optimism/OptimismISM.d.ts.map +1 -0
  44. package/dist/contracts/isms/hook/optimism/OptimismISM.js.map +1 -0
  45. package/dist/contracts/isms/hook/optimism/index.d.ts +4 -0
  46. package/dist/contracts/isms/hook/optimism/index.d.ts.map +1 -0
  47. package/dist/contracts/isms/hook/optimism/index.js.map +1 -0
  48. package/dist/contracts/isms/index.d.ts +2 -2
  49. package/dist/contracts/isms/index.d.ts.map +1 -1
  50. package/dist/factories/@openzeppelin/contracts/index.d.ts +0 -1
  51. package/dist/factories/@openzeppelin/contracts/index.d.ts.map +1 -1
  52. package/dist/factories/@openzeppelin/contracts/index.js +1 -2
  53. package/dist/factories/@openzeppelin/contracts/index.js.map +1 -1
  54. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  55. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  56. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
  57. package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
  58. package/dist/factories/contracts/hooks/{ERC5164MessageHook__factory.d.ts → ERC5164/ERC5164MessageHook__factory.d.ts} +2 -2
  59. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.d.ts.map +1 -0
  60. package/dist/factories/contracts/hooks/{ERC5164MessageHook__factory.js → ERC5164/ERC5164MessageHook__factory.js} +1 -1
  61. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.js.map +1 -0
  62. package/dist/factories/contracts/hooks/ERC5164/index.d.ts +1 -0
  63. package/dist/factories/contracts/hooks/ERC5164/index.d.ts.map +1 -1
  64. package/dist/factories/contracts/hooks/ERC5164/index.js +3 -1
  65. package/dist/factories/contracts/hooks/ERC5164/index.js.map +1 -1
  66. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
  67. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
  68. package/dist/factories/contracts/hooks/index.d.ts +0 -1
  69. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  70. package/dist/factories/contracts/hooks/index.js +1 -3
  71. package/dist/factories/contracts/hooks/index.js.map +1 -1
  72. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  73. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  74. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  75. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  76. package/dist/factories/contracts/isms/{native/AbstractNativeISM__factory.d.ts → hook/AbstractHookISM__factory.d.ts} +5 -5
  77. package/dist/factories/contracts/isms/hook/AbstractHookISM__factory.d.ts.map +1 -0
  78. package/dist/factories/contracts/isms/{native/AbstractNativeISM__factory.js → hook/AbstractHookISM__factory.js} +12 -7
  79. package/dist/factories/contracts/isms/hook/AbstractHookISM__factory.js.map +1 -0
  80. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.d.ts +17 -0
  81. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.d.ts.map +1 -0
  82. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.js +39 -0
  83. package/dist/factories/contracts/isms/hook/CrossChainEnabled__factory.js.map +1 -0
  84. package/dist/factories/contracts/isms/{native → hook}/ERC5164ISM__factory.d.ts +2 -2
  85. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.d.ts.map +1 -0
  86. package/dist/factories/contracts/isms/{native → hook}/ERC5164ISM__factory.js +8 -3
  87. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.js.map +1 -0
  88. package/dist/factories/contracts/isms/hook/index.d.ts +5 -0
  89. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -0
  90. package/dist/factories/{@openzeppelin/contracts/vendor → contracts/isms/hook}/index.js +7 -1
  91. package/dist/factories/contracts/isms/hook/index.js.map +1 -0
  92. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.d.ts +17 -0
  93. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.d.ts.map +1 -0
  94. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.js +39 -0
  95. package/dist/factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory.js.map +1 -0
  96. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.d.ts +25 -0
  97. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.d.ts.map +1 -0
  98. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.js +46 -0
  99. package/dist/factories/contracts/isms/hook/optimism/LibOptimism__factory.js.map +1 -0
  100. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts +70 -0
  101. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts.map +1 -0
  102. package/dist/factories/contracts/isms/{native → hook/optimism}/OptimismISM__factory.js +29 -3
  103. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.js.map +1 -0
  104. package/dist/factories/contracts/isms/hook/optimism/index.d.ts +4 -0
  105. package/dist/factories/contracts/isms/hook/optimism/index.d.ts.map +1 -0
  106. package/dist/factories/contracts/isms/hook/optimism/index.js +13 -0
  107. package/dist/factories/contracts/isms/hook/optimism/index.js.map +1 -0
  108. package/dist/factories/contracts/isms/index.d.ts +1 -1
  109. package/dist/factories/contracts/isms/index.d.ts.map +1 -1
  110. package/dist/factories/contracts/isms/index.js +2 -2
  111. package/dist/factories/contracts/isms/index.js.map +1 -1
  112. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
  113. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +1 -1
  114. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  115. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  116. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  117. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  118. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  119. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  120. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  121. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  122. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
  123. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
  124. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  125. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  126. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  127. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  128. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +3 -3
  129. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  130. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +5 -10
  131. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  132. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  133. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  134. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  135. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  136. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  137. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  138. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  139. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  140. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  141. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  142. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  143. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  144. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  145. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  146. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  147. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  148. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  149. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  150. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
  151. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +1 -1
  152. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  153. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  154. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
  155. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +1 -1
  156. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  157. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  158. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  159. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  160. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  161. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  162. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  163. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  164. package/dist/index.d.ts +14 -8
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +17 -11
  167. package/dist/index.js.map +1 -1
  168. package/package.json +3 -3
  169. package/dist/@openzeppelin/contracts/vendor/index.d.ts +0 -3
  170. package/dist/@openzeppelin/contracts/vendor/index.d.ts.map +0 -1
  171. package/dist/@openzeppelin/contracts/vendor/index.js.map +0 -1
  172. package/dist/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.d.ts +0 -102
  173. package/dist/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.d.ts.map +0 -1
  174. package/dist/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger.js.map +0 -1
  175. package/dist/@openzeppelin/contracts/vendor/optimism/index.d.ts +0 -2
  176. package/dist/@openzeppelin/contracts/vendor/optimism/index.d.ts.map +0 -1
  177. package/dist/@openzeppelin/contracts/vendor/optimism/index.js.map +0 -1
  178. package/dist/contracts/CheckpointFraudProofs.d.ts +0 -103
  179. package/dist/contracts/CheckpointFraudProofs.d.ts.map +0 -1
  180. package/dist/contracts/CheckpointFraudProofs.js +0 -4
  181. package/dist/contracts/CheckpointFraudProofs.js.map +0 -1
  182. package/dist/contracts/hooks/ERC5164MessageHook.d.ts.map +0 -1
  183. package/dist/contracts/hooks/ERC5164MessageHook.js.map +0 -1
  184. package/dist/contracts/isms/native/AbstractNativeISM.d.ts.map +0 -1
  185. package/dist/contracts/isms/native/AbstractNativeISM.js.map +0 -1
  186. package/dist/contracts/isms/native/ERC5164ISM.d.ts.map +0 -1
  187. package/dist/contracts/isms/native/ERC5164ISM.js.map +0 -1
  188. package/dist/contracts/isms/native/OptimismISM.d.ts.map +0 -1
  189. package/dist/contracts/isms/native/OptimismISM.js.map +0 -1
  190. package/dist/contracts/isms/native/index.d.ts +0 -4
  191. package/dist/contracts/isms/native/index.d.ts.map +0 -1
  192. package/dist/contracts/isms/native/index.js +0 -3
  193. package/dist/contracts/isms/native/index.js.map +0 -1
  194. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts +0 -77
  195. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts.map +0 -1
  196. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.js.map +0 -1
  197. package/dist/contracts/libs/TestMerkle.sol/index.d.ts +0 -2
  198. package/dist/contracts/libs/TestMerkle.sol/index.d.ts.map +0 -1
  199. package/dist/contracts/libs/TestMerkle.sol/index.js +0 -3
  200. package/dist/contracts/libs/TestMerkle.sol/index.js.map +0 -1
  201. package/dist/factories/@openzeppelin/contracts/vendor/index.d.ts +0 -2
  202. package/dist/factories/@openzeppelin/contracts/vendor/index.d.ts.map +0 -1
  203. package/dist/factories/@openzeppelin/contracts/vendor/index.js.map +0 -1
  204. package/dist/factories/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger__factory.d.ts +0 -43
  205. package/dist/factories/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger__factory.d.ts.map +0 -1
  206. package/dist/factories/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger__factory.js +0 -117
  207. package/dist/factories/@openzeppelin/contracts/vendor/optimism/ICrossDomainMessenger__factory.js.map +0 -1
  208. package/dist/factories/@openzeppelin/contracts/vendor/optimism/index.d.ts +0 -2
  209. package/dist/factories/@openzeppelin/contracts/vendor/optimism/index.d.ts.map +0 -1
  210. package/dist/factories/@openzeppelin/contracts/vendor/optimism/index.js +0 -9
  211. package/dist/factories/@openzeppelin/contracts/vendor/optimism/index.js.map +0 -1
  212. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +0 -45
  213. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +0 -1
  214. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +0 -231
  215. package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +0 -1
  216. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.d.ts.map +0 -1
  217. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.js.map +0 -1
  218. package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.d.ts.map +0 -1
  219. package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.js.map +0 -1
  220. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.d.ts.map +0 -1
  221. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.js.map +0 -1
  222. package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts +0 -66
  223. package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts.map +0 -1
  224. package/dist/factories/contracts/isms/native/OptimismISM__factory.js.map +0 -1
  225. package/dist/factories/contracts/isms/native/index.d.ts +0 -4
  226. package/dist/factories/contracts/isms/native/index.d.ts.map +0 -1
  227. package/dist/factories/contracts/isms/native/index.js +0 -13
  228. package/dist/factories/contracts/isms/native/index.js.map +0 -1
  229. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts +0 -41
  230. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts.map +0 -1
  231. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js +0 -151
  232. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js.map +0 -1
  233. package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts +0 -2
  234. package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts.map +0 -1
  235. package/dist/factories/contracts/libs/TestMerkle.sol/index.js +0 -9
  236. package/dist/factories/contracts/libs/TestMerkle.sol/index.js.map +0 -1
  237. package/docs/book.css +0 -13
  238. package/docs/book.toml +0 -12
  239. package/docs/solidity.min.js +0 -74
  240. package/docs/src/README.md +0 -15
  241. package/docs/src/SUMMARY.md +0 -128
  242. package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +0 -124
  243. package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +0 -191
  244. package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +0 -251
  245. package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +0 -41
  246. package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +0 -100
  247. package/docs/src/contracts/README.md +0 -19
  248. package/docs/src/contracts/Router.sol/abstract.Router.md +0 -255
  249. package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +0 -117
  250. package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +0 -71
  251. package/docs/src/contracts/hooks/README.md +0 -4
  252. package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +0 -231
  253. package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +0 -161
  254. package/docs/src/contracts/igps/README.md +0 -6
  255. package/docs/src/contracts/igps/gas-oracles/README.md +0 -4
  256. package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +0 -114
  257. package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +0 -25
  258. package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +0 -43
  259. package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +0 -33
  260. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +0 -55
  261. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +0 -12
  262. package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +0 -13
  263. package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +0 -19
  264. package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +0 -103
  265. package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +0 -12
  266. package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +0 -33
  267. package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +0 -78
  268. package/docs/src/contracts/interfaces/README.md +0 -17
  269. package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +0 -12
  270. package/docs/src/contracts/interfaces/hooks/README.md +0 -4
  271. package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +0 -36
  272. package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +0 -36
  273. package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +0 -31
  274. package/docs/src/contracts/interfaces/isms/README.md +0 -6
  275. package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +0 -64
  276. package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +0 -21
  277. package/docs/src/contracts/interfaces/middleware/README.md +0 -5
  278. package/docs/src/contracts/isms/README.md +0 -7
  279. package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +0 -60
  280. package/docs/src/contracts/isms/aggregation/README.md +0 -6
  281. package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +0 -30
  282. package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +0 -15
  283. package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +0 -78
  284. package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +0 -69
  285. package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +0 -102
  286. package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +0 -355
  287. package/docs/src/contracts/isms/multisig/README.md +0 -12
  288. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +0 -36
  289. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +0 -11
  290. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +0 -15
  291. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +0 -10
  292. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +0 -15
  293. package/docs/src/contracts/isms/native/AbstractNativeISM.sol/abstract.AbstractNativeISM.md +0 -44
  294. package/docs/src/contracts/isms/native/OptimismISM.sol/contract.OptimismISM.md +0 -66
  295. package/docs/src/contracts/isms/native/README.md +0 -5
  296. package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +0 -55
  297. package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +0 -112
  298. package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +0 -47
  299. package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +0 -44
  300. package/docs/src/contracts/isms/routing/README.md +0 -7
  301. package/docs/src/contracts/libs/Call.sol/library.CallLib.md +0 -124
  302. package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +0 -61
  303. package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +0 -63
  304. package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +0 -55
  305. package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +0 -354
  306. package/docs/src/contracts/libs/Message.sol/library.Message.md +0 -304
  307. package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +0 -36
  308. package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +0 -34
  309. package/docs/src/contracts/libs/README.md +0 -16
  310. package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +0 -123
  311. package/docs/src/contracts/libs/TestMerkle.sol/contract.MerkleTree.md +0 -66
  312. package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +0 -19
  313. package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +0 -31
  314. package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +0 -97
  315. package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +0 -296
  316. package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +0 -177
  317. package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +0 -109
  318. package/docs/src/contracts/libs/isms/README.md +0 -7
  319. package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +0 -134
  320. package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +0 -203
  321. package/docs/src/contracts/libs/middleware/README.md +0 -5
  322. package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +0 -545
  323. package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +0 -119
  324. package/docs/src/contracts/middleware/README.md +0 -6
  325. package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +0 -81
  326. package/docs/src/contracts/middleware/liquidity-layer/README.md +0 -6
  327. package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +0 -197
  328. package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +0 -189
  329. package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +0 -5
  330. package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +0 -23
  331. package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +0 -6
  332. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +0 -54
  333. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +0 -92
  334. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +0 -5
  335. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +0 -131
  336. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +0 -4
  337. package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +0 -58
  338. package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +0 -44
  339. package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +0 -69
  340. package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +0 -137
  341. package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +0 -82
  342. package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +0 -22
  343. package/docs/src/contracts/mock/README.md +0 -9
  344. package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +0 -15
  345. package/docs/src/contracts/test/README.md +0 -20
  346. package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +0 -27
  347. package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +0 -29
  348. package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +0 -30
  349. package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +0 -15
  350. package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +0 -23
  351. package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +0 -29
  352. package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +0 -50
  353. package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +0 -68
  354. package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +0 -51
  355. package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +0 -45
  356. package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +0 -128
  357. package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +0 -78
  358. package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +0 -63
  359. package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +0 -49
  360. package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +0 -80
  361. package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +0 -15
  362. package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +0 -12
  363. package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +0 -15
  364. package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +0 -15
  365. package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +0 -15
  366. package/docs/src/contracts/test/bad-recipient/README.md +0 -8
  367. package/docs/src/contracts/upgrade/README.md +0 -4
  368. package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +0 -14
  369. /package/dist/contracts/hooks/{ERC5164MessageHook.js → ERC5164/ERC5164MessageHook.js} +0 -0
  370. /package/dist/contracts/isms/{native → hook}/ERC5164ISM.js +0 -0
  371. /package/dist/{@openzeppelin/contracts/vendor → contracts/isms/hook}/index.js +0 -0
  372. /package/dist/contracts/isms/{native → hook/optimism}/OptimismISM.js +0 -0
  373. /package/dist/{@openzeppelin/contracts/vendor → contracts/isms/hook}/optimism/index.js +0 -0
@@ -12,7 +12,7 @@ export declare class TestMailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMailbox;
14
14
  connect(signer: Signer): TestMailbox__factory;
15
- static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220b9180cea247cff9445771ac12b2198b36505eda64bce01563d75996a92b9a82e64736f6c63430008110033";
15
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220e85f7271660ab1ba1f5cd82b721ee830018a2604a9e4d8c649a5f055b56f5f2c64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: {
18
18
  internalType: string;
@@ -481,7 +481,7 @@ const _abi = [
481
481
  type: "function",
482
482
  },
483
483
  ];
484
- const _bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220b9180cea247cff9445771ac12b2198b36505eda64bce01563d75996a92b9a82e64736f6c63430008110033";
484
+ const _bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6000606581905561069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460021490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460021490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600214611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460020361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6002606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220e85f7271660ab1ba1f5cd82b721ee830018a2604a9e4d8c649a5f055b56f5f2c64736f6c63430008110033";
485
485
  const isSuperArgs = (xs) => xs.length > 1;
486
486
  class TestMailbox__factory extends ethers_1.ContractFactory {
487
487
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestMultisigIsm__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMultisigIsm;
14
14
  connect(signer: Signer): TestMultisigIsm__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212200ad4d77fbc37bc3eea2db71c537d8aa8d6673c82cc61904659040448e24ff23464736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212200c9837d66c644e2248f06a18f1a5e14051323dd9a0527ecbb09e815caab2cc2164736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: never[];
18
18
  stateMutability: string;
@@ -97,7 +97,7 @@ const _abi = [
97
97
  type: "function",
98
98
  },
99
99
  ];
100
- const _bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212200ad4d77fbc37bc3eea2db71c537d8aa8d6673c82cc61904659040448e24ff23464736f6c63430008110033";
100
+ const _bytecode = "0x608060405234801561001057600080fd5b506000805460ff191660011790556103778061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80634fc3aa7c116100505780634fc3aa7c146100af5780636465e69f146100f0578063f7e83aee1461010a57600080fd5b80632852b71c1461006c5780632e0ed2341461008e575b600080fd5b6000546100799060ff1681565b60405190151581526020015b60405180910390f35b6100a161009c3660046101d7565b610126565b604051610085929190610219565b6100ee6100bd36600461027d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b005b6100f8600481565b60405160ff9091168152602001610085565b6100796101183660046102a6565b60005460ff16949350505050565b60408051600180825281830190925260609160009182916020808301908036833701905050905060008160008151811061016257610162610312565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529150600190505b9250929050565b60008083601f8401126101a757600080fd5b50813567ffffffffffffffff8111156101bf57600080fd5b60208301915083602082850101111561018e57600080fd5b600080602083850312156101ea57600080fd5b823567ffffffffffffffff81111561020157600080fd5b61020d85828601610195565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561026857815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610236565b50505060ff9490941692019190915250919050565b60006020828403121561028f57600080fd5b8135801515811461029f57600080fd5b9392505050565b600080600080604085870312156102bc57600080fd5b843567ffffffffffffffff808211156102d457600080fd5b6102e088838901610195565b909650945060208701359150808211156102f957600080fd5b5061030687828801610195565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212200c9837d66c644e2248f06a18f1a5e14051323dd9a0527ecbb09e815caab2cc2164736f6c63430008110033";
101
101
  const isSuperArgs = (xs) => xs.length > 1;
102
102
  class TestMultisigIsm__factory extends ethers_1.ContractFactory {
103
103
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestQuery__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestQuery;
14
14
  connect(signer: Signer): TestQuery__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea26469706673582212209f6e4216e545cc94ad42bb5feebdcd92cb6c5c5a86ec3492b4a18cb0608f75fb64736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea2646970667358221220434edd1581662f189854efc22a23d299597c8087632e2be2bebf8ce9653eef7964736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  inputs: {
18
18
  internalType: string;
@@ -84,7 +84,7 @@ const _abi = [
84
84
  type: "function",
85
85
  },
86
86
  ];
87
- const _bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea26469706673582212209f6e4216e545cc94ad42bb5feebdcd92cb6c5c5a86ec3492b4a18cb0608f75fb64736f6c63430008110033";
87
+ const _bytecode = "0x608060405234801561001057600080fd5b5060405161073238038061073283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61069f806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317b25d9714610046578063a44e96111461005b578063f887ea401461006e575b600080fd5b61005961005436600461047d565b6100b7565b005b6100596100693660046104c6565b61018e565b60005461008e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f5465737451756572793a206e6f742066726f6d20726f75746572000000000000604482015260640160405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff831660208201527f34d2021ff0fd2db323dd42aa3bfa1b627b77be8793f87537f7fe5961d02dc738910160405180910390a15050565b600080546040517f2ead72f600000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015261022c9173ffffffffffffffffffffffffffffffffffffffff1690632ead72f690602401602060405180830381865afa158015610205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022991906104fb565b90565b60408051600180825281830190925291925060009190816020015b6102726040805160808101825260009181019182526060808201529081908152602001606081525090565b815260200190600190039081610247575050604080516004815260248082018352602080830180517f8da5cb5b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182161790915284518084018a905285518082039094018452604401909452810180519093167f17b25d9700000000000000000000000000000000000000000000000000000000179092529192506103319184916103f1565b8160008151811061034457610344610514565b60209081029190910101526000546040517f8cc02cab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690638cc02cab906103a790879085906004016105a7565b6020604051808303816000875af11580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906104fb565b5050505050565b61041c6040805160808101825260009181019182526060808201529081908152602001606081525090565b50604080516080810182526000818301819052606080830181905283518085018552918252602091820152825180840190935273ffffffffffffffffffffffffffffffffffffffff9590951682528185019390935282529181019190915290565b6000806040838503121561049057600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff811681146104bb57600080fd5b809150509250929050565b600080604083850312156104d957600080fd5b823563ffffffff811681146104ed57600080fd5b946020939093013593505050565b60006020828403121561050d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815180845260005b818110156105695760208185018101518683018201520161054d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000604080830163ffffffff8616845260208281860152818651808452606093508387019150838160051b88010183890160005b83811015610659578983037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00185528151805189855280518a8601528701518885018a905261062d6080860182610543565b91880151858303868a01529190506106458183610543565b9688019694505050908501906001016105db565b50909a995050505050505050505056fea2646970667358221220434edd1581662f189854efc22a23d299597c8087632e2be2bebf8ce9653eef7964736f6c63430008110033";
88
88
  const isSuperArgs = (xs) => xs.length > 1;
89
89
  class TestQuery__factory extends ethers_1.ContractFactory {
90
90
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestRecipient__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestRecipient;
14
14
  connect(signer: Signer): TestRecipient__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220f3e3c1e3ed468967755e5850011445b23cea5c1b63690bc0724883c3a992859564736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea26469706673582212205eb6872ad28272ac4d7ecbf7419635dba4d669f31088bcadec10bc1796fb44f364736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -226,7 +226,7 @@ const _abi = [
226
226
  type: "function",
227
227
  },
228
228
  ];
229
- const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea2646970667358221220f3e3c1e3ed468967755e5850011445b23cea5c1b63690bc0724883c3a992859564736f6c63430008110033";
229
+ const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109d38061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100c85760003560e01c8063715018a611610081578063de523cf31161005b578063de523cf31461019d578063f07c1f47146101bd578063f2fde38b146101d057600080fd5b8063715018a61461016f5780638da5cb5b14610177578063a4982fde1461019557600080fd5b80632113522a116100b25780632113522a14610100578063256fec881461014557806356d5d4751461015c57600080fd5b80626e75ec146100cd5780630e72cc06146100eb575b600080fd5b6100d56101e3565b6040516100e291906105e0565b60405180910390f35b6100fe6100f93660046105fa565b610271565b005b6004546101209073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b61014e60025481565b6040519081526020016100e2565b6100fe61016a366004610679565b6102c0565b6100fe61031a565b60005473ffffffffffffffffffffffffffffffffffffffff16610120565b6100d561032e565b6001546101209073ffffffffffffffffffffffffffffffffffffffff1681565b6100fe6101cb3660046106de565b61033b565b6100fe6101de3660046105fa565b6103ca565b600380546101f09061072a565b80601f016020809104026020016040519081016040528092919081815260200182805461021c9061072a565b80156102695780601f1061023e57610100808354040283529160200191610269565b820191906000526020600020905b81548152906001019060200180831161024c57829003601f168201915b505050505081565b610279610486565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b828463ffffffff167fba67744c899113a84f615d51af5d82f5fedcf26c9a474d9363c3ad9b0bd501ac84846040516102f99291906107c6565b60405180910390a360028390556003610313828483610860565b5050505050565b610322610486565b61032c6000610507565b565b600580546101f09061072a565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103859392919061097a565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056103c4828483610860565b50505050565b6103d2610486565b73ffffffffffffffffffffffffffffffffffffffff811661047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048381610507565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610471565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105a257602081850181015186830182015201610586565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105f3602083018461057c565b9392505050565b60006020828403121561060c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146105f357600080fd5b60008083601f84011261064257600080fd5b50813567ffffffffffffffff81111561065a57600080fd5b60208301915083602082850101111561067257600080fd5b9250929050565b6000806000806060858703121561068f57600080fd5b843563ffffffff811681146106a357600080fd5b935060208501359250604085013567ffffffffffffffff8111156106c657600080fd5b6106d287828801610630565b95989497509550505050565b6000806000604084860312156106f357600080fd5b83359250602084013567ffffffffffffffff81111561071157600080fd5b61071d86828701610630565b9497909650939450505050565b600181811c9082168061073e57607f821691505b602082108103610777577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006107da60208301848661077d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561085b57600081815260208120601f850160051c810160208610156108385750805b601f850160051c820191505b8181101561085757828155600101610844565b5050505b505050565b67ffffffffffffffff831115610878576108786107e2565b61088c83610886835461072a565b83610811565b6000601f8411600181146108de57600085156108a85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610313565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561092d578685013582556020948501946001909201910161090d565b5086821015610968577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152600061099460408301848661077d565b9594505050505056fea26469706673582212205eb6872ad28272ac4d7ecbf7419635dba4d669f31088bcadec10bc1796fb44f364736f6c63430008110033";
230
230
  const isSuperArgs = (xs) => xs.length > 1;
231
231
  class TestRecipient__factory extends ethers_1.ContractFactory {
232
232
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestRouter__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestRouter;
14
14
  connect(signer: Signer): TestRouter__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b506119ae806100206000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100c0578063de523cf311610074578063f1bd6f0a11610059578063f1bd6f0a146103af578063f2fde38b146103cf578063f3c61d6b146103ef57600080fd5b8063de523cf314610362578063e9198bf91461038f57600080fd5b80638da5cb5b116100a55780638da5cb5b146102ea578063b49c53a714610315578063d5438eae1461033557600080fd5b8063715018a6146102b55780637249609f146102ca57600080fd5b806339bb4ad911610117578063485cc955116100fc578063485cc95514610262578063563e81e51461028257806356d5d4751461029557600080fd5b806339bb4ad9146101ee578063440df4f41461024057600080fd5b80630e72cc0614610149578063133b79a91461016b5780632e6a9e4b1461019e5780632ead72f6146101ce575b600080fd5b34801561015557600080fd5b50610169610164366004611404565b61040f565b005b34801561017757600080fd5b5061018b610186366004611433565b610423565b6040519081526020015b60405180910390f35b3480156101aa57600080fd5b506101be6101b936600461144e565b610434565b6040519015158152602001610195565b3480156101da57600080fd5b5061018b6101e9366004611433565b610447565b3480156101fa57600080fd5b5060665461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610195565b34801561024c57600080fd5b50610255610483565b6040516101959190611478565b34801561026e57600080fd5b5061016961027d3660046114c2565b61053e565b6101696102903660046115cf565b610702565b3480156102a157600080fd5b506101696102b0366004611641565b610717565b3480156102c157600080fd5b506101696107fb565b3480156102d657600080fd5b506101696102e53660046116c8565b61080f565b3480156102f657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021b565b34801561032157600080fd5b5061016961033036600461144e565b610819565b34801561034157600080fd5b5060655461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036e57600080fd5b5060675461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039b57600080fd5b506101696103aa366004611762565b61082f565b3480156103bb57600080fd5b506101696103ca366004611404565b610906565b3480156103db57600080fd5b506101696103ea366004611404565b610917565b3480156103fb57600080fd5b5061016961040a366004611404565b6109cb565b6104176109dc565b61042081610a5d565b50565b600061042e82610b6b565b92915050565b60006104408383610bd6565b9392505050565b600061045d609863ffffffff80851690610bea16565b156104765761042e609863ffffffff80851690610bf616565b506000919050565b919050565b609880546060919060008167ffffffffffffffff8111156104a6576104a66114f5565b6040519080825280602002602001820160405280156104cf578160200160208202803683370190505b50905060005b82811015610536578381815481106104ef576104ef6117ce565b906000526020600020015460001c82828151811061050f5761050f6117ce565b63ffffffff909216602092830291909101909101528061052e8161182c565b9150506104d5565b509392505050565b600054610100900460ff161580801561055e5750600054600160ff909116105b806105785750303b158015610578575060005460ff166001145b610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106718383610c02565b6040517fb5673f91a88e1d934867629094eedba1c72a382fbe5f32a41bacb5098900fdf990600090a180156106fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61070f8585858585610cab565b505050505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610600565b83836107a48282610bd6565b60405180608001604052806043815260200161193660439139906107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b5061070f565b6108036109dc565b61080d6000610d69565b565b6106fd8282610de0565b6108216109dc565b61082b8282610e92565b5050565b6108376109dc565b8281146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610600565b8260005b8181101561070f576108f48686838181106108c1576108c16117ce565b90506020020160208101906108d69190611433565b8585848181106108e8576108e86117ce565b90506020020135610e92565b6108ff6001826118db565b90506108a4565b61090e6109dc565b61042081610eec565b61091f6109dc565b73ffffffffffffffffffffffffffffffffffffffff81166109c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610600565b61042081610d69565b6109d36109dc565b61042081610fdb565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610600565b73ffffffffffffffffffffffffffffffffffffffff81161580610a96575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610b7682610447565b90506000801b8114156040518060800160405280604381526020016119366043913990610bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b50919050565b600081610be284610447565b149392505050565b600061044083836110ca565b600061044083836110d6565b600054610100900460ff16610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b610ca281610eec565b61082b82611160565b6000610cb78686610de0565b6066546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff891660248201526044810187905273ffffffffffffffffffffffffffffffffffffffff85811660648301529293509116906311bf2c189085906084016000604051808303818588803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050505095945050505050565b50505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080610dec84610b6b565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610e47908790859088906004016118ee565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a919061191c565b949350505050565b610ea8609863ffffffff80851690849061120816565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610ee091815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b60006104408383611213565b6000818152600283016020526040812054801515806110fa57506110fa84846110ca565b610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610600565b600054610100900460ff166111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61120081610fdb565b61042061122b565b610d638383836112ca565b60008181526001830160205260408120541515610440565b600054610100900460ff166112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d6112e7565b60008281526002840160205260408120829055610e8a8484611387565b600054610100900460ff1661137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d33610d69565b6000818152600183016020526040812054610440908490849084906113d85750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561042e565b50600061042e565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047e57600080fd5b60006020828403121561141657600080fd5b610440826113e0565b803563ffffffff8116811461047e57600080fd5b60006020828403121561144557600080fd5b6104408261141f565b6000806040838503121561146157600080fd5b61146a8361141f565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156114b657835163ffffffff1683529284019291840191600101611494565b50909695505050505050565b600080604083850312156114d557600080fd5b6114de836113e0565b91506114ec602084016113e0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261153557600080fd5b813567ffffffffffffffff80821115611550576115506114f5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611596576115966114f5565b816040528381528660208588010111156115af57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156115e757600080fd5b6115f08661141f565b9450602086013567ffffffffffffffff81111561160c57600080fd5b61161888828901611524565b9450506040860135925060608601359150611635608087016113e0565b90509295509295909350565b6000806000806060858703121561165757600080fd5b6116608561141f565b935060208501359250604085013567ffffffffffffffff8082111561168457600080fd5b818701915087601f83011261169857600080fd5b8135818111156116a757600080fd5b8860208285010111156116b957600080fd5b95989497505060200194505050565b600080604083850312156116db57600080fd5b6116e48361141f565b9150602083013567ffffffffffffffff81111561170057600080fd5b61170c85828601611524565b9150509250929050565b60008083601f84011261172857600080fd5b50813567ffffffffffffffff81111561174057600080fd5b6020830191508360208260051b850101111561175b57600080fd5b9250929050565b6000806000806040858703121561177857600080fd5b843567ffffffffffffffff8082111561179057600080fd5b61179c88838901611716565b909650945060208701359150808211156117b557600080fd5b506117c287828801611716565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361185d5761185d6117fd565b5060010190565b6000815180845260005b8181101561188a5760208185018101518683018201520161186e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006104406020830184611864565b8082018082111561042e5761042e6117fd565b63ffffffff841681528260208201526060604082015260006119136060830184611864565b95945050505050565b60006020828403121561192e57600080fd5b505191905056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa264697066735822122003b1b08209a522b5a4a68cae1f85d190bda648dfd74942faf275ea54d642057164736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b506119ae806100206000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100c0578063de523cf311610074578063f1bd6f0a11610059578063f1bd6f0a146103af578063f2fde38b146103cf578063f3c61d6b146103ef57600080fd5b8063de523cf314610362578063e9198bf91461038f57600080fd5b80638da5cb5b116100a55780638da5cb5b146102ea578063b49c53a714610315578063d5438eae1461033557600080fd5b8063715018a6146102b55780637249609f146102ca57600080fd5b806339bb4ad911610117578063485cc955116100fc578063485cc95514610262578063563e81e51461028257806356d5d4751461029557600080fd5b806339bb4ad9146101ee578063440df4f41461024057600080fd5b80630e72cc0614610149578063133b79a91461016b5780632e6a9e4b1461019e5780632ead72f6146101ce575b600080fd5b34801561015557600080fd5b50610169610164366004611404565b61040f565b005b34801561017757600080fd5b5061018b610186366004611433565b610423565b6040519081526020015b60405180910390f35b3480156101aa57600080fd5b506101be6101b936600461144e565b610434565b6040519015158152602001610195565b3480156101da57600080fd5b5061018b6101e9366004611433565b610447565b3480156101fa57600080fd5b5060665461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610195565b34801561024c57600080fd5b50610255610483565b6040516101959190611478565b34801561026e57600080fd5b5061016961027d3660046114c2565b61053e565b6101696102903660046115cf565b610702565b3480156102a157600080fd5b506101696102b0366004611641565b610717565b3480156102c157600080fd5b506101696107fb565b3480156102d657600080fd5b506101696102e53660046116c8565b61080f565b3480156102f657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021b565b34801561032157600080fd5b5061016961033036600461144e565b610819565b34801561034157600080fd5b5060655461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036e57600080fd5b5060675461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039b57600080fd5b506101696103aa366004611762565b61082f565b3480156103bb57600080fd5b506101696103ca366004611404565b610906565b3480156103db57600080fd5b506101696103ea366004611404565b610917565b3480156103fb57600080fd5b5061016961040a366004611404565b6109cb565b6104176109dc565b61042081610a5d565b50565b600061042e82610b6b565b92915050565b60006104408383610bd6565b9392505050565b600061045d609863ffffffff80851690610bea16565b156104765761042e609863ffffffff80851690610bf616565b506000919050565b919050565b609880546060919060008167ffffffffffffffff8111156104a6576104a66114f5565b6040519080825280602002602001820160405280156104cf578160200160208202803683370190505b50905060005b82811015610536578381815481106104ef576104ef6117ce565b906000526020600020015460001c82828151811061050f5761050f6117ce565b63ffffffff909216602092830291909101909101528061052e8161182c565b9150506104d5565b509392505050565b600054610100900460ff161580801561055e5750600054600160ff909116105b806105785750303b158015610578575060005460ff166001145b610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106718383610c02565b6040517fb5673f91a88e1d934867629094eedba1c72a382fbe5f32a41bacb5098900fdf990600090a180156106fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61070f8585858585610cab565b505050505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610600565b83836107a48282610bd6565b60405180608001604052806043815260200161193660439139906107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b5061070f565b6108036109dc565b61080d6000610d69565b565b6106fd8282610de0565b6108216109dc565b61082b8282610e92565b5050565b6108376109dc565b8281146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610600565b8260005b8181101561070f576108f48686838181106108c1576108c16117ce565b90506020020160208101906108d69190611433565b8585848181106108e8576108e86117ce565b90506020020135610e92565b6108ff6001826118db565b90506108a4565b61090e6109dc565b61042081610eec565b61091f6109dc565b73ffffffffffffffffffffffffffffffffffffffff81166109c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610600565b61042081610d69565b6109d36109dc565b61042081610fdb565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610600565b73ffffffffffffffffffffffffffffffffffffffff81161580610a96575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610b7682610447565b90506000801b8114156040518060800160405280604381526020016119366043913990610bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b50919050565b600081610be284610447565b149392505050565b600061044083836110ca565b600061044083836110d6565b600054610100900460ff16610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b610ca281610eec565b61082b82611160565b6000610cb78686610de0565b6066546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff891660248201526044810187905273ffffffffffffffffffffffffffffffffffffffff85811660648301529293509116906311bf2c189085906084016000604051808303818588803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050505095945050505050565b50505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080610dec84610b6b565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610e47908790859088906004016118ee565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a919061191c565b949350505050565b610ea8609863ffffffff80851690849061120816565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610ee091815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b60006104408383611213565b6000818152600283016020526040812054801515806110fa57506110fa84846110ca565b610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610600565b600054610100900460ff166111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61120081610fdb565b61042061122b565b610d638383836112ca565b60008181526001830160205260408120541515610440565b600054610100900460ff166112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d6112e7565b60008281526002840160205260408120829055610e8a8484611387565b600054610100900460ff1661137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d33610d69565b6000818152600183016020526040812054610440908490849084906113d85750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561042e565b50600061042e565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047e57600080fd5b60006020828403121561141657600080fd5b610440826113e0565b803563ffffffff8116811461047e57600080fd5b60006020828403121561144557600080fd5b6104408261141f565b6000806040838503121561146157600080fd5b61146a8361141f565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156114b657835163ffffffff1683529284019291840191600101611494565b50909695505050505050565b600080604083850312156114d557600080fd5b6114de836113e0565b91506114ec602084016113e0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261153557600080fd5b813567ffffffffffffffff80821115611550576115506114f5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611596576115966114f5565b816040528381528660208588010111156115af57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156115e757600080fd5b6115f08661141f565b9450602086013567ffffffffffffffff81111561160c57600080fd5b61161888828901611524565b9450506040860135925060608601359150611635608087016113e0565b90509295509295909350565b6000806000806060858703121561165757600080fd5b6116608561141f565b935060208501359250604085013567ffffffffffffffff8082111561168457600080fd5b818701915087601f83011261169857600080fd5b8135818111156116a757600080fd5b8860208285010111156116b957600080fd5b95989497505060200194505050565b600080604083850312156116db57600080fd5b6116e48361141f565b9150602083013567ffffffffffffffff81111561170057600080fd5b61170c85828601611524565b9150509250929050565b60008083601f84011261172857600080fd5b50813567ffffffffffffffff81111561174057600080fd5b6020830191508360208260051b850101111561175b57600080fd5b9250929050565b6000806000806040858703121561177857600080fd5b843567ffffffffffffffff8082111561179057600080fd5b61179c88838901611716565b909650945060208701359150808211156117b557600080fd5b506117c287828801611716565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361185d5761185d6117fd565b5060010190565b6000815180845260005b8181101561188a5760208185018101518683018201520161186e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006104406020830184611864565b8082018082111561042e5761042e6117fd565b63ffffffff841681528260208201526060604082015260006119136060830184611864565b95945050505050565b60006020828403121561192e57600080fd5b505191905056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220007f2e75f7dc70e77a0e720bd90ef8775c37aaa6931c69e12ae225a4d8dd9c8c64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -415,7 +415,7 @@ const _abi = [
415
415
  type: "function",
416
416
  },
417
417
  ];
418
- const _bytecode = "0x608060405234801561001057600080fd5b506119ae806100206000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100c0578063de523cf311610074578063f1bd6f0a11610059578063f1bd6f0a146103af578063f2fde38b146103cf578063f3c61d6b146103ef57600080fd5b8063de523cf314610362578063e9198bf91461038f57600080fd5b80638da5cb5b116100a55780638da5cb5b146102ea578063b49c53a714610315578063d5438eae1461033557600080fd5b8063715018a6146102b55780637249609f146102ca57600080fd5b806339bb4ad911610117578063485cc955116100fc578063485cc95514610262578063563e81e51461028257806356d5d4751461029557600080fd5b806339bb4ad9146101ee578063440df4f41461024057600080fd5b80630e72cc0614610149578063133b79a91461016b5780632e6a9e4b1461019e5780632ead72f6146101ce575b600080fd5b34801561015557600080fd5b50610169610164366004611404565b61040f565b005b34801561017757600080fd5b5061018b610186366004611433565b610423565b6040519081526020015b60405180910390f35b3480156101aa57600080fd5b506101be6101b936600461144e565b610434565b6040519015158152602001610195565b3480156101da57600080fd5b5061018b6101e9366004611433565b610447565b3480156101fa57600080fd5b5060665461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610195565b34801561024c57600080fd5b50610255610483565b6040516101959190611478565b34801561026e57600080fd5b5061016961027d3660046114c2565b61053e565b6101696102903660046115cf565b610702565b3480156102a157600080fd5b506101696102b0366004611641565b610717565b3480156102c157600080fd5b506101696107fb565b3480156102d657600080fd5b506101696102e53660046116c8565b61080f565b3480156102f657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021b565b34801561032157600080fd5b5061016961033036600461144e565b610819565b34801561034157600080fd5b5060655461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036e57600080fd5b5060675461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039b57600080fd5b506101696103aa366004611762565b61082f565b3480156103bb57600080fd5b506101696103ca366004611404565b610906565b3480156103db57600080fd5b506101696103ea366004611404565b610917565b3480156103fb57600080fd5b5061016961040a366004611404565b6109cb565b6104176109dc565b61042081610a5d565b50565b600061042e82610b6b565b92915050565b60006104408383610bd6565b9392505050565b600061045d609863ffffffff80851690610bea16565b156104765761042e609863ffffffff80851690610bf616565b506000919050565b919050565b609880546060919060008167ffffffffffffffff8111156104a6576104a66114f5565b6040519080825280602002602001820160405280156104cf578160200160208202803683370190505b50905060005b82811015610536578381815481106104ef576104ef6117ce565b906000526020600020015460001c82828151811061050f5761050f6117ce565b63ffffffff909216602092830291909101909101528061052e8161182c565b9150506104d5565b509392505050565b600054610100900460ff161580801561055e5750600054600160ff909116105b806105785750303b158015610578575060005460ff166001145b610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106718383610c02565b6040517fb5673f91a88e1d934867629094eedba1c72a382fbe5f32a41bacb5098900fdf990600090a180156106fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61070f8585858585610cab565b505050505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610600565b83836107a48282610bd6565b60405180608001604052806043815260200161193660439139906107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b5061070f565b6108036109dc565b61080d6000610d69565b565b6106fd8282610de0565b6108216109dc565b61082b8282610e92565b5050565b6108376109dc565b8281146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610600565b8260005b8181101561070f576108f48686838181106108c1576108c16117ce565b90506020020160208101906108d69190611433565b8585848181106108e8576108e86117ce565b90506020020135610e92565b6108ff6001826118db565b90506108a4565b61090e6109dc565b61042081610eec565b61091f6109dc565b73ffffffffffffffffffffffffffffffffffffffff81166109c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610600565b61042081610d69565b6109d36109dc565b61042081610fdb565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610600565b73ffffffffffffffffffffffffffffffffffffffff81161580610a96575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610b7682610447565b90506000801b8114156040518060800160405280604381526020016119366043913990610bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b50919050565b600081610be284610447565b149392505050565b600061044083836110ca565b600061044083836110d6565b600054610100900460ff16610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b610ca281610eec565b61082b82611160565b6000610cb78686610de0565b6066546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff891660248201526044810187905273ffffffffffffffffffffffffffffffffffffffff85811660648301529293509116906311bf2c189085906084016000604051808303818588803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050505095945050505050565b50505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080610dec84610b6b565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610e47908790859088906004016118ee565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a919061191c565b949350505050565b610ea8609863ffffffff80851690849061120816565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610ee091815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b60006104408383611213565b6000818152600283016020526040812054801515806110fa57506110fa84846110ca565b610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610600565b600054610100900460ff166111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61120081610fdb565b61042061122b565b610d638383836112ca565b60008181526001830160205260408120541515610440565b600054610100900460ff166112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d6112e7565b60008281526002840160205260408120829055610e8a8484611387565b600054610100900460ff1661137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d33610d69565b6000818152600183016020526040812054610440908490849084906113d85750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561042e565b50600061042e565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047e57600080fd5b60006020828403121561141657600080fd5b610440826113e0565b803563ffffffff8116811461047e57600080fd5b60006020828403121561144557600080fd5b6104408261141f565b6000806040838503121561146157600080fd5b61146a8361141f565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156114b657835163ffffffff1683529284019291840191600101611494565b50909695505050505050565b600080604083850312156114d557600080fd5b6114de836113e0565b91506114ec602084016113e0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261153557600080fd5b813567ffffffffffffffff80821115611550576115506114f5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611596576115966114f5565b816040528381528660208588010111156115af57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156115e757600080fd5b6115f08661141f565b9450602086013567ffffffffffffffff81111561160c57600080fd5b61161888828901611524565b9450506040860135925060608601359150611635608087016113e0565b90509295509295909350565b6000806000806060858703121561165757600080fd5b6116608561141f565b935060208501359250604085013567ffffffffffffffff8082111561168457600080fd5b818701915087601f83011261169857600080fd5b8135818111156116a757600080fd5b8860208285010111156116b957600080fd5b95989497505060200194505050565b600080604083850312156116db57600080fd5b6116e48361141f565b9150602083013567ffffffffffffffff81111561170057600080fd5b61170c85828601611524565b9150509250929050565b60008083601f84011261172857600080fd5b50813567ffffffffffffffff81111561174057600080fd5b6020830191508360208260051b850101111561175b57600080fd5b9250929050565b6000806000806040858703121561177857600080fd5b843567ffffffffffffffff8082111561179057600080fd5b61179c88838901611716565b909650945060208701359150808211156117b557600080fd5b506117c287828801611716565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361185d5761185d6117fd565b5060010190565b6000815180845260005b8181101561188a5760208185018101518683018201520161186e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006104406020830184611864565b8082018082111561042e5761042e6117fd565b63ffffffff841681528260208201526060604082015260006119136060830184611864565b95945050505050565b60006020828403121561192e57600080fd5b505191905056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa264697066735822122003b1b08209a522b5a4a68cae1f85d190bda648dfd74942faf275ea54d642057164736f6c63430008110033";
418
+ const _bytecode = "0x608060405234801561001057600080fd5b506119ae806100206000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100c0578063de523cf311610074578063f1bd6f0a11610059578063f1bd6f0a146103af578063f2fde38b146103cf578063f3c61d6b146103ef57600080fd5b8063de523cf314610362578063e9198bf91461038f57600080fd5b80638da5cb5b116100a55780638da5cb5b146102ea578063b49c53a714610315578063d5438eae1461033557600080fd5b8063715018a6146102b55780637249609f146102ca57600080fd5b806339bb4ad911610117578063485cc955116100fc578063485cc95514610262578063563e81e51461028257806356d5d4751461029557600080fd5b806339bb4ad9146101ee578063440df4f41461024057600080fd5b80630e72cc0614610149578063133b79a91461016b5780632e6a9e4b1461019e5780632ead72f6146101ce575b600080fd5b34801561015557600080fd5b50610169610164366004611404565b61040f565b005b34801561017757600080fd5b5061018b610186366004611433565b610423565b6040519081526020015b60405180910390f35b3480156101aa57600080fd5b506101be6101b936600461144e565b610434565b6040519015158152602001610195565b3480156101da57600080fd5b5061018b6101e9366004611433565b610447565b3480156101fa57600080fd5b5060665461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610195565b34801561024c57600080fd5b50610255610483565b6040516101959190611478565b34801561026e57600080fd5b5061016961027d3660046114c2565b61053e565b6101696102903660046115cf565b610702565b3480156102a157600080fd5b506101696102b0366004611641565b610717565b3480156102c157600080fd5b506101696107fb565b3480156102d657600080fd5b506101696102e53660046116c8565b61080f565b3480156102f657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661021b565b34801561032157600080fd5b5061016961033036600461144e565b610819565b34801561034157600080fd5b5060655461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561036e57600080fd5b5060675461021b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039b57600080fd5b506101696103aa366004611762565b61082f565b3480156103bb57600080fd5b506101696103ca366004611404565b610906565b3480156103db57600080fd5b506101696103ea366004611404565b610917565b3480156103fb57600080fd5b5061016961040a366004611404565b6109cb565b6104176109dc565b61042081610a5d565b50565b600061042e82610b6b565b92915050565b60006104408383610bd6565b9392505050565b600061045d609863ffffffff80851690610bea16565b156104765761042e609863ffffffff80851690610bf616565b506000919050565b919050565b609880546060919060008167ffffffffffffffff8111156104a6576104a66114f5565b6040519080825280602002602001820160405280156104cf578160200160208202803683370190505b50905060005b82811015610536578381815481106104ef576104ef6117ce565b906000526020600020015460001c82828151811061050f5761050f6117ce565b63ffffffff909216602092830291909101909101528061052e8161182c565b9150506104d5565b509392505050565b600054610100900460ff161580801561055e5750600054600160ff909116105b806105785750303b158015610578575060005460ff166001145b610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106718383610c02565b6040517fb5673f91a88e1d934867629094eedba1c72a382fbe5f32a41bacb5098900fdf990600090a180156106fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61070f8585858585610cab565b505050505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f216d61696c626f780000000000000000000000000000000000000000000000006044820152606401610600565b83836107a48282610bd6565b60405180608001604052806043815260200161193660439139906107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b5061070f565b6108036109dc565b61080d6000610d69565b565b6106fd8282610de0565b6108216109dc565b61082b8282610e92565b5050565b6108376109dc565b8281146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610600565b8260005b8181101561070f576108f48686838181106108c1576108c16117ce565b90506020020160208101906108d69190611433565b8585848181106108e8576108e86117ce565b90506020020135610e92565b6108ff6001826118db565b90506108a4565b61090e6109dc565b61042081610eec565b61091f6109dc565b73ffffffffffffffffffffffffffffffffffffffff81166109c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610600565b61042081610d69565b6109d36109dc565b61042081610fdb565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610600565b73ffffffffffffffffffffffffffffffffffffffff81161580610a96575073ffffffffffffffffffffffffffffffffffffffff81163b15155b610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6000610b7682610447565b90506000801b8114156040518060800160405280604381526020016119366043913990610bd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060091906118c8565b50919050565b600081610be284610447565b149392505050565b600061044083836110ca565b600061044083836110d6565b600054610100900460ff16610c99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b610ca281610eec565b61082b82611160565b6000610cb78686610de0565b6066546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff891660248201526044810187905273ffffffffffffffffffffffffffffffffffffffff85811660648301529293509116906311bf2c189085906084016000604051808303818588803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b505050505095945050505050565b50505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080610dec84610b6b565b6065546040517ffa31de0100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fa31de0190610e47908790859088906004016118ee565b6020604051808303816000875af1158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a919061191c565b949350505050565b610ea8609863ffffffff80851690849061120816565b8163ffffffff167f97fd51fef1f80c854cbd0150c248e8b2ac4ecdc97cc05e742b5f61c9f4dc645882604051610ee091815260200190565b60405180910390a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610f6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610600565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b60006104408383611213565b6000818152600283016020526040812054801515806110fa57506110fa84846110ca565b610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610600565b600054610100900460ff166111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61120081610fdb565b61042061122b565b610d638383836112ca565b60008181526001830160205260408120541515610440565b600054610100900460ff166112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d6112e7565b60008281526002840160205260408120829055610e8a8484611387565b600054610100900460ff1661137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610600565b61080d33610d69565b6000818152600183016020526040812054610440908490849084906113d85750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561042e565b50600061042e565b803573ffffffffffffffffffffffffffffffffffffffff8116811461047e57600080fd5b60006020828403121561141657600080fd5b610440826113e0565b803563ffffffff8116811461047e57600080fd5b60006020828403121561144557600080fd5b6104408261141f565b6000806040838503121561146157600080fd5b61146a8361141f565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156114b657835163ffffffff1683529284019291840191600101611494565b50909695505050505050565b600080604083850312156114d557600080fd5b6114de836113e0565b91506114ec602084016113e0565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261153557600080fd5b813567ffffffffffffffff80821115611550576115506114f5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611596576115966114f5565b816040528381528660208588010111156115af57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156115e757600080fd5b6115f08661141f565b9450602086013567ffffffffffffffff81111561160c57600080fd5b61161888828901611524565b9450506040860135925060608601359150611635608087016113e0565b90509295509295909350565b6000806000806060858703121561165757600080fd5b6116608561141f565b935060208501359250604085013567ffffffffffffffff8082111561168457600080fd5b818701915087601f83011261169857600080fd5b8135818111156116a757600080fd5b8860208285010111156116b957600080fd5b95989497505060200194505050565b600080604083850312156116db57600080fd5b6116e48361141f565b9150602083013567ffffffffffffffff81111561170057600080fd5b61170c85828601611524565b9150509250929050565b60008083601f84011261172857600080fd5b50813567ffffffffffffffff81111561174057600080fd5b6020830191508360208260051b850101111561175b57600080fd5b9250929050565b6000806000806040858703121561177857600080fd5b843567ffffffffffffffff8082111561179057600080fd5b61179c88838901611716565b909650945060208701359150808211156117b557600080fd5b506117c287828801611716565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361185d5761185d6117fd565b5060010190565b6000815180845260005b8181101561188a5760208185018101518683018201520161186e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006104406020830184611864565b8082018082111561042e5761042e6117fd565b63ffffffff841681528260208201526060604082015260006119136060830184611864565b95945050505050565b60006020828403121561192e57600080fd5b505191905056fe4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e2e2044696420796f7520737065636966792074686520726967687420646f6d61696e2049443fa2646970667358221220007f2e75f7dc70e77a0e720bd90ef8775c37aaa6931c69e12ae225a4d8dd9c8c64736f6c63430008110033";
419
419
  const isSuperArgs = (xs) => xs.length > 1;
420
420
  class TestRouter__factory extends ethers_1.ContractFactory {
421
421
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestSendReceiver__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestSendReceiver;
14
14
  connect(signer: Signer): TestSendReceiver__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b506106ef806100206000396000f3fe6080604052600436106100345760003560e01c806312f762221461003957806356d5d47514610061578063a778af8714610083575b600080fd5b34801561004557600080fd5b5061004f61c35081565b60405190815260200160405180910390f35b34801561006d57600080fd5b5061008161007c3660046104af565b610096565b005b61008161009136600461052e565b610159565b60006100a061043a565b905060006100af6010836105d7565b159050801561011e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063fa31de01906101b49087903090889088906004016105eb565b6020604051808303816000875af11580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f7919061064c565b9050600061020361043a565b9050346102116005836105d7565b600003610393576000610225600283610665565b90506000610236600261c350610665565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810187905263ffffffff8a1660248201526044810182905233606482015290915073ffffffffffffffffffffffffffffffffffffffff8a16906311bf2c189084906084016000604051808303818588803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b50505050508873ffffffffffffffffffffffffffffffffffffffff166311bf2c1883856102fc9190610679565b878b61030a8661c350610679565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019390935263ffffffff91909116602483015260448201523360648201526084016000604051808303818588803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050505050610430565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810184905263ffffffff8716602482015261c350604482015233606482015273ffffffffffffffffffffffffffffffffffffffff8816906311bf2c189083906084016000604051808303818588803b15801561041657600080fd5b505af115801561042a573d6000803e3d6000fd5b50505050505b5050505050505050565b6000610447600143610679565b40905090565b803563ffffffff8116811461046157600080fd5b919050565b60008083601f84011261047857600080fd5b50813567ffffffffffffffff81111561049057600080fd5b6020830191508360208285010111156104a857600080fd5b9250929050565b600080600080606085870312156104c557600080fd5b6104ce8561044d565b935060208501359250604085013567ffffffffffffffff8111156104f157600080fd5b6104fd87828801610466565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461052b57600080fd5b50565b60008060008060006080868803121561054657600080fd5b853561055181610509565b9450602086013561056181610509565b935061056f6040870161044d565b9250606086013567ffffffffffffffff81111561058b57600080fd5b61059788828901610466565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826105e6576105e66105a8565b500690565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b60006020828403121561065e57600080fd5b5051919050565b600082610674576106746105a8565b500490565b818103818111156106b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122089313bd2515bb39d32ce714a1014b4c87b1eeae32efb799a98259beec0e1faac64736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b506106ef806100206000396000f3fe6080604052600436106100345760003560e01c806312f762221461003957806356d5d47514610061578063a778af8714610083575b600080fd5b34801561004557600080fd5b5061004f61c35081565b60405190815260200160405180910390f35b34801561006d57600080fd5b5061008161007c3660046104af565b610096565b005b61008161009136600461052e565b610159565b60006100a061043a565b905060006100af6010836105d7565b159050801561011e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063fa31de01906101b49087903090889088906004016105eb565b6020604051808303816000875af11580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f7919061064c565b9050600061020361043a565b9050346102116005836105d7565b600003610393576000610225600283610665565b90506000610236600261c350610665565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810187905263ffffffff8a1660248201526044810182905233606482015290915073ffffffffffffffffffffffffffffffffffffffff8a16906311bf2c189084906084016000604051808303818588803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b50505050508873ffffffffffffffffffffffffffffffffffffffff166311bf2c1883856102fc9190610679565b878b61030a8661c350610679565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019390935263ffffffff91909116602483015260448201523360648201526084016000604051808303818588803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050505050610430565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810184905263ffffffff8716602482015261c350604482015233606482015273ffffffffffffffffffffffffffffffffffffffff8816906311bf2c189083906084016000604051808303818588803b15801561041657600080fd5b505af115801561042a573d6000803e3d6000fd5b50505050505b5050505050505050565b6000610447600143610679565b40905090565b803563ffffffff8116811461046157600080fd5b919050565b60008083601f84011261047857600080fd5b50813567ffffffffffffffff81111561049057600080fd5b6020830191508360208285010111156104a857600080fd5b9250929050565b600080600080606085870312156104c557600080fd5b6104ce8561044d565b935060208501359250604085013567ffffffffffffffff8111156104f157600080fd5b6104fd87828801610466565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461052b57600080fd5b50565b60008060008060006080868803121561054657600080fd5b853561055181610509565b9450602086013561056181610509565b935061056f6040870161044d565b9250606086013567ffffffffffffffff81111561058b57600080fd5b61059788828901610466565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826105e6576105e66105a8565b500690565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b60006020828403121561065e57600080fd5b5051919050565b600082610674576106746105a8565b500490565b818103818111156106b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea26469706673582212202a4f687b010151e11880730ac39eb2d970f48acd8e0fe91198b2363592d48e1264736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -82,7 +82,7 @@ const _abi = [
82
82
  type: "function",
83
83
  },
84
84
  ];
85
- const _bytecode = "0x608060405234801561001057600080fd5b506106ef806100206000396000f3fe6080604052600436106100345760003560e01c806312f762221461003957806356d5d47514610061578063a778af8714610083575b600080fd5b34801561004557600080fd5b5061004f61c35081565b60405190815260200160405180910390f35b34801561006d57600080fd5b5061008161007c3660046104af565b610096565b005b61008161009136600461052e565b610159565b60006100a061043a565b905060006100af6010836105d7565b159050801561011e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063fa31de01906101b49087903090889088906004016105eb565b6020604051808303816000875af11580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f7919061064c565b9050600061020361043a565b9050346102116005836105d7565b600003610393576000610225600283610665565b90506000610236600261c350610665565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810187905263ffffffff8a1660248201526044810182905233606482015290915073ffffffffffffffffffffffffffffffffffffffff8a16906311bf2c189084906084016000604051808303818588803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b50505050508873ffffffffffffffffffffffffffffffffffffffff166311bf2c1883856102fc9190610679565b878b61030a8661c350610679565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019390935263ffffffff91909116602483015260448201523360648201526084016000604051808303818588803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050505050610430565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810184905263ffffffff8716602482015261c350604482015233606482015273ffffffffffffffffffffffffffffffffffffffff8816906311bf2c189083906084016000604051808303818588803b15801561041657600080fd5b505af115801561042a573d6000803e3d6000fd5b50505050505b5050505050505050565b6000610447600143610679565b40905090565b803563ffffffff8116811461046157600080fd5b919050565b60008083601f84011261047857600080fd5b50813567ffffffffffffffff81111561049057600080fd5b6020830191508360208285010111156104a857600080fd5b9250929050565b600080600080606085870312156104c557600080fd5b6104ce8561044d565b935060208501359250604085013567ffffffffffffffff8111156104f157600080fd5b6104fd87828801610466565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461052b57600080fd5b50565b60008060008060006080868803121561054657600080fd5b853561055181610509565b9450602086013561056181610509565b935061056f6040870161044d565b9250606086013567ffffffffffffffff81111561058b57600080fd5b61059788828901610466565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826105e6576105e66105a8565b500690565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b60006020828403121561065e57600080fd5b5051919050565b600082610674576106746105a8565b500490565b818103818111156106b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122089313bd2515bb39d32ce714a1014b4c87b1eeae32efb799a98259beec0e1faac64736f6c63430008110033";
85
+ const _bytecode = "0x608060405234801561001057600080fd5b506106ef806100206000396000f3fe6080604052600436106100345760003560e01c806312f762221461003957806356d5d47514610061578063a778af8714610083575b600080fd5b34801561004557600080fd5b5061004f61c35081565b60405190815260200160405180910390f35b34801561006d57600080fd5b5061008161007c3660046104af565b610096565b005b61008161009136600461052e565b610159565b60006100a061043a565b905060006100af6010836105d7565b159050801561011e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063fa31de01906101b49087903090889088906004016105eb565b6020604051808303816000875af11580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f7919061064c565b9050600061020361043a565b9050346102116005836105d7565b600003610393576000610225600283610665565b90506000610236600261c350610665565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810187905263ffffffff8a1660248201526044810182905233606482015290915073ffffffffffffffffffffffffffffffffffffffff8a16906311bf2c189084906084016000604051808303818588803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b50505050508873ffffffffffffffffffffffffffffffffffffffff166311bf2c1883856102fc9190610679565b878b61030a8661c350610679565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152600481019390935263ffffffff91909116602483015260448201523360648201526084016000604051808303818588803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050505050610430565b6040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810184905263ffffffff8716602482015261c350604482015233606482015273ffffffffffffffffffffffffffffffffffffffff8816906311bf2c189083906084016000604051808303818588803b15801561041657600080fd5b505af115801561042a573d6000803e3d6000fd5b50505050505b5050505050505050565b6000610447600143610679565b40905090565b803563ffffffff8116811461046157600080fd5b919050565b60008083601f84011261047857600080fd5b50813567ffffffffffffffff81111561049057600080fd5b6020830191508360208285010111156104a857600080fd5b9250929050565b600080600080606085870312156104c557600080fd5b6104ce8561044d565b935060208501359250604085013567ffffffffffffffff8111156104f157600080fd5b6104fd87828801610466565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461052b57600080fd5b50565b60008060008060006080868803121561054657600080fd5b853561055181610509565b9450602086013561056181610509565b935061056f6040870161044d565b9250606086013567ffffffffffffffff81111561058b57600080fd5b61059788828901610466565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826105e6576105e66105a8565b500690565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019392505050565b60006020828403121561065e57600080fd5b5051919050565b600082610674576106746105a8565b500490565b818103818111156106b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea26469706673582212202a4f687b010151e11880730ac39eb2d970f48acd8e0fe91198b2363592d48e1264736f6c63430008110033";
86
86
  const isSuperArgs = (xs) => xs.length > 1;
87
87
  class TestSendReceiver__factory extends ethers_1.ContractFactory {
88
88
  constructor(...args) {
package/dist/index.d.ts CHANGED
@@ -55,10 +55,10 @@ export type { IERC165 } from "./@openzeppelin/contracts/utils/introspection/IERC
55
55
  export { IERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/IERC165__factory";
56
56
  export type { GasRouter } from "./contracts/GasRouter";
57
57
  export { GasRouter__factory } from "./factories/contracts/GasRouter__factory";
58
+ export type { ERC5164MessageHook } from "./contracts/hooks/ERC5164/ERC5164MessageHook";
59
+ export { ERC5164MessageHook__factory } from "./factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory";
58
60
  export type { IMessageDispatcher } from "./contracts/hooks/ERC5164/interfaces/IMessageDispatcher";
59
61
  export { IMessageDispatcher__factory } from "./factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory";
60
- export type { ERC5164MessageHook } from "./contracts/hooks/ERC5164MessageHook";
61
- export { ERC5164MessageHook__factory } from "./factories/contracts/hooks/ERC5164MessageHook__factory";
62
62
  export type { OptimismMessageHook } from "./contracts/hooks/OptimismMessageHook";
63
63
  export { OptimismMessageHook__factory } from "./factories/contracts/hooks/OptimismMessageHook__factory";
64
64
  export type { HyperlaneConnectionClient } from "./contracts/HyperlaneConnectionClient";
@@ -109,6 +109,18 @@ export type { StaticAggregationIsm } from "./contracts/isms/aggregation/StaticAg
109
109
  export { StaticAggregationIsm__factory } from "./factories/contracts/isms/aggregation/StaticAggregationIsm__factory";
110
110
  export type { StaticAggregationIsmFactory } from "./contracts/isms/aggregation/StaticAggregationIsmFactory";
111
111
  export { StaticAggregationIsmFactory__factory } from "./factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory";
112
+ export type { AbstractHookISM } from "./contracts/isms/hook/AbstractHookISM";
113
+ export { AbstractHookISM__factory } from "./factories/contracts/isms/hook/AbstractHookISM__factory";
114
+ export type { CrossChainEnabled } from "./contracts/isms/hook/CrossChainEnabled";
115
+ export { CrossChainEnabled__factory } from "./factories/contracts/isms/hook/CrossChainEnabled__factory";
116
+ export type { ERC5164ISM } from "./contracts/isms/hook/ERC5164ISM";
117
+ export { ERC5164ISM__factory } from "./factories/contracts/isms/hook/ERC5164ISM__factory";
118
+ export type { CrossChainEnabledOptimism } from "./contracts/isms/hook/optimism/CrossChainEnabledOptimism";
119
+ export { CrossChainEnabledOptimism__factory } from "./factories/contracts/isms/hook/optimism/CrossChainEnabledOptimism__factory";
120
+ export type { LibOptimism } from "./contracts/isms/hook/optimism/LibOptimism";
121
+ export { LibOptimism__factory } from "./factories/contracts/isms/hook/optimism/LibOptimism__factory";
122
+ export type { OptimismISM } from "./contracts/isms/hook/optimism/OptimismISM";
123
+ export { OptimismISM__factory } from "./factories/contracts/isms/hook/optimism/OptimismISM__factory";
112
124
  export type { AbstractMerkleRootMultisigIsm } from "./contracts/isms/multisig/AbstractMerkleRootMultisigIsm";
113
125
  export { AbstractMerkleRootMultisigIsm__factory } from "./factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory";
114
126
  export type { AbstractMessageIdMultisigIsm } from "./contracts/isms/multisig/AbstractMessageIdMultisigIsm";
@@ -127,12 +139,6 @@ export type { StaticMessageIdMultisigIsm } from "./contracts/isms/multisig/Stati
127
139
  export { StaticMessageIdMultisigIsm__factory } from "./factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory";
128
140
  export type { StaticMessageIdMultisigIsmFactory } from "./contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory";
129
141
  export { StaticMessageIdMultisigIsmFactory__factory } from "./factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory";
130
- export type { AbstractNativeISM } from "./contracts/isms/native/AbstractNativeISM";
131
- export { AbstractNativeISM__factory } from "./factories/contracts/isms/native/AbstractNativeISM__factory";
132
- export type { ERC5164ISM } from "./contracts/isms/native/ERC5164ISM";
133
- export { ERC5164ISM__factory } from "./factories/contracts/isms/native/ERC5164ISM__factory";
134
- export type { OptimismISM } from "./contracts/isms/native/OptimismISM";
135
- export { OptimismISM__factory } from "./factories/contracts/isms/native/OptimismISM__factory";
136
142
  export type { AbstractRoutingIsm } from "./contracts/isms/routing/AbstractRoutingIsm";
137
143
  export { AbstractRoutingIsm__factory } from "./factories/contracts/isms/routing/AbstractRoutingIsm__factory";
138
144
  export type { DomainRoutingIsm } from "./contracts/isms/routing/DomainRoutingIsm";