@hyperlane-xyz/core 1.0.0-beta8 → 1.0.1-beta0

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 (271) hide show
  1. package/contracts/Mailbox.sol +0 -1
  2. package/contracts/OwnableMulticall.sol +6 -37
  3. package/contracts/ValidatorAnnounce.sol +117 -0
  4. package/contracts/{InterchainGasPaymaster.sol → igps/InterchainGasPaymaster.sol} +36 -7
  5. package/contracts/igps/OverheadIgp.sol +133 -0
  6. package/contracts/libs/Call.sol +54 -0
  7. package/contracts/libs/ValidatorAnnouncements.sol +35 -0
  8. package/contracts/middleware/InterchainAccountRouter.sol +7 -6
  9. package/contracts/middleware/InterchainQueryRouter.sol +17 -14
  10. package/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol +13 -19
  11. package/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol +9 -11
  12. package/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol +216 -0
  13. package/contracts/middleware/liquidity-layer/interfaces/circle/{ICircleBridge.sol → ITokenMessenger.sol} +3 -3
  14. package/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol +87 -0
  15. package/contracts/mock/MockCircleMessageTransmitter.sol +1 -1
  16. package/contracts/mock/{MockCircleBridge.sol → MockCircleTokenMessenger.sol} +2 -2
  17. package/contracts/mock/MockHyperlaneEnvironment.sol +1 -1
  18. package/contracts/mock/MockMailbox.sol +4 -4
  19. package/contracts/mock/MockPortalBridge.sol +89 -0
  20. package/contracts/test/LightTestRecipient.sol +12 -0
  21. package/contracts/test/TestQuery.sol +3 -6
  22. package/contracts/test/TestQuerySender.sol +48 -19
  23. package/contracts/test/TestRecipient.sol +1 -1
  24. package/dist/contracts/OwnableMulticall.d.ts +16 -14
  25. package/dist/contracts/OwnableMulticall.d.ts.map +1 -1
  26. package/dist/contracts/ValidatorAnnounce.d.ts +98 -0
  27. package/dist/contracts/ValidatorAnnounce.d.ts.map +1 -0
  28. package/dist/contracts/ValidatorAnnounce.js +4 -0
  29. package/dist/contracts/ValidatorAnnounce.js.map +1 -0
  30. package/dist/contracts/{InterchainGasPaymaster.d.ts → igps/InterchainGasPaymaster.d.ts} +10 -2
  31. package/dist/contracts/igps/InterchainGasPaymaster.d.ts.map +1 -0
  32. package/dist/contracts/{InterchainGasPaymaster.js → igps/InterchainGasPaymaster.js} +0 -0
  33. package/dist/contracts/igps/InterchainGasPaymaster.js.map +1 -0
  34. package/dist/contracts/igps/OverheadIgp.d.ts +177 -0
  35. package/dist/contracts/igps/OverheadIgp.d.ts.map +1 -0
  36. package/dist/contracts/{middleware/liquidity-layer/interfaces/circle/ICircleBridge.js → igps/OverheadIgp.js} +1 -1
  37. package/dist/contracts/igps/OverheadIgp.js.map +1 -0
  38. package/dist/contracts/igps/index.d.ts +3 -0
  39. package/dist/contracts/igps/index.d.ts.map +1 -0
  40. package/dist/contracts/igps/index.js +3 -0
  41. package/dist/contracts/igps/index.js.map +1 -0
  42. package/dist/contracts/index.d.ts +3 -1
  43. package/dist/contracts/index.d.ts.map +1 -1
  44. package/dist/contracts/middleware/InterchainAccountRouter.d.ts +16 -14
  45. package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
  46. package/dist/contracts/middleware/InterchainQueryRouter.d.ts +22 -20
  47. package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
  48. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +8 -8
  49. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
  50. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +14 -14
  51. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
  52. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +435 -0
  53. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +1 -0
  54. package/dist/contracts/{mock/MockCircleBridge.js → middleware/liquidity-layer/adapters/PortalAdapter.js} +1 -1
  55. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.js.map +1 -0
  56. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts +1 -0
  57. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -1
  58. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/{ICircleBridge.d.ts → ITokenMessenger.d.ts} +4 -4
  59. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.d.ts.map +1 -0
  60. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.js +4 -0
  61. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.js.map +1 -0
  62. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts +1 -1
  63. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -1
  64. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts +2 -0
  65. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -1
  66. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.d.ts +148 -0
  67. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.d.ts.map +1 -0
  68. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.js +4 -0
  69. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.js.map +1 -0
  70. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts +2 -0
  71. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts.map +1 -0
  72. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.js +3 -0
  73. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.js.map +1 -0
  74. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts +1 -1
  75. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts.map +1 -1
  76. package/dist/contracts/mock/{MockCircleBridge.d.ts → MockCircleTokenMessenger.d.ts} +4 -4
  77. package/dist/contracts/mock/MockCircleTokenMessenger.d.ts.map +1 -0
  78. package/dist/contracts/mock/MockCircleTokenMessenger.js +4 -0
  79. package/dist/contracts/mock/MockCircleTokenMessenger.js.map +1 -0
  80. package/dist/contracts/mock/MockMailbox.d.ts +17 -17
  81. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
  82. package/dist/contracts/mock/MockPortalBridge.d.ts +164 -0
  83. package/dist/contracts/mock/MockPortalBridge.d.ts.map +1 -0
  84. package/dist/contracts/mock/MockPortalBridge.js +4 -0
  85. package/dist/contracts/mock/MockPortalBridge.js.map +1 -0
  86. package/dist/contracts/mock/index.d.ts +2 -1
  87. package/dist/contracts/mock/index.d.ts.map +1 -1
  88. package/dist/contracts/test/LightTestRecipient.d.ts +155 -0
  89. package/dist/contracts/test/LightTestRecipient.d.ts.map +1 -0
  90. package/dist/contracts/test/LightTestRecipient.js +4 -0
  91. package/dist/contracts/test/LightTestRecipient.js.map +1 -0
  92. package/dist/contracts/test/TestQuerySender.d.ts +29 -38
  93. package/dist/contracts/test/TestQuerySender.d.ts.map +1 -1
  94. package/dist/contracts/test/index.d.ts +1 -0
  95. package/dist/contracts/test/index.d.ts.map +1 -1
  96. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  97. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  98. package/dist/factories/contracts/OwnableMulticall__factory.d.ts +1 -1
  99. package/dist/factories/contracts/OwnableMulticall__factory.d.ts.map +1 -1
  100. package/dist/factories/contracts/OwnableMulticall__factory.js +2 -2
  101. package/dist/factories/contracts/OwnableMulticall__factory.js.map +1 -1
  102. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +59 -0
  103. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts.map +1 -0
  104. package/dist/factories/contracts/ValidatorAnnounce__factory.js +158 -0
  105. package/dist/factories/contracts/ValidatorAnnounce__factory.js.map +1 -0
  106. package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts +55 -0
  107. package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts.map +1 -0
  108. package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js +202 -0
  109. package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js.map +1 -0
  110. package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts +75 -0
  111. package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts.map +1 -0
  112. package/dist/factories/contracts/igps/OverheadIgp__factory.js +256 -0
  113. package/dist/factories/contracts/igps/OverheadIgp__factory.js.map +1 -0
  114. package/dist/factories/contracts/igps/index.d.ts +3 -0
  115. package/dist/factories/contracts/igps/index.d.ts.map +1 -0
  116. package/dist/factories/contracts/igps/index.js +11 -0
  117. package/dist/factories/contracts/igps/index.js.map +1 -0
  118. package/dist/factories/contracts/index.d.ts +2 -1
  119. package/dist/factories/contracts/index.d.ts.map +1 -1
  120. package/dist/factories/contracts/index.js +4 -3
  121. package/dist/factories/contracts/index.js.map +1 -1
  122. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  123. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  124. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +2 -2
  125. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  126. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  127. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  128. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +3 -3
  129. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  130. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  131. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
  132. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +7 -7
  133. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
  134. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  135. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
  136. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +15 -15
  137. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
  138. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +48 -0
  139. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -0
  140. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +610 -0
  141. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -0
  142. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts +1 -0
  143. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -1
  144. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js +3 -1
  145. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -1
  146. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/{ICircleBridge__factory.d.ts → ITokenMessenger__factory.d.ts} +5 -5
  147. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger__factory.d.ts.map +1 -0
  148. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/{ICircleBridge__factory.js → ITokenMessenger__factory.js} +5 -5
  149. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger__factory.js.map +1 -0
  150. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts +1 -1
  151. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -1
  152. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.js +3 -3
  153. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.js.map +1 -1
  154. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts +1 -0
  155. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -1
  156. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js +2 -1
  157. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -1
  158. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.d.ts +56 -0
  159. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.d.ts.map +1 -0
  160. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.js +204 -0
  161. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.js.map +1 -0
  162. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts +2 -0
  163. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts.map +1 -0
  164. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.js +9 -0
  165. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.js.map +1 -0
  166. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts +1 -1
  167. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts.map +1 -1
  168. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js +3 -3
  169. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js.map +1 -1
  170. package/dist/factories/contracts/mock/{MockCircleBridge__factory.d.ts → MockCircleTokenMessenger__factory.d.ts} +11 -11
  171. package/dist/factories/contracts/mock/MockCircleTokenMessenger__factory.d.ts.map +1 -0
  172. package/dist/factories/contracts/mock/{MockCircleBridge__factory.js → MockCircleTokenMessenger__factory.js} +7 -7
  173. package/dist/factories/contracts/mock/MockCircleTokenMessenger__factory.js.map +1 -0
  174. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  175. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  176. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  177. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  178. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  179. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
  180. package/dist/factories/contracts/mock/MockMailbox__factory.js +27 -27
  181. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
  182. package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts +79 -0
  183. package/dist/factories/contracts/mock/{MockCircleBridge__factory.d.ts.map → MockPortalBridge__factory.d.ts.map} +1 -1
  184. package/dist/factories/contracts/mock/MockPortalBridge__factory.js +296 -0
  185. package/dist/factories/contracts/mock/MockPortalBridge__factory.js.map +1 -0
  186. package/dist/factories/contracts/mock/index.d.ts +2 -1
  187. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  188. package/dist/factories/contracts/mock/index.js +5 -3
  189. package/dist/factories/contracts/mock/index.js.map +1 -1
  190. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +55 -0
  191. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts.map +1 -0
  192. package/dist/factories/contracts/test/LightTestRecipient__factory.js +210 -0
  193. package/dist/factories/contracts/test/LightTestRecipient__factory.js.map +1 -0
  194. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  195. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  196. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  197. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  198. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  199. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts.map +1 -1
  200. package/dist/factories/contracts/test/TestQuerySender__factory.js +24 -17
  201. package/dist/factories/contracts/test/TestQuerySender__factory.js.map +1 -1
  202. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  203. package/dist/factories/contracts/test/TestQuery__factory.d.ts.map +1 -1
  204. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  205. package/dist/factories/contracts/test/TestQuery__factory.js.map +1 -1
  206. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  207. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  208. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  209. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  210. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  211. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  212. package/dist/factories/contracts/test/index.d.ts +1 -0
  213. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  214. package/dist/factories/contracts/test/index.js +3 -1
  215. package/dist/factories/contracts/test/index.js.map +1 -1
  216. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +1 -1
  217. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +1 -1
  218. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts +5 -1
  219. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -1
  220. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js +25 -1
  221. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +1 -1
  222. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +2 -2
  223. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +1 -1
  224. package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js +6 -6
  225. package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js.map +1 -1
  226. package/dist/factories/interfaces/IValidatorAnnounce__factory.d.ts +23 -0
  227. package/dist/factories/interfaces/IValidatorAnnounce__factory.d.ts.map +1 -0
  228. package/dist/factories/interfaces/IValidatorAnnounce__factory.js +105 -0
  229. package/dist/factories/interfaces/IValidatorAnnounce__factory.js.map +1 -0
  230. package/dist/factories/interfaces/index.d.ts +1 -0
  231. package/dist/factories/interfaces/index.d.ts.map +1 -1
  232. package/dist/factories/interfaces/index.js +3 -1
  233. package/dist/factories/interfaces/index.js.map +1 -1
  234. package/dist/index.d.ts +20 -6
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +21 -7
  237. package/dist/index.js.map +1 -1
  238. package/dist/interfaces/IInterchainAccountRouter.d.ts +16 -14
  239. package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -1
  240. package/dist/interfaces/IInterchainGasPaymaster.d.ts +14 -6
  241. package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +1 -1
  242. package/dist/interfaces/IInterchainQueryRouter.d.ts +22 -20
  243. package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -1
  244. package/dist/interfaces/ILiquidityLayerRouter.d.ts +8 -8
  245. package/dist/interfaces/ILiquidityLayerRouter.d.ts.map +1 -1
  246. package/dist/interfaces/IValidatorAnnounce.d.ts +83 -0
  247. package/dist/interfaces/IValidatorAnnounce.d.ts.map +1 -0
  248. package/dist/interfaces/IValidatorAnnounce.js +4 -0
  249. package/dist/interfaces/IValidatorAnnounce.js.map +1 -0
  250. package/dist/interfaces/index.d.ts +1 -0
  251. package/dist/interfaces/index.d.ts.map +1 -1
  252. package/interfaces/IInterchainAccountRouter.sol +2 -2
  253. package/interfaces/IInterchainGasPaymaster.sol +6 -1
  254. package/interfaces/IInterchainQueryRouter.sol +3 -3
  255. package/interfaces/ILiquidityLayerRouter.sol +3 -5
  256. package/interfaces/IValidatorAnnounce.sol +36 -0
  257. package/package.json +4 -4
  258. package/contracts/Call.sol +0 -7
  259. package/dist/contracts/InterchainGasPaymaster.d.ts.map +0 -1
  260. package/dist/contracts/InterchainGasPaymaster.js.map +0 -1
  261. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts.map +0 -1
  262. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js.map +0 -1
  263. package/dist/contracts/mock/MockCircleBridge.d.ts.map +0 -1
  264. package/dist/contracts/mock/MockCircleBridge.js.map +0 -1
  265. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts +0 -62
  266. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +0 -1
  267. package/dist/factories/contracts/InterchainGasPaymaster__factory.js +0 -178
  268. package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +0 -1
  269. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts.map +0 -1
  270. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js.map +0 -1
  271. package/dist/factories/contracts/mock/MockCircleBridge__factory.js.map +0 -1
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LightTestRecipient__factory = void 0;
5
+ const ethers_1 = require("ethers");
6
+ const _abi = [
7
+ {
8
+ anonymous: false,
9
+ inputs: [
10
+ {
11
+ indexed: true,
12
+ internalType: "address",
13
+ name: "caller",
14
+ type: "address",
15
+ },
16
+ {
17
+ indexed: false,
18
+ internalType: "uint256",
19
+ name: "amount",
20
+ type: "uint256",
21
+ },
22
+ {
23
+ indexed: false,
24
+ internalType: "string",
25
+ name: "message",
26
+ type: "string",
27
+ },
28
+ ],
29
+ name: "ReceivedCall",
30
+ type: "event",
31
+ },
32
+ {
33
+ anonymous: false,
34
+ inputs: [
35
+ {
36
+ indexed: true,
37
+ internalType: "uint32",
38
+ name: "origin",
39
+ type: "uint32",
40
+ },
41
+ {
42
+ indexed: true,
43
+ internalType: "bytes32",
44
+ name: "sender",
45
+ type: "bytes32",
46
+ },
47
+ {
48
+ indexed: false,
49
+ internalType: "string",
50
+ name: "message",
51
+ type: "string",
52
+ },
53
+ ],
54
+ name: "ReceivedMessage",
55
+ type: "event",
56
+ },
57
+ {
58
+ inputs: [
59
+ {
60
+ internalType: "uint256",
61
+ name: "amount",
62
+ type: "uint256",
63
+ },
64
+ {
65
+ internalType: "string",
66
+ name: "message",
67
+ type: "string",
68
+ },
69
+ ],
70
+ name: "fooBar",
71
+ outputs: [],
72
+ stateMutability: "nonpayable",
73
+ type: "function",
74
+ },
75
+ {
76
+ inputs: [
77
+ {
78
+ internalType: "uint32",
79
+ name: "_origin",
80
+ type: "uint32",
81
+ },
82
+ {
83
+ internalType: "bytes32",
84
+ name: "_sender",
85
+ type: "bytes32",
86
+ },
87
+ {
88
+ internalType: "bytes",
89
+ name: "_data",
90
+ type: "bytes",
91
+ },
92
+ ],
93
+ name: "handle",
94
+ outputs: [],
95
+ stateMutability: "nonpayable",
96
+ type: "function",
97
+ },
98
+ {
99
+ inputs: [],
100
+ name: "interchainSecurityModule",
101
+ outputs: [
102
+ {
103
+ internalType: "contract IInterchainSecurityModule",
104
+ name: "",
105
+ type: "address",
106
+ },
107
+ ],
108
+ stateMutability: "view",
109
+ type: "function",
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: "lastCallMessage",
114
+ outputs: [
115
+ {
116
+ internalType: "string",
117
+ name: "",
118
+ type: "string",
119
+ },
120
+ ],
121
+ stateMutability: "view",
122
+ type: "function",
123
+ },
124
+ {
125
+ inputs: [],
126
+ name: "lastCaller",
127
+ outputs: [
128
+ {
129
+ internalType: "address",
130
+ name: "",
131
+ type: "address",
132
+ },
133
+ ],
134
+ stateMutability: "view",
135
+ type: "function",
136
+ },
137
+ {
138
+ inputs: [],
139
+ name: "lastData",
140
+ outputs: [
141
+ {
142
+ internalType: "bytes",
143
+ name: "",
144
+ type: "bytes",
145
+ },
146
+ ],
147
+ stateMutability: "view",
148
+ type: "function",
149
+ },
150
+ {
151
+ inputs: [],
152
+ name: "lastSender",
153
+ outputs: [
154
+ {
155
+ internalType: "bytes32",
156
+ name: "",
157
+ type: "bytes32",
158
+ },
159
+ ],
160
+ stateMutability: "view",
161
+ type: "function",
162
+ },
163
+ {
164
+ inputs: [
165
+ {
166
+ internalType: "address",
167
+ name: "_ism",
168
+ type: "address",
169
+ },
170
+ ],
171
+ name: "setInterchainSecurityModule",
172
+ outputs: [],
173
+ stateMutability: "nonpayable",
174
+ type: "function",
175
+ },
176
+ ];
177
+ const _bytecode = "0x608060405234801561001057600080fd5b506106f4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c806356d5d4751161005b57806356d5d4751461015d578063a4982fde14610171578063de523cf314610179578063f07c1f471461019957600080fd5b80626e75ec1461008c5780630e72cc06146100aa5780632113522a14610101578063256fec8814610146575b600080fd5b6100946101ac565b6040516100a19190610334565b60405180910390f35b6100ff6100b836600461034e565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b005b6003546101219073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b61014f60015481565b6040519081526020016100a1565b6100ff61016b3660046103cd565b50505050565b61009461023a565b6000546101219073ffffffffffffffffffffffffffffffffffffffff1681565b6100ff6101a7366004610432565b610247565b600280546101b99061047e565b80601f01602080910402602001604051908101604052809291908181526020018280546101e59061047e565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b505050505081565b600480546101b99061047e565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c206848484604051610291939291906104d1565b60405180910390a2600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600461016b8284836105a3565b6000815180845260005b818110156102f6576020818501810151868301820152016102da565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061034760208301846102d0565b9392505050565b60006020828403121561036057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461034757600080fd5b60008083601f84011261039657600080fd5b50813567ffffffffffffffff8111156103ae57600080fd5b6020830191508360208285010111156103c657600080fd5b9250929050565b600080600080606085870312156103e357600080fd5b843563ffffffff811681146103f757600080fd5b935060208501359250604085013567ffffffffffffffff81111561041a57600080fd5b61042687828801610384565b95989497509550505050565b60008060006040848603121561044757600080fd5b83359250602084013567ffffffffffffffff81111561046557600080fd5b61047186828701610384565b9497909650939450505050565b600181811c9082168061049257607f821691505b6020821081036104cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561059e57600081815260208120601f850160051c8101602086101561057b5750805b601f850160051c820191505b8181101561059a57828155600101610587565b5050505b505050565b67ffffffffffffffff8311156105bb576105bb610525565b6105cf836105c9835461047e565b83610554565b6000601f84116001811461062157600085156105eb5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556106b7565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156106705786850135825560209485019460019092019101610650565b50868210156106ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea26469706673582212204144b1ca9392e6963e9cbb8000c945d7a14e78d8f0988a1dbe603a35f425d7fc64736f6c63430008110033";
178
+ const isSuperArgs = (xs) => xs.length > 1;
179
+ class LightTestRecipient__factory extends ethers_1.ContractFactory {
180
+ constructor(...args) {
181
+ if (isSuperArgs(args)) {
182
+ super(...args);
183
+ }
184
+ else {
185
+ super(_abi, _bytecode, args[0]);
186
+ }
187
+ }
188
+ deploy(overrides) {
189
+ return super.deploy(overrides || {});
190
+ }
191
+ getDeployTransaction(overrides) {
192
+ return super.getDeployTransaction(overrides || {});
193
+ }
194
+ attach(address) {
195
+ return super.attach(address);
196
+ }
197
+ connect(signer) {
198
+ return super.connect(signer);
199
+ }
200
+ static createInterface() {
201
+ return new ethers_1.utils.Interface(_abi);
202
+ }
203
+ static connect(address, signerOrProvider) {
204
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
205
+ }
206
+ }
207
+ exports.LightTestRecipient__factory = LightTestRecipient__factory;
208
+ LightTestRecipient__factory.bytecode = _bytecode;
209
+ LightTestRecipient__factory.abi = _abi;
210
+ //# sourceMappingURL=LightTestRecipient__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightTestRecipient__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/test/LightTestRecipient__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAU/C,mCAA6E;AAE7E,MAAM,IAAI,GAAG;IACX;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,SAAS,GACb,4iHAA4iH,CAAC;AAM/iH,MAAM,WAAW,GAAG,CAClB,EAAuC,EACc,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,2BAA4B,SAAQ,wBAAe;IAC9D,YAAY,GAAG,IAAyC;QACtD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEQ,MAAM,CACb,SAA2D;QAE3D,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAgC,CAAC;IACtE,CAAC;IACQ,oBAAoB,CAC3B,SAA2D;QAE3D,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAuB,CAAC;IACrD,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAgC,CAAC;IAC9D,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAuB,CAAC;IAC7E,CAAC;;AApCH,kEAqCC;AAXiB,oCAAQ,GAAG,SAAS,CAAC;AACrB,+BAAG,GAAG,IAAI,CAAC"}
@@ -12,7 +12,7 @@ export declare class TestHyperlaneConnectionClient__factory extends ContractFact
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestHyperlaneConnectionClient;
14
14
  connect(signer: Signer): TestHyperlaneConnectionClient__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50610b8b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063c4d66de811610081578063f1bd6f0a1161005b578063f1bd6f0a146101c3578063f2fde38b146101d6578063f3c61d6b146101e957600080fd5b8063c4d66de814610170578063d5438eae14610183578063de523cf3146101a357600080fd5b8063715018a6116100b2578063715018a61461012d5780638d3638f4146101355780638da5cb5b1461015257600080fd5b80630e72cc06146100ce57806339bb4ad9146100e3575b600080fd5b6100e16100dc366004610af2565b6101fc565b005b6066546101039073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e1610210565b61013d610224565b60405163ffffffff9091168152602001610124565b60335473ffffffffffffffffffffffffffffffffffffffff16610103565b6100e161017e366004610af2565b6102bd565b6065546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101d1366004610af2565b610456565b6100e16101e4366004610af2565b610467565b6100e16101f7366004610af2565b61051b565b61020461052c565b61020d816105ad565b50565b61021861052c565b61022260006106bb565b565b606554604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f49160048083019260209291908290030181865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610b2f565b905090565b600054610100900460ff16158080156102dd5750600054600160ff909116105b806102f75750303b1580156102f7575060005460ff166001145b610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103e657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103ef82610732565b801561045257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61045e61052c565b61020d816107da565b61046f61052c565b73ffffffffffffffffffffffffffffffffffffffff8116610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161037f565b61020d816106bb565b61052361052c565b61020d816108c9565b60335473ffffffffffffffffffffffffffffffffffffffff163314610222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161037f565b73ffffffffffffffffffffffffffffffffffffffff811615806105e6575073ffffffffffffffffffffffffffffffffffffffff81163b15155b61064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b6107d2816108c9565b61020d6109b8565b8073ffffffffffffffffffffffffffffffffffffffff81163b610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222600054610100900460ff16610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222336106bb565b600060208284031215610b0457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b2857600080fd5b9392505050565b600060208284031215610b4157600080fd5b815163ffffffff81168114610b2857600080fdfea26469706673582212209979ccab0147595634442984abacfcadc5fd481db7809c4e440d0a30733f112b64736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50610b8b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063c4d66de811610081578063f1bd6f0a1161005b578063f1bd6f0a146101c3578063f2fde38b146101d6578063f3c61d6b146101e957600080fd5b8063c4d66de814610170578063d5438eae14610183578063de523cf3146101a357600080fd5b8063715018a6116100b2578063715018a61461012d5780638d3638f4146101355780638da5cb5b1461015257600080fd5b80630e72cc06146100ce57806339bb4ad9146100e3575b600080fd5b6100e16100dc366004610af2565b6101fc565b005b6066546101039073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e1610210565b61013d610224565b60405163ffffffff9091168152602001610124565b60335473ffffffffffffffffffffffffffffffffffffffff16610103565b6100e161017e366004610af2565b6102bd565b6065546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101d1366004610af2565b610456565b6100e16101e4366004610af2565b610467565b6100e16101f7366004610af2565b61051b565b61020461052c565b61020d816105ad565b50565b61021861052c565b61022260006106bb565b565b606554604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f49160048083019260209291908290030181865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610b2f565b905090565b600054610100900460ff16158080156102dd5750600054600160ff909116105b806102f75750303b1580156102f7575060005460ff166001145b610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103e657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103ef82610732565b801561045257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61045e61052c565b61020d816107da565b61046f61052c565b73ffffffffffffffffffffffffffffffffffffffff8116610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161037f565b61020d816106bb565b61052361052c565b61020d816108c9565b60335473ffffffffffffffffffffffffffffffffffffffff163314610222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161037f565b73ffffffffffffffffffffffffffffffffffffffff811615806105e6575073ffffffffffffffffffffffffffffffffffffffff81163b15155b61064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b6107d2816108c9565b61020d6109b8565b8073ffffffffffffffffffffffffffffffffffffffff81163b610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222600054610100900460ff16610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222336106bb565b600060208284031215610b0457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b2857600080fd5b9392505050565b600060208284031215610b4157600080fd5b815163ffffffff81168114610b2857600080fdfea26469706673582212204f14c4c6e35bbc1c5a3ea30ea5725f07177956121c07213349a5509fc0d5032864736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -213,7 +213,7 @@ const _abi = [
213
213
  type: "function",
214
214
  },
215
215
  ];
216
- const _bytecode = "0x608060405234801561001057600080fd5b50610b8b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063c4d66de811610081578063f1bd6f0a1161005b578063f1bd6f0a146101c3578063f2fde38b146101d6578063f3c61d6b146101e957600080fd5b8063c4d66de814610170578063d5438eae14610183578063de523cf3146101a357600080fd5b8063715018a6116100b2578063715018a61461012d5780638d3638f4146101355780638da5cb5b1461015257600080fd5b80630e72cc06146100ce57806339bb4ad9146100e3575b600080fd5b6100e16100dc366004610af2565b6101fc565b005b6066546101039073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e1610210565b61013d610224565b60405163ffffffff9091168152602001610124565b60335473ffffffffffffffffffffffffffffffffffffffff16610103565b6100e161017e366004610af2565b6102bd565b6065546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101d1366004610af2565b610456565b6100e16101e4366004610af2565b610467565b6100e16101f7366004610af2565b61051b565b61020461052c565b61020d816105ad565b50565b61021861052c565b61022260006106bb565b565b606554604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f49160048083019260209291908290030181865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610b2f565b905090565b600054610100900460ff16158080156102dd5750600054600160ff909116105b806102f75750303b1580156102f7575060005460ff166001145b610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103e657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103ef82610732565b801561045257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61045e61052c565b61020d816107da565b61046f61052c565b73ffffffffffffffffffffffffffffffffffffffff8116610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161037f565b61020d816106bb565b61052361052c565b61020d816108c9565b60335473ffffffffffffffffffffffffffffffffffffffff163314610222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161037f565b73ffffffffffffffffffffffffffffffffffffffff811615806105e6575073ffffffffffffffffffffffffffffffffffffffff81163b15155b61064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b6107d2816108c9565b61020d6109b8565b8073ffffffffffffffffffffffffffffffffffffffff81163b610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222600054610100900460ff16610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222336106bb565b600060208284031215610b0457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b2857600080fd5b9392505050565b600060208284031215610b4157600080fd5b815163ffffffff81168114610b2857600080fdfea26469706673582212209979ccab0147595634442984abacfcadc5fd481db7809c4e440d0a30733f112b64736f6c63430008110033";
216
+ const _bytecode = "0x608060405234801561001057600080fd5b50610b8b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063c4d66de811610081578063f1bd6f0a1161005b578063f1bd6f0a146101c3578063f2fde38b146101d6578063f3c61d6b146101e957600080fd5b8063c4d66de814610170578063d5438eae14610183578063de523cf3146101a357600080fd5b8063715018a6116100b2578063715018a61461012d5780638d3638f4146101355780638da5cb5b1461015257600080fd5b80630e72cc06146100ce57806339bb4ad9146100e3575b600080fd5b6100e16100dc366004610af2565b6101fc565b005b6066546101039073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e1610210565b61013d610224565b60405163ffffffff9091168152602001610124565b60335473ffffffffffffffffffffffffffffffffffffffff16610103565b6100e161017e366004610af2565b6102bd565b6065546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6067546101039073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101d1366004610af2565b610456565b6100e16101e4366004610af2565b610467565b6100e16101f7366004610af2565b61051b565b61020461052c565b61020d816105ad565b50565b61021861052c565b61022260006106bb565b565b606554604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f49160048083019260209291908290030181865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610b2f565b905090565b600054610100900460ff16158080156102dd5750600054600160ff909116105b806102f75750303b1580156102f7575060005460ff166001145b610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103e657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103ef82610732565b801561045257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61045e61052c565b61020d816107da565b61046f61052c565b73ffffffffffffffffffffffffffffffffffffffff8116610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161037f565b61020d816106bb565b61052361052c565b61020d816108c9565b60335473ffffffffffffffffffffffffffffffffffffffff163314610222576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161037f565b73ffffffffffffffffffffffffffffffffffffffff811615806105e6575073ffffffffffffffffffffffffffffffffffffffff81163b15155b61064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffec811ed4e60aebdaf7a79cad8a97196bf56e35362f039705598226d30c9d24890600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b6107d2816108c9565b61020d6109b8565b8073ffffffffffffffffffffffffffffffffffffffff81163b610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fb87f5a0bface22cde699143559fb99f990ae54eea236995fc54178af91af859f90600090a25050565b8073ffffffffffffffffffffffffffffffffffffffff81163b610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e74726163740000000000000000000000000000000000000000000000604482015260640161037f565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f7a61e573722ff8b205c8962b59d37e7d30573f368965597a844a94872204ebd790600090a25050565b600054610100900460ff16610a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222600054610100900460ff16610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161037f565b610222336106bb565b600060208284031215610b0457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b2857600080fd5b9392505050565b600060208284031215610b4157600080fd5b815163ffffffff81168114610b2857600080fdfea26469706673582212204f14c4c6e35bbc1c5a3ea30ea5725f07177956121c07213349a5509fc0d5032864736f6c63430008110033";
217
217
  const isSuperArgs = (xs) => xs.length > 1;
218
218
  class TestHyperlaneConnectionClient__factory extends ethers_1.ContractFactory {
219
219
  constructor(...args) {
@@ -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 = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6002606555600061069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460031490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460031490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600314611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460030361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6003606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122007f8e205a351907538ff27d1380a6cdb2b2c2dce71743b5685d5e64d28ade40264736f6c63430008110033";
15
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6002606555600061069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460031490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460031490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600314611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460030361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6003606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122065e8f91295bc932f97783535f37d442bf758b60f2e81858fc7a5e0426b7f1b9664736f6c63430008110033";
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 = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6002606555600061069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460031490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460031490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600314611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460030361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6003606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122007f8e205a351907538ff27d1380a6cdb2b2c2dce71743b5685d5e64d28ade40264736f6c63430008110033";
484
+ const _bytecode = "0x60a060405234801561001057600080fd5b506040516200246c3803806200246c8339810160408190526100319161003f565b63ffffffff1660805261006c565b60006020828403121561005157600080fd5b815163ffffffff8116811461006557600080fd5b9392505050565b6080516123d66200009660003960008181610259015281816106ff0152610dd401526123d66000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063907c0f92116100d8578063f2fde38b1161008c578063faf924cf11610066578063faf924cf1461034a578063fd54b2281461035f578063ffa1ad741461036957600080fd5b8063f2fde38b14610311578063f794687a14610324578063fa31de011461033757600080fd5b8063e495f1d4116100bd578063e495f1d4146102d3578063e70f48ac146102f6578063ebf0c7171461030957600080fd5b8063907c0f9214610299578063b187bd26146102bb57600080fd5b80636e5f516e1161013a5780638456cb59116101145780638456cb591461024c5780638d3638f4146102545780638da5cb5b1461027b57600080fd5b80636e5f516e146101ec578063715018a6146102315780637c39d1301461023957600080fd5b80633f4ba83a1161016b5780633f4ba83a146101ba578063485cc955146101c2578063522ae002146101d557600080fd5b806306661abd14610187578063082548ec146101a5575b600080fd5b60b8545b60405163ffffffff90911681526020015b60405180910390f35b6101b86101b3366004611c63565b610383565b005b6101b8610414565b6101b86101d0366004611ced565b61044f565b6101de61080081565b60405190815260200161019c565b60975461020c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101b8610602565b6101b8610247366004611d26565b610616565b6101b8610ac9565b61018b7f000000000000000000000000000000000000000000000000000000000000000081565b60335473ffffffffffffffffffffffffffffffffffffffff1661020c565b6102a1610b04565b6040805192835263ffffffff90911660208301520161019c565b6102c3610b2c565b604051901515815260200161019c565b6102c36102e1366004611d92565b60b96020526000908152604090205460ff1681565b61020c610304366004611dab565b610b3f565b6101de610c0d565b6101b861031f366004611dab565b610c19565b6101b8610332366004611dab565b610cd0565b6101de610345366004611dc8565b610ce1565b610352610e9d565b60405161019c9190611e16565b60b8546101de9081565b610371600081565b60405160ff909116815260200161019c565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d475906103db908890889087908790600401611e95565b600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b505050505050505050565b61041c610f65565b610424610fe6565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600054610100900460ff161580801561046f5750600054600160ff909116105b806104895750303b158015610489575060005460ff166001145b61051a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561057857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610580611059565b6105886110f0565b61059183610c19565b61059a8261118f565b80156105fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61060a610f65565b610614600061127c565b565b600160655414610682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f7265656e7472616e742063616c6c20286f7220706175736564290000000000006044820152606401610511565b6002606555600061069383836112f3565b60ff16146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2176657273696f6e0000000000000000000000000000000000000000000000006044820152606401610511565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661072e8383611317565b63ffffffff161461079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e00000000000000000000000000000000000000006044820152606401610511565b60006107dc83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061133a92505050565b600081815260b9602052604090205490915060ff1615610858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f64656c69766572656400000000000000000000000000000000000000000000006044820152606401610511565b600081815260b96020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561089c6103048585611345565b6040517ff7e83aee00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee906108f7908990899089908990600401611ec5565b6020604051808303816000875af1158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190611ef7565b6109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216d6f64756c65000000000000000000000000000000000000000000000000006044820152606401610511565b60006109ac858561135e565b905060006109ba868661136e565b905060006109c88787611345565b90508073ffffffffffffffffffffffffffffffffffffffff166356d5d47584846109f28b8b611387565b6040518563ffffffff1660e01b8152600401610a119493929190611e95565b600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16828463ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405185907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a25050600160655550505050505050565b610ad1610f65565b610ad96113a3565b6040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600080610b0f610c0d565b6001610b1a60b85490565b610b249190611f48565b915091509091565b6000610b3a60655460031490565b905090565b60008173ffffffffffffffffffffffffffffffffffffffff1663de523cf36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610bc6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610bc391810190611f6c565b60015b15610bef5773ffffffffffffffffffffffffffffffffffffffff811615610bed5792915050565b505b505060975473ffffffffffffffffffffffffffffffffffffffff1690565b6000610b3a6098611416565b610c21610f65565b73ffffffffffffffffffffffffffffffffffffffff8116610cc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610511565b610ccd8161127c565b50565b610cd8610f65565b610ccd8161118f565b6000610cef60655460031490565b15610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b610800821115610dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6d736720746f6f206c6f6e6700000000000000000000000000000000000000006044820152606401610511565b6000610dfd6000610dd260b85490565b7f0000000000000000000000000000000000000000000000000000000000000000338a8a8a8a611429565b80516020820120909150610e12609882611467565b858763ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051610e609190611f89565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a29695505050505050565b610ea5611be9565b6000610eaf6115a6565b905060006001609860200154610ec59190611ff5565b9050610ecf611be9565b60005b6020811015610f5d57600183821c811690819003610f1b5760988260208110610efd57610efd612008565b0154838360208110610f1157610f11612008565b6020020152610f4a565b848260208110610f2d57610f2d612008565b6020020151838360208110610f4457610f44612008565b60200201525b5080610f5581612037565b915050610ed2565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610511565b606554600314611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21706175736564000000000000000000000000000000000000000000000000006044820152606401610511565b6001606555565b600054610100900460ff16611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b600054610100900460ff16611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b610614611a67565b73ffffffffffffffffffffffffffffffffffffffff81163b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21636f6e747261637400000000000000000000000000000000000000000000006044820152606401610511565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611302600182848661206f565b61130b91612099565b60f81c90505b92915050565b6000611327602d6029848661206f565b611330916120df565b60e01c9392505050565b805160209091012090565b60006113576113548484611b07565b90565b9392505050565b600061132760096005848661206f565b600061137e60296009848661206f565b61135791612125565b36600061139783604d818761206f565b915091505b9250929050565b60655460030361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f70617573656400000000000000000000000000000000000000000000000000006044820152606401610511565b6003606555565b6000611311826114246115a6565b611b17565b6060888888888888888860405160200161144a989796959493929190612161565b604051602081830303815290604052905098975050505050505050565b600161147560206002612317565b61147f9190611ff5565b8260200154106114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c000000000000000000000000000000006044820152606401610511565b60018260200160008282546115009190612323565b9091555050602082015460005b602081101561159d578160011660010361153c578284826020811061153457611534612008565b015550505050565b83816020811061154e5761154e612008565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506002826115899190612336565b91508061159581612037565b91505061150d565b506105fd612371565b6115ae611be9565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b600054610100900460ff16611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610511565b6106143361127c565b600061137e604d602d848661206f565b6020820154600090815b6020811015611be157600182821c166000868360208110611b4457611b44612008565b0154905081600103611b81576040805160208101839052908101869052606001604051602081830303815290604052805190602001209450611bcc565b84868460208110611b9457611b94612008565b6020020151604051602001611bb3929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b50508080611bd990612037565b915050611b21565b505092915050565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff81168114611c1c57600080fd5b919050565b60008083601f840112611c3357600080fd5b50813567ffffffffffffffff811115611c4b57600080fd5b60208301915083602082850101111561139c57600080fd5b600080600080600060808688031215611c7b57600080fd5b611c8486611c08565b94506020860135935060408601359250606086013567ffffffffffffffff811115611cae57600080fd5b611cba88828901611c21565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ccd57600080fd5b60008060408385031215611d0057600080fd5b8235611d0b81611ccb565b91506020830135611d1b81611ccb565b809150509250929050565b60008060008060408587031215611d3c57600080fd5b843567ffffffffffffffff80821115611d5457600080fd5b611d6088838901611c21565b90965094506020870135915080821115611d7957600080fd5b50611d8687828801611c21565b95989497509550505050565b600060208284031215611da457600080fd5b5035919050565b600060208284031215611dbd57600080fd5b813561135781611ccb565b60008060008060608587031215611dde57600080fd5b611de785611c08565b935060208501359250604085013567ffffffffffffffff811115611e0a57600080fd5b611d8687828801611c21565b6104008101818360005b6020808210611e2f5750611e43565b825184529283019290910190600101611e20565b50505092915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000611ebb606083018486611e4c565b9695505050505050565b604081526000611ed9604083018688611e4c565b8281036020840152611eec818587611e4c565b979650505050505050565b600060208284031215611f0957600080fd5b8151801515811461135757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff828116828216039080821115611f6557611f65611f19565b5092915050565b600060208284031215611f7e57600080fd5b815161135781611ccb565b600060208083528351808285015260005b81811015611fb657858101830151858201604001528201611f9a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b8181038181111561131157611311611f19565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361206857612068611f19565b5060010190565b6000808585111561207f57600080fd5b8386111561208c57600080fd5b5050820193919092039150565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015611be15760019490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611be15760049490940360031b84901b1690921692915050565b80356020831015611311577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b600181815b8085111561225057817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561223657612236611f19565b8085161561224357918102915b93841c93908002906121fc565b509250929050565b60008261226757506001611311565b8161227457506000611311565b816001811461228a5760028114612294576122b0565b6001915050611311565b60ff8411156122a5576122a5611f19565b50506001821b611311565b5060208310610133831016604e8410600b84101617156122d3575081810a611311565b6122dd83836121f7565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561230f5761230f611f19565b029392505050565b60006113578383612258565b8082018082111561131157611311611f19565b60008261236c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122065e8f91295bc932f97783535f37d442bf758b60f2e81858fc7a5e0426b7f1b9664736f6c63430008110033";
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 TestQuerySender__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestQuerySender;
14
14
  connect(signer: Signer): TestQuerySender__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061097e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a8ad34f611610076578063af4071c71161005b578063af4071c71461017b578063c4d66de81461018e578063d6966187146101a157600080fd5b8063a8ad34f614610155578063aec3c52c1461016857600080fd5b80635520f36f116100a75780635520f36f146100e85780639a69b646146100fd5780639bc2fc6c1461011057600080fd5b8063150db4a8146100c357806334ef642c146100df575b600080fd5b6100cc60035481565b6040519081526020015b60405180910390f35b6100cc60025481565b6100fb6100f6366004610768565b6101b4565b005b6100fb61010b3660046107aa565b6101ec565b6001546101309073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100fb6101633660046107cc565b61027c565b6100fb6101763660046107cc565b6103be565b6100fb6101893660046107cc565b61048d565b6100fb61019c3660046107aa565b61055c565b6100fb6101af366004610768565b610730565b6040518181527ff2ef554b977530c721a8d510ec8ac455ae8cb0e35625475d0f8732e8a5a2cb0e9060200160405180910390a1600255565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f36de86782a8492c9a38d307c59ec9159da79f889af8cd357925017867e895d8f9060200160405180910390a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fd69661870000000000000000000000000000000000000000000000000000000060208201526024015b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610374939291906108c9565b6020604051808303816000875af1158015610393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b7919061092f565b5050505050565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f9a69b646000000000000000000000000000000000000000000000000000000006020820152602401610347565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f5520f36f000000000000000000000000000000000000000000000000000000006020820152602401610347565b600054610100900460ff161580801561057c5750600054600160ff909116105b806105965750303b158015610596575060005460ff166001145b610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561068457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602179055801561072c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6040518181527f01ee73d9a638efac5779e3690ad8edd267393c69a4903391cc34bce642ede6799060200160405180910390a1600355565b60006020828403121561077a57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146107a557600080fd5b919050565b6000602082840312156107bc57600080fd5b6107c582610781565b9392505050565b600080600080606085870312156107e257600080fd5b843563ffffffff811681146107f657600080fd5b935061080460208601610781565b9250604085013567ffffffffffffffff8082111561082157600080fd5b818701915087601f83011261083557600080fd5b81358181111561084457600080fd5b88602082850101111561085657600080fd5b95989497505060200194505050565b6000815180845260005b8181101561088b5760208185018101518683018201520161086f565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff8351166060820152600060208401516040608084015261091160a0840182610865565b905082810360408401526109258185610865565b9695505050505050565b60006020828403121561094157600080fd5b505191905056fea2646970667358221220bdfcf2535ebb8a1903e94512ee2e2bf85ced29108fb34b196287a7251739bb4464736f6c63430008110033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b506107d7806100206000396000f3fe6080604052600436106100b15760003560e01c80635956d610116100695780639bc2fc6c1161004e5780639bc2fc6c146101cb578063d69661871461021d578063ec2c076b1461023d57600080fd5b80635956d610146101985780639a69b646146101ab57600080fd5b806334ef642c1161009a57806334ef642c146100f4578063485cc9551461010a5780635520f36f1461017857600080fd5b8063150db4a8146100b65780632c5307cf146100df575b600080fd5b3480156100c257600080fd5b506100cc60045481565b6040519081526020015b60405180910390f35b6100f26100ed3660046105b4565b610250565b005b34801561010057600080fd5b506100cc60035481565b34801561011657600080fd5b506100f2610125366004610655565b6000805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b34801561018457600080fd5b506100f2610193366004610688565b61032f565b6100f26101a63660046105b4565b610367565b3480156101b757600080fd5b506100f26101c63660046106a1565b6103c3565b3480156101d757600080fd5b506002546101f89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b34801561022957600080fd5b506100f2610238366004610688565b610453565b6100f261024b3660046105b4565b61048b565b600080546040517fd696618700000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024015b6040516020818303038152906040526040518663ffffffff1660e01b81526004016102d79594939291906106c3565b6020604051808303816000875af11580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a9190610788565b90506103278187846104e7565b505050505050565b6040518181527ff2ef554b977530c721a8d510ec8ac455ae8cb0e35625475d0f8732e8a5a2cb0e9060200160405180910390a1600355565b600080546040517f9a69b64600000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024016102a8565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f36de86782a8492c9a38d307c59ec9159da79f889af8cd357925017867e895d8f9060200160405180910390a1600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040518181527f01ee73d9a638efac5779e3690ad8edd267393c69a4903391cc34bce642ede6799060200160405180910390a1600455565b600080546040517f5520f36f00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024016102a8565b6001546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810185905263ffffffff841660248201526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff909116906311bf2c189034906084016000604051808303818588803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b5050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146105af57600080fd5b919050565b6000806000806000608086880312156105cc57600080fd5b853563ffffffff811681146105e057600080fd5b94506105ee6020870161058b565b9350604086013567ffffffffffffffff8082111561060b57600080fd5b818801915088601f83011261061f57600080fd5b81358181111561062e57600080fd5b89602082850101111561064057600080fd5b96999598505060200195606001359392505050565b6000806040838503121561066857600080fd5b6106718361058b565b915061067f6020840161058b565b90509250929050565b60006020828403121561069a57600080fd5b5035919050565b6000602082840312156106b357600080fd5b6106bc8261058b565b9392505050565b63ffffffff861681526000602073ffffffffffffffffffffffffffffffffffffffff87168184015260806040840152846080840152848660a0850137600060a086850101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080601f870116840160a085820301606086015285518060a083015260005b818110156107635787810185015183820160c001528401610747565b50600060c0828401015260c083601f8301168301019450505050509695505050505050565b60006020828403121561079a57600080fd5b505191905056fea26469706673582212202f821fe52f4f12c50602f696d952e552f749f16b354dc0e67ef85e5f0816793a64736f6c63430008110033";
16
16
  static readonly abi: ({
17
17
  anonymous: boolean;
18
18
  inputs: {
@@ -1 +1 @@
1
- {"version":3,"file":"TestQuerySender__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/test/TestQuerySender__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AA4N7E,aAAK,gCAAgC,GACjC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,wBAAyB,SAAQ,eAAe;gBAC/C,GAAG,IAAI,EAAE,gCAAgC;IAQ5C,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,eAAe,CAAC;IAGlB,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAGxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAI1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,o0JAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,wBAAwB;IAGlD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,eAAe;CAGnB"}
1
+ {"version":3,"file":"TestQuerySender__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/test/TestQuerySender__factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAmO7E,aAAK,gCAAgC,GACjC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,wBAAyB,SAAQ,eAAe;gBAC/C,GAAG,IAAI,EAAE,gCAAgC;IAQ5C,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,eAAe,CAAC;IAGlB,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAC1D,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAGxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAI1D,MAAM,CAAC,QAAQ,CAAC,QAAQ,s/HAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,wBAAwB;IAGlD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,eAAe;CAGnB"}
@@ -4,19 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TestQuerySender__factory = void 0;
5
5
  const ethers_1 = require("ethers");
6
6
  const _abi = [
7
- {
8
- anonymous: false,
9
- inputs: [
10
- {
11
- indexed: false,
12
- internalType: "uint8",
13
- name: "version",
14
- type: "uint8",
15
- },
16
- ],
17
- name: "Initialized",
18
- type: "event",
19
- },
20
7
  {
21
8
  anonymous: false,
22
9
  inputs: [
@@ -102,6 +89,11 @@ const _abi = [
102
89
  name: "_queryRouterAddress",
103
90
  type: "address",
104
91
  },
92
+ {
93
+ internalType: "address",
94
+ name: "_interchainGasPaymaster",
95
+ type: "address",
96
+ },
105
97
  ],
106
98
  name: "initialize",
107
99
  outputs: [],
@@ -164,10 +156,15 @@ const _abi = [
164
156
  name: "_targetData",
165
157
  type: "bytes",
166
158
  },
159
+ {
160
+ internalType: "uint256",
161
+ name: "_gasAmount",
162
+ type: "uint256",
163
+ },
167
164
  ],
168
165
  name: "queryAddress",
169
166
  outputs: [],
170
- stateMutability: "nonpayable",
167
+ stateMutability: "payable",
171
168
  type: "function",
172
169
  },
173
170
  {
@@ -187,10 +184,15 @@ const _abi = [
187
184
  name: "_targetData",
188
185
  type: "bytes",
189
186
  },
187
+ {
188
+ internalType: "uint256",
189
+ name: "_gasAmount",
190
+ type: "uint256",
191
+ },
190
192
  ],
191
193
  name: "queryBytes32",
192
194
  outputs: [],
193
- stateMutability: "nonpayable",
195
+ stateMutability: "payable",
194
196
  type: "function",
195
197
  },
196
198
  {
@@ -210,14 +212,19 @@ const _abi = [
210
212
  name: "_targetData",
211
213
  type: "bytes",
212
214
  },
215
+ {
216
+ internalType: "uint256",
217
+ name: "_gasAmount",
218
+ type: "uint256",
219
+ },
213
220
  ],
214
221
  name: "queryUint256",
215
222
  outputs: [],
216
- stateMutability: "nonpayable",
223
+ stateMutability: "payable",
217
224
  type: "function",
218
225
  },
219
226
  ];
220
- const _bytecode = "0x608060405234801561001057600080fd5b5061097e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a8ad34f611610076578063af4071c71161005b578063af4071c71461017b578063c4d66de81461018e578063d6966187146101a157600080fd5b8063a8ad34f614610155578063aec3c52c1461016857600080fd5b80635520f36f116100a75780635520f36f146100e85780639a69b646146100fd5780639bc2fc6c1461011057600080fd5b8063150db4a8146100c357806334ef642c146100df575b600080fd5b6100cc60035481565b6040519081526020015b60405180910390f35b6100cc60025481565b6100fb6100f6366004610768565b6101b4565b005b6100fb61010b3660046107aa565b6101ec565b6001546101309073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100fb6101633660046107cc565b61027c565b6100fb6101763660046107cc565b6103be565b6100fb6101893660046107cc565b61048d565b6100fb61019c3660046107aa565b61055c565b6100fb6101af366004610768565b610730565b6040518181527ff2ef554b977530c721a8d510ec8ac455ae8cb0e35625475d0f8732e8a5a2cb0e9060200160405180910390a1600255565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f36de86782a8492c9a38d307c59ec9159da79f889af8cd357925017867e895d8f9060200160405180910390a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fd69661870000000000000000000000000000000000000000000000000000000060208201526024015b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610374939291906108c9565b6020604051808303816000875af1158015610393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b7919061092f565b5050505050565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f9a69b646000000000000000000000000000000000000000000000000000000006020820152602401610347565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395b1f3b38560405180604001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f5520f36f000000000000000000000000000000000000000000000000000000006020820152602401610347565b600054610100900460ff161580801561057c5750600054600160ff909116105b806105965750303b158015610596575060005460ff166001145b610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561068457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602179055801561072c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6040518181527f01ee73d9a638efac5779e3690ad8edd267393c69a4903391cc34bce642ede6799060200160405180910390a1600355565b60006020828403121561077a57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146107a557600080fd5b919050565b6000602082840312156107bc57600080fd5b6107c582610781565b9392505050565b600080600080606085870312156107e257600080fd5b843563ffffffff811681146107f657600080fd5b935061080460208601610781565b9250604085013567ffffffffffffffff8082111561082157600080fd5b818701915087601f83011261083557600080fd5b81358181111561084457600080fd5b88602082850101111561085657600080fd5b95989497505060200194505050565b6000815180845260005b8181101561088b5760208185018101518683018201520161086f565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b63ffffffff841681526060602082015273ffffffffffffffffffffffffffffffffffffffff8351166060820152600060208401516040608084015261091160a0840182610865565b905082810360408401526109258185610865565b9695505050505050565b60006020828403121561094157600080fd5b505191905056fea2646970667358221220bdfcf2535ebb8a1903e94512ee2e2bf85ced29108fb34b196287a7251739bb4464736f6c63430008110033";
227
+ const _bytecode = "0x608060405234801561001057600080fd5b506107d7806100206000396000f3fe6080604052600436106100b15760003560e01c80635956d610116100695780639bc2fc6c1161004e5780639bc2fc6c146101cb578063d69661871461021d578063ec2c076b1461023d57600080fd5b80635956d610146101985780639a69b646146101ab57600080fd5b806334ef642c1161009a57806334ef642c146100f4578063485cc9551461010a5780635520f36f1461017857600080fd5b8063150db4a8146100b65780632c5307cf146100df575b600080fd5b3480156100c257600080fd5b506100cc60045481565b6040519081526020015b60405180910390f35b6100f26100ed3660046105b4565b610250565b005b34801561010057600080fd5b506100cc60035481565b34801561011657600080fd5b506100f2610125366004610655565b6000805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054929093169116179055565b34801561018457600080fd5b506100f2610193366004610688565b61032f565b6100f26101a63660046105b4565b610367565b3480156101b757600080fd5b506100f26101c63660046106a1565b6103c3565b3480156101d757600080fd5b506002546101f89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b34801561022957600080fd5b506100f2610238366004610688565b610453565b6100f261024b3660046105b4565b61048b565b600080546040517fd696618700000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024015b6040516020818303038152906040526040518663ffffffff1660e01b81526004016102d79594939291906106c3565b6020604051808303816000875af11580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a9190610788565b90506103278187846104e7565b505050505050565b6040518181527ff2ef554b977530c721a8d510ec8ac455ae8cb0e35625475d0f8732e8a5a2cb0e9060200160405180910390a1600355565b600080546040517f9a69b64600000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024016102a8565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f36de86782a8492c9a38d307c59ec9159da79f889af8cd357925017867e895d8f9060200160405180910390a1600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040518181527f01ee73d9a638efac5779e3690ad8edd267393c69a4903391cc34bce642ede6799060200160405180910390a1600455565b600080546040517f5520f36f00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911690632222b4529088908890889088906024016102a8565b6001546040517f11bf2c180000000000000000000000000000000000000000000000000000000081526004810185905263ffffffff841660248201526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff909116906311bf2c189034906084016000604051808303818588803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b5050505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146105af57600080fd5b919050565b6000806000806000608086880312156105cc57600080fd5b853563ffffffff811681146105e057600080fd5b94506105ee6020870161058b565b9350604086013567ffffffffffffffff8082111561060b57600080fd5b818801915088601f83011261061f57600080fd5b81358181111561062e57600080fd5b89602082850101111561064057600080fd5b96999598505060200195606001359392505050565b6000806040838503121561066857600080fd5b6106718361058b565b915061067f6020840161058b565b90509250929050565b60006020828403121561069a57600080fd5b5035919050565b6000602082840312156106b357600080fd5b6106bc8261058b565b9392505050565b63ffffffff861681526000602073ffffffffffffffffffffffffffffffffffffffff87168184015260806040840152846080840152848660a0850137600060a086850101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080601f870116840160a085820301606086015285518060a083015260005b818110156107635787810185015183820160c001528401610747565b50600060c0828401015260c083601f8301168301019450505050509695505050505050565b60006020828403121561079a57600080fd5b505191905056fea26469706673582212202f821fe52f4f12c50602f696d952e552f749f16b354dc0e67ef85e5f0816793a64736f6c63430008110033";
221
228
  const isSuperArgs = (xs) => xs.length > 1;
222
229
  class TestQuerySender__factory extends ethers_1.ContractFactory {
223
230
  constructor(...args) {