@hyperlane-xyz/core 3.11.0-beta-0 → 3.11.0

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 (346) hide show
  1. package/contracts/client/MailboxClient.sol +39 -0
  2. package/contracts/hooks/warp-route/RateLimitedHook.sol +58 -0
  3. package/contracts/interfaces/hooks/IPostDispatchHook.sol +2 -1
  4. package/contracts/isms/TrustedRelayerIsm.sol +27 -0
  5. package/contracts/isms/warp-route/RateLimitedIsm.sol +53 -0
  6. package/contracts/libs/RateLimited.sol +107 -0
  7. package/contracts/test/ERC20Test.sol +38 -0
  8. package/contracts/test/TestPostDispatchHook.sol +11 -7
  9. package/contracts/token/HypNative.sol +9 -1
  10. package/contracts/token/{HypERC20CollateralVaultDeposit.sol → extensions/HypERC20CollateralVaultDeposit.sol} +1 -1
  11. package/contracts/token/extensions/HypFiatTokenCollateral.sol +32 -0
  12. package/contracts/token/extensions/HypNativeScaled.sol +8 -1
  13. package/contracts/token/extensions/HypXERC20Collateral.sol +26 -0
  14. package/contracts/token/interfaces/IFiatToken.sol +24 -0
  15. package/contracts/token/interfaces/IXERC20.sol +24 -0
  16. package/contracts/token/libs/TokenRouter.sol +63 -7
  17. package/dist/buildArtifact.d.ts +1 -0
  18. package/dist/buildArtifact.js +2 -0
  19. package/{buildArtifact.json → dist/buildArtifact.json} +1 -1
  20. package/dist/contracts/hooks/index.d.ts +2 -0
  21. package/dist/contracts/hooks/index.d.ts.map +1 -1
  22. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +521 -0
  23. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -0
  24. package/dist/contracts/hooks/warp-route/RateLimitedHook.js +2 -0
  25. package/dist/contracts/hooks/warp-route/RateLimitedHook.js.map +1 -0
  26. package/dist/contracts/hooks/warp-route/index.d.ts +2 -0
  27. package/dist/contracts/hooks/warp-route/index.d.ts.map +1 -0
  28. package/dist/contracts/hooks/warp-route/index.js +2 -0
  29. package/dist/contracts/hooks/warp-route/index.js.map +1 -0
  30. package/dist/contracts/isms/TrustedRelayerIsm.d.ts +95 -0
  31. package/dist/contracts/isms/TrustedRelayerIsm.d.ts.map +1 -0
  32. package/dist/contracts/isms/TrustedRelayerIsm.js +2 -0
  33. package/dist/contracts/isms/TrustedRelayerIsm.js.map +1 -0
  34. package/dist/contracts/isms/index.d.ts +3 -0
  35. package/dist/contracts/isms/index.d.ts.map +1 -1
  36. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts +491 -0
  37. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts.map +1 -0
  38. package/dist/contracts/isms/warp-route/RateLimitedIsm.js +2 -0
  39. package/dist/contracts/isms/warp-route/RateLimitedIsm.js.map +1 -0
  40. package/dist/contracts/isms/warp-route/index.d.ts +2 -0
  41. package/dist/contracts/isms/warp-route/index.d.ts.map +1 -0
  42. package/dist/contracts/isms/warp-route/index.js +2 -0
  43. package/dist/contracts/isms/warp-route/index.js.map +1 -0
  44. package/dist/contracts/libs/RateLimited.d.ts +304 -0
  45. package/dist/contracts/libs/RateLimited.d.ts.map +1 -0
  46. package/dist/contracts/libs/RateLimited.js +2 -0
  47. package/dist/contracts/libs/RateLimited.js.map +1 -0
  48. package/dist/contracts/libs/index.d.ts +1 -0
  49. package/dist/contracts/libs/index.d.ts.map +1 -1
  50. package/dist/contracts/test/{ERC20Test.d.ts → ERC20Test.sol/ERC20Test.d.ts} +1 -1
  51. package/dist/contracts/test/ERC20Test.sol/ERC20Test.d.ts.map +1 -0
  52. package/dist/contracts/test/ERC20Test.sol/ERC20Test.js.map +1 -0
  53. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts +423 -0
  54. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts.map +1 -0
  55. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.js +2 -0
  56. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.js.map +1 -0
  57. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts +423 -0
  58. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts.map +1 -0
  59. package/dist/contracts/test/ERC20Test.sol/XERC20Test.js +2 -0
  60. package/dist/contracts/test/ERC20Test.sol/XERC20Test.js.map +1 -0
  61. package/dist/contracts/test/ERC20Test.sol/index.d.ts +4 -0
  62. package/dist/contracts/test/ERC20Test.sol/index.d.ts.map +1 -0
  63. package/dist/contracts/test/ERC20Test.sol/index.js +2 -0
  64. package/dist/contracts/test/ERC20Test.sol/index.js.map +1 -0
  65. package/dist/contracts/test/TestPostDispatchHook.d.ts +20 -1
  66. package/dist/contracts/test/TestPostDispatchHook.d.ts.map +1 -1
  67. package/dist/contracts/test/index.d.ts +2 -1
  68. package/dist/contracts/test/index.d.ts.map +1 -1
  69. package/dist/contracts/token/HypERC20.d.ts +9 -8
  70. package/dist/contracts/token/HypERC20.d.ts.map +1 -1
  71. package/dist/contracts/token/HypERC20Collateral.d.ts +9 -8
  72. package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
  73. package/dist/contracts/token/HypERC721.d.ts +9 -8
  74. package/dist/contracts/token/HypERC721.d.ts.map +1 -1
  75. package/dist/contracts/token/HypERC721Collateral.d.ts +9 -8
  76. package/dist/contracts/token/HypERC721Collateral.d.ts.map +1 -1
  77. package/dist/contracts/token/HypNative.d.ts +9 -8
  78. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  79. package/dist/contracts/token/extensions/FastHypERC20.d.ts +9 -8
  80. package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
  81. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +9 -8
  82. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
  83. package/dist/contracts/token/{HypERC20CollateralVaultDeposit.d.ts → extensions/HypERC20CollateralVaultDeposit.d.ts} +10 -9
  84. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.d.ts.map +1 -0
  85. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.js.map +1 -0
  86. package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts +9 -8
  87. package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts.map +1 -1
  88. package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts +9 -8
  89. package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts.map +1 -1
  90. package/dist/contracts/token/extensions/HypFiatTokenCollateral.d.ts +646 -0
  91. package/dist/contracts/token/extensions/HypFiatTokenCollateral.d.ts.map +1 -0
  92. package/dist/contracts/token/extensions/HypFiatTokenCollateral.js +2 -0
  93. package/dist/contracts/token/extensions/HypFiatTokenCollateral.js.map +1 -0
  94. package/dist/contracts/token/extensions/HypNativeScaled.d.ts +9 -8
  95. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
  96. package/dist/contracts/token/extensions/HypXERC20Collateral.d.ts +646 -0
  97. package/dist/contracts/token/extensions/HypXERC20Collateral.d.ts.map +1 -0
  98. package/dist/contracts/token/extensions/HypXERC20Collateral.js +2 -0
  99. package/dist/contracts/token/extensions/HypXERC20Collateral.js.map +1 -0
  100. package/dist/contracts/token/extensions/index.d.ts +3 -0
  101. package/dist/contracts/token/extensions/index.d.ts.map +1 -1
  102. package/dist/contracts/token/index.d.ts +2 -1
  103. package/dist/contracts/token/index.d.ts.map +1 -1
  104. package/dist/contracts/token/interfaces/IFiatToken.d.ts +269 -0
  105. package/dist/contracts/token/interfaces/IFiatToken.d.ts.map +1 -0
  106. package/dist/contracts/token/interfaces/IFiatToken.js +2 -0
  107. package/dist/contracts/token/interfaces/IFiatToken.js.map +1 -0
  108. package/dist/contracts/token/interfaces/IXERC20.d.ts +269 -0
  109. package/dist/contracts/token/interfaces/IXERC20.d.ts.map +1 -0
  110. package/dist/contracts/token/interfaces/IXERC20.js +2 -0
  111. package/dist/contracts/token/interfaces/IXERC20.js.map +1 -0
  112. package/dist/contracts/token/interfaces/index.d.ts +3 -0
  113. package/dist/contracts/token/interfaces/index.d.ts.map +1 -0
  114. package/dist/contracts/token/interfaces/index.js +2 -0
  115. package/dist/contracts/token/interfaces/index.js.map +1 -0
  116. package/dist/contracts/token/libs/FastTokenRouter.d.ts +9 -8
  117. package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
  118. package/dist/contracts/token/libs/TokenRouter.d.ts +9 -8
  119. package/dist/contracts/token/libs/TokenRouter.d.ts.map +1 -1
  120. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  121. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  122. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  123. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  124. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  125. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  126. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  127. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  128. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  129. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  130. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  131. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  132. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  133. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  134. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  135. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  136. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  137. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  138. package/dist/factories/contracts/hooks/index.d.ts +1 -0
  139. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  140. package/dist/factories/contracts/hooks/index.js +1 -0
  141. package/dist/factories/contracts/hooks/index.js.map +1 -1
  142. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  143. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  144. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  145. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  146. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  147. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  148. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  149. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  150. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  151. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  152. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +329 -0
  153. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -0
  154. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +442 -0
  155. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -0
  156. package/dist/factories/contracts/hooks/warp-route/index.d.ts +2 -0
  157. package/dist/factories/contracts/hooks/warp-route/index.d.ts.map +1 -0
  158. package/dist/factories/contracts/hooks/warp-route/index.js +5 -0
  159. package/dist/factories/contracts/hooks/warp-route/index.js.map +1 -0
  160. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +81 -0
  161. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts.map +1 -0
  162. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +118 -0
  163. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js.map +1 -0
  164. package/dist/factories/contracts/isms/index.d.ts +2 -0
  165. package/dist/factories/contracts/isms/index.d.ts.map +1 -1
  166. package/dist/factories/contracts/isms/index.js +2 -0
  167. package/dist/factories/contracts/isms/index.js.map +1 -1
  168. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  169. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  170. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  171. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  172. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  173. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  174. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  175. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  176. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +301 -0
  177. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts.map +1 -0
  178. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +405 -0
  179. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js.map +1 -0
  180. package/dist/factories/contracts/isms/warp-route/index.d.ts +2 -0
  181. package/dist/factories/contracts/isms/warp-route/index.d.ts.map +1 -0
  182. package/dist/factories/contracts/isms/warp-route/index.js +5 -0
  183. package/dist/factories/contracts/isms/warp-route/index.js.map +1 -0
  184. package/dist/factories/contracts/libs/RateLimited__factory.d.ts +195 -0
  185. package/dist/factories/contracts/libs/RateLimited__factory.d.ts.map +1 -0
  186. package/dist/factories/contracts/libs/RateLimited__factory.js +266 -0
  187. package/dist/factories/contracts/libs/RateLimited__factory.js.map +1 -0
  188. package/dist/factories/contracts/libs/index.d.ts +1 -0
  189. package/dist/factories/contracts/libs/index.d.ts.map +1 -1
  190. package/dist/factories/contracts/libs/index.js +1 -0
  191. package/dist/factories/contracts/libs/index.js.map +1 -1
  192. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  193. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  194. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  195. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  196. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  197. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  198. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  199. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  200. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  201. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  202. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  203. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  204. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  205. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  206. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  207. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
  208. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  209. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
  210. package/dist/factories/contracts/test/{ERC20Test__factory.d.ts → ERC20Test.sol/ERC20Test__factory.d.ts} +2 -2
  211. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts.map +1 -0
  212. package/dist/factories/contracts/test/{ERC20Test__factory.js → ERC20Test.sol/ERC20Test__factory.js} +1 -1
  213. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js.map +1 -0
  214. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +309 -0
  215. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts.map +1 -0
  216. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +416 -0
  217. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js.map +1 -0
  218. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +309 -0
  219. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts.map +1 -0
  220. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +415 -0
  221. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js.map +1 -0
  222. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts +4 -0
  223. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts.map +1 -0
  224. package/dist/factories/contracts/test/ERC20Test.sol/index.js +7 -0
  225. package/dist/factories/contracts/test/ERC20Test.sol/index.js.map +1 -0
  226. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  227. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  228. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  229. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  230. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  231. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  232. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  233. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  234. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +15 -1
  235. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts.map +1 -1
  236. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +20 -1
  237. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js.map +1 -1
  238. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  239. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  240. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  241. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  242. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  243. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  244. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  245. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  246. package/dist/factories/contracts/test/index.d.ts +1 -1
  247. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  248. package/dist/factories/contracts/test/index.js +1 -1
  249. package/dist/factories/contracts/test/index.js.map +1 -1
  250. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +31 -1
  251. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  252. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +40 -1
  253. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  254. package/dist/factories/contracts/token/HypERC20__factory.d.ts +31 -1
  255. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  256. package/dist/factories/contracts/token/HypERC20__factory.js +40 -1
  257. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  258. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +31 -1
  259. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  260. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +40 -1
  261. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  262. package/dist/factories/contracts/token/HypERC721__factory.d.ts +31 -1
  263. package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
  264. package/dist/factories/contracts/token/HypERC721__factory.js +40 -1
  265. package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
  266. package/dist/factories/contracts/token/HypNative__factory.d.ts +31 -1
  267. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  268. package/dist/factories/contracts/token/HypNative__factory.js +40 -1
  269. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  270. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +31 -1
  271. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  272. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +40 -1
  273. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  274. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +31 -1
  275. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  276. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +40 -1
  277. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  278. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.d.ts +470 -0
  279. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.d.ts.map +1 -0
  280. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.js +621 -0
  281. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.js.map +1 -0
  282. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +31 -1
  283. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  284. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +40 -1
  285. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  286. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +31 -1
  287. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
  288. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +40 -1
  289. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
  290. package/dist/factories/contracts/token/extensions/HypFiatTokenCollateral__factory.d.ts +429 -0
  291. package/dist/factories/contracts/token/extensions/HypFiatTokenCollateral__factory.d.ts.map +1 -0
  292. package/dist/factories/contracts/token/extensions/HypFiatTokenCollateral__factory.js +569 -0
  293. package/dist/factories/contracts/token/extensions/HypFiatTokenCollateral__factory.js.map +1 -0
  294. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +31 -1
  295. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  296. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +40 -1
  297. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  298. package/dist/factories/contracts/token/extensions/HypXERC20Collateral__factory.d.ts +429 -0
  299. package/dist/factories/contracts/token/extensions/HypXERC20Collateral__factory.d.ts.map +1 -0
  300. package/dist/factories/contracts/token/extensions/HypXERC20Collateral__factory.js +569 -0
  301. package/dist/factories/contracts/token/extensions/HypXERC20Collateral__factory.js.map +1 -0
  302. package/dist/factories/contracts/token/extensions/index.d.ts +3 -0
  303. package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
  304. package/dist/factories/contracts/token/extensions/index.js +3 -0
  305. package/dist/factories/contracts/token/extensions/index.js.map +1 -1
  306. package/dist/factories/contracts/token/index.d.ts +1 -1
  307. package/dist/factories/contracts/token/index.d.ts.map +1 -1
  308. package/dist/factories/contracts/token/index.js +1 -1
  309. package/dist/factories/contracts/token/index.js.map +1 -1
  310. package/dist/factories/contracts/token/interfaces/IFiatToken__factory.d.ts +177 -0
  311. package/dist/factories/contracts/token/interfaces/IFiatToken__factory.d.ts.map +1 -0
  312. package/dist/factories/contracts/token/interfaces/IFiatToken__factory.js +236 -0
  313. package/dist/factories/contracts/token/interfaces/IFiatToken__factory.js.map +1 -0
  314. package/dist/factories/contracts/token/interfaces/IXERC20__factory.d.ts +177 -0
  315. package/dist/factories/contracts/token/interfaces/IXERC20__factory.d.ts.map +1 -0
  316. package/dist/factories/contracts/token/interfaces/IXERC20__factory.js +235 -0
  317. package/dist/factories/contracts/token/interfaces/IXERC20__factory.js.map +1 -0
  318. package/dist/factories/contracts/token/interfaces/index.d.ts +3 -0
  319. package/dist/factories/contracts/token/interfaces/index.d.ts.map +1 -0
  320. package/dist/factories/contracts/token/interfaces/index.js +6 -0
  321. package/dist/factories/contracts/token/interfaces/index.js.map +1 -0
  322. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +30 -0
  323. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
  324. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +39 -0
  325. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
  326. package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts +30 -0
  327. package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts.map +1 -1
  328. package/dist/factories/contracts/token/libs/TokenRouter__factory.js +39 -0
  329. package/dist/factories/contracts/token/libs/TokenRouter__factory.js.map +1 -1
  330. package/dist/index.d.ts +24 -4
  331. package/dist/index.d.ts.map +1 -1
  332. package/dist/index.js +12 -2
  333. package/dist/index.js.map +1 -1
  334. package/package.json +6 -6
  335. package/dist/contracts/test/ERC20Test.d.ts.map +0 -1
  336. package/dist/contracts/test/ERC20Test.js.map +0 -1
  337. package/dist/contracts/token/HypERC20CollateralVaultDeposit.d.ts.map +0 -1
  338. package/dist/contracts/token/HypERC20CollateralVaultDeposit.js.map +0 -1
  339. package/dist/factories/contracts/test/ERC20Test__factory.d.ts.map +0 -1
  340. package/dist/factories/contracts/test/ERC20Test__factory.js.map +0 -1
  341. package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.d.ts +0 -440
  342. package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.d.ts.map +0 -1
  343. package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.js +0 -582
  344. package/dist/factories/contracts/token/HypERC20CollateralVaultDeposit__factory.js.map +0 -1
  345. /package/dist/contracts/test/{ERC20Test.js → ERC20Test.sol/ERC20Test.js} +0 -0
  346. /package/dist/contracts/token/{HypERC20CollateralVaultDeposit.js → extensions/HypERC20CollateralVaultDeposit.js} +0 -0
@@ -0,0 +1,415 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { utils, Contract, ContractFactory, } from "ethers";
5
+ const _abi = [
6
+ {
7
+ inputs: [
8
+ {
9
+ internalType: "string",
10
+ name: "name",
11
+ type: "string",
12
+ },
13
+ {
14
+ internalType: "string",
15
+ name: "symbol",
16
+ type: "string",
17
+ },
18
+ {
19
+ internalType: "uint256",
20
+ name: "totalSupply",
21
+ type: "uint256",
22
+ },
23
+ {
24
+ internalType: "uint8",
25
+ name: "__decimals",
26
+ type: "uint8",
27
+ },
28
+ ],
29
+ stateMutability: "nonpayable",
30
+ type: "constructor",
31
+ },
32
+ {
33
+ anonymous: false,
34
+ inputs: [
35
+ {
36
+ indexed: true,
37
+ internalType: "address",
38
+ name: "owner",
39
+ type: "address",
40
+ },
41
+ {
42
+ indexed: true,
43
+ internalType: "address",
44
+ name: "spender",
45
+ type: "address",
46
+ },
47
+ {
48
+ indexed: false,
49
+ internalType: "uint256",
50
+ name: "value",
51
+ type: "uint256",
52
+ },
53
+ ],
54
+ name: "Approval",
55
+ type: "event",
56
+ },
57
+ {
58
+ anonymous: false,
59
+ inputs: [
60
+ {
61
+ indexed: true,
62
+ internalType: "address",
63
+ name: "from",
64
+ type: "address",
65
+ },
66
+ {
67
+ indexed: true,
68
+ internalType: "address",
69
+ name: "to",
70
+ type: "address",
71
+ },
72
+ {
73
+ indexed: false,
74
+ internalType: "uint256",
75
+ name: "value",
76
+ type: "uint256",
77
+ },
78
+ ],
79
+ name: "Transfer",
80
+ type: "event",
81
+ },
82
+ {
83
+ inputs: [],
84
+ name: "_decimals",
85
+ outputs: [
86
+ {
87
+ internalType: "uint8",
88
+ name: "",
89
+ type: "uint8",
90
+ },
91
+ ],
92
+ stateMutability: "view",
93
+ type: "function",
94
+ },
95
+ {
96
+ inputs: [
97
+ {
98
+ internalType: "address",
99
+ name: "owner",
100
+ type: "address",
101
+ },
102
+ {
103
+ internalType: "address",
104
+ name: "spender",
105
+ type: "address",
106
+ },
107
+ ],
108
+ name: "allowance",
109
+ outputs: [
110
+ {
111
+ internalType: "uint256",
112
+ name: "",
113
+ type: "uint256",
114
+ },
115
+ ],
116
+ stateMutability: "view",
117
+ type: "function",
118
+ },
119
+ {
120
+ inputs: [
121
+ {
122
+ internalType: "address",
123
+ name: "spender",
124
+ type: "address",
125
+ },
126
+ {
127
+ internalType: "uint256",
128
+ name: "amount",
129
+ type: "uint256",
130
+ },
131
+ ],
132
+ name: "approve",
133
+ outputs: [
134
+ {
135
+ internalType: "bool",
136
+ name: "",
137
+ type: "bool",
138
+ },
139
+ ],
140
+ stateMutability: "nonpayable",
141
+ type: "function",
142
+ },
143
+ {
144
+ inputs: [
145
+ {
146
+ internalType: "address",
147
+ name: "account",
148
+ type: "address",
149
+ },
150
+ ],
151
+ name: "balanceOf",
152
+ outputs: [
153
+ {
154
+ internalType: "uint256",
155
+ name: "",
156
+ type: "uint256",
157
+ },
158
+ ],
159
+ stateMutability: "view",
160
+ type: "function",
161
+ },
162
+ {
163
+ inputs: [
164
+ {
165
+ internalType: "address",
166
+ name: "account",
167
+ type: "address",
168
+ },
169
+ {
170
+ internalType: "uint256",
171
+ name: "amount",
172
+ type: "uint256",
173
+ },
174
+ ],
175
+ name: "burn",
176
+ outputs: [],
177
+ stateMutability: "nonpayable",
178
+ type: "function",
179
+ },
180
+ {
181
+ inputs: [],
182
+ name: "decimals",
183
+ outputs: [
184
+ {
185
+ internalType: "uint8",
186
+ name: "",
187
+ type: "uint8",
188
+ },
189
+ ],
190
+ stateMutability: "view",
191
+ type: "function",
192
+ },
193
+ {
194
+ inputs: [
195
+ {
196
+ internalType: "address",
197
+ name: "spender",
198
+ type: "address",
199
+ },
200
+ {
201
+ internalType: "uint256",
202
+ name: "subtractedValue",
203
+ type: "uint256",
204
+ },
205
+ ],
206
+ name: "decreaseAllowance",
207
+ outputs: [
208
+ {
209
+ internalType: "bool",
210
+ name: "",
211
+ type: "bool",
212
+ },
213
+ ],
214
+ stateMutability: "nonpayable",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [
219
+ {
220
+ internalType: "address",
221
+ name: "spender",
222
+ type: "address",
223
+ },
224
+ {
225
+ internalType: "uint256",
226
+ name: "addedValue",
227
+ type: "uint256",
228
+ },
229
+ ],
230
+ name: "increaseAllowance",
231
+ outputs: [
232
+ {
233
+ internalType: "bool",
234
+ name: "",
235
+ type: "bool",
236
+ },
237
+ ],
238
+ stateMutability: "nonpayable",
239
+ type: "function",
240
+ },
241
+ {
242
+ inputs: [
243
+ {
244
+ internalType: "address",
245
+ name: "account",
246
+ type: "address",
247
+ },
248
+ {
249
+ internalType: "uint256",
250
+ name: "amount",
251
+ type: "uint256",
252
+ },
253
+ ],
254
+ name: "mint",
255
+ outputs: [],
256
+ stateMutability: "nonpayable",
257
+ type: "function",
258
+ },
259
+ {
260
+ inputs: [
261
+ {
262
+ internalType: "uint256",
263
+ name: "amount",
264
+ type: "uint256",
265
+ },
266
+ ],
267
+ name: "mint",
268
+ outputs: [],
269
+ stateMutability: "nonpayable",
270
+ type: "function",
271
+ },
272
+ {
273
+ inputs: [
274
+ {
275
+ internalType: "address",
276
+ name: "account",
277
+ type: "address",
278
+ },
279
+ {
280
+ internalType: "uint256",
281
+ name: "amount",
282
+ type: "uint256",
283
+ },
284
+ ],
285
+ name: "mintTo",
286
+ outputs: [],
287
+ stateMutability: "nonpayable",
288
+ type: "function",
289
+ },
290
+ {
291
+ inputs: [],
292
+ name: "name",
293
+ outputs: [
294
+ {
295
+ internalType: "string",
296
+ name: "",
297
+ type: "string",
298
+ },
299
+ ],
300
+ stateMutability: "view",
301
+ type: "function",
302
+ },
303
+ {
304
+ inputs: [],
305
+ name: "symbol",
306
+ outputs: [
307
+ {
308
+ internalType: "string",
309
+ name: "",
310
+ type: "string",
311
+ },
312
+ ],
313
+ stateMutability: "view",
314
+ type: "function",
315
+ },
316
+ {
317
+ inputs: [],
318
+ name: "totalSupply",
319
+ outputs: [
320
+ {
321
+ internalType: "uint256",
322
+ name: "",
323
+ type: "uint256",
324
+ },
325
+ ],
326
+ stateMutability: "view",
327
+ type: "function",
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: "address",
333
+ name: "to",
334
+ type: "address",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "amount",
339
+ type: "uint256",
340
+ },
341
+ ],
342
+ name: "transfer",
343
+ outputs: [
344
+ {
345
+ internalType: "bool",
346
+ name: "",
347
+ type: "bool",
348
+ },
349
+ ],
350
+ stateMutability: "nonpayable",
351
+ type: "function",
352
+ },
353
+ {
354
+ inputs: [
355
+ {
356
+ internalType: "address",
357
+ name: "from",
358
+ type: "address",
359
+ },
360
+ {
361
+ internalType: "address",
362
+ name: "to",
363
+ type: "address",
364
+ },
365
+ {
366
+ internalType: "uint256",
367
+ name: "amount",
368
+ type: "uint256",
369
+ },
370
+ ],
371
+ name: "transferFrom",
372
+ outputs: [
373
+ {
374
+ internalType: "bool",
375
+ name: "",
376
+ type: "bool",
377
+ },
378
+ ],
379
+ stateMutability: "nonpayable",
380
+ type: "function",
381
+ },
382
+ ];
383
+ const _bytecode = "0x60a06040523480156200001157600080fd5b50604051620013043803806200130483398101604081905262000034916200020b565b838383838383600362000048838262000326565b50600462000057828262000326565b50505060ff81166080526200006d33836200007b565b50505050505050506200041a565b6001600160a01b038216620000d65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000ea9190620003f2565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016e57600080fd5b81516001600160401b03808211156200018b576200018b62000146565b604051601f8301601f19908116603f01168101908282118183101715620001b657620001b662000146565b81604052838152602092508683858801011115620001d357600080fd5b600091505b83821015620001f75785820183015181830184015290820190620001d8565b600093810190920192909252949350505050565b600080600080608085870312156200022257600080fd5b84516001600160401b03808211156200023a57600080fd5b62000248888389016200015c565b955060208701519150808211156200025f57600080fd5b506200026e878288016200015c565b93505060408501519150606085015160ff811681146200028d57600080fd5b939692955090935050565b600181811c90821680620002ad57607f821691505b602082108103620002ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200014157600081815260208120601f850160051c81016020861015620002fd5750805b601f850160051c820191505b818110156200031e5782815560010162000309565b505050505050565b81516001600160401b0381111562000342576200034262000146565b6200035a8162000353845462000298565b84620002d4565b602080601f831160018114620003925760008415620003795750858301515b600019600386901b1c1916600185901b1785556200031e565b600085815260208120601f198616915b82811015620003c357888601518255948401946001909101908401620003a2565b5085821015620003e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200041457634e487b7160e01b600052601160045260246000fd5b92915050565b608051610ec76200043d6000396000818161016d01526101a40152610ec76000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063449a52f811610097578063a0712d6811610066578063a0712d681461023f578063a457c2d714610252578063a9059cbb14610265578063dd62ed3e1461027857600080fd5b8063449a52f8146101d957806370a08231146101ee57806395d89b41146102245780639dc29fac1461022c57600080fd5b8063313ce567116100d3578063313ce5671461016b57806332424aa31461019f57806339509351146101c657806340c10f19146101d957600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d6102be565b60405161011a9190610c9b565b60405180910390f35b610136610131366004610d30565b610350565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610d5a565b61036a565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff909116815260200161011a565b61018d7f000000000000000000000000000000000000000000000000000000000000000081565b6101366101d4366004610d30565b61038e565b6101ec6101e7366004610d30565b6103da565b005b61014a6101fc366004610d96565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61010d6103e8565b6101ec61023a366004610d30565b6103f7565b6101ec61024d366004610db8565b610401565b610136610260366004610d30565b61040e565b610136610273366004610d30565b6104e4565b61014a610286366004610dd1565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102cd90610e04565b80601f01602080910402602001604051908101604052809291908181526020018280546102f990610e04565b80156103465780601f1061031b57610100808354040283529160200191610346565b820191906000526020600020905b81548152906001019060200180831161032957829003601f168201915b5050505050905090565b60003361035e8185856104f2565b60019150505b92915050565b6000336103788582856106a6565b61038385858561077d565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061035e90829086906103d5908790610e57565b6104f2565b6103e482826109ec565b5050565b6060600480546102cd90610e04565b6103e48282610adf565b61040b33826109ec565b50565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156104d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61038382868684036104f2565b60003361035e81858561077d565b73ffffffffffffffffffffffffffffffffffffffff8316610594576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff8216610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610777578181101561076a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104ce565b61077784848484036104f2565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff82166108c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610777565b73ffffffffffffffffffffffffffffffffffffffff8216610a69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104ce565b8060026000828254610a7b9190610e57565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610699565b600060208083528351808285015260005b81811015610cc857858101830151858201604001528201610cac565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d2b57600080fd5b919050565b60008060408385031215610d4357600080fd5b610d4c83610d07565b946020939093013593505050565b600080600060608486031215610d6f57600080fd5b610d7884610d07565b9250610d8660208501610d07565b9150604084013590509250925092565b600060208284031215610da857600080fd5b610db182610d07565b9392505050565b600060208284031215610dca57600080fd5b5035919050565b60008060408385031215610de457600080fd5b610ded83610d07565b9150610dfb60208401610d07565b90509250929050565b600181811c90821680610e1857607f821691505b602082108103610e51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820180821115610364577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122048d825649a0a3bae6e9fca0e0344bfdcbbd5cca123faa502b9473122a7ce17ed64736f6c63430008130033";
384
+ const isSuperArgs = (xs) => xs.length > 1;
385
+ export class XERC20Test__factory extends ContractFactory {
386
+ constructor(...args) {
387
+ if (isSuperArgs(args)) {
388
+ super(...args);
389
+ }
390
+ else {
391
+ super(_abi, _bytecode, args[0]);
392
+ }
393
+ }
394
+ deploy(name, symbol, totalSupply, __decimals, overrides) {
395
+ return super.deploy(name, symbol, totalSupply, __decimals, overrides || {});
396
+ }
397
+ getDeployTransaction(name, symbol, totalSupply, __decimals, overrides) {
398
+ return super.getDeployTransaction(name, symbol, totalSupply, __decimals, overrides || {});
399
+ }
400
+ attach(address) {
401
+ return super.attach(address);
402
+ }
403
+ connect(signer) {
404
+ return super.connect(signer);
405
+ }
406
+ static bytecode = _bytecode;
407
+ static abi = _abi;
408
+ static createInterface() {
409
+ return new utils.Interface(_abi);
410
+ }
411
+ static connect(address, signerOrProvider) {
412
+ return new Contract(address, _abi, signerOrProvider);
413
+ }
414
+ }
415
+ //# sourceMappingURL=XERC20Test__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XERC20Test__factory.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAEL,KAAK,EACL,QAAQ,EACR,eAAe,GAGhB,MAAM,QAAQ,CAAC;AAOhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,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;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,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,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,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,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,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;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;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,MAAM;QACZ,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,QAAQ;QACd,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,aAAa;QACnB,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,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,4gTAA4gT,CAAC;AAM/gT,MAAM,WAAW,GAAG,CAClB,EAA+B,EACsB,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,GAAG,IAAiC;QAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,MAAM,CACb,IAAY,EACZ,MAAc,EACd,WAAyB,EACzB,UAAwB,EACxB,SAAyC;QAEzC,OAAO,KAAK,CAAC,MAAM,CACjB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,UAAU,EACV,SAAS,IAAI,EAAE,CACO,CAAC;IAC3B,CAAC;IACQ,oBAAoB,CAC3B,IAAY,EACZ,MAAc,EACd,WAAyB,EACzB,UAAwB,EACxB,SAAyC;QAEzC,OAAO,KAAK,CAAC,oBAAoB,CAC/B,IAAI,EACJ,MAAM,EACN,WAAW,EACX,UAAU,EACV,SAAS,IAAI,EAAE,CAChB,CAAC;IACJ,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAe,CAAC;IAC7C,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAwB,CAAC;IACtD,CAAC;IAED,MAAM,CAAU,QAAQ,GAAG,SAAS,CAAC;IACrC,MAAM,CAAU,GAAG,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAwB,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAe,CAAC;IACrE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ERC20Test__factory } from "./ERC20Test__factory.js";
2
+ export { FiatTokenTest__factory } from "./FiatTokenTest__factory.js";
3
+ export { XERC20Test__factory } from "./XERC20Test__factory.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { ERC20Test__factory } from "./ERC20Test__factory.js";
5
+ export { FiatTokenTest__factory } from "./FiatTokenTest__factory.js";
6
+ export { XERC20Test__factory } from "./XERC20Test__factory.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/test/ERC20Test.sol/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -12,7 +12,7 @@ export declare class TestGasRouter__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestGasRouter;
14
14
  connect(signer: Signer): TestGasRouter__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e1a38038062001e1a833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c0f6200020b60003960006103120152600081816103c60152818161073401528181610f7501526111540152611c0f6000f3fe60806040526004361061016a5760003560e01c80637f5a7c7b116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610435578063f2ed8c5314610455578063f2fde38b1461047557600080fd5b8063d5438eae146103b4578063de523cf3146103e8578063e9198bf91461041557600080fd5b80638da5cb5b116100b05780638da5cb5b14610349578063b1bd643614610374578063b49c53a71461039457600080fd5b80637f5a7c7b146102ae5780638d3638f41461030057600080fd5b806356d5d4751161012257806371a15b381161010757806371a15b381461024e5780637249609f1461026e578063775313a11461028157600080fd5b806356d5d47514610226578063715018a61461023957600080fd5b80633dfd3873116101535780633dfd3873146101c4578063440df4f4146101e457806349d462ef1461020657600080fd5b80630e72cc061461016f5780632ead72f614610191575b600080fd5b34801561017b57600080fd5b5061018f61018a36600461154e565b610495565b005b34801561019d57600080fd5b506101b16101ac36600461159d565b6105b0565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5061018f6101df36600461154e565b6105cf565b3480156101f057600080fd5b506101f96106e5565b6040516101bb91906115b8565b34801561021257600080fd5b5061018f610221366004611602565b6106f6565b61018f61023436600461162c565b61071c565b34801561024557600080fd5b5061018f610884565b34801561025a57600080fd5b5061018f6102693660046116f8565b610898565b61018f61027c366004611769565b6108f3565b34801561028d57600080fd5b506101b161029c36600461159d565b60ca6020526000908152604090205481565b3480156102ba57600080fd5b506065546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561030c57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101bb565b34801561035557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102db565b34801561038057600080fd5b5061018f61038f366004611849565b610902565b3480156103a057600080fd5b5061018f6103af366004611602565b610987565b3480156103c057600080fd5b506102db7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f457600080fd5b506066546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b5061018f6104303660046118be565b610999565b34801561044157600080fd5b5061018f61045036600461159d565b610a78565b34801561046157600080fd5b506101b161047036600461159d565b610a8c565b34801561048157600080fd5b5061018f61049036600461154e565b610aad565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104cf575073ffffffffffffffffffffffffffffffffffffffff8116155b610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610568610b61565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806105c7609763ffffffff80861690610be216565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610609575073ffffffffffffffffffffffffffffffffffffffff8116155b610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610557565b61069d610b61565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106f16097610bfb565b905090565b6106fe610b61565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610557565b60006107ec85610cb6565b905083811461087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610557565b5050505050565b61088c610b61565b6108966000610d1c565b565b6108a0610b61565b8060005b818110156108ed576108db8484838181106108c1576108c161192a565b90506020020160208101906108d6919061159d565b610d93565b6108e6600182611988565b90506108a4565b50505050565b6108fd8282610de8565b505050565b61090a610b61565b60005b818110156108fd5761097583838381811061092a5761092a61192a565b610940926020604090920201908101915061159d565b8484848181106109525761095261192a565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610980600182611988565b905061090d565b61098f610b61565b6107188282610dfc565b6109a1610b61565b828114610a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610557565b8260005b81811015610a7057610a5e868683818110610a2b57610a2b61192a565b9050602002016020810190610a40919061159d565b858584818110610a5257610a5261192a565b90506020020135610dfc565b610a69600182611988565b9050610a0e565b505050505050565b610a80610b61565b610a8981610d93565b50565b6000610aa78260405180602001604052806000815250610e12565b92915050565b610ab5610b61565b73ffffffffffffffffffffffffffffffffffffffff8116610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610557565b610a8981610d1c565b60335473ffffffffffffffffffffffffffffffffffffffff163314610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610557565b600080610bef8484610e2b565b915091505b9250929050565b60606000610c0883610e65565b9050805167ffffffffffffffff811115610c2457610c2461173a565b604051908082528060200260200182016040528015610c4d578160200160208202803683370190505b50915060005b8151811015610caf57818181518110610c6e57610c6e61192a565b6020026020010151838281518110610c8857610c8861192a565b63ffffffff9092166020928302919091019091015280610ca78161199b565b915050610c53565b5050919050565b60008080610cce609763ffffffff80871690610be216565b9150915081610cdc85610f00565b90610d14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b509392505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610da7609763ffffffff80841690610f3716565b610db082610f00565b90610718576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b6000610df5833484610f43565b9392505050565b610718609763ffffffff808516908490610f6616565b600080610e1e84610cb6565b90506105c7848285610f71565b6000818152600283016020526040812054819080610e5a57610e4d8585611052565b925060009150610bf49050565b600192509050610bf4565b60606000610e728361105e565b90508067ffffffffffffffff811115610e8d57610e8d61173a565b604051908082528060200260200182016040528015610eb6578160200160208202803683370190505b50915060005b81811015610caf57610ece8482611069565b60001c838281518110610ee357610ee361192a565b602090810291909101015280610ef88161199b565b915050610ebc565b6060610f118263ffffffff16611075565b604051602001610f219190611a54565b6040516020818303038152906040529050919050565b6000610df58383611133565b600080610f4f85610cb6565b9050610f5d85828686611150565b95945050505050565b6108ed838383611234565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381d2ea95858585610fbb89611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152611011959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190611af9565b6000610df58383611273565b6000610aa78261128b565b6000610df58383611295565b60606000611082836112bf565b600101905060008167ffffffffffffffff8111156110a2576110a261173a565b6040519080825280601f01601f1916602001820160405280156110cc576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846110d657509392505050565b60008181526002830160205260408120819055610df583836113a1565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08487878661119b8b611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b1681526111f1959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b60206040518083038185885af115801561120f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5d9190611af9565b600082815260028401602052604081208290556105c784846113ad565b63ffffffff8116600090815260ca6020526040902054606090610aa7906113b9565b60008181526001830160205260408120541515610df5565b6000610aa7825490565b60008260000182815481106112ac576112ac61192a565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611308577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611334576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061135257662386f26fc10000830492506010015b6305f5e100831061136a576305f5e100830492506008015b612710831061137e57612710830492506004015b60648310611390576064830492506002015b600a8310610aa75760010192915050565b6000610df583836113d7565b6000610df583836114ca565b6060610aa76000833360405180602001604052806000815250611519565b600081815260018301602052604081205480156114c05760006113fb600183611b12565b855490915060009061140f90600190611b12565b905081811461147457600086600001828154811061142f5761142f61192a565b90600052602060002001549050808760000184815481106114525761145261192a565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061148557611485611b25565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610aa7565b6000915050610aa7565b600081815260018301602052604081205461151157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610aa7565b506000610aa7565b6060600185858585604051602001611535959493929190611b54565b6040516020818303038152906040529050949350505050565b60006020828403121561156057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610df557600080fd5b803563ffffffff8116811461159857600080fd5b919050565b6000602082840312156115af57600080fd5b610df582611584565b6020808252825182820181905260009190848201906040850190845b818110156115f657835163ffffffff16835292840192918401916001016115d4565b50909695505050505050565b6000806040838503121561161557600080fd5b61161e83611584565b946020939093013593505050565b6000806000806060858703121561164257600080fd5b61164b85611584565b935060208501359250604085013567ffffffffffffffff8082111561166f57600080fd5b818701915087601f83011261168357600080fd5b81358181111561169257600080fd5b8860208285010111156116a457600080fd5b95989497505060200194505050565b60008083601f8401126116c557600080fd5b50813567ffffffffffffffff8111156116dd57600080fd5b6020830191508360208260051b8501011115610bf457600080fd5b6000806020838503121561170b57600080fd5b823567ffffffffffffffff81111561172257600080fd5b61172e858286016116b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561177c57600080fd5b61178583611584565b9150602083013567ffffffffffffffff808211156117a257600080fd5b818501915085601f8301126117b657600080fd5b8135818111156117c8576117c861173a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561180e5761180e61173a565b8160405282815288602084870101111561182757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806020838503121561185c57600080fd5b823567ffffffffffffffff8082111561187457600080fd5b818501915085601f83011261188857600080fd5b81358181111561189757600080fd5b8660208260061b85010111156118ac57600080fd5b60209290920196919550909350505050565b600080600080604085870312156118d457600080fd5b843567ffffffffffffffff808211156118ec57600080fd5b6118f8888389016116b3565b9096509450602087013591508082111561191157600080fd5b5061191e878288016116b3565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610aa757610aa7611959565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119cc576119cc611959565b5060010190565b60005b838110156119ee5781810151838201526020016119d6565b50506000910152565b60008151808452611a0f8160208601602086016119d3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610df560208301846119f7565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611a8c81601f8501602087016119d3565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611abe60a08301866119f7565b8281036060840152611ad081866119f7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b0b57600080fd5b5051919050565b81810381811115610aa757610aa7611959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bc88160568501602087016119d3565b91909101605601969550505050505056fea2646970667358221220bdd7f06417fd97309d250f2ce5c582106dc96e20d7552e553db90a20984aa75864736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e1a38038062001e1a833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c0f6200020b60003960006103120152600081816103c60152818161073401528181610f7501526111540152611c0f6000f3fe60806040526004361061016a5760003560e01c80637f5a7c7b116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610435578063f2ed8c5314610455578063f2fde38b1461047557600080fd5b8063d5438eae146103b4578063de523cf3146103e8578063e9198bf91461041557600080fd5b80638da5cb5b116100b05780638da5cb5b14610349578063b1bd643614610374578063b49c53a71461039457600080fd5b80637f5a7c7b146102ae5780638d3638f41461030057600080fd5b806356d5d4751161012257806371a15b381161010757806371a15b381461024e5780637249609f1461026e578063775313a11461028157600080fd5b806356d5d47514610226578063715018a61461023957600080fd5b80633dfd3873116101535780633dfd3873146101c4578063440df4f4146101e457806349d462ef1461020657600080fd5b80630e72cc061461016f5780632ead72f614610191575b600080fd5b34801561017b57600080fd5b5061018f61018a36600461154e565b610495565b005b34801561019d57600080fd5b506101b16101ac36600461159d565b6105b0565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5061018f6101df36600461154e565b6105cf565b3480156101f057600080fd5b506101f96106e5565b6040516101bb91906115b8565b34801561021257600080fd5b5061018f610221366004611602565b6106f6565b61018f61023436600461162c565b61071c565b34801561024557600080fd5b5061018f610884565b34801561025a57600080fd5b5061018f6102693660046116f8565b610898565b61018f61027c366004611769565b6108f3565b34801561028d57600080fd5b506101b161029c36600461159d565b60ca6020526000908152604090205481565b3480156102ba57600080fd5b506065546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561030c57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101bb565b34801561035557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102db565b34801561038057600080fd5b5061018f61038f366004611849565b610902565b3480156103a057600080fd5b5061018f6103af366004611602565b610987565b3480156103c057600080fd5b506102db7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f457600080fd5b506066546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b5061018f6104303660046118be565b610999565b34801561044157600080fd5b5061018f61045036600461159d565b610a78565b34801561046157600080fd5b506101b161047036600461159d565b610a8c565b34801561048157600080fd5b5061018f61049036600461154e565b610aad565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104cf575073ffffffffffffffffffffffffffffffffffffffff8116155b610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610568610b61565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806105c7609763ffffffff80861690610be216565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610609575073ffffffffffffffffffffffffffffffffffffffff8116155b610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610557565b61069d610b61565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106f16097610bfb565b905090565b6106fe610b61565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610557565b60006107ec85610cb6565b905083811461087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610557565b5050505050565b61088c610b61565b6108966000610d1c565b565b6108a0610b61565b8060005b818110156108ed576108db8484838181106108c1576108c161192a565b90506020020160208101906108d6919061159d565b610d93565b6108e6600182611988565b90506108a4565b50505050565b6108fd8282610de8565b505050565b61090a610b61565b60005b818110156108fd5761097583838381811061092a5761092a61192a565b610940926020604090920201908101915061159d565b8484848181106109525761095261192a565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610980600182611988565b905061090d565b61098f610b61565b6107188282610dfc565b6109a1610b61565b828114610a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610557565b8260005b81811015610a7057610a5e868683818110610a2b57610a2b61192a565b9050602002016020810190610a40919061159d565b858584818110610a5257610a5261192a565b90506020020135610dfc565b610a69600182611988565b9050610a0e565b505050505050565b610a80610b61565b610a8981610d93565b50565b6000610aa78260405180602001604052806000815250610e12565b92915050565b610ab5610b61565b73ffffffffffffffffffffffffffffffffffffffff8116610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610557565b610a8981610d1c565b60335473ffffffffffffffffffffffffffffffffffffffff163314610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610557565b600080610bef8484610e2b565b915091505b9250929050565b60606000610c0883610e65565b9050805167ffffffffffffffff811115610c2457610c2461173a565b604051908082528060200260200182016040528015610c4d578160200160208202803683370190505b50915060005b8151811015610caf57818181518110610c6e57610c6e61192a565b6020026020010151838281518110610c8857610c8861192a565b63ffffffff9092166020928302919091019091015280610ca78161199b565b915050610c53565b5050919050565b60008080610cce609763ffffffff80871690610be216565b9150915081610cdc85610f00565b90610d14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b509392505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610da7609763ffffffff80841690610f3716565b610db082610f00565b90610718576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b6000610df5833484610f43565b9392505050565b610718609763ffffffff808516908490610f6616565b600080610e1e84610cb6565b90506105c7848285610f71565b6000818152600283016020526040812054819080610e5a57610e4d8585611052565b925060009150610bf49050565b600192509050610bf4565b60606000610e728361105e565b90508067ffffffffffffffff811115610e8d57610e8d61173a565b604051908082528060200260200182016040528015610eb6578160200160208202803683370190505b50915060005b81811015610caf57610ece8482611069565b60001c838281518110610ee357610ee361192a565b602090810291909101015280610ef88161199b565b915050610ebc565b6060610f118263ffffffff16611075565b604051602001610f219190611a54565b6040516020818303038152906040529050919050565b6000610df58383611133565b600080610f4f85610cb6565b9050610f5d85828686611150565b95945050505050565b6108ed838383611234565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381d2ea95858585610fbb89611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152611011959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190611af9565b6000610df58383611273565b6000610aa78261128b565b6000610df58383611295565b60606000611082836112bf565b600101905060008167ffffffffffffffff8111156110a2576110a261173a565b6040519080825280601f01601f1916602001820160405280156110cc576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846110d657509392505050565b60008181526002830160205260408120819055610df583836113a1565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08487878661119b8b611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b1681526111f1959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b60206040518083038185885af115801561120f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5d9190611af9565b600082815260028401602052604081208290556105c784846113ad565b63ffffffff8116600090815260ca6020526040902054606090610aa7906113b9565b60008181526001830160205260408120541515610df5565b6000610aa7825490565b60008260000182815481106112ac576112ac61192a565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611308577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611334576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061135257662386f26fc10000830492506010015b6305f5e100831061136a576305f5e100830492506008015b612710831061137e57612710830492506004015b60648310611390576064830492506002015b600a8310610aa75760010192915050565b6000610df583836113d7565b6000610df583836114ca565b6060610aa76000833360405180602001604052806000815250611519565b600081815260018301602052604081205480156114c05760006113fb600183611b12565b855490915060009061140f90600190611b12565b905081811461147457600086600001828154811061142f5761142f61192a565b90600052602060002001549050808760000184815481106114525761145261192a565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061148557611485611b25565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610aa7565b6000915050610aa7565b600081815260018301602052604081205461151157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610aa7565b506000610aa7565b6060600185858585604051602001611535959493929190611b54565b6040516020818303038152906040529050949350505050565b60006020828403121561156057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610df557600080fd5b803563ffffffff8116811461159857600080fd5b919050565b6000602082840312156115af57600080fd5b610df582611584565b6020808252825182820181905260009190848201906040850190845b818110156115f657835163ffffffff16835292840192918401916001016115d4565b50909695505050505050565b6000806040838503121561161557600080fd5b61161e83611584565b946020939093013593505050565b6000806000806060858703121561164257600080fd5b61164b85611584565b935060208501359250604085013567ffffffffffffffff8082111561166f57600080fd5b818701915087601f83011261168357600080fd5b81358181111561169257600080fd5b8860208285010111156116a457600080fd5b95989497505060200194505050565b60008083601f8401126116c557600080fd5b50813567ffffffffffffffff8111156116dd57600080fd5b6020830191508360208260051b8501011115610bf457600080fd5b6000806020838503121561170b57600080fd5b823567ffffffffffffffff81111561172257600080fd5b61172e858286016116b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561177c57600080fd5b61178583611584565b9150602083013567ffffffffffffffff808211156117a257600080fd5b818501915085601f8301126117b657600080fd5b8135818111156117c8576117c861173a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561180e5761180e61173a565b8160405282815288602084870101111561182757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806020838503121561185c57600080fd5b823567ffffffffffffffff8082111561187457600080fd5b818501915085601f83011261188857600080fd5b81358181111561189757600080fd5b8660208260061b85010111156118ac57600080fd5b60209290920196919550909350505050565b600080600080604085870312156118d457600080fd5b843567ffffffffffffffff808211156118ec57600080fd5b6118f8888389016116b3565b9096509450602087013591508082111561191157600080fd5b5061191e878288016116b3565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610aa757610aa7611959565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119cc576119cc611959565b5060010190565b60005b838110156119ee5781810151838201526020016119d6565b50506000910152565b60008151808452611a0f8160208601602086016119d3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610df560208301846119f7565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611a8c81601f8501602087016119d3565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611abe60a08301866119f7565b8281036060840152611ad081866119f7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b0b57600080fd5b5051919050565b81810381811115610aa757610aa7611959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bc88160568501602087016119d3565b91909101605601969550505050505056fea2646970667358221220ac51b66db0e089f32edf7b86e01aa77810ce1e17d4641e97f47be2d0145ca64964736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -374,7 +374,7 @@ const _abi = [
374
374
  type: "function",
375
375
  },
376
376
  ];
377
- const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e1a38038062001e1a833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c0f6200020b60003960006103120152600081816103c60152818161073401528181610f7501526111540152611c0f6000f3fe60806040526004361061016a5760003560e01c80637f5a7c7b116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610435578063f2ed8c5314610455578063f2fde38b1461047557600080fd5b8063d5438eae146103b4578063de523cf3146103e8578063e9198bf91461041557600080fd5b80638da5cb5b116100b05780638da5cb5b14610349578063b1bd643614610374578063b49c53a71461039457600080fd5b80637f5a7c7b146102ae5780638d3638f41461030057600080fd5b806356d5d4751161012257806371a15b381161010757806371a15b381461024e5780637249609f1461026e578063775313a11461028157600080fd5b806356d5d47514610226578063715018a61461023957600080fd5b80633dfd3873116101535780633dfd3873146101c4578063440df4f4146101e457806349d462ef1461020657600080fd5b80630e72cc061461016f5780632ead72f614610191575b600080fd5b34801561017b57600080fd5b5061018f61018a36600461154e565b610495565b005b34801561019d57600080fd5b506101b16101ac36600461159d565b6105b0565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5061018f6101df36600461154e565b6105cf565b3480156101f057600080fd5b506101f96106e5565b6040516101bb91906115b8565b34801561021257600080fd5b5061018f610221366004611602565b6106f6565b61018f61023436600461162c565b61071c565b34801561024557600080fd5b5061018f610884565b34801561025a57600080fd5b5061018f6102693660046116f8565b610898565b61018f61027c366004611769565b6108f3565b34801561028d57600080fd5b506101b161029c36600461159d565b60ca6020526000908152604090205481565b3480156102ba57600080fd5b506065546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561030c57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101bb565b34801561035557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102db565b34801561038057600080fd5b5061018f61038f366004611849565b610902565b3480156103a057600080fd5b5061018f6103af366004611602565b610987565b3480156103c057600080fd5b506102db7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f457600080fd5b506066546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b5061018f6104303660046118be565b610999565b34801561044157600080fd5b5061018f61045036600461159d565b610a78565b34801561046157600080fd5b506101b161047036600461159d565b610a8c565b34801561048157600080fd5b5061018f61049036600461154e565b610aad565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104cf575073ffffffffffffffffffffffffffffffffffffffff8116155b610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610568610b61565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806105c7609763ffffffff80861690610be216565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610609575073ffffffffffffffffffffffffffffffffffffffff8116155b610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610557565b61069d610b61565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106f16097610bfb565b905090565b6106fe610b61565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610557565b60006107ec85610cb6565b905083811461087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610557565b5050505050565b61088c610b61565b6108966000610d1c565b565b6108a0610b61565b8060005b818110156108ed576108db8484838181106108c1576108c161192a565b90506020020160208101906108d6919061159d565b610d93565b6108e6600182611988565b90506108a4565b50505050565b6108fd8282610de8565b505050565b61090a610b61565b60005b818110156108fd5761097583838381811061092a5761092a61192a565b610940926020604090920201908101915061159d565b8484848181106109525761095261192a565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610980600182611988565b905061090d565b61098f610b61565b6107188282610dfc565b6109a1610b61565b828114610a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610557565b8260005b81811015610a7057610a5e868683818110610a2b57610a2b61192a565b9050602002016020810190610a40919061159d565b858584818110610a5257610a5261192a565b90506020020135610dfc565b610a69600182611988565b9050610a0e565b505050505050565b610a80610b61565b610a8981610d93565b50565b6000610aa78260405180602001604052806000815250610e12565b92915050565b610ab5610b61565b73ffffffffffffffffffffffffffffffffffffffff8116610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610557565b610a8981610d1c565b60335473ffffffffffffffffffffffffffffffffffffffff163314610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610557565b600080610bef8484610e2b565b915091505b9250929050565b60606000610c0883610e65565b9050805167ffffffffffffffff811115610c2457610c2461173a565b604051908082528060200260200182016040528015610c4d578160200160208202803683370190505b50915060005b8151811015610caf57818181518110610c6e57610c6e61192a565b6020026020010151838281518110610c8857610c8861192a565b63ffffffff9092166020928302919091019091015280610ca78161199b565b915050610c53565b5050919050565b60008080610cce609763ffffffff80871690610be216565b9150915081610cdc85610f00565b90610d14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b509392505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610da7609763ffffffff80841690610f3716565b610db082610f00565b90610718576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b6000610df5833484610f43565b9392505050565b610718609763ffffffff808516908490610f6616565b600080610e1e84610cb6565b90506105c7848285610f71565b6000818152600283016020526040812054819080610e5a57610e4d8585611052565b925060009150610bf49050565b600192509050610bf4565b60606000610e728361105e565b90508067ffffffffffffffff811115610e8d57610e8d61173a565b604051908082528060200260200182016040528015610eb6578160200160208202803683370190505b50915060005b81811015610caf57610ece8482611069565b60001c838281518110610ee357610ee361192a565b602090810291909101015280610ef88161199b565b915050610ebc565b6060610f118263ffffffff16611075565b604051602001610f219190611a54565b6040516020818303038152906040529050919050565b6000610df58383611133565b600080610f4f85610cb6565b9050610f5d85828686611150565b95945050505050565b6108ed838383611234565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381d2ea95858585610fbb89611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152611011959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190611af9565b6000610df58383611273565b6000610aa78261128b565b6000610df58383611295565b60606000611082836112bf565b600101905060008167ffffffffffffffff8111156110a2576110a261173a565b6040519080825280601f01601f1916602001820160405280156110cc576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846110d657509392505050565b60008181526002830160205260408120819055610df583836113a1565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08487878661119b8b611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b1681526111f1959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b60206040518083038185885af115801561120f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5d9190611af9565b600082815260028401602052604081208290556105c784846113ad565b63ffffffff8116600090815260ca6020526040902054606090610aa7906113b9565b60008181526001830160205260408120541515610df5565b6000610aa7825490565b60008260000182815481106112ac576112ac61192a565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611308577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611334576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061135257662386f26fc10000830492506010015b6305f5e100831061136a576305f5e100830492506008015b612710831061137e57612710830492506004015b60648310611390576064830492506002015b600a8310610aa75760010192915050565b6000610df583836113d7565b6000610df583836114ca565b6060610aa76000833360405180602001604052806000815250611519565b600081815260018301602052604081205480156114c05760006113fb600183611b12565b855490915060009061140f90600190611b12565b905081811461147457600086600001828154811061142f5761142f61192a565b90600052602060002001549050808760000184815481106114525761145261192a565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061148557611485611b25565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610aa7565b6000915050610aa7565b600081815260018301602052604081205461151157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610aa7565b506000610aa7565b6060600185858585604051602001611535959493929190611b54565b6040516020818303038152906040529050949350505050565b60006020828403121561156057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610df557600080fd5b803563ffffffff8116811461159857600080fd5b919050565b6000602082840312156115af57600080fd5b610df582611584565b6020808252825182820181905260009190848201906040850190845b818110156115f657835163ffffffff16835292840192918401916001016115d4565b50909695505050505050565b6000806040838503121561161557600080fd5b61161e83611584565b946020939093013593505050565b6000806000806060858703121561164257600080fd5b61164b85611584565b935060208501359250604085013567ffffffffffffffff8082111561166f57600080fd5b818701915087601f83011261168357600080fd5b81358181111561169257600080fd5b8860208285010111156116a457600080fd5b95989497505060200194505050565b60008083601f8401126116c557600080fd5b50813567ffffffffffffffff8111156116dd57600080fd5b6020830191508360208260051b8501011115610bf457600080fd5b6000806020838503121561170b57600080fd5b823567ffffffffffffffff81111561172257600080fd5b61172e858286016116b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561177c57600080fd5b61178583611584565b9150602083013567ffffffffffffffff808211156117a257600080fd5b818501915085601f8301126117b657600080fd5b8135818111156117c8576117c861173a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561180e5761180e61173a565b8160405282815288602084870101111561182757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806020838503121561185c57600080fd5b823567ffffffffffffffff8082111561187457600080fd5b818501915085601f83011261188857600080fd5b81358181111561189757600080fd5b8660208260061b85010111156118ac57600080fd5b60209290920196919550909350505050565b600080600080604085870312156118d457600080fd5b843567ffffffffffffffff808211156118ec57600080fd5b6118f8888389016116b3565b9096509450602087013591508082111561191157600080fd5b5061191e878288016116b3565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610aa757610aa7611959565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119cc576119cc611959565b5060010190565b60005b838110156119ee5781810151838201526020016119d6565b50506000910152565b60008151808452611a0f8160208601602086016119d3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610df560208301846119f7565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611a8c81601f8501602087016119d3565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611abe60a08301866119f7565b8281036060840152611ad081866119f7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b0b57600080fd5b5051919050565b81810381811115610aa757610aa7611959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bc88160568501602087016119d3565b91909101605601969550505050505056fea2646970667358221220bdd7f06417fd97309d250f2ce5c582106dc96e20d7552e553db90a20984aa75864736f6c63430008130033";
377
+ const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e1a38038062001e1a833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c0f6200020b60003960006103120152600081816103c60152818161073401528181610f7501526111540152611c0f6000f3fe60806040526004361061016a5760003560e01c80637f5a7c7b116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610435578063f2ed8c5314610455578063f2fde38b1461047557600080fd5b8063d5438eae146103b4578063de523cf3146103e8578063e9198bf91461041557600080fd5b80638da5cb5b116100b05780638da5cb5b14610349578063b1bd643614610374578063b49c53a71461039457600080fd5b80637f5a7c7b146102ae5780638d3638f41461030057600080fd5b806356d5d4751161012257806371a15b381161010757806371a15b381461024e5780637249609f1461026e578063775313a11461028157600080fd5b806356d5d47514610226578063715018a61461023957600080fd5b80633dfd3873116101535780633dfd3873146101c4578063440df4f4146101e457806349d462ef1461020657600080fd5b80630e72cc061461016f5780632ead72f614610191575b600080fd5b34801561017b57600080fd5b5061018f61018a36600461154e565b610495565b005b34801561019d57600080fd5b506101b16101ac36600461159d565b6105b0565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b5061018f6101df36600461154e565b6105cf565b3480156101f057600080fd5b506101f96106e5565b6040516101bb91906115b8565b34801561021257600080fd5b5061018f610221366004611602565b6106f6565b61018f61023436600461162c565b61071c565b34801561024557600080fd5b5061018f610884565b34801561025a57600080fd5b5061018f6102693660046116f8565b610898565b61018f61027c366004611769565b6108f3565b34801561028d57600080fd5b506101b161029c36600461159d565b60ca6020526000908152604090205481565b3480156102ba57600080fd5b506065546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561030c57600080fd5b506103347f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101bb565b34801561035557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102db565b34801561038057600080fd5b5061018f61038f366004611849565b610902565b3480156103a057600080fd5b5061018f6103af366004611602565b610987565b3480156103c057600080fd5b506102db7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f457600080fd5b506066546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b5061018f6104303660046118be565b610999565b34801561044157600080fd5b5061018f61045036600461159d565b610a78565b34801561046157600080fd5b506101b161047036600461159d565b610a8c565b34801561048157600080fd5b5061018f61049036600461154e565b610aad565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104cf575073ffffffffffffffffffffffffffffffffffffffff8116155b610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610568610b61565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806105c7609763ffffffff80861690610be216565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610609575073ffffffffffffffffffffffffffffffffffffffff8116155b610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610557565b61069d610b61565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106f16097610bfb565b905090565b6106fe610b61565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610557565b60006107ec85610cb6565b905083811461087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610557565b5050505050565b61088c610b61565b6108966000610d1c565b565b6108a0610b61565b8060005b818110156108ed576108db8484838181106108c1576108c161192a565b90506020020160208101906108d6919061159d565b610d93565b6108e6600182611988565b90506108a4565b50505050565b6108fd8282610de8565b505050565b61090a610b61565b60005b818110156108fd5761097583838381811061092a5761092a61192a565b610940926020604090920201908101915061159d565b8484848181106109525761095261192a565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610980600182611988565b905061090d565b61098f610b61565b6107188282610dfc565b6109a1610b61565b828114610a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610557565b8260005b81811015610a7057610a5e868683818110610a2b57610a2b61192a565b9050602002016020810190610a40919061159d565b858584818110610a5257610a5261192a565b90506020020135610dfc565b610a69600182611988565b9050610a0e565b505050505050565b610a80610b61565b610a8981610d93565b50565b6000610aa78260405180602001604052806000815250610e12565b92915050565b610ab5610b61565b73ffffffffffffffffffffffffffffffffffffffff8116610b58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610557565b610a8981610d1c565b60335473ffffffffffffffffffffffffffffffffffffffff163314610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610557565b600080610bef8484610e2b565b915091505b9250929050565b60606000610c0883610e65565b9050805167ffffffffffffffff811115610c2457610c2461173a565b604051908082528060200260200182016040528015610c4d578160200160208202803683370190505b50915060005b8151811015610caf57818181518110610c6e57610c6e61192a565b6020026020010151838281518110610c8857610c8861192a565b63ffffffff9092166020928302919091019091015280610ca78161199b565b915050610c53565b5050919050565b60008080610cce609763ffffffff80871690610be216565b9150915081610cdc85610f00565b90610d14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b509392505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610da7609763ffffffff80841690610f3716565b610db082610f00565b90610718576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105579190611a41565b6000610df5833484610f43565b9392505050565b610718609763ffffffff808516908490610f6616565b600080610e1e84610cb6565b90506105c7848285610f71565b6000818152600283016020526040812054819080610e5a57610e4d8585611052565b925060009150610bf49050565b600192509050610bf4565b60606000610e728361105e565b90508067ffffffffffffffff811115610e8d57610e8d61173a565b604051908082528060200260200182016040528015610eb6578160200160208202803683370190505b50915060005b81811015610caf57610ece8482611069565b60001c838281518110610ee357610ee361192a565b602090810291909101015280610ef88161199b565b915050610ebc565b6060610f118263ffffffff16611075565b604051602001610f219190611a54565b6040516020818303038152906040529050919050565b6000610df58383611133565b600080610f4f85610cb6565b9050610f5d85828686611150565b95945050505050565b6108ed838383611234565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381d2ea95858585610fbb89611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152611011959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190611af9565b6000610df58383611273565b6000610aa78261128b565b6000610df58383611295565b60606000611082836112bf565b600101905060008167ffffffffffffffff8111156110a2576110a261173a565b6040519080825280601f01601f1916602001820160405280156110cc576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846110d657509392505050565b60008181526002830160205260408120819055610df583836113a1565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08487878661119b8b611251565b6065546040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b1681526111f1959493929173ffffffffffffffffffffffffffffffffffffffff1690600401611a99565b60206040518083038185885af115801561120f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f5d9190611af9565b600082815260028401602052604081208290556105c784846113ad565b63ffffffff8116600090815260ca6020526040902054606090610aa7906113b9565b60008181526001830160205260408120541515610df5565b6000610aa7825490565b60008260000182815481106112ac576112ac61192a565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611308577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611334576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061135257662386f26fc10000830492506010015b6305f5e100831061136a576305f5e100830492506008015b612710831061137e57612710830492506004015b60648310611390576064830492506002015b600a8310610aa75760010192915050565b6000610df583836113d7565b6000610df583836114ca565b6060610aa76000833360405180602001604052806000815250611519565b600081815260018301602052604081205480156114c05760006113fb600183611b12565b855490915060009061140f90600190611b12565b905081811461147457600086600001828154811061142f5761142f61192a565b90600052602060002001549050808760000184815481106114525761145261192a565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061148557611485611b25565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610aa7565b6000915050610aa7565b600081815260018301602052604081205461151157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610aa7565b506000610aa7565b6060600185858585604051602001611535959493929190611b54565b6040516020818303038152906040529050949350505050565b60006020828403121561156057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610df557600080fd5b803563ffffffff8116811461159857600080fd5b919050565b6000602082840312156115af57600080fd5b610df582611584565b6020808252825182820181905260009190848201906040850190845b818110156115f657835163ffffffff16835292840192918401916001016115d4565b50909695505050505050565b6000806040838503121561161557600080fd5b61161e83611584565b946020939093013593505050565b6000806000806060858703121561164257600080fd5b61164b85611584565b935060208501359250604085013567ffffffffffffffff8082111561166f57600080fd5b818701915087601f83011261168357600080fd5b81358181111561169257600080fd5b8860208285010111156116a457600080fd5b95989497505060200194505050565b60008083601f8401126116c557600080fd5b50813567ffffffffffffffff8111156116dd57600080fd5b6020830191508360208260051b8501011115610bf457600080fd5b6000806020838503121561170b57600080fd5b823567ffffffffffffffff81111561172257600080fd5b61172e858286016116b3565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561177c57600080fd5b61178583611584565b9150602083013567ffffffffffffffff808211156117a257600080fd5b818501915085601f8301126117b657600080fd5b8135818111156117c8576117c861173a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561180e5761180e61173a565b8160405282815288602084870101111561182757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806020838503121561185c57600080fd5b823567ffffffffffffffff8082111561187457600080fd5b818501915085601f83011261188857600080fd5b81358181111561189757600080fd5b8660208260061b85010111156118ac57600080fd5b60209290920196919550909350505050565b600080600080604085870312156118d457600080fd5b843567ffffffffffffffff808211156118ec57600080fd5b6118f8888389016116b3565b9096509450602087013591508082111561191157600080fd5b5061191e878288016116b3565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610aa757610aa7611959565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119cc576119cc611959565b5060010190565b60005b838110156119ee5781810151838201526020016119d6565b50506000910152565b60008151808452611a0f8160208601602086016119d3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610df560208301846119f7565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611a8c81601f8501602087016119d3565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611abe60a08301866119f7565b8281036060840152611ad081866119f7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b0b57600080fd5b5051919050565b81810381811115610aa757610aa7611959565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bc88160568501602087016119d3565b91909101605601969550505050505056fea2646970667358221220ac51b66db0e089f32edf7b86e01aa77810ce1e17d4641e97f47be2d0145ca64964736f6c63430008130033";
378
378
  const isSuperArgs = (xs) => xs.length > 1;
379
379
  export class TestGasRouter__factory extends ContractFactory {
380
380
  constructor(...args) {