@etherisc/gif-next 0.0.2-a6f9f86-582 → 0.0.2-a7954cc-097

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 (299) hide show
  1. package/README.md +171 -2
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → components/BaseComponent.sol/BaseComponent.json} +262 -237
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +675 -0
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +156 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +275 -0
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +157 -0
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +842 -0
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
  17. package/artifacts/contracts/components/Product.sol/Product.json +775 -0
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
  22. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
  24. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  36. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  40. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  42. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  43. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  44. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  45. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  46. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  47. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +788 -0
  48. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  49. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +86 -2
  50. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
  51. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1737 -0
  52. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  53. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +448 -0
  54. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  55. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +570 -0
  56. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/Instance.sol/Instance.json +465 -950
  58. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +244 -114
  60. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +763 -0
  62. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1422 -0
  64. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  65. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +871 -25
  66. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +460 -0
  68. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  69. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +285 -0
  70. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +532 -0
  72. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +113 -0
  74. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -77
  76. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  78. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +10 -244
  79. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  80. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  81. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  82. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +59 -16
  83. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  90. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +945 -0
  91. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  92. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +432 -0
  93. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  94. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +814 -0
  95. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  96. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +693 -0
  97. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  98. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +420 -0
  99. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  100. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +669 -0
  101. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  102. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +466 -0
  103. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  104. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +446 -0
  105. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  106. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +664 -0
  107. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  108. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +499 -0
  109. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  110. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +536 -0
  111. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  112. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +993 -0
  113. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  114. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +464 -0
  115. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  116. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +727 -0
  117. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  118. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +420 -0
  119. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  120. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +777 -0
  121. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  122. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +420 -0
  123. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  124. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +47 -2
  125. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  126. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +150 -70
  127. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  128. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +259 -28
  129. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  130. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  131. package/artifacts/contracts/registry/Registry.sol/Registry.json +125 -212
  132. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  133. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  134. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  135. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +271 -89
  136. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +57 -82
  138. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  139. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +546 -0
  140. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  141. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +397 -0
  142. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  143. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  144. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  145. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  146. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  148. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +14 -14
  149. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  150. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  151. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  152. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  154. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +6 -6
  156. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +442 -0
  158. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  159. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +15 -15
  160. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  161. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  162. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  163. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  164. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  166. package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
  167. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  168. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +6 -6
  169. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  170. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +111 -5
  171. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  172. package/artifacts/contracts/test/TestService.sol/TestService.json +31 -31
  173. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  174. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  175. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  176. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  177. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  178. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +2 -2
  179. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  180. package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
  181. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  182. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  184. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  185. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/Fee.sol/FeeLib.json +4 -4
  187. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  188. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  190. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  191. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  197. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  199. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  201. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  202. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  203. package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
  204. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  206. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  207. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
  208. package/contracts/components/BaseComponent.sol +159 -0
  209. package/contracts/components/Distribution.sol +163 -0
  210. package/contracts/components/IBaseComponent.sol +17 -2
  211. package/contracts/components/IDistributionComponent.sol +44 -0
  212. package/contracts/components/IPoolComponent.sol +66 -0
  213. package/contracts/components/IProductComponent.sol +35 -0
  214. package/contracts/components/Pool.sol +271 -0
  215. package/contracts/components/Product.sol +292 -0
  216. package/contracts/experiment/cloning/Cloner.sol +47 -0
  217. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +23 -0
  218. package/contracts/instance/BundleManager.sol +129 -0
  219. package/contracts/instance/Cloneable.sol +46 -0
  220. package/contracts/instance/IInstance.sol +62 -0
  221. package/contracts/instance/IInstanceBase.sol +26 -0
  222. package/contracts/instance/IInstanceService.sol +40 -0
  223. package/contracts/instance/Instance.sol +89 -203
  224. package/contracts/instance/InstanceAccessManager.sol +96 -81
  225. package/contracts/instance/InstanceBase.sol +41 -0
  226. package/contracts/instance/InstanceReader.sol +315 -0
  227. package/contracts/instance/InstanceService.sol +327 -22
  228. package/contracts/instance/InstanceServiceManager.sol +54 -0
  229. package/contracts/instance/ObjectManager.sol +101 -0
  230. package/contracts/instance/base/ComponentServiceBase.sol +82 -0
  231. package/contracts/instance/base/IInstanceBase.sol +23 -0
  232. package/contracts/instance/base/IKeyValueStore.sol +5 -4
  233. package/contracts/instance/base/KeyValueStore.sol +4 -20
  234. package/contracts/instance/module/IAccess.sol +29 -19
  235. package/contracts/instance/module/IBundle.sol +1 -0
  236. package/contracts/instance/module/ISetup.sol +6 -1
  237. package/contracts/instance/module/ITreasury.sol +1 -1
  238. package/contracts/instance/service/BundleService.sol +260 -0
  239. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  240. package/contracts/instance/service/ComponentOwnerService.sol +315 -0
  241. package/contracts/instance/service/DistributionService.sol +113 -0
  242. package/contracts/instance/service/DistributionServiceManager.sol +51 -0
  243. package/contracts/instance/service/IBundleService.sol +45 -0
  244. package/contracts/instance/service/IComponentOwnerService.sol +20 -0
  245. package/contracts/instance/service/IDistributionService.sol +12 -0
  246. package/contracts/instance/service/IPolicyService.sol +87 -0
  247. package/contracts/instance/service/IPoolService.sol +20 -0
  248. package/contracts/instance/service/IProductService.sol +40 -0
  249. package/contracts/instance/service/PolicyService.sol +503 -0
  250. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  251. package/contracts/instance/service/PoolService.sol +124 -0
  252. package/contracts/instance/service/PoolServiceManager.sol +51 -0
  253. package/contracts/instance/service/ProductService.sol +170 -0
  254. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  255. package/contracts/registry/ChainNft.sol +41 -26
  256. package/contracts/registry/IRegistry.sol +43 -25
  257. package/contracts/registry/IRegistryService.sol +53 -24
  258. package/contracts/registry/Registry.sol +212 -307
  259. package/contracts/registry/RegistryAccessManager.sol +210 -0
  260. package/contracts/registry/RegistryService.sol +158 -204
  261. package/contracts/registry/RegistryServiceManager.sol +28 -9
  262. package/contracts/registry/ReleaseManager.sol +348 -0
  263. package/contracts/registry/TokenRegistry.sol +110 -0
  264. package/contracts/shared/ERC165.sol +7 -3
  265. package/contracts/shared/IRegisterable.sol +1 -1
  266. package/contracts/shared/IService.sol +16 -0
  267. package/contracts/shared/NftOwnable.sol +2 -4
  268. package/contracts/shared/ProxyManager.sol +4 -4
  269. package/contracts/shared/Registerable.sol +3 -2
  270. package/contracts/shared/RegisterableUpgradable.sol +16 -0
  271. package/contracts/shared/Service.sol +58 -0
  272. package/contracts/shared/TokenHandler.sol +2 -2
  273. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  274. package/contracts/shared/Versionable.sol +1 -1
  275. package/contracts/test/TestFee.sol +2 -2
  276. package/contracts/test/TestRoleId.sol +6 -6
  277. package/contracts/test/TestService.sol +6 -7
  278. package/contracts/types/Fee.sol +3 -3
  279. package/contracts/types/NftIdSet.sol +26 -24
  280. package/contracts/types/RoleId.sol +19 -4
  281. package/contracts/types/StateId.sol +4 -0
  282. package/contracts/types/UFixed.sol +128 -12
  283. package/contracts/types/Version.sol +4 -1
  284. package/package.json +4 -3
  285. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  286. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  287. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1119
  288. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  289. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  290. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  291. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  292. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  293. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  294. package/contracts/instance/AccessManagedSimple.sol +0 -114
  295. package/contracts/instance/AccessManagerSimple.sol +0 -682
  296. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  297. package/contracts/instance/base/IService.sol +0 -15
  298. package/contracts/instance/base/ServiceBase.sol +0 -44
  299. package/contracts/registry/IChainNft.sol +0 -22
@@ -179,6 +179,19 @@
179
179
  "stateMutability": "view",
180
180
  "type": "function"
181
181
  },
182
+ {
183
+ "inputs": [],
184
+ "name": "getDomain",
185
+ "outputs": [
186
+ {
187
+ "internalType": "ObjectType",
188
+ "name": "",
189
+ "type": "uint8"
190
+ }
191
+ ],
192
+ "stateMutability": "pure",
193
+ "type": "function"
194
+ },
182
195
  {
183
196
  "inputs": [],
184
197
  "name": "getInitialInfo",
@@ -260,19 +273,6 @@
260
273
  "stateMutability": "view",
261
274
  "type": "function"
262
275
  },
263
- {
264
- "inputs": [],
265
- "name": "getName",
266
- "outputs": [
267
- {
268
- "internalType": "string",
269
- "name": "name",
270
- "type": "string"
271
- }
272
- ],
273
- "stateMutability": "pure",
274
- "type": "function"
275
- },
276
276
  {
277
277
  "inputs": [],
278
278
  "name": "getNftId",
@@ -495,14 +495,14 @@
495
495
  "type": "function"
496
496
  }
497
497
  ],
498
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162001d0b38038062001d0b8339810160408190526200003491620005a2565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055600280546001600160a01b031916331790556200008c620000a2565b6200009983838362000156565b5050506200083c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000f35760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001535780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60006200018160408051808201909152600b81526a546573745365727669636560a81b602082015290565b6200018b62000204565b6040516020016200019e929190620005fa565b60408051808303601f190181529190529050620001c28484603c6000868662000291565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff1916600117905550505050565b60006200021062000362565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af415801562000266573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028c919062000654565b905090565b6200029d8287620003ea565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d0100000000000000000000000000861515021781559050600181016200031c838262000725565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015620003c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028c9190620007f1565b600280546001600160a01b0319166001600160a01b038416179055620004108162000414565b5050565b6001546001600160a01b031615620004535760015460405163fcdbf2d960e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b6001600160a01b0381166200047b5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620004b35760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200044a565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152632c1c764b60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000530575060408051601f3d908101601f191682019092526200052d9181019062000818565b60015b6200055a5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200044a565b80620004105760405163fdeac91f60e01b81526001600160a01b03831660048201526024016200044a565b80516001600160a01b03811681146200059d57600080fd5b919050565b600080600060608486031215620005b857600080fd5b620005c38462000585565b60208501519093506001600160601b0381168114620005e157600080fd5b9150620005f16040850162000585565b90509250925092565b604081526000835180604084015260005b818110156200062a57602081870181015160608684010152016200060b565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000602082840312156200066757600080fd5b815160ff811681146200067957600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006ab57607f821691505b602082108103620006cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200072057600081815260208120601f850160051c81016020861015620006fb5750805b601f850160051c820191505b818110156200071c5782815560010162000707565b5050505b505050565b81516001600160401b0381111562000741576200074162000680565b620007598162000752845462000696565b84620006d2565b602080601f831160018114620007915760008415620007785750858301515b600019600386901b1c1916600185901b1785556200071c565b600085815260208120601f198616915b82811015620007c257888601518255948401946001909101908401620007a1565b5085821015620007e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200080457600080fd5b815162ffffff811681146200067957600080fd5b6000602082840312156200082b57600080fd5b815180151581146200067957600080fd5b6114bf806200084c6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461106b565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110e2565b610197610641565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101549190611189565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111b0565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061146a83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111b0565b610863565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610916565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e13660046111f8565b610a2f565b6103ee610b8c565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112ce565b610bae565b610422610bff565b60405160ff9091168152602001610154565b6101976104423660046111f8565b610c82565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112e7565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610542600090565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161058a610916565b6001600160a01b031681526020018260010180546105a790611304565b80601f01602080910402602001604051908101604052809291908181526020018280546105d390611304565b80156106205780601f106105f557610100808354040283529160200191610620565b820191906000526020600020905b81548152906001019060200180831161060357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c7919061133e565b1561070e576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107375760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a4919061133e565b6107cc576040516372657a5160e01b81526001600160a01b0382166004820152602401610705565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a9190611360565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061146a83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190611389565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f919061133e565b15610a1f57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113a2565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a51610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab591906113bf565b60008051602061144a8339815191528054600160401b900460ff1680610ae95750805467ffffffffffffffff808416911610155b15610b075760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b338585610d8d565b610b3c8361102e565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061144a8339815191525467ffffffffffffffff1690565b600060008051602061146a8339815191526001018281548110610bd357610bd36113e9565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c09610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c5e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113ff565b60008051602061144a8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cb65750825b905060008267ffffffffffffffff166001148015610cd35750303b155b905081158015610ce1575080155b15610cff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d2957845460ff60401b1916600160401b1785555b610d338888610d8d565b610d3d878761102e565b8315610d8357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d95611032565b60008051602061146a8339815191526000610dc660008051602061144a8339815191525467ffffffffffffffff1690565b90506000610dd2610447565b90508167ffffffffffffffff16600103610e005760028301805462ffffff191662ffffff8316179055610e4e565b600283015462ffffff90811690821611610e4e5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610705565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f269190611422565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b7d9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061144a83398151915254600160401b900460ff1661106957604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561107d57600080fd5b81356001600160e01b03198116811461109557600080fd5b9392505050565b6000815180845260005b818110156110c2576020818501810151868301820152016110a6565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161112660a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261116c61012084018261109c565b90508281036020840152611180818561109c565b95945050505050565b602081526000611095602083018461109c565b62ffffff811681146111ad57600080fd5b50565b6000602082840312156111c257600080fd5b81356110958161119c565b6001600160a01b03811681146111ad57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561120d57600080fd5b8335611218816111cd565b92506020840135611228816111cd565b9150604084013567ffffffffffffffff8082111561124557600080fd5b818601915086601f83011261125957600080fd5b81358181111561126b5761126b6111e2565b604051601f8201601f19908116603f01168101908382118183101715611293576112936111e2565b816040528281528960208487010111156112ac57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112e057600080fd5b5035919050565b6000602082840312156112f957600080fd5b81516110958161119c565b600181811c9082168061131857607f821691505b60208210810361133857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561135057600080fd5b8151801515811461109557600080fd5b60006020828403121561137257600080fd5b81516001600160601b038116811461109557600080fd5b60006020828403121561139b57600080fd5b5051919050565b6000602082840312156113b457600080fd5b8151611095816111cd565b6000602082840312156113d157600080fd5b815167ffffffffffffffff8116811461109557600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561141157600080fd5b815160ff8116811461109557600080fd5b60006020828403121561143457600080fd5b815164ffffffffff8116811461109557600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220ac1d668f3289eebf3d92adfaa811b5dbebfb4459b4ffc8a1a3f68eb8f32c4dc464736f6c63430008140033",
499
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063644c45e0116100a2578063a745e3df11610071578063a745e3df146103d3578063b3c65015146103e6578063b88da75914610407578063cde749f41461041a578063cf7a1d771461043457600080fd5b8063644c45e01461034f578063893d20e81461037a578063946dfcfe14610382578063a3f4df7e146103a957600080fd5b806317d7de7c116100e957806317d7de7c146101995780631eff4b22146101c95780634d459c90146101fe5780634f421333146103175780635ab1bd531461032a57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461106b565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610447565b60405162ffffff9091168152602001610154565b6101816104d1565b6040516101549291906110e2565b610197610641565b005b60408051808201909152600b81526a546573745365727669636560a81b60208201525b6040516101549190611189565b6101f07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b6102ba61020c3660046111b0565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061146a83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486103253660046111b0565b610863565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610337610916565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101f0565b6101bc6040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b6101976103e13660046111f8565b610a2f565b6103ee610b8c565b60405167ffffffffffffffff9091168152602001610154565b6101656104153660046112ce565b610bae565b610422610bff565b60405160ff9091168152602001610154565b6101976104423660046111f8565b610c82565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906112e7565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610542600090565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161058a610916565b6001600160a01b031681526020018260010180546105a790611304565b80601f01602080910402602001604051908101604052809291908181526020018280546105d390611304565b80156106205780601f106105f557610100808354040283529160200191610620565b820191906000526020600020905b81548152906001019060200180831161060357829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156106a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c7919061133e565b1561070e576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107375760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a4919061133e565b6107cc576040516372657a5160e01b81526001600160a01b0382166004820152602401610705565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a9190611360565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061146a83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190611389565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f919061133e565b15610a1f57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113a2565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a51610447565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab591906113bf565b60008051602061144a8339815191528054600160401b900460ff1680610ae95750805467ffffffffffffffff808416911610155b15610b075760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b338585610d8d565b610b3c8361102e565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104cc60008051602061144a8339815191525467ffffffffffffffff1690565b600060008051602061146a8339815191526001018281548110610bd357610bd36113e9565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610c09610447565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c5e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906113ff565b60008051602061144a8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610cb65750825b905060008267ffffffffffffffff166001148015610cd35750303b155b905081158015610ce1575080155b15610cff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d2957845460ff60401b1916600160401b1785555b610d338888610d8d565b610d3d878761102e565b8315610d8357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d95611032565b60008051602061146a8339815191526000610dc660008051602061144a8339815191525467ffffffffffffffff1690565b90506000610dd2610447565b90508167ffffffffffffffff16600103610e005760028301805462ffffff191662ffffff8316179055610e4e565b600283015462ffffff90811690821611610e4e5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b6044820152606401610705565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f269190611422565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b7d9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061144a83398151915254600160401b900460ff1661106957604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561107d57600080fd5b81356001600160e01b03198116811461109557600080fd5b9392505050565b6000815180845260005b818110156110c2576020818501810151868301820152016110a6565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161112660a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261116c61012084018261109c565b90508281036020840152611180818561109c565b95945050505050565b602081526000611095602083018461109c565b62ffffff811681146111ad57600080fd5b50565b6000602082840312156111c257600080fd5b81356110958161119c565b6001600160a01b03811681146111ad57600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561120d57600080fd5b8335611218816111cd565b92506020840135611228816111cd565b9150604084013567ffffffffffffffff8082111561124557600080fd5b818601915086601f83011261125957600080fd5b81358181111561126b5761126b6111e2565b604051601f8201601f19908116603f01168101908382118183101715611293576112936111e2565b816040528281528960208487010111156112ac57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112e057600080fd5b5035919050565b6000602082840312156112f957600080fd5b81516110958161119c565b600181811c9082168061131857607f821691505b60208210810361133857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561135057600080fd5b8151801515811461109557600080fd5b60006020828403121561137257600080fd5b81516001600160601b038116811461109557600080fd5b60006020828403121561139b57600080fd5b5051919050565b6000602082840312156113b457600080fd5b8151611095816111cd565b6000602082840312156113d157600080fd5b815167ffffffffffffffff8116811461109557600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561141157600080fd5b815160ff8116811461109557600080fd5b60006020828403121561143457600080fd5b815164ffffffffff8116811461109557600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220ac1d668f3289eebf3d92adfaa811b5dbebfb4459b4ffc8a1a3f68eb8f32c4dc464736f6c63430008140033",
498
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001dcc38038062001dcc83398101604081905262000034916200069b565b620000656301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b505050620008eb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000606e62000158620001ed565b6040805160ff9384166020820152929091169082015260600160408051601f1981840301815291905290506000620001908462000275565b90506000620001a58583603c848888620002e9565b637b6a51fd60e01b60009081526020527f9104d64c0a509f323b61ab0d4830bb2242bc1a960637a1dcf1f2b72e0a7bd64d805460ff191660011790555050505050565b905090565b6000620001f9620003eb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620006e5565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e3919062000711565b92915050565b6200031a6301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b62000326828762000473565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003a58382620007d4565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620008a0565b6001600160a01b038216620004cf5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038416179055620004f581620004f9565b5050565b6001546001600160a01b031615620005345760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004c6565b6001600160a01b0381166200055c5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005945760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263102da10360e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000611575060408051601f3d908101601f191682019092526200060e91810190620008c7565b60015b6200063b5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b80620004f55760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004c6565b80516001600160a01b03811681146200067e57600080fd5b919050565b80516001600160601b03811681146200067e57600080fd5b600080600060608486031215620006b157600080fd5b620006bc8462000666565b9250620006cc6020850162000683565b9150620006dc6040850162000666565b90509250925092565b600060208284031215620006f857600080fd5b815160ff811681146200070a57600080fd5b9392505050565b6000602082840312156200072457600080fd5b6200070a8262000683565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075a57607f821691505b6020821081036200077b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007cf57600081815260208120601f850160051c81016020861015620007aa5750805b601f850160051c820191505b81811015620007cb57828155600101620007b6565b5050505b505050565b81516001600160401b03811115620007f057620007f06200072f565b620008088162000801845462000745565b8462000781565b602080601f831160018114620008405760008415620008275750858301515b600019600386901b1c1916600185901b178555620007cb565b600085815260208120601f198616915b82811015620008715788860151825594840194600190910190840162000850565b5085821015620008905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008b357600080fd5b815162ffffff811681146200070a57600080fd5b600060208284031215620008da57600080fd5b815180151581146200070a57600080fd5b6114b180620008fb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220c3cbe82303ec0fdaaee7de0ebe17498dce6fce8f65bd45b8a4a51ab4c218d95e64736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
499
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220c3cbe82303ec0fdaaee7de0ebe17498dce6fce8f65bd45b8a4a51ab4c218d95e64736f6c63430008140033",
500
500
  "linkReferences": {
501
501
  "contracts/types/Blocknumber.sol": {
502
502
  "BlocknumberLib": [
503
503
  {
504
504
  "length": 20,
505
- "start": 4349
505
+ "start": 4510
506
506
  }
507
507
  ]
508
508
  },
@@ -510,11 +510,11 @@
510
510
  "NftIdLib": [
511
511
  {
512
512
  "length": 20,
513
- "start": 3765
513
+ "start": 3926
514
514
  },
515
515
  {
516
516
  "length": 20,
517
- "start": 4493
517
+ "start": 4654
518
518
  }
519
519
  ]
520
520
  },
@@ -522,7 +522,7 @@
522
522
  "TimestampLib": [
523
523
  {
524
524
  "length": 20,
525
- "start": 5908
525
+ "start": 6069
526
526
  }
527
527
  ]
528
528
  },
@@ -530,23 +530,23 @@
530
530
  "VersionLib": [
531
531
  {
532
532
  "length": 20,
533
- "start": 555
533
+ "start": 532
534
534
  },
535
535
  {
536
536
  "length": 20,
537
- "start": 905
537
+ "start": 1042
538
538
  },
539
539
  {
540
540
  "length": 20,
541
- "start": 3258
541
+ "start": 3401
542
542
  },
543
543
  {
544
544
  "length": 20,
545
- "start": 4733
545
+ "start": 4894
546
546
  },
547
547
  {
548
548
  "length": 20,
549
- "start": 5232
549
+ "start": 5393
550
550
  }
551
551
  ]
552
552
  }
@@ -556,7 +556,7 @@
556
556
  "BlocknumberLib": [
557
557
  {
558
558
  "length": 20,
559
- "start": 2225
559
+ "start": 2211
560
560
  }
561
561
  ]
562
562
  },
@@ -564,11 +564,11 @@
564
564
  "NftIdLib": [
565
565
  {
566
566
  "length": 20,
567
- "start": 1641
567
+ "start": 1627
568
568
  },
569
569
  {
570
570
  "length": 20,
571
- "start": 2369
571
+ "start": 2355
572
572
  }
573
573
  ]
574
574
  },
@@ -576,7 +576,7 @@
576
576
  "TimestampLib": [
577
577
  {
578
578
  "length": 20,
579
- "start": 3784
579
+ "start": 3770
580
580
  }
581
581
  ]
582
582
  },
@@ -584,15 +584,15 @@
584
584
  "VersionLib": [
585
585
  {
586
586
  "length": 20,
587
- "start": 1134
587
+ "start": 1102
588
588
  },
589
589
  {
590
590
  "length": 20,
591
- "start": 2609
591
+ "start": 2595
592
592
  },
593
593
  {
594
594
  "length": 20,
595
- "start": 3108
595
+ "start": 3094
596
596
  }
597
597
  ]
598
598
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
3
+ "buildInfo": "../../../build-info/e3835a250be08f0bfa602231335aca3a.json"
4
4
  }
@@ -8,6 +8,92 @@
8
8
  "stateMutability": "nonpayable",
9
9
  "type": "constructor"
10
10
  },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "spender",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "allowance",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "needed",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "ERC20InsufficientAllowance",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "sender",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "balance",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "needed",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "name": "ERC20InsufficientBalance",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "approver",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "ERC20InvalidApprover",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "receiver",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "ERC20InvalidReceiver",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "sender",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ERC20InvalidSender",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "address",
90
+ "name": "spender",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "ERC20InvalidSpender",
95
+ "type": "error"
96
+ },
11
97
  {
12
98
  "anonymous": false,
13
99
  "inputs": [
@@ -143,7 +229,7 @@
143
229
  },
144
230
  {
145
231
  "internalType": "uint256",
146
- "name": "amount",
232
+ "name": "value",
147
233
  "type": "uint256"
148
234
  }
149
235
  ],
@@ -190,54 +276,6 @@
190
276
  "stateMutability": "pure",
191
277
  "type": "function"
192
278
  },
193
- {
194
- "inputs": [
195
- {
196
- "internalType": "address",
197
- "name": "spender",
198
- "type": "address"
199
- },
200
- {
201
- "internalType": "uint256",
202
- "name": "subtractedValue",
203
- "type": "uint256"
204
- }
205
- ],
206
- "name": "decreaseAllowance",
207
- "outputs": [
208
- {
209
- "internalType": "bool",
210
- "name": "",
211
- "type": "bool"
212
- }
213
- ],
214
- "stateMutability": "nonpayable",
215
- "type": "function"
216
- },
217
- {
218
- "inputs": [
219
- {
220
- "internalType": "address",
221
- "name": "spender",
222
- "type": "address"
223
- },
224
- {
225
- "internalType": "uint256",
226
- "name": "addedValue",
227
- "type": "uint256"
228
- }
229
- ],
230
- "name": "increaseAllowance",
231
- "outputs": [
232
- {
233
- "internalType": "bool",
234
- "name": "",
235
- "type": "bool"
236
- }
237
- ],
238
- "stateMutability": "nonpayable",
239
- "type": "function"
240
- },
241
279
  {
242
280
  "inputs": [],
243
281
  "name": "name",
@@ -286,7 +324,7 @@
286
324
  },
287
325
  {
288
326
  "internalType": "uint256",
289
- "name": "amount",
327
+ "name": "value",
290
328
  "type": "uint256"
291
329
  }
292
330
  ],
@@ -315,7 +353,7 @@
315
353
  },
316
354
  {
317
355
  "internalType": "uint256",
318
- "name": "amount",
356
+ "name": "value",
319
357
  "type": "uint256"
320
358
  }
321
359
  ],
@@ -331,8 +369,8 @@
331
369
  "type": "function"
332
370
  }
333
371
  ],
334
- "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b815250604051806040016040528060048152602001635553444360e01b815250816003908162000064919062000227565b50600462000073828262000227565b505050620000ae6200008a620000b460201b60201c565b620000986006600a62000408565b620000a890633b9aca0062000420565b620000b8565b62000450565b3390565b6001600160a01b038216620001135760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200012791906200043a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001ae57607f821691505b602082108103620001cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017e57600081815260208120601f850160051c81016020861015620001fe5750805b601f850160051c820191505b818110156200021f578281556001016200020a565b505050505050565b81516001600160401b0381111562000243576200024362000183565b6200025b8162000254845462000199565b84620001d5565b602080601f8311600181146200029357600084156200027a5750858301515b600019600386901b1c1916600185901b1785556200021f565b600085815260208120601f198616915b82811015620002c457888601518255948401946001909101908401620002a3565b5085821015620002e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200034a5781600019048211156200032e576200032e620002f3565b808516156200033c57918102915b93841c93908002906200030e565b509250929050565b600082620003635750600162000402565b81620003725750600062000402565b81600181146200038b57600281146200039657620003b6565b600191505062000402565b60ff841115620003aa57620003aa620002f3565b50506001821b62000402565b5060208310610133831016604e8410600b8410161715620003db575081810a62000402565b620003e7838362000309565b8060001904821115620003fe57620003fe620002f3565b0290505b92915050565b60006200041960ff84168362000352565b9392505050565b8082028115828204841417620004025762000402620002f3565b80820180821115620004025762000402620002f3565b610a3480620004606000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d7146101f7578063a9059cbb1461020a578063dd62ed3e1461021d578063f76f8d781461023057600080fd5b8063395093511461018957806370a082311461019c57806395d89b41146101c5578063a3f4df7e146101cd57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018257600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610253565b60405161010f919061076c565b60405180910390f35b61012b6101263660046107d6565b6102e5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610800565b6102ff565b610168600681565b60405160ff909116815260200161010f565b61013f610323565b6006610168565b61012b6101973660046107d6565b610340565b61013f6101aa36600461083c565b6001600160a01b031660009081526020819052604090205490565b610102610362565b6101026040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b61012b6102053660046107d6565b610371565b61012b6102183660046107d6565b6103f1565b61013f61022b36600461085e565b6103ff565b610102604051806040016040528060048152602001635553444360e01b81525081565b60606003805461026290610891565b80601f016020809104026020016040519081016040528092919081815260200182805461028e90610891565b80156102db5780601f106102b0576101008083540402835291602001916102db565b820191906000526020600020905b8154815290600101906020018083116102be57829003601f168201915b5050505050905090565b6000336102f381858561042a565b60019150505b92915050565b60003361030d85828561054e565b6103188585856105c8565b506001949350505050565b61032f6006600a6109c5565b61033d90633b9aca006109d4565b81565b6000336102f381858561035383836103ff565b61035d91906109eb565b61042a565b60606004805461026290610891565b6000338161037f82866103ff565b9050838110156103e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610318828686840361042a565b6000336102f38185856105c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103db565b6001600160a01b0382166104ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103db565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055a84846103ff565b905060001981146105c257818110156105b55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103db565b6105c2848484840361042a565b50505050565b6001600160a01b03831661062c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103db565b6001600160a01b03821661068e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103db565b6001600160a01b038316600090815260208190526040902054818110156107065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103db565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c2565b600060208083528351808285015260005b818110156107995785810183015185820160400152820161077d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107d157600080fd5b919050565b600080604083850312156107e957600080fd5b6107f2836107ba565b946020939093013593505050565b60008060006060848603121561081557600080fd5b61081e846107ba565b925061082c602085016107ba565b9150604084013590509250925092565b60006020828403121561084e57600080fd5b610857826107ba565b9392505050565b6000806040838503121561087157600080fd5b61087a836107ba565b9150610888602084016107ba565b90509250929050565b600181811c908216806108a557607f821691505b6020821081036108c557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561091c578160001904821115610902576109026108cb565b8085161561090f57918102915b93841c93908002906108e6565b509250929050565b600082610933575060016102f9565b81610940575060006102f9565b816001811461095657600281146109605761097c565b60019150506102f9565b60ff841115610971576109716108cb565b50506001821b6102f9565b5060208310610133831016604e8410600b841016171561099f575081810a6102f9565b6109a983836108e1565b80600019048211156109bd576109bd6108cb565b029392505050565b600061085760ff841683610924565b80820281158282048414176102f9576102f96108cb565b808201808211156102f9576102f96108cb56fea2646970667358221220f5bae286a22b700b52fd354d2d62092b6c97ab36290cdada62a88b4dc72512b864736f6c63430008140033",
335
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d7146101f7578063a9059cbb1461020a578063dd62ed3e1461021d578063f76f8d781461023057600080fd5b8063395093511461018957806370a082311461019c57806395d89b41146101c5578063a3f4df7e146101cd57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018257600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610253565b60405161010f919061076c565b60405180910390f35b61012b6101263660046107d6565b6102e5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610800565b6102ff565b610168600681565b60405160ff909116815260200161010f565b61013f610323565b6006610168565b61012b6101973660046107d6565b610340565b61013f6101aa36600461083c565b6001600160a01b031660009081526020819052604090205490565b610102610362565b6101026040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b61012b6102053660046107d6565b610371565b61012b6102183660046107d6565b6103f1565b61013f61022b36600461085e565b6103ff565b610102604051806040016040528060048152602001635553444360e01b81525081565b60606003805461026290610891565b80601f016020809104026020016040519081016040528092919081815260200182805461028e90610891565b80156102db5780601f106102b0576101008083540402835291602001916102db565b820191906000526020600020905b8154815290600101906020018083116102be57829003601f168201915b5050505050905090565b6000336102f381858561042a565b60019150505b92915050565b60003361030d85828561054e565b6103188585856105c8565b506001949350505050565b61032f6006600a6109c5565b61033d90633b9aca006109d4565b81565b6000336102f381858561035383836103ff565b61035d91906109eb565b61042a565b60606004805461026290610891565b6000338161037f82866103ff565b9050838110156103e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610318828686840361042a565b6000336102f38185856105c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103db565b6001600160a01b0382166104ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103db565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055a84846103ff565b905060001981146105c257818110156105b55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103db565b6105c2848484840361042a565b50505050565b6001600160a01b03831661062c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103db565b6001600160a01b03821661068e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103db565b6001600160a01b038316600090815260208190526040902054818110156107065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103db565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c2565b600060208083528351808285015260005b818110156107995785810183015185820160400152820161077d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107d157600080fd5b919050565b600080604083850312156107e957600080fd5b6107f2836107ba565b946020939093013593505050565b60008060006060848603121561081557600080fd5b61081e846107ba565b925061082c602085016107ba565b9150604084013590509250925092565b60006020828403121561084e57600080fd5b610857826107ba565b9392505050565b6000806040838503121561087157600080fd5b61087a836107ba565b9150610888602084016107ba565b90509250929050565b600181811c908216806108a557607f821691505b6020821081036108c557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561091c578160001904821115610902576109026108cb565b8085161561090f57918102915b93841c93908002906108e6565b509250929050565b600082610933575060016102f9565b81610940575060006102f9565b816001811461095657600281146109605761097c565b60019150506102f9565b60ff841115610971576109716108cb565b50506001821b6102f9565b5060208310610133831016604e8410600b841016171561099f575081810a6102f9565b6109a983836108e1565b80600019048211156109bd576109bd6108cb565b029392505050565b600061085760ff841683610924565b80820281158282048414176102f9576102f96108cb565b808201808211156102f9576102f96108cb56fea2646970667358221220f5bae286a22b700b52fd354d2d62092b6c97ab36290cdada62a88b4dc72512b864736f6c63430008140033",
372
+ "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b815250604051806040016040528060048152602001635553444360e01b8152508160039081620000649190620002d2565b506004620000738282620002d2565b505050620000ae6200008a620000b460201b60201c565b620000986006600a620004b3565b620000a890633b9aca00620004cb565b620000b8565b620004fb565b3390565b6001600160a01b038216620000e85760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b620000f660008383620000fa565b5050565b6001600160a01b038316620001295780600260008282546200011d9190620004e5565b909155506200019d9050565b6001600160a01b038316600090815260208190526040902054818110156200017e5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000df565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620001bb57600280548290039055620001da565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200022091815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025857607f821691505b6020821081036200027957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002cd57600081815260208120601f850160051c81016020861015620002a85750805b601f850160051c820191505b81811015620002c957828155600101620002b4565b5050505b505050565b81516001600160401b03811115620002ee57620002ee6200022d565b6200030681620002ff845462000243565b846200027f565b602080601f8311600181146200033e5760008415620003255750858301515b600019600386901b1c1916600185901b178555620002c9565b600085815260208120601f198616915b828110156200036f578886015182559484019460019091019084016200034e565b50858210156200038e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f5578160001904821115620003d957620003d96200039e565b80851615620003e757918102915b93841c9390800290620003b9565b509250929050565b6000826200040e57506001620004ad565b816200041d57506000620004ad565b8160018114620004365760028114620004415762000461565b6001915050620004ad565b60ff8411156200045557620004556200039e565b50506001821b620004ad565b5060208310610133831016604e8410600b841016171562000486575081810a620004ad565b620004928383620003b4565b8060001904821115620004a957620004a96200039e565b0290505b92915050565b6000620004c460ff841683620003fd565b9392505050565b8082028115828204841417620004ad57620004ad6200039e565b80820180821115620004ad57620004ad6200039e565b6108f2806200050b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101be578063dd62ed3e146101d1578063f76f8d781461020a57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022d565b6040516100e9919061062a565b60405180910390f35b610105610100366004610694565b6102bf565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106be565b6102d9565b610142600681565b60405160ff90911681526020016100e9565b6101196102fd565b6006610142565b6101196101713660046106fa565b6001600160a01b031660009081526020819052604090205490565b6100dc61031a565b6100dc6040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b6101056101cc366004610694565b610329565b6101196101df36600461071c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023c9061074f565b80601f01602080910402602001604051908101604052809291908181526020018280546102689061074f565b80156102b55780601f1061028a576101008083540402835291602001916102b5565b820191906000526020600020905b81548152906001019060200180831161029857829003601f168201915b5050505050905090565b6000336102cd818585610337565b60019150505b92915050565b6000336102e7858285610349565b6102f28585856103cc565b506001949350505050565b6103096006600a610883565b61031790633b9aca00610892565b81565b60606004805461023c9061074f565b6000336102cd8185856103cc565b610344838383600161042b565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c657818110156103b757604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c68484848403600061042b565b50505050565b6001600160a01b0383166103f657604051634b637e8f60e11b8152600060048201526024016103ae565b6001600160a01b0382166104205760405163ec442f0560e01b8152600060048201526024016103ae565b610344838383610500565b6001600160a01b0384166104555760405163e602df0560e01b8152600060048201526024016103ae565b6001600160a01b03831661047f57604051634a1406b160e11b8152600060048201526024016103ae565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c657826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f291815260200190565b60405180910390a350505050565b6001600160a01b03831661052b57806002600082825461052091906108a9565b9091555061059d9050565b6001600160a01b0383166000908152602081905260409020548181101561057e5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ae565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105b9576002805482900390556105d8565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061d91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106575785810183015185820160400152820161063b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461068f57600080fd5b919050565b600080604083850312156106a757600080fd5b6106b083610678565b946020939093013593505050565b6000806000606084860312156106d357600080fd5b6106dc84610678565b92506106ea60208501610678565b9150604084013590509250925092565b60006020828403121561070c57600080fd5b61071582610678565b9392505050565b6000806040838503121561072f57600080fd5b61073883610678565b915061074660208401610678565b90509250929050565b600181811c9082168061076357607f821691505b60208210810361078357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107da5781600019048211156107c0576107c0610789565b808516156107cd57918102915b93841c93908002906107a4565b509250929050565b6000826107f1575060016102d3565b816107fe575060006102d3565b8160018114610814576002811461081e5761083a565b60019150506102d3565b60ff84111561082f5761082f610789565b50506001821b6102d3565b5060208310610133831016604e8410600b841016171561085d575081810a6102d3565b610867838361079f565b806000190482111561087b5761087b610789565b029392505050565b600061071560ff8416836107e2565b80820281158282048414176102d3576102d3610789565b808201808211156102d3576102d361078956fea2646970667358221220ce285ac8359b39ea9974e26ea7d0f956b6b879df7ebf8ae43077c020f2fd566864736f6c63430008140033",
373
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101be578063dd62ed3e146101d1578063f76f8d781461020a57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022d565b6040516100e9919061062a565b60405180910390f35b610105610100366004610694565b6102bf565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106be565b6102d9565b610142600681565b60405160ff90911681526020016100e9565b6101196102fd565b6006610142565b6101196101713660046106fa565b6001600160a01b031660009081526020819052604090205490565b6100dc61031a565b6100dc6040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b6101056101cc366004610694565b610329565b6101196101df36600461071c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023c9061074f565b80601f01602080910402602001604051908101604052809291908181526020018280546102689061074f565b80156102b55780601f1061028a576101008083540402835291602001916102b5565b820191906000526020600020905b81548152906001019060200180831161029857829003601f168201915b5050505050905090565b6000336102cd818585610337565b60019150505b92915050565b6000336102e7858285610349565b6102f28585856103cc565b506001949350505050565b6103096006600a610883565b61031790633b9aca00610892565b81565b60606004805461023c9061074f565b6000336102cd8185856103cc565b610344838383600161042b565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c657818110156103b757604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c68484848403600061042b565b50505050565b6001600160a01b0383166103f657604051634b637e8f60e11b8152600060048201526024016103ae565b6001600160a01b0382166104205760405163ec442f0560e01b8152600060048201526024016103ae565b610344838383610500565b6001600160a01b0384166104555760405163e602df0560e01b8152600060048201526024016103ae565b6001600160a01b03831661047f57604051634a1406b160e11b8152600060048201526024016103ae565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c657826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f291815260200190565b60405180910390a350505050565b6001600160a01b03831661052b57806002600082825461052091906108a9565b9091555061059d9050565b6001600160a01b0383166000908152602081905260409020548181101561057e5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ae565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105b9576002805482900390556105d8565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061d91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106575785810183015185820160400152820161063b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461068f57600080fd5b919050565b600080604083850312156106a757600080fd5b6106b083610678565b946020939093013593505050565b6000806000606084860312156106d357600080fd5b6106dc84610678565b92506106ea60208501610678565b9150604084013590509250925092565b60006020828403121561070c57600080fd5b61071582610678565b9392505050565b6000806040838503121561072f57600080fd5b61073883610678565b915061074660208401610678565b90509250929050565b600181811c9082168061076357607f821691505b60208210810361078357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107da5781600019048211156107c0576107c0610789565b808516156107cd57918102915b93841c93908002906107a4565b509250929050565b6000826107f1575060016102d3565b816107fe575060006102d3565b8160018114610814576002811461081e5761083a565b60019150506102d3565b60ff84111561082f5761082f610789565b50506001821b6102d3565b5060208310610133831016604e8410600b841016171561085d575081810a6102d3565b610867838361079f565b806000190482111561087b5761087b610789565b029392505050565b600061071560ff8416836107e2565b80820281158282048414176102d3576102d3610789565b808201808211156102d3576102d361078956fea2646970667358221220ce285ac8359b39ea9974e26ea7d0f956b6b879df7ebf8ae43077c020f2fd566864736f6c63430008140033",
336
374
  "linkReferences": {},
337
375
  "deployedLinkReferences": {}
338
376
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
3
+ "buildInfo": "../../../build-info/e3835a250be08f0bfa602231335aca3a.json"
4
4
  }
@@ -161,8 +161,8 @@
161
161
  "type": "function"
162
162
  }
163
163
  ],
164
- "bytecode": "0x608060405234801561001057600080fd5b50610544806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea264697066735822122080f150de8b61ad3f87c071a3e90af61131794db3f3d57c03e041374b81317b1564736f6c63430008140033",
165
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea264697066735822122080f150de8b61ad3f87c071a3e90af61131794db3f3d57c03e041374b81317b1564736f6c63430008140033",
164
+ "bytecode": "0x608060405234801561001057600080fd5b50610544806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea26469706673582212206e529886c2f8439684af8bc60c7d7762a41afcce6ceef512fc94376b5fe8009e64736f6c63430008140033",
165
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee146100ed57806389818c3c1461011057806389d5976814610135578063e038c6251461014857600080fd5b80630f40f5951461008257806312cf04de146100a357806364d4e5d8146100b6575b600080fd5b61008a61015b565b60405162ffffff90911681526020015b60405180910390f35b61008a6100b13660046103ce565b6101cf565b6100c96100c436600461040e565b61025c565b6040805160ff9485168152928416602084015292169181019190915260600161009a565b6101006100fb36600461042b565b6102e8565b604051901515815260200161009a565b61012361011e366004610464565b6102fd565b60405160ff909116815260200161009a565b61010061014336600461042b565b61037d565b61012361015636600461040e565b61038f565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca919061047d565b905090565b604051632efe011360e01b815260048101849052602481018390526044810182905260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610254919061047d565b949350505050565b6040516324d3888d60e11b815262ffffff821660048201526000908190819073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__906349a7111a90602401606060405180830381865af41580156102b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102db91906104b0565b9250925092509193909250565b600062ffffff808316908416115b9392505050565b604051632392b61b60e21b815260ff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90638e4ad86c906024015b602060405180830381865af4158015610353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037791906104f3565b92915050565b600062ffffff808416908316146102f6565b60405163c9e66e2960e01b815262ffffff8216600482015260009073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401610336565b6000806000606084860312156103e357600080fd5b505081359360208301359350604090920135919050565b62ffffff8116811461040b57600080fd5b50565b60006020828403121561042057600080fd5b81356102f6816103fa565b6000806040838503121561043e57600080fd5b8235610449816103fa565b91506020830135610459816103fa565b809150509250929050565b60006020828403121561047657600080fd5b5035919050565b60006020828403121561048f57600080fd5b81516102f6816103fa565b805160ff811681146104ab57600080fd5b919050565b6000806000606084860312156104c557600080fd5b6104ce8461049a565b92506104dc6020850161049a565b91506104ea6040850161049a565b90509250925092565b60006020828403121561050557600080fd5b6102f68261049a56fea26469706673582212206e529886c2f8439684af8bc60c7d7762a41afcce6ceef512fc94376b5fe8009e64736f6c63430008140033",
166
166
  "linkReferences": {
167
167
  "contracts/types/Version.sol": {
168
168
  "VersionLib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
3
+ "buildInfo": "../../../build-info/e3835a250be08f0bfa602231335aca3a.json"
4
4
  }
@@ -221,8 +221,8 @@
221
221
  "type": "function"
222
222
  }
223
223
  ],
224
- "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610bd8806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220909497d0fac1a9ac533a689869478ef746a9875c446ca2213118480b567c71d064736f6c63430008140033",
225
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220909497d0fac1a9ac533a689869478ef746a9875c446ca2213118480b567c71d064736f6c63430008140033",
224
+ "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610bd8806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122036c2436a636388b08a2d568ba9d2982ad1e4c316093f1ecd22f3561fa8794c0264736f6c63430008140033",
225
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a264697066735822122036c2436a636388b08a2d568ba9d2982ad1e4c316093f1ecd22f3561fa8794c0264736f6c63430008140033",
226
226
  "linkReferences": {
227
227
  "contracts/types/Blocknumber.sol": {
228
228
  "BlocknumberLib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
3
+ "buildInfo": "../../../build-info/e3835a250be08f0bfa602231335aca3a.json"
4
4
  }