@hyperlane-xyz/core 5.12.0-ccip.2 → 6.0.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 (327) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/contracts/hooks/aggregation/StaticAggregationHook.sol +25 -0
  3. package/contracts/hooks/warp-route/RateLimitedHook.sol +54 -17
  4. package/contracts/test/ERC20Test.sol +147 -0
  5. package/contracts/token/HypERC20.sol +7 -2
  6. package/contracts/token/HypERC20Collateral.sol +7 -2
  7. package/contracts/token/HypNative.sol +6 -2
  8. package/contracts/token/extensions/FastHypERC20.sol +2 -1
  9. package/contracts/token/extensions/FastHypERC20Collateral.sol +2 -1
  10. package/contracts/token/extensions/HypERC4626.sol +2 -1
  11. package/contracts/token/extensions/HypERC4626Collateral.sol +2 -1
  12. package/contracts/token/extensions/HypERC4626OwnerCollateral.sol +2 -1
  13. package/contracts/token/extensions/HypFiatToken.sol +2 -1
  14. package/contracts/token/extensions/HypXERC20.sol +2 -1
  15. package/contracts/token/extensions/HypXERC20Lockbox.sol +8 -1
  16. package/contracts/token/libs/FastTokenRouter.sol +2 -1
  17. package/contracts/token/libs/FungibleTokenRouter.sol +32 -0
  18. package/contracts/token/libs/TokenRouter.sol +31 -3
  19. package/dist/buildArtifact.js +1 -1
  20. package/dist/buildArtifact.json +1 -1
  21. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +46 -31
  22. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
  23. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.d.ts +894 -0
  24. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.d.ts.map +1 -0
  25. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.js +2 -0
  26. package/dist/contracts/test/ERC20Test.sol/XERC20VSTest.js.map +1 -0
  27. package/dist/contracts/test/ERC20Test.sol/index.d.ts +1 -0
  28. package/dist/contracts/test/ERC20Test.sol/index.d.ts.map +1 -1
  29. package/dist/contracts/token/HypERC20.d.ts +16 -1
  30. package/dist/contracts/token/HypERC20.d.ts.map +1 -1
  31. package/dist/contracts/token/HypERC20Collateral.d.ts +16 -1
  32. package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
  33. package/dist/contracts/token/HypNative.d.ts +16 -1
  34. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  35. package/dist/contracts/token/extensions/FastHypERC20.d.ts +16 -1
  36. package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
  37. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +16 -1
  38. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
  39. package/dist/contracts/token/extensions/HypERC4626.d.ts +16 -1
  40. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
  41. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +16 -1
  42. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
  43. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +16 -1
  44. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
  45. package/dist/contracts/token/extensions/HypFiatToken.d.ts +16 -1
  46. package/dist/contracts/token/extensions/HypFiatToken.d.ts.map +1 -1
  47. package/dist/contracts/token/extensions/HypXERC20.d.ts +16 -1
  48. package/dist/contracts/token/extensions/HypXERC20.d.ts.map +1 -1
  49. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts +16 -1
  50. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts.map +1 -1
  51. package/dist/contracts/token/extensions/index.d.ts +0 -1
  52. package/dist/contracts/token/extensions/index.d.ts.map +1 -1
  53. package/dist/contracts/token/libs/FastTokenRouter.d.ts +16 -1
  54. package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
  55. package/dist/contracts/token/{extensions/HypNativeScaled.d.ts → libs/FungibleTokenRouter.d.ts} +41 -70
  56. package/dist/contracts/token/libs/FungibleTokenRouter.d.ts.map +1 -0
  57. package/dist/contracts/token/libs/FungibleTokenRouter.js +2 -0
  58. package/dist/contracts/token/libs/FungibleTokenRouter.js.map +1 -0
  59. package/dist/contracts/token/libs/index.d.ts +1 -0
  60. package/dist/contracts/token/libs/index.d.ts.map +1 -1
  61. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  62. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  63. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  64. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  65. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  66. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  67. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  68. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  69. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  70. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  71. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  72. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  73. package/dist/factories/contracts/hooks/CCIPHook__factory.d.ts +1 -1
  74. package/dist/factories/contracts/hooks/CCIPHook__factory.js +1 -1
  75. package/dist/factories/contracts/hooks/DefaultHook__factory.d.ts +1 -1
  76. package/dist/factories/contracts/hooks/DefaultHook__factory.js +1 -1
  77. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  78. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  79. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  80. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  81. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  82. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  83. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  84. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  85. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  86. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  87. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  88. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  89. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  90. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  91. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  92. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts.map +1 -1
  93. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  94. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js.map +1 -1
  95. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  96. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts.map +1 -1
  97. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  98. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js.map +1 -1
  99. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  100. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  101. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  102. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  103. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  104. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  105. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  106. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  107. package/dist/factories/contracts/hooks/routing/AmountRoutingHook__factory.d.ts +1 -1
  108. package/dist/factories/contracts/hooks/routing/AmountRoutingHook__factory.js +1 -1
  109. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  110. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  111. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  112. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  113. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  114. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  115. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +23 -9
  116. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
  117. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +29 -11
  118. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
  119. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  120. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  121. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  122. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  123. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  124. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  125. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  126. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  127. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  128. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  129. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.d.ts +1 -1
  130. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.js +1 -1
  131. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.d.ts +1 -1
  132. package/dist/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.js +1 -1
  133. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  134. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  135. package/dist/factories/contracts/isms/hook/CCIPIsm__factory.d.ts +1 -1
  136. package/dist/factories/contracts/isms/hook/CCIPIsm__factory.js +1 -1
  137. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  138. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  139. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  140. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  141. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  142. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  143. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  144. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  145. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  146. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  147. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  148. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  149. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  150. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  151. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  152. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  153. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  154. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  155. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  156. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.js +1 -1
  157. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.d.ts +1 -1
  158. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.js +1 -1
  159. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  160. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.js +1 -1
  161. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.d.ts +1 -1
  162. package/dist/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.js +1 -1
  163. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  164. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  165. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  166. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  167. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  168. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  169. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  170. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  171. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  172. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  173. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  174. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  175. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  176. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  177. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  178. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  179. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  180. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  181. package/dist/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.d.ts +1 -1
  182. package/dist/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.js +1 -1
  183. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  184. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  185. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  186. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  187. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  188. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  189. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  190. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  191. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  192. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  193. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  194. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  195. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  196. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  197. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  198. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  199. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts +1 -1
  200. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js +1 -1
  201. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +1 -1
  202. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +1 -1
  203. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts +1 -1
  204. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js +1 -1
  205. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +1 -1
  206. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +1 -1
  207. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.d.ts +595 -0
  208. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.d.ts.map +1 -0
  209. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.js +788 -0
  210. package/dist/factories/contracts/test/ERC20Test.sol/XERC20VSTest__factory.js.map +1 -0
  211. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts +1 -0
  212. package/dist/factories/contracts/test/ERC20Test.sol/index.d.ts.map +1 -1
  213. package/dist/factories/contracts/test/ERC20Test.sol/index.js +1 -0
  214. package/dist/factories/contracts/test/ERC20Test.sol/index.js.map +1 -1
  215. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  216. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  217. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  218. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  219. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  220. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  221. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  222. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  223. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  224. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  225. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  226. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  227. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  228. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  229. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  230. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  231. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  232. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  233. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  234. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  235. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  236. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  237. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +18 -4
  238. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  239. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +24 -6
  240. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  241. package/dist/factories/contracts/token/HypERC20__factory.d.ts +17 -3
  242. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  243. package/dist/factories/contracts/token/HypERC20__factory.js +23 -5
  244. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  245. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  246. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  247. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  248. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  249. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  250. package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
  251. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  252. package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
  253. package/dist/factories/contracts/token/HypNative__factory.d.ts +18 -4
  254. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  255. package/dist/factories/contracts/token/HypNative__factory.js +24 -6
  256. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  257. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +18 -4
  258. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  259. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +24 -6
  260. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  261. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +17 -3
  262. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  263. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +23 -5
  264. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  265. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +18 -4
  266. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
  267. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +24 -6
  268. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
  269. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +18 -4
  270. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
  271. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +24 -6
  272. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
  273. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +17 -3
  274. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
  275. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +23 -5
  276. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
  277. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  278. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  279. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  280. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  281. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  282. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
  283. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  284. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
  285. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +18 -4
  286. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
  287. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +24 -6
  288. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
  289. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +18 -4
  290. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
  291. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +24 -6
  292. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
  293. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +18 -4
  294. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
  295. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +24 -6
  296. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
  297. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
  298. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
  299. package/dist/factories/contracts/token/extensions/index.d.ts +0 -1
  300. package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
  301. package/dist/factories/contracts/token/extensions/index.js +0 -1
  302. package/dist/factories/contracts/token/extensions/index.js.map +1 -1
  303. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +10 -0
  304. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
  305. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +13 -0
  306. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
  307. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.d.ts +432 -0
  308. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.d.ts.map +1 -0
  309. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.js +565 -0
  310. package/dist/factories/contracts/token/libs/FungibleTokenRouter__factory.js.map +1 -0
  311. package/dist/factories/contracts/token/libs/index.d.ts +1 -0
  312. package/dist/factories/contracts/token/libs/index.d.ts.map +1 -1
  313. package/dist/factories/contracts/token/libs/index.js +1 -0
  314. package/dist/factories/contracts/token/libs/index.js.map +1 -1
  315. package/dist/index.d.ts +4 -2
  316. package/dist/index.d.ts.map +1 -1
  317. package/dist/index.js +2 -1
  318. package/dist/index.js.map +1 -1
  319. package/package.json +2 -2
  320. package/contracts/token/extensions/HypNativeScaled.sol +0 -78
  321. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +0 -1
  322. package/dist/contracts/token/extensions/HypNativeScaled.js +0 -2
  323. package/dist/contracts/token/extensions/HypNativeScaled.js.map +0 -1
  324. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +0 -492
  325. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +0 -1
  326. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +0 -650
  327. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +0 -1
@@ -131,7 +131,7 @@ const _abi = [
131
131
  type: "function",
132
132
  },
133
133
  ];
134
- const _bytecode = "0x60c060405234801561001057600080fd5b50604051620032f7380380620032f783398101604081905261003191610222565b60008484848460405161004390610145565b61005094939291906102d3565b604051809103906000f08015801561006c573d6000803e3d6000fd5b5060405163a9059cbb60e01b8152336004820152602481018590529091506001600160a01b0382169063a9059cbb906044016020604051808303816000875af11580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e19190610313565b506001600160a01b03811660a05260405185908590600090859061010490610153565b61011194939291906102d3565b604051809103906000f08015801561012d573d6000803e3d6000fd5b506001600160a01b03166080525061033c9350505050565b6112f780620008d483390190565b61172c8062001bcb83390190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561019257818101518382015260200161017a565b50506000910152565b600082601f8301126101ac57600080fd5b81516001600160401b03808211156101c6576101c6610161565b604051601f8301601f19908116603f011681019082821181831017156101ee576101ee610161565b8160405283815286602085880101111561020757600080fd5b610218846020830160208901610177565b9695505050505050565b6000806000806080858703121561023857600080fd5b84516001600160401b038082111561024f57600080fd5b61025b8883890161019b565b9550602087015191508082111561027157600080fd5b5061027e8782880161019b565b93505060408501519150606085015160ff8116811461029c57600080fd5b939692955090935050565b600081518084526102bf816020860160208601610177565b601f01601f19169290920160200192915050565b6080815260006102e660808301876102a7565b82810360208401526102f881876102a7565b91505083604083015260ff8316606083015295945050505050565b60006020828403121561032557600080fd5b8151801515811461033557600080fd5b9392505050565b60805160a0516105576200037d600039600081816101590152818161028b015261034401526000818160dc015281816101d0015261041301526105576000f3fe6080604052600436106100705760003560e01c8063b20a0fb91161004e578063b20a0fb9146100ca578063b6b55f2514610127578063cc4aa20414610147578063ffaad6a51461017b57600080fd5b8063205c2878146100755780632e1a7d4d146100975780638ca41808146100b7575b600080fd5b34801561008157600080fd5b5061009561009036600461046b565b61019b565b005b3480156100a357600080fd5b506100956100b2366004610495565b6102ee565b6100956100c53660046104ae565b6102fb565b3480156100d657600080fd5b506100fe7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561013357600080fd5b50610095610142366004610495565b610303565b34801561015357600080fd5b506100fe7f000000000000000000000000000000000000000000000000000000000000000081565b34801561018757600080fd5b5061009561019636600461046b565b610309565b6040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b15801561022957600080fd5b505af115801561023d573d6000803e3d6000fd5b50506040517f449a52f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590527f000000000000000000000000000000000000000000000000000000000000000016925063449a52f891506044015b600060405180830381600087803b1580156102d257600080fd5b505af11580156102e6573d6000803e3d6000fd5b505050505050565b6102f8338261019b565b50565b6102f86104d0565b6102f833825b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af11580156103a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c691906104ff565b506040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044016102b8565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046657600080fd5b919050565b6000806040838503121561047e57600080fd5b61048783610442565b946020939093013593505050565b6000602082840312156104a757600080fd5b5035919050565b6000602082840312156104c057600080fd5b6104c982610442565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60006020828403121561051157600080fd5b815180151581146104c957600080fdfea2646970667358221220acb7350911992bb4a7ad8ecaf115716f9a6f8ce4be04c42d0680d0760797f4fc64736f6c6343000816003360a06040523480156200001157600080fd5b50604051620012f7380380620012f7833981016040819052620000349162000206565b8383600362000044838262000323565b50600462000053828262000323565b50505060ff811660805262000069338362000073565b5050505062000417565b6001600160a01b038216620000ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000e29190620003ef565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016657600080fd5b81516001600160401b03808211156200018357620001836200013e565b604051601f8301601f19908116603f01168101908282118183101715620001ae57620001ae6200013e565b8160405283815260209250866020858801011115620001cc57600080fd5b600091505b83821015620001f05785820183015181830184015290820190620001d1565b6000602085830101528094505050505092915050565b600080600080608085870312156200021d57600080fd5b84516001600160401b03808211156200023557600080fd5b620002438883890162000154565b955060208701519150808211156200025a57600080fd5b50620002698782880162000154565b93505060408501519150606085015160ff811681146200028857600080fd5b939692955090935050565b600181811c90821680620002a857607f821691505b602082108103620002c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000139576000816000526020600020601f850160051c81016020861015620002fa5750805b601f850160051c820191505b818110156200031b5782815560010162000306565b505050505050565b81516001600160401b038111156200033f576200033f6200013e565b620003578162000350845462000293565b84620002cf565b602080601f8311600181146200038f5760008415620003765750858301515b600019600386901b1c1916600185901b1785556200031b565b600085815260208120601f198616915b82811015620003c0578886015182559484019460019091019084016200039f565b5085821015620003df5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200041157634e487b7160e01b600052601160045260246000fd5b92915050565b608051610ebd6200043a6000396000818161016201526101990152610ebd6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063449a52f811610097578063a0712d6811610066578063a0712d6814610234578063a457c2d714610247578063a9059cbb1461025a578063dd62ed3e1461026d57600080fd5b8063449a52f8146101ce57806370a08231146101e357806379cc67901461021957806395d89b411461022c57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce5671461016057806332424aa31461019457806339509351146101bb57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b6101026102b3565b60405161010f9190610c90565b60405180910390f35b61012b610126366004610d26565b610345565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610d50565b61035f565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff909116815260200161010f565b6101827f000000000000000000000000000000000000000000000000000000000000000081565b61012b6101c9366004610d26565b610383565b6101e16101dc366004610d26565b6103cf565b005b61013f6101f1366004610d8c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101e1610227366004610d26565b6103dd565b6101026103e7565b6101e1610242366004610dae565b6103f6565b61012b610255366004610d26565b610403565b61012b610268366004610d26565b6104d9565b61013f61027b366004610dc7565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102c290610dfa565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610dfa565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000336103538185856104e7565b60019150505b92915050565b60003361036d85828561069b565b610378858585610772565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061035390829086906103ca908790610e4d565b6104e7565b6103d982826109e1565b5050565b6103d98282610ad4565b6060600480546102c290610dfa565b61040033826109e1565b50565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156104cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61037882868684036104e7565b600033610353818585610772565b73ffffffffffffffffffffffffffffffffffffffff8316610589576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff821661062c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461076c578181101561075f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104c3565b61076c84848484036104e7565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff82166108b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361076c565b73ffffffffffffffffffffffffffffffffffffffff8216610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c3565b8060026000828254610a709190610e4d565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161068e565b60006020808352835180602085015260005b81811015610cbe57858101830151858201604001528201610ca2565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d2157600080fd5b919050565b60008060408385031215610d3957600080fd5b610d4283610cfd565b946020939093013593505050565b600080600060608486031215610d6557600080fd5b610d6e84610cfd565b9250610d7c60208501610cfd565b9150604084013590509250925092565b600060208284031215610d9e57600080fd5b610da782610cfd565b9392505050565b600060208284031215610dc057600080fd5b5035919050565b60008060408385031215610dda57600080fd5b610de383610cfd565b9150610df160208401610cfd565b90509250929050565b600181811c90821680610e0e57607f821691505b602082108103610e47577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820180821115610359577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212202462ee640ef78080a3bcf7177510be82674b257a4e1e14fe17df13076832b78d64736f6c6343000816003360a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220272a0aaa5ed3d77da79b0429a5ba25cdd8eabb1f6eebc1239dbe6c170baacd3b64736f6c63430008160033";
134
+ const _bytecode = "0x60c060405234801561001057600080fd5b50604051620032f7380380620032f783398101604081905261003191610222565b60008484848460405161004390610145565b61005094939291906102d3565b604051809103906000f08015801561006c573d6000803e3d6000fd5b5060405163a9059cbb60e01b8152336004820152602481018590529091506001600160a01b0382169063a9059cbb906044016020604051808303816000875af11580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e19190610313565b506001600160a01b03811660a05260405185908590600090859061010490610153565b61011194939291906102d3565b604051809103906000f08015801561012d573d6000803e3d6000fd5b506001600160a01b03166080525061033c9350505050565b6112f780620008d483390190565b61172c8062001bcb83390190565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561019257818101518382015260200161017a565b50506000910152565b600082601f8301126101ac57600080fd5b81516001600160401b03808211156101c6576101c6610161565b604051601f8301601f19908116603f011681019082821181831017156101ee576101ee610161565b8160405283815286602085880101111561020757600080fd5b610218846020830160208901610177565b9695505050505050565b6000806000806080858703121561023857600080fd5b84516001600160401b038082111561024f57600080fd5b61025b8883890161019b565b9550602087015191508082111561027157600080fd5b5061027e8782880161019b565b93505060408501519150606085015160ff8116811461029c57600080fd5b939692955090935050565b600081518084526102bf816020860160208601610177565b601f01601f19169290920160200192915050565b6080815260006102e660808301876102a7565b82810360208401526102f881876102a7565b91505083604083015260ff8316606083015295945050505050565b60006020828403121561032557600080fd5b8151801515811461033557600080fd5b9392505050565b60805160a0516105576200037d600039600081816101590152818161028b015261034401526000818160dc015281816101d0015261041301526105576000f3fe6080604052600436106100705760003560e01c8063b20a0fb91161004e578063b20a0fb9146100ca578063b6b55f2514610127578063cc4aa20414610147578063ffaad6a51461017b57600080fd5b8063205c2878146100755780632e1a7d4d146100975780638ca41808146100b7575b600080fd5b34801561008157600080fd5b5061009561009036600461046b565b61019b565b005b3480156100a357600080fd5b506100956100b2366004610495565b6102ee565b6100956100c53660046104ae565b6102fb565b3480156100d657600080fd5b506100fe7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561013357600080fd5b50610095610142366004610495565b610303565b34801561015357600080fd5b506100fe7f000000000000000000000000000000000000000000000000000000000000000081565b34801561018757600080fd5b5061009561019636600461046b565b610309565b6040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b15801561022957600080fd5b505af115801561023d573d6000803e3d6000fd5b50506040517f449a52f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590527f000000000000000000000000000000000000000000000000000000000000000016925063449a52f891506044015b600060405180830381600087803b1580156102d257600080fd5b505af11580156102e6573d6000803e3d6000fd5b505050505050565b6102f8338261019b565b50565b6102f86104d0565b6102f833825b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af11580156103a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c691906104ff565b506040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044016102b8565b803573ffffffffffffffffffffffffffffffffffffffff8116811461046657600080fd5b919050565b6000806040838503121561047e57600080fd5b61048783610442565b946020939093013593505050565b6000602082840312156104a757600080fd5b5035919050565b6000602082840312156104c057600080fd5b6104c982610442565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60006020828403121561051157600080fd5b815180151581146104c957600080fdfea2646970667358221220f4621f8ab48c370120ebde3f06c9116d8e8c36624c722417e20eb8c48e7fa7e964736f6c6343000816003360a06040523480156200001157600080fd5b50604051620012f7380380620012f7833981016040819052620000349162000206565b8383600362000044838262000323565b50600462000053828262000323565b50505060ff811660805262000069338362000073565b5050505062000417565b6001600160a01b038216620000ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000e29190620003ef565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016657600080fd5b81516001600160401b03808211156200018357620001836200013e565b604051601f8301601f19908116603f01168101908282118183101715620001ae57620001ae6200013e565b8160405283815260209250866020858801011115620001cc57600080fd5b600091505b83821015620001f05785820183015181830184015290820190620001d1565b6000602085830101528094505050505092915050565b600080600080608085870312156200021d57600080fd5b84516001600160401b03808211156200023557600080fd5b620002438883890162000154565b955060208701519150808211156200025a57600080fd5b50620002698782880162000154565b93505060408501519150606085015160ff811681146200028857600080fd5b939692955090935050565b600181811c90821680620002a857607f821691505b602082108103620002c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000139576000816000526020600020601f850160051c81016020861015620002fa5750805b601f850160051c820191505b818110156200031b5782815560010162000306565b505050505050565b81516001600160401b038111156200033f576200033f6200013e565b620003578162000350845462000293565b84620002cf565b602080601f8311600181146200038f5760008415620003765750858301515b600019600386901b1c1916600185901b1785556200031b565b600085815260208120601f198616915b82811015620003c0578886015182559484019460019091019084016200039f565b5085821015620003df5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200041157634e487b7160e01b600052601160045260246000fd5b92915050565b608051610ebd6200043a6000396000818161016201526101990152610ebd6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063449a52f811610097578063a0712d6811610066578063a0712d6814610234578063a457c2d714610247578063a9059cbb1461025a578063dd62ed3e1461026d57600080fd5b8063449a52f8146101ce57806370a08231146101e357806379cc67901461021957806395d89b411461022c57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce5671461016057806332424aa31461019457806339509351146101bb57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b6101026102b3565b60405161010f9190610c90565b60405180910390f35b61012b610126366004610d26565b610345565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610d50565b61035f565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff909116815260200161010f565b6101827f000000000000000000000000000000000000000000000000000000000000000081565b61012b6101c9366004610d26565b610383565b6101e16101dc366004610d26565b6103cf565b005b61013f6101f1366004610d8c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101e1610227366004610d26565b6103dd565b6101026103e7565b6101e1610242366004610dae565b6103f6565b61012b610255366004610d26565b610403565b61012b610268366004610d26565b6104d9565b61013f61027b366004610dc7565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102c290610dfa565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610dfa565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000336103538185856104e7565b60019150505b92915050565b60003361036d85828561069b565b610378858585610772565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061035390829086906103ca908790610e4d565b6104e7565b6103d982826109e1565b5050565b6103d98282610ad4565b6060600480546102c290610dfa565b61040033826109e1565b50565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156104cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61037882868684036104e7565b600033610353818585610772565b73ffffffffffffffffffffffffffffffffffffffff8316610589576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff821661062c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461076c578181101561075f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104c3565b61076c84848484036104e7565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff82166108b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361076c565b73ffffffffffffffffffffffffffffffffffffffff8216610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c3565b8060026000828254610a709190610e4d565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104c3565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161068e565b60006020808352835180602085015260005b81811015610cbe57858101830151858201604001528201610ca2565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d2157600080fd5b919050565b60008060408385031215610d3957600080fd5b610d4283610cfd565b946020939093013593505050565b600080600060608486031215610d6557600080fd5b610d6e84610cfd565b9250610d7c60208501610cfd565b9150604084013590509250925092565b600060208284031215610d9e57600080fd5b610da782610cfd565b9392505050565b600060208284031215610dc057600080fd5b5035919050565b60008060408385031215610dda57600080fd5b610de383610cfd565b9150610df160208401610cfd565b90509250929050565b600181811c90821680610e0e57607f821691505b602082108103610e47577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820180821115610359577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d8787d9ccdab39dca0ce57f63d59c8bd35c1e6d0e4689512c44d26cd3d932d1664736f6c6343000816003360a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204bb175ea2f938ac494572c32c0222e3d531a91c2177754f5958daaf3956010b864736f6c63430008160033";
135
135
  const isSuperArgs = (xs) => xs.length > 1;
136
136
  export class XERC20LockboxTest__factory extends ContractFactory {
137
137
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class XERC20Test__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): XERC20Test;
14
14
  connect(signer: Signer): XERC20Test__factory;
15
- static readonly bytecode = "0x60a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220272a0aaa5ed3d77da79b0429a5ba25cdd8eabb1f6eebc1239dbe6c170baacd3b64736f6c63430008160033";
15
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204bb175ea2f938ac494572c32c0222e3d531a91c2177754f5958daaf3956010b864736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "string";
@@ -556,7 +556,7 @@ const _abi = [
556
556
  type: "function",
557
557
  },
558
558
  ];
559
- const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220272a0aaa5ed3d77da79b0429a5ba25cdd8eabb1f6eebc1239dbe6c170baacd3b64736f6c63430008160033";
559
+ const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200172c3803806200172c83398101604081905262000034916200027e565b83838383838360036200004883826200039b565b5060046200005782826200039b565b50505060ff81166080526200006d338362000095565b505050506200008b620000856200015b60201b60201c565b6200015f565b505050506200048f565b6001600160a01b038216620000f05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000104919062000467565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001de57600080fd5b81516001600160401b0380821115620001fb57620001fb620001b6565b604051601f8301601f19908116603f01168101908282118183101715620002265762000226620001b6565b81604052838152602092508660208588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b6000602085830101528094505050505092915050565b600080600080608085870312156200029557600080fd5b84516001600160401b0380821115620002ad57600080fd5b620002bb88838901620001cc565b95506020870151915080821115620002d257600080fd5b50620002e187828801620001cc565b93505060408501519150606085015160ff811681146200030057600080fd5b939692955090935050565b600181811c908216806200032057607f821691505b6020821081036200034157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001b1576000816000526020600020601f850160051c81016020861015620003725750805b601f850160051c820191505b8181101562000393578281556001016200037e565b505050505050565b81516001600160401b03811115620003b757620003b7620001b6565b620003cf81620003c884546200030b565b8462000347565b602080601f831160018114620004075760008415620003ee5750858301515b600019600386901b1c1916600185901b17855562000393565b600085815260208120601f198616915b82811015620004385788860151825594840194600190910190840162000417565b5085821015620004575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200048957634e487b7160e01b600052601160045260246000fd5b92915050565b60805161127a620004b2600039600081816102520152610289015261127a6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a0712d6811610097578063a9059cbb11610071578063a9059cbb1461039a578063c1eb7137146101f4578063dd62ed3e146103ad578063f2fde38b146103f357600080fd5b8063a0712d6814610361578063a08d565414610374578063a457c2d71461038757600080fd5b806395d89b41116100c857806395d89b4114610359578063998955d3146101f45780639dc29fac1461031157600080fd5b806379cc6790146103115780638129fc1c146103245780638da5cb5b1461032c57600080fd5b806332424aa31161015b578063449a52f811610135578063449a52f8146102be578063651fd268146101f457806370a08231146102d3578063715018a61461030957600080fd5b806332424aa31461028457806339509351146102ab57806340c10f19146102be57600080fd5b806318160ddd1161018c57806318160ddd1461023557806323b872dd1461023d578063313ce5671461025057600080fd5b806306fdde03146101b3578063095ea7b3146101d15780630c05f82c146101f4575b600080fd5b6101bb610406565b6040516101c89190610feb565b60405180910390f35b6101e46101df366004611081565b610498565b60405190151581526020016101c8565b6102276102023660046110ab565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b6040519081526020016101c8565b600254610227565b6101e461024b3660046110cd565b6104b2565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101c8565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6101e46102b9366004611081565b6104d6565b6102d16102cc366004611081565b610522565b005b6102276102e13660046110ab565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102d1610530565b6102d161031f366004611081565b610544565b6102d161054e565b610334610557565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6101bb61057d565b6102d161036f366004611109565b61058c565b6102d1610382366004611122565b610599565b6101e4610395366004611081565b6105a6565b6101e46103a8366004611081565b61067c565b6102276103bb366004611155565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102d16104013660046110ab565b61068a565b60606003805461041590611188565b80601f016020809104026020016040519081016040528092919081815260200182805461044190611188565b801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b5050505050905090565b6000336104a681858561073e565b60019150505b92915050565b6000336104c08582856108f1565b6104cb8585856109c8565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a6908290869061051d9087906111db565b61073e565b61052c8282610c37565b5050565b610538610d2a565b6105426000610db0565b565b61052c8282610e27565b61054233610db0565b600061057860055473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60606004805461041590611188565b6105963382610c37565b50565b6105a1611215565b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561066f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104cb828686840361073e565b6000336104a68185856109c8565b610692610d2a565b73ffffffffffffffffffffffffffffffffffffffff8116610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610666565b61059681610db0565b73ffffffffffffffffffffffffffffffffffffffff83166107e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109c257818110156109b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610666565b6109c2848484840361073e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610a6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff8216610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109c2565b73ffffffffffffffffffffffffffffffffffffffff8216610cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610666565b8060026000828254610cc691906111db565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b33610d33610557565b73ffffffffffffffffffffffffffffffffffffffff1614610542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610666565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610eca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610f80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610666565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b8181101561101957858101830151858201604001528201610ffd565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461107c57600080fd5b919050565b6000806040838503121561109457600080fd5b61109d83611058565b946020939093013593505050565b6000602082840312156110bd57600080fd5b6110c682611058565b9392505050565b6000806000606084860312156110e257600080fd5b6110eb84611058565b92506110f960208501611058565b9150604084013590509250925092565b60006020828403121561111b57600080fd5b5035919050565b60008060006060848603121561113757600080fd5b61114084611058565b95602085013595506040909401359392505050565b6000806040838503121561116857600080fd5b61117183611058565b915061117f60208401611058565b90509250929050565b600181811c9082168061119c57607f821691505b6020821081036111d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212204bb175ea2f938ac494572c32c0222e3d531a91c2177754f5958daaf3956010b864736f6c63430008160033";
560
560
  const isSuperArgs = (xs) => xs.length > 1;
561
561
  export class XERC20Test__factory extends ContractFactory {
562
562
  constructor(...args) {