@etherisc/gif-next 0.0.2-9a053fa-993 → 0.0.2-9b434da-265

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 (339) hide show
  1. package/README.md +84 -6
  2. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +115 -48
  4. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  5. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  6. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  7. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  8. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  9. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  10. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  11. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  12. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  13. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  20. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  24. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  26. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  28. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  30. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
  31. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
  32. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
  33. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
  34. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
  35. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
  36. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  37. package/artifacts/contracts/instance/Instance.sol/Instance.json +2356 -1124
  38. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
  40. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -0
  42. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +506 -0
  44. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  46. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  47. package/artifacts/contracts/instance/{service/IPoolService.sol/IPoolService.json → base/IService.sol/IService.json} +171 -126
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  49. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +736 -0
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  52. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{service/IProductService.sol/IProductService.json → base/ServiceBase.sol/ServiceBase.json} +189 -198
  54. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  55. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
  56. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  57. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  58. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  60. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  61. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  62. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  63. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IRisk.sol/IRisk.json} +2 -2
  64. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  65. package/artifacts/contracts/instance/module/{pool/IPoolModule.sol/IPool.json → ISetup.sol/ISetup.json} +2 -2
  66. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  68. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  69. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +141 -12
  70. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  71. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  72. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  73. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +298 -39
  74. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  75. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +745 -0
  76. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  77. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  78. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  79. package/artifacts/contracts/registry/Registry.sol/Registry.json +489 -120
  80. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  81. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1013 -0
  82. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +476 -0
  84. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  85. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  86. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  87. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  88. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  89. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  90. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  91. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
  92. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  93. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +60 -19
  94. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  95. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  96. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  97. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  98. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  99. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
  100. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  101. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
  102. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  103. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  104. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  105. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +83 -19
  106. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  107. package/artifacts/contracts/test/TestFee.sol/TestFee.json +28 -4
  108. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  109. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
  110. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  111. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +3 -75
  112. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  113. package/artifacts/contracts/test/TestService.sol/TestService.json +277 -84
  114. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  115. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +2 -2
  116. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  117. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +14 -18
  118. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  119. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +106 -50
  120. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  121. package/artifacts/contracts/test/Usdc.sol/USDC.json +338 -0
  122. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  123. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +2 -2
  124. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  125. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  126. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  127. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  128. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  129. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
  130. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  131. package/artifacts/contracts/types/Fee.sol/FeeLib.json +257 -0
  132. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  133. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +125 -0
  134. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  135. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  136. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  137. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  138. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
  139. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
  140. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  142. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
  143. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
  144. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  145. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  146. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  147. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +156 -0
  148. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  149. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  150. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  151. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
  152. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  153. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +34 -8
  154. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  155. package/artifacts/contracts/types/Version.sol/VersionLib.json +101 -2
  156. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  157. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  158. package/contracts/components/IBaseComponent.sol +4 -4
  159. package/contracts/instance/AccessManagedSimple.sol +114 -0
  160. package/contracts/instance/AccessManagerSimple.sol +682 -0
  161. package/contracts/instance/IAccessManagerSimple.sol +391 -0
  162. package/contracts/instance/Instance.sol +376 -48
  163. package/contracts/instance/InstanceAccessManager.sol +288 -0
  164. package/contracts/instance/InstanceService.sol +45 -0
  165. package/contracts/instance/base/IKeyValueStore.sol +48 -0
  166. package/contracts/instance/base/ILifecycle.sol +30 -0
  167. package/contracts/instance/base/KeyValueStore.sol +188 -0
  168. package/contracts/instance/{module/lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +51 -40
  169. package/contracts/instance/base/ServiceBase.sol +44 -0
  170. package/contracts/instance/module/IAccess.sol +38 -0
  171. package/contracts/instance/module/IBundle.sol +19 -0
  172. package/contracts/instance/module/IDistribution.sol +39 -0
  173. package/contracts/instance/module/IPolicy.sol +45 -0
  174. package/contracts/instance/module/IRisk.sol +11 -0
  175. package/contracts/instance/module/ISetup.sol +41 -0
  176. package/contracts/instance/module/ITreasury.sol +23 -0
  177. package/contracts/registry/ChainNft.sol +43 -15
  178. package/contracts/registry/IChainNft.sol +3 -2
  179. package/contracts/registry/IRegistry.sol +42 -26
  180. package/contracts/registry/IRegistryService.sol +29 -0
  181. package/contracts/registry/ITransferInterceptor.sol +6 -0
  182. package/contracts/registry/Registry.sol +385 -275
  183. package/contracts/registry/RegistryService.sol +369 -0
  184. package/contracts/registry/RegistryServiceManager.sol +43 -0
  185. package/contracts/shared/ContractDeployerLib.sol +72 -0
  186. package/contracts/shared/ERC165.sol +1 -1
  187. package/contracts/shared/INftOwnable.sol +22 -0
  188. package/contracts/shared/IRegisterable.sol +9 -16
  189. package/contracts/shared/IVersionable.sol +56 -12
  190. package/contracts/shared/NftOwnable.sol +136 -0
  191. package/contracts/shared/ProxyManager.sol +94 -0
  192. package/contracts/shared/Registerable.sol +62 -59
  193. package/contracts/shared/TokenHandler.sol +27 -0
  194. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  195. package/contracts/shared/Versionable.sol +112 -57
  196. package/contracts/test/TestFee.sol +3 -3
  197. package/contracts/test/TestRegisterable.sol +5 -6
  198. package/contracts/test/TestRoleId.sol +6 -6
  199. package/contracts/test/TestService.sol +7 -16
  200. package/contracts/test/TestVersion.sol +4 -7
  201. package/contracts/test/TestVersionable.sol +2 -5
  202. package/contracts/test/Usdc.sol +26 -0
  203. package/contracts/types/DistributorType.sol +55 -0
  204. package/contracts/types/Fee.sol +44 -20
  205. package/contracts/types/Key32.sol +50 -0
  206. package/contracts/types/NftId.sol +16 -1
  207. package/contracts/types/NumberId.sol +52 -0
  208. package/contracts/types/ObjectType.sol +51 -14
  209. package/contracts/types/Referral.sol +85 -0
  210. package/contracts/types/RiskId.sol +43 -0
  211. package/contracts/types/RoleId.sol +51 -12
  212. package/contracts/types/StateId.sol +8 -2
  213. package/contracts/types/Timestamp.sol +7 -3
  214. package/contracts/types/UFixed.sol +19 -16
  215. package/contracts/types/Version.sol +38 -25
  216. package/package.json +5 -2
  217. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  218. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  219. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  220. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  221. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  222. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  223. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  224. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  225. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  226. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  227. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +0 -4
  228. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +0 -2022
  229. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  230. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  231. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  232. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  233. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  234. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -313
  235. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  236. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  237. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  238. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  239. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  240. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  241. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  242. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  243. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  244. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  245. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  246. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  247. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  248. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  249. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  251. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  252. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  253. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  254. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  255. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  256. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  257. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  258. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  259. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  260. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  261. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  262. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  263. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  264. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  265. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  266. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +0 -10
  268. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
  269. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +0 -10
  270. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  271. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  272. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -538
  273. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  274. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  275. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  276. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -538
  277. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  278. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -519
  279. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  280. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  281. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  282. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -364
  283. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  284. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  285. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  286. package/artifacts/contracts/instance/service/IService.sol/IService.json +0 -300
  287. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  288. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -499
  289. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  290. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -685
  291. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  292. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  293. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  294. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  295. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  296. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  297. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  298. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  299. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  300. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  301. package/contracts/components/BaseComponent.sol +0 -89
  302. package/contracts/components/IPoolComponent.sol +0 -57
  303. package/contracts/components/IProductComponent.sol +0 -19
  304. package/contracts/components/Pool.sol +0 -174
  305. package/contracts/components/Product.sol +0 -117
  306. package/contracts/experiment/statemachine/README.md +0 -112
  307. package/contracts/instance/IInstance.sol +0 -50
  308. package/contracts/instance/IInstanceLinked.sol +0 -8
  309. package/contracts/instance/IServiceLinked.sol +0 -12
  310. package/contracts/instance/InstanceBase.sol +0 -74
  311. package/contracts/instance/module/access/Access.sol +0 -149
  312. package/contracts/instance/module/access/IAccess.sol +0 -53
  313. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  314. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  315. package/contracts/instance/module/component/ComponentModule.sol +0 -104
  316. package/contracts/instance/module/component/IComponent.sol +0 -53
  317. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  318. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  319. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  320. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  321. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  322. package/contracts/instance/module/product/IProductModule.sol +0 -6
  323. package/contracts/instance/module/product/ProductModule.sol +0 -8
  324. package/contracts/instance/module/treasury/ITreasury.sol +0 -104
  325. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  326. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -148
  327. package/contracts/instance/service/ComponentOwnerService.sol +0 -174
  328. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  329. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  330. package/contracts/instance/service/IPoolService.sol +0 -30
  331. package/contracts/instance/service/IProductService.sol +0 -58
  332. package/contracts/instance/service/PoolService.sol +0 -98
  333. package/contracts/instance/service/ProductService.sol +0 -358
  334. package/contracts/instance/service/ServiceBase.sol +0 -39
  335. package/contracts/registry/IRegistryLinked.sol +0 -8
  336. package/contracts/shared/IOwnable.sol +0 -6
  337. package/contracts/test/TestPool.sol +0 -22
  338. package/contracts/test/TestProduct.sol +0 -44
  339. /package/contracts/instance/{service → base}/IService.sol +0 -0
@@ -331,8 +331,8 @@
331
331
  "type": "function"
332
332
  }
333
333
  ],
334
- "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f55534443202d20546573740000000000000000000000000000000000000000008152506040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081600390816200008f9190620004e4565b508060049081620000a19190620004e4565b505050620000e5620000b8620000eb60201b60201c565b6006600a620000c891906200075b565b633b9aca00620000d99190620007ac565b620000f360201b60201c565b620008e3565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000165576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015c9062000858565b60405180910390fd5b62000179600083836200026060201b60201c565b80600260008282546200018d91906200087a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002409190620008c6565b60405180910390a36200025c600083836200026560201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ec57607f821691505b602082108103620003025762000301620002a4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200036c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200032d565b6200037886836200032d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003c5620003bf620003b98462000390565b6200039a565b62000390565b9050919050565b6000819050919050565b620003e183620003a4565b620003f9620003f082620003cc565b8484546200033a565b825550505050565b600090565b6200041062000401565b6200041d818484620003d6565b505050565b5b8181101562000445576200043960008262000406565b60018101905062000423565b5050565b601f82111562000494576200045e8162000308565b62000469846200031d565b8101602085101562000479578190505b6200049162000488856200031d565b83018262000422565b50505b505050565b600082821c905092915050565b6000620004b96000198460080262000499565b1980831691505092915050565b6000620004d48383620004a6565b9150826002028217905092915050565b620004ef826200026a565b67ffffffffffffffff8111156200050b576200050a62000275565b5b620005178254620002d3565b6200052482828562000449565b600060209050601f8311600181146200055c576000841562000547578287015190505b620005538582620004c6565b865550620005c3565b601f1984166200056c8662000308565b60005b8281101562000596578489015182556001820191506020850194506020810190506200056f565b86831015620005b65784890151620005b2601f891682620004a6565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200065957808604811115620006315762000630620005cb565b5b6001851615620006415780820291505b80810290506200065185620005fa565b945062000611565b94509492505050565b60008262000674576001905062000747565b8162000684576000905062000747565b81600181146200069d5760028114620006a857620006de565b600191505062000747565b60ff841115620006bd57620006bc620005cb565b5b8360020a915084821115620006d757620006d6620005cb565b5b5062000747565b5060208310610133831016604e8410600b8410161715620007185782820a905083811115620007125762000711620005cb565b5b62000747565b62000727848484600162000607565b92509050818404811115620007415762000740620005cb565b5b81810290505b9392505050565b600060ff82169050919050565b6000620007688262000390565b915062000775836200074e565b9250620007a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000662565b905092915050565b6000620007b98262000390565b9150620007c68362000390565b9250828202620007d68162000390565b91508282048414831517620007f057620007ef620005cb565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000840601f83620007f7565b91506200084d8262000808565b602082019050919050565b60006020820190508181036000830152620008738162000831565b9050919050565b6000620008878262000390565b9150620008948362000390565b9250828201905080821115620008af57620008ae620005cb565b5b92915050565b620008c08162000390565b82525050565b6000602082019050620008dd6000830184620008b5565b92915050565b61154a80620008f36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d71461028c578063a9059cbb146102bc578063dd62ed3e146102ec578063f76f8d781461031c576100f5565b806339509351146101f057806370a082311461022057806395d89b4114610250578063a3f4df7e1461026e576100f5565b806323b872dd116100d357806323b872dd146101665780632e0f2625146101965780632ff2e9dc146101b4578063313ce567146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b61010261033a565b60405161010f9190610c67565b60405180910390f35b610132600480360381019061012d9190610d22565b6103cc565b60405161013f9190610d7d565b60405180910390f35b6101506103ef565b60405161015d9190610da7565b60405180910390f35b610180600480360381019061017b9190610dc2565b6103f9565b60405161018d9190610d7d565b60405180910390f35b61019e610428565b6040516101ab9190610e31565b60405180910390f35b6101bc61042d565b6040516101c99190610da7565b60405180910390f35b6101da61044d565b6040516101e79190610e31565b60405180910390f35b61020a60048036038101906102059190610d22565b610456565b6040516102179190610d7d565b60405180910390f35b61023a60048036038101906102359190610e4c565b61048d565b6040516102479190610da7565b60405180910390f35b6102586104d5565b6040516102659190610c67565b60405180910390f35b610276610567565b6040516102839190610c67565b60405180910390f35b6102a660048036038101906102a19190610d22565b6105a0565b6040516102b39190610d7d565b60405180910390f35b6102d660048036038101906102d19190610d22565b610617565b6040516102e39190610d7d565b60405180910390f35b61030660048036038101906103019190610e79565b61063a565b6040516103139190610da7565b60405180910390f35b6103246106c1565b6040516103319190610c67565b60405180910390f35b60606003805461034990610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610ee8565b80156103c25780601f10610397576101008083540402835291602001916103c2565b820191906000526020600020905b8154815290600101906020018083116103a557829003601f168201915b5050505050905090565b6000806103d76106fa565b90506103e4818585610702565b600191505092915050565b6000600254905090565b6000806104046106fa565b90506104118582856108cb565b61041c858585610957565b60019150509392505050565b600681565b6006600a61043b919061107b565b633b9aca0061044a91906110c6565b81565b60006006905090565b6000806104616106fa565b9050610482818585610473858961063a565b61047d9190611108565b610702565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104e490610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610ee8565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b5050505050905090565b6040518060400160405280600b81526020017f55534443202d205465737400000000000000000000000000000000000000000081525081565b6000806105ab6106fa565b905060006105b9828661063a565b9050838110156105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906111ae565b60405180910390fd5b61060b8286868403610702565b60019250505092915050565b6000806106226106fa565b905061062f818585610957565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d7906112d2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108be9190610da7565b60405180910390a3505050565b60006108d7848461063a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109515781811015610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061133e565b60405180910390fd5b6109508484848403610702565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611462565b60405180910390fd5b610a40838383610bcd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906114f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb49190610da7565b60405180910390a3610bc7848484610bd2565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c11578082015181840152602081019050610bf6565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c3982610bd7565b610c438185610be2565b9350610c53818560208601610bf3565b610c5c81610c1d565b840191505092915050565b60006020820190508181036000830152610c818184610c2e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb982610c8e565b9050919050565b610cc981610cae565b8114610cd457600080fd5b50565b600081359050610ce681610cc0565b92915050565b6000819050919050565b610cff81610cec565b8114610d0a57600080fd5b50565b600081359050610d1c81610cf6565b92915050565b60008060408385031215610d3957610d38610c89565b5b6000610d4785828601610cd7565b9250506020610d5885828601610d0d565b9150509250929050565b60008115159050919050565b610d7781610d62565b82525050565b6000602082019050610d926000830184610d6e565b92915050565b610da181610cec565b82525050565b6000602082019050610dbc6000830184610d98565b92915050565b600080600060608486031215610ddb57610dda610c89565b5b6000610de986828701610cd7565b9350506020610dfa86828701610cd7565b9250506040610e0b86828701610d0d565b9150509250925092565b600060ff82169050919050565b610e2b81610e15565b82525050565b6000602082019050610e466000830184610e22565b92915050565b600060208284031215610e6257610e61610c89565b5b6000610e7084828501610cd7565b91505092915050565b60008060408385031215610e9057610e8f610c89565b5b6000610e9e85828601610cd7565b9250506020610eaf85828601610cd7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0057607f821691505b602082108103610f1357610f12610eb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f9f57808604811115610f7b57610f7a610f19565b5b6001851615610f8a5780820291505b8081029050610f9885610f48565b9450610f5f565b94509492505050565b600082610fb85760019050611074565b81610fc65760009050611074565b8160018114610fdc5760028114610fe657611015565b6001915050611074565b60ff841115610ff857610ff7610f19565b5b8360020a91508482111561100f5761100e610f19565b5b50611074565b5060208310610133831016604e8410600b841016171561104a5782820a90508381111561104557611044610f19565b5b611074565b6110578484846001610f55565b9250905081840481111561106e5761106d610f19565b5b81810290505b9392505050565b600061108682610cec565b915061109183610e15565b92506110be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610fa8565b905092915050565b60006110d182610cec565b91506110dc83610cec565b92508282026110ea81610cec565b9150828204841483151761110157611100610f19565b5b5092915050565b600061111382610cec565b915061111e83610cec565b925082820190508082111561113657611135610f19565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611198602583610be2565b91506111a38261113c565b604082019050919050565b600060208201905081810360008301526111c78161118b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061122a602483610be2565b9150611235826111ce565b604082019050919050565b600060208201905081810360008301526112598161121d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006112bc602283610be2565b91506112c782611260565b604082019050919050565b600060208201905081810360008301526112eb816112af565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611328601d83610be2565b9150611333826112f2565b602082019050919050565b600060208201905081810360008301526113578161131b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602583610be2565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144c602383610be2565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006114de602683610be2565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b905091905056fea26469706673582212207e5d249e6d2ee2ea2aa725b7a07902b2d8ce2ff2cc07e23c5607b13fe8dcc70964736f6c63430008140033",
335
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d71461028c578063a9059cbb146102bc578063dd62ed3e146102ec578063f76f8d781461031c576100f5565b806339509351146101f057806370a082311461022057806395d89b4114610250578063a3f4df7e1461026e576100f5565b806323b872dd116100d357806323b872dd146101665780632e0f2625146101965780632ff2e9dc146101b4578063313ce567146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b61010261033a565b60405161010f9190610c67565b60405180910390f35b610132600480360381019061012d9190610d22565b6103cc565b60405161013f9190610d7d565b60405180910390f35b6101506103ef565b60405161015d9190610da7565b60405180910390f35b610180600480360381019061017b9190610dc2565b6103f9565b60405161018d9190610d7d565b60405180910390f35b61019e610428565b6040516101ab9190610e31565b60405180910390f35b6101bc61042d565b6040516101c99190610da7565b60405180910390f35b6101da61044d565b6040516101e79190610e31565b60405180910390f35b61020a60048036038101906102059190610d22565b610456565b6040516102179190610d7d565b60405180910390f35b61023a60048036038101906102359190610e4c565b61048d565b6040516102479190610da7565b60405180910390f35b6102586104d5565b6040516102659190610c67565b60405180910390f35b610276610567565b6040516102839190610c67565b60405180910390f35b6102a660048036038101906102a19190610d22565b6105a0565b6040516102b39190610d7d565b60405180910390f35b6102d660048036038101906102d19190610d22565b610617565b6040516102e39190610d7d565b60405180910390f35b61030660048036038101906103019190610e79565b61063a565b6040516103139190610da7565b60405180910390f35b6103246106c1565b6040516103319190610c67565b60405180910390f35b60606003805461034990610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610ee8565b80156103c25780601f10610397576101008083540402835291602001916103c2565b820191906000526020600020905b8154815290600101906020018083116103a557829003601f168201915b5050505050905090565b6000806103d76106fa565b90506103e4818585610702565b600191505092915050565b6000600254905090565b6000806104046106fa565b90506104118582856108cb565b61041c858585610957565b60019150509392505050565b600681565b6006600a61043b919061107b565b633b9aca0061044a91906110c6565b81565b60006006905090565b6000806104616106fa565b9050610482818585610473858961063a565b61047d9190611108565b610702565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104e490610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610ee8565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b5050505050905090565b6040518060400160405280600b81526020017f55534443202d205465737400000000000000000000000000000000000000000081525081565b6000806105ab6106fa565b905060006105b9828661063a565b9050838110156105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906111ae565b60405180910390fd5b61060b8286868403610702565b60019250505092915050565b6000806106226106fa565b905061062f818585610957565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d7906112d2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108be9190610da7565b60405180910390a3505050565b60006108d7848461063a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109515781811015610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061133e565b60405180910390fd5b6109508484848403610702565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611462565b60405180910390fd5b610a40838383610bcd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906114f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb49190610da7565b60405180910390a3610bc7848484610bd2565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c11578082015181840152602081019050610bf6565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c3982610bd7565b610c438185610be2565b9350610c53818560208601610bf3565b610c5c81610c1d565b840191505092915050565b60006020820190508181036000830152610c818184610c2e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb982610c8e565b9050919050565b610cc981610cae565b8114610cd457600080fd5b50565b600081359050610ce681610cc0565b92915050565b6000819050919050565b610cff81610cec565b8114610d0a57600080fd5b50565b600081359050610d1c81610cf6565b92915050565b60008060408385031215610d3957610d38610c89565b5b6000610d4785828601610cd7565b9250506020610d5885828601610d0d565b9150509250929050565b60008115159050919050565b610d7781610d62565b82525050565b6000602082019050610d926000830184610d6e565b92915050565b610da181610cec565b82525050565b6000602082019050610dbc6000830184610d98565b92915050565b600080600060608486031215610ddb57610dda610c89565b5b6000610de986828701610cd7565b9350506020610dfa86828701610cd7565b9250506040610e0b86828701610d0d565b9150509250925092565b600060ff82169050919050565b610e2b81610e15565b82525050565b6000602082019050610e466000830184610e22565b92915050565b600060208284031215610e6257610e61610c89565b5b6000610e7084828501610cd7565b91505092915050565b60008060408385031215610e9057610e8f610c89565b5b6000610e9e85828601610cd7565b9250506020610eaf85828601610cd7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0057607f821691505b602082108103610f1357610f12610eb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f9f57808604811115610f7b57610f7a610f19565b5b6001851615610f8a5780820291505b8081029050610f9885610f48565b9450610f5f565b94509492505050565b600082610fb85760019050611074565b81610fc65760009050611074565b8160018114610fdc5760028114610fe657611015565b6001915050611074565b60ff841115610ff857610ff7610f19565b5b8360020a91508482111561100f5761100e610f19565b5b50611074565b5060208310610133831016604e8410600b841016171561104a5782820a90508381111561104557611044610f19565b5b611074565b6110578484846001610f55565b9250905081840481111561106e5761106d610f19565b5b81810290505b9392505050565b600061108682610cec565b915061109183610e15565b92506110be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610fa8565b905092915050565b60006110d182610cec565b91506110dc83610cec565b92508282026110ea81610cec565b9150828204841483151761110157611100610f19565b5b5092915050565b600061111382610cec565b915061111e83610cec565b925082820190508082111561113657611135610f19565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611198602583610be2565b91506111a38261113c565b604082019050919050565b600060208201905081810360008301526111c78161118b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061122a602483610be2565b9150611235826111ce565b604082019050919050565b600060208201905081810360008301526112598161121d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006112bc602283610be2565b91506112c782611260565b604082019050919050565b600060208201905081810360008301526112eb816112af565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611328601d83610be2565b9150611333826112f2565b602082019050919050565b600060208201905081810360008301526113578161131b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602583610be2565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144c602383610be2565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006114de602683610be2565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b905091905056fea26469706673582212207e5d249e6d2ee2ea2aa725b7a07902b2d8ce2ff2cc07e23c5607b13fe8dcc70964736f6c63430008140033",
334
+ "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b815250604051806040016040528060048152602001635553444360e01b815250816003908162000064919062000227565b50600462000073828262000227565b505050620000ae6200008a620000b460201b60201c565b620000986006600a62000408565b620000a890633b9aca0062000420565b620000b8565b62000450565b3390565b6001600160a01b038216620001135760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200012791906200043a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001ae57607f821691505b602082108103620001cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017e57600081815260208120601f850160051c81016020861015620001fe5750805b601f850160051c820191505b818110156200021f578281556001016200020a565b505050505050565b81516001600160401b0381111562000243576200024362000183565b6200025b8162000254845462000199565b84620001d5565b602080601f8311600181146200029357600084156200027a5750858301515b600019600386901b1c1916600185901b1785556200021f565b600085815260208120601f198616915b82811015620002c457888601518255948401946001909101908401620002a3565b5085821015620002e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200034a5781600019048211156200032e576200032e620002f3565b808516156200033c57918102915b93841c93908002906200030e565b509250929050565b600082620003635750600162000402565b81620003725750600062000402565b81600181146200038b57600281146200039657620003b6565b600191505062000402565b60ff841115620003aa57620003aa620002f3565b50506001821b62000402565b5060208310610133831016604e8410600b8410161715620003db575081810a62000402565b620003e7838362000309565b8060001904821115620003fe57620003fe620002f3565b0290505b92915050565b60006200041960ff84168362000352565b9392505050565b8082028115828204841417620004025762000402620002f3565b80820180821115620004025762000402620002f3565b610a3480620004606000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d7146101f7578063a9059cbb1461020a578063dd62ed3e1461021d578063f76f8d781461023057600080fd5b8063395093511461018957806370a082311461019c57806395d89b41146101c5578063a3f4df7e146101cd57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018257600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610253565b60405161010f919061076c565b60405180910390f35b61012b6101263660046107d6565b6102e5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610800565b6102ff565b610168600681565b60405160ff909116815260200161010f565b61013f610323565b6006610168565b61012b6101973660046107d6565b610340565b61013f6101aa36600461083c565b6001600160a01b031660009081526020819052604090205490565b610102610362565b6101026040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b61012b6102053660046107d6565b610371565b61012b6102183660046107d6565b6103f1565b61013f61022b36600461085e565b6103ff565b610102604051806040016040528060048152602001635553444360e01b81525081565b60606003805461026290610891565b80601f016020809104026020016040519081016040528092919081815260200182805461028e90610891565b80156102db5780601f106102b0576101008083540402835291602001916102db565b820191906000526020600020905b8154815290600101906020018083116102be57829003601f168201915b5050505050905090565b6000336102f381858561042a565b60019150505b92915050565b60003361030d85828561054e565b6103188585856105c8565b506001949350505050565b61032f6006600a6109c5565b61033d90633b9aca006109d4565b81565b6000336102f381858561035383836103ff565b61035d91906109eb565b61042a565b60606004805461026290610891565b6000338161037f82866103ff565b9050838110156103e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610318828686840361042a565b6000336102f38185856105c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103db565b6001600160a01b0382166104ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103db565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055a84846103ff565b905060001981146105c257818110156105b55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103db565b6105c2848484840361042a565b50505050565b6001600160a01b03831661062c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103db565b6001600160a01b03821661068e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103db565b6001600160a01b038316600090815260208190526040902054818110156107065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103db565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c2565b600060208083528351808285015260005b818110156107995785810183015185820160400152820161077d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107d157600080fd5b919050565b600080604083850312156107e957600080fd5b6107f2836107ba565b946020939093013593505050565b60008060006060848603121561081557600080fd5b61081e846107ba565b925061082c602085016107ba565b9150604084013590509250925092565b60006020828403121561084e57600080fd5b610857826107ba565b9392505050565b6000806040838503121561087157600080fd5b61087a836107ba565b9150610888602084016107ba565b90509250929050565b600181811c908216806108a557607f821691505b6020821081036108c557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561091c578160001904821115610902576109026108cb565b8085161561090f57918102915b93841c93908002906108e6565b509250929050565b600082610933575060016102f9565b81610940575060006102f9565b816001811461095657600281146109605761097c565b60019150506102f9565b60ff841115610971576109716108cb565b50506001821b6102f9565b5060208310610133831016604e8410600b841016171561099f575081810a6102f9565b6109a983836108e1565b80600019048211156109bd576109bd6108cb565b029392505050565b600061085760ff841683610924565b80820281158282048414176102f9576102f96108cb565b808201808211156102f9576102f96108cb56fea2646970667358221220f5bae286a22b700b52fd354d2d62092b6c97ab36290cdada62a88b4dc72512b864736f6c63430008140033",
335
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d7146101f7578063a9059cbb1461020a578063dd62ed3e1461021d578063f76f8d781461023057600080fd5b8063395093511461018957806370a082311461019c57806395d89b41146101c5578063a3f4df7e146101cd57600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018257600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610253565b60405161010f919061076c565b60405180910390f35b61012b6101263660046107d6565b6102e5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610800565b6102ff565b610168600681565b60405160ff909116815260200161010f565b61013f610323565b6006610168565b61012b6101973660046107d6565b610340565b61013f6101aa36600461083c565b6001600160a01b031660009081526020819052604090205490565b610102610362565b6101026040518060400160405280600b81526020016a1554d110c80b4815195cdd60aa1b81525081565b61012b6102053660046107d6565b610371565b61012b6102183660046107d6565b6103f1565b61013f61022b36600461085e565b6103ff565b610102604051806040016040528060048152602001635553444360e01b81525081565b60606003805461026290610891565b80601f016020809104026020016040519081016040528092919081815260200182805461028e90610891565b80156102db5780601f106102b0576101008083540402835291602001916102db565b820191906000526020600020905b8154815290600101906020018083116102be57829003601f168201915b5050505050905090565b6000336102f381858561042a565b60019150505b92915050565b60003361030d85828561054e565b6103188585856105c8565b506001949350505050565b61032f6006600a6109c5565b61033d90633b9aca006109d4565b81565b6000336102f381858561035383836103ff565b61035d91906109eb565b61042a565b60606004805461026290610891565b6000338161037f82866103ff565b9050838110156103e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610318828686840361042a565b6000336102f38185856105c8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103db565b6001600160a01b0382166104ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103db565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055a84846103ff565b905060001981146105c257818110156105b55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103db565b6105c2848484840361042a565b50505050565b6001600160a01b03831661062c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103db565b6001600160a01b03821661068e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103db565b6001600160a01b038316600090815260208190526040902054818110156107065760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103db565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c2565b600060208083528351808285015260005b818110156107995785810183015185820160400152820161077d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107d157600080fd5b919050565b600080604083850312156107e957600080fd5b6107f2836107ba565b946020939093013593505050565b60008060006060848603121561081557600080fd5b61081e846107ba565b925061082c602085016107ba565b9150604084013590509250925092565b60006020828403121561084e57600080fd5b610857826107ba565b9392505050565b6000806040838503121561087157600080fd5b61087a836107ba565b9150610888602084016107ba565b90509250929050565b600181811c908216806108a557607f821691505b6020821081036108c557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561091c578160001904821115610902576109026108cb565b8085161561090f57918102915b93841c93908002906108e6565b509250929050565b600082610933575060016102f9565b81610940575060006102f9565b816001811461095657600281146109605761097c565b60019150506102f9565b60ff841115610971576109716108cb565b50506001821b6102f9565b5060208310610133831016604e8410600b841016171561099f575081810a6102f9565b6109a983836108e1565b80600019048211156109bd576109bd6108cb565b029392505050565b600061085760ff841683610924565b80820281158282048414176102f9576102f96108cb565b808201808211156102f9576102f96108cb56fea2646970667358221220f5bae286a22b700b52fd354d2d62092b6c97ab36290cdada62a88b4dc72512b864736f6c63430008140033",
336
336
  "linkReferences": {},
337
337
  "deployedLinkReferences": {}
338
338
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7f20a1c1335663e2e20eb70fbac6fce5.json"
3
+ "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -161,32 +161,30 @@
161
161
  "type": "function"
162
162
  }
163
163
  ],
164
- "bytecode": "0x608060405234801561001057600080fd5b506109c0806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee1461010257806389818c3c1461013257806389d5976814610162578063e038c625146101925761007d565b80630f40f5951461008257806312cf04de146100a057806364d4e5d8146100d0575b600080fd5b61008a6101c2565b60405161009791906105b0565b60405180910390f35b6100ba60048036038101906100b59190610606565b6101d1565b6040516100c791906105b0565b60405180910390f35b6100ea60048036038101906100e59190610685565b6101ff565b6040516100f9939291906106f0565b60405180910390f35b61011c60048036038101906101179190610727565b610290565b6040516101299190610782565b60405180910390f35b61014c6004803603810190610147919061079d565b6102a4565b60405161015991906107ca565b60405180910390f35b61017c60048036038101906101779190610727565b6102b6565b6040516101899190610782565b60405180910390f35b6101ac60048036038101906101a79190610685565b6102ca565b6040516101b991906107ca565b60405180910390f35b60006101cc610352565b905090565b60006101f66101df8561037f565b6101e88561037f565b6101f18561037f565b610389565b90509392505050565b60008060008362ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6349a7111a90916040518263ffffffff1660e01b815260040161024291906107f4565b606060405180830381865af415801561025f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610283919061083b565b9250925092509193909250565b600061029c8383610538565b905092915050565b60006102af8261037f565b9050919050565b60006102c2838361054f565b905092915050565b60008162ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b815260040161030a91906107f4565b602060405180830381865af4158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b919061088e565b9050919050565b600061037a610361600061037f565b61036b600061037f565b610375600061037f565b610389565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016103c891906108ca565b602060405180830381865af41580156103e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040991906108fa565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b815260040161044991906108ca565b602060405180830381865af4158015610466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048a91906108fa565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016104ca91906108ca565b602060405180830381865af41580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b91906108fa565b905080600883901b601085901b6105229190610956565b61052c9190610956565b93505050509392505050565b60008162ffffff168362ffffff1611905092915050565b60008162ffffff168362ffffff1614905092915050565b600062ffffff82169050919050565b6000819050919050565b600061059a61059561059084610566565b610575565b610566565b9050919050565b6105aa8161057f565b82525050565b60006020820190506105c560008301846105a1565b92915050565b600080fd5b6000819050919050565b6105e3816105d0565b81146105ee57600080fd5b50565b600081359050610600816105da565b92915050565b60008060006060848603121561061f5761061e6105cb565b5b600061062d868287016105f1565b935050602061063e868287016105f1565b925050604061064f868287016105f1565b9150509250925092565b61066281610566565b811461066d57600080fd5b50565b60008135905061067f81610659565b92915050565b60006020828403121561069b5761069a6105cb565b5b60006106a984828501610670565b91505092915050565b600060ff82169050919050565b60006106da6106d56106d0846106b2565b610575565b6106b2565b9050919050565b6106ea816106bf565b82525050565b600060608201905061070560008301866106e1565b61071260208301856106e1565b61071f60408301846106e1565b949350505050565b6000806040838503121561073e5761073d6105cb565b5b600061074c85828601610670565b925050602061075d85828601610670565b9150509250929050565b60008115159050919050565b61077c81610767565b82525050565b60006020820190506107976000830184610773565b92915050565b6000602082840312156107b3576107b26105cb565b5b60006107c1848285016105f1565b91505092915050565b60006020820190506107df60008301846106e1565b92915050565b6107ee8161057f565b82525050565b600060208201905061080960008301846107e5565b92915050565b610818816106b2565b811461082357600080fd5b50565b6000815190506108358161080f565b92915050565b600080600060608486031215610854576108536105cb565b5b600061086286828701610826565b935050602061087386828701610826565b925050604061088486828701610826565b9150509250925092565b6000602082840312156108a4576108a36105cb565b5b60006108b284828501610826565b91505092915050565b6108c4816106bf565b82525050565b60006020820190506108df60008301846108bb565b92915050565b6000815190506108f4816105da565b92915050565b6000602082840312156109105761090f6105cb565b5b600061091e848285016108e5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610961826105d0565b915061096c836105d0565b925082820190508082111561098457610983610927565b5b9291505056fea2646970667358221220f2f699854c70a6b3e61605aaf2a1f52ceecc5e5e9de9b250516b833c13c2ce2f64736f6c63430008140033",
165
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee1461010257806389818c3c1461013257806389d5976814610162578063e038c625146101925761007d565b80630f40f5951461008257806312cf04de146100a057806364d4e5d8146100d0575b600080fd5b61008a6101c2565b60405161009791906105b0565b60405180910390f35b6100ba60048036038101906100b59190610606565b6101d1565b6040516100c791906105b0565b60405180910390f35b6100ea60048036038101906100e59190610685565b6101ff565b6040516100f9939291906106f0565b60405180910390f35b61011c60048036038101906101179190610727565b610290565b6040516101299190610782565b60405180910390f35b61014c6004803603810190610147919061079d565b6102a4565b60405161015991906107ca565b60405180910390f35b61017c60048036038101906101779190610727565b6102b6565b6040516101899190610782565b60405180910390f35b6101ac60048036038101906101a79190610685565b6102ca565b6040516101b991906107ca565b60405180910390f35b60006101cc610352565b905090565b60006101f66101df8561037f565b6101e88561037f565b6101f18561037f565b610389565b90509392505050565b60008060008362ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6349a7111a90916040518263ffffffff1660e01b815260040161024291906107f4565b606060405180830381865af415801561025f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610283919061083b565b9250925092509193909250565b600061029c8383610538565b905092915050565b60006102af8261037f565b9050919050565b60006102c2838361054f565b905092915050565b60008162ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b815260040161030a91906107f4565b602060405180830381865af4158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b919061088e565b9050919050565b600061037a610361600061037f565b61036b600061037f565b610375600061037f565b610389565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016103c891906108ca565b602060405180830381865af41580156103e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040991906108fa565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b815260040161044991906108ca565b602060405180830381865af4158015610466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048a91906108fa565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016104ca91906108ca565b602060405180830381865af41580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b91906108fa565b905080600883901b601085901b6105229190610956565b61052c9190610956565b93505050509392505050565b60008162ffffff168362ffffff1611905092915050565b60008162ffffff168362ffffff1614905092915050565b600062ffffff82169050919050565b6000819050919050565b600061059a61059561059084610566565b610575565b610566565b9050919050565b6105aa8161057f565b82525050565b60006020820190506105c560008301846105a1565b92915050565b600080fd5b6000819050919050565b6105e3816105d0565b81146105ee57600080fd5b50565b600081359050610600816105da565b92915050565b60008060006060848603121561061f5761061e6105cb565b5b600061062d868287016105f1565b935050602061063e868287016105f1565b925050604061064f868287016105f1565b9150509250925092565b61066281610566565b811461066d57600080fd5b50565b60008135905061067f81610659565b92915050565b60006020828403121561069b5761069a6105cb565b5b60006106a984828501610670565b91505092915050565b600060ff82169050919050565b60006106da6106d56106d0846106b2565b610575565b6106b2565b9050919050565b6106ea816106bf565b82525050565b600060608201905061070560008301866106e1565b61071260208301856106e1565b61071f60408301846106e1565b949350505050565b6000806040838503121561073e5761073d6105cb565b5b600061074c85828601610670565b925050602061075d85828601610670565b9150509250929050565b60008115159050919050565b61077c81610767565b82525050565b60006020820190506107976000830184610773565b92915050565b6000602082840312156107b3576107b26105cb565b5b60006107c1848285016105f1565b91505092915050565b60006020820190506107df60008301846106e1565b92915050565b6107ee8161057f565b82525050565b600060208201905061080960008301846107e5565b92915050565b610818816106b2565b811461082357600080fd5b50565b6000815190506108358161080f565b92915050565b600080600060608486031215610854576108536105cb565b5b600061086286828701610826565b935050602061087386828701610826565b925050604061088486828701610826565b9150509250925092565b6000602082840312156108a4576108a36105cb565b5b60006108b284828501610826565b91505092915050565b6108c4816106bf565b82525050565b60006020820190506108df60008301846108bb565b92915050565b6000815190506108f4816105da565b92915050565b6000602082840312156109105761090f6105cb565b5b600061091e848285016108e5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610961826105d0565b915061096c836105d0565b925082820190508082111561098457610983610927565b5b9291505056fea2646970667358221220f2f699854c70a6b3e61605aaf2a1f52ceecc5e5e9de9b250516b833c13c2ce2f64736f6c63430008140033",
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",
166
166
  "linkReferences": {
167
167
  "contracts/types/Version.sol": {
168
168
  "VersionLib": [
169
169
  {
170
170
  "length": 20,
171
- "start": 556
171
+ "start": 383
172
172
  },
173
173
  {
174
174
  "length": 20,
175
- "start": 756
176
- }
177
- ],
178
- "VersionPartLib": [
175
+ "start": 534
176
+ },
179
177
  {
180
178
  "length": 20,
181
- "start": 946
179
+ "start": 669
182
180
  },
183
181
  {
184
182
  "length": 20,
185
- "start": 1075
183
+ "start": 824
186
184
  },
187
185
  {
188
186
  "length": 20,
189
- "start": 1204
187
+ "start": 972
190
188
  }
191
189
  ]
192
190
  }
@@ -196,25 +194,23 @@
196
194
  "VersionLib": [
197
195
  {
198
196
  "length": 20,
199
- "start": 524
197
+ "start": 351
200
198
  },
201
199
  {
202
200
  "length": 20,
203
- "start": 724
204
- }
205
- ],
206
- "VersionPartLib": [
201
+ "start": 502
202
+ },
207
203
  {
208
204
  "length": 20,
209
- "start": 914
205
+ "start": 637
210
206
  },
211
207
  {
212
208
  "length": 20,
213
- "start": 1043
209
+ "start": 792
214
210
  },
215
211
  {
216
212
  "length": 20,
217
- "start": 1172
213
+ "start": 940
218
214
  }
219
215
  ]
220
216
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7f20a1c1335663e2e20eb70fbac6fce5.json"
3
+ "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
4
  }
@@ -3,6 +3,29 @@
3
3
  "contractName": "TestVersionable",
4
4
  "sourceName": "contracts/test/TestVersionable.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "InvalidInitialization",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "NotInitializing",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "anonymous": false,
18
+ "inputs": [
19
+ {
20
+ "indexed": false,
21
+ "internalType": "uint64",
22
+ "name": "version",
23
+ "type": "uint64"
24
+ }
25
+ ],
26
+ "name": "Initialized",
27
+ "type": "event"
28
+ },
6
29
  {
7
30
  "anonymous": false,
8
31
  "inputs": [
@@ -25,25 +48,20 @@
25
48
  "type": "address"
26
49
  }
27
50
  ],
28
- "name": "LogVersionableActivated",
51
+ "name": "LogVersionableInitialized",
29
52
  "type": "event"
30
53
  },
31
54
  {
32
- "inputs": [
33
- {
34
- "internalType": "address",
35
- "name": "implementation",
36
- "type": "address"
37
- },
55
+ "inputs": [],
56
+ "name": "getInitializedVersion",
57
+ "outputs": [
38
58
  {
39
- "internalType": "address",
40
- "name": "activatedBy",
41
- "type": "address"
59
+ "internalType": "uint64",
60
+ "name": "",
61
+ "type": "uint64"
42
62
  }
43
63
  ],
44
- "name": "activate",
45
- "outputs": [],
46
- "stateMutability": "nonpayable",
64
+ "stateMutability": "view",
47
65
  "type": "function"
48
66
  },
49
67
  {
@@ -118,15 +136,15 @@
118
136
  "name": "activatedBy",
119
137
  "type": "address"
120
138
  },
121
- {
122
- "internalType": "Blocknumber",
123
- "name": "activatedIn",
124
- "type": "uint32"
125
- },
126
139
  {
127
140
  "internalType": "Timestamp",
128
141
  "name": "activatedAt",
129
142
  "type": "uint40"
143
+ },
144
+ {
145
+ "internalType": "Blocknumber",
146
+ "name": "activatedIn",
147
+ "type": "uint32"
130
148
  }
131
149
  ],
132
150
  "internalType": "struct IVersionable.VersionInfo",
@@ -137,6 +155,29 @@
137
155
  "stateMutability": "view",
138
156
  "type": "function"
139
157
  },
158
+ {
159
+ "inputs": [
160
+ {
161
+ "internalType": "address",
162
+ "name": "implementation",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "internalType": "address",
167
+ "name": "activatedBy",
168
+ "type": "address"
169
+ },
170
+ {
171
+ "internalType": "bytes",
172
+ "name": "data",
173
+ "type": "bytes"
174
+ }
175
+ ],
176
+ "name": "initialize",
177
+ "outputs": [],
178
+ "stateMutability": "nonpayable",
179
+ "type": "function"
180
+ },
140
181
  {
141
182
  "inputs": [
142
183
  {
@@ -145,7 +186,7 @@
145
186
  "type": "uint24"
146
187
  }
147
188
  ],
148
- "name": "isActivated",
189
+ "name": "isInitialized",
149
190
  "outputs": [
150
191
  {
151
192
  "internalType": "bool",
@@ -155,48 +196,59 @@
155
196
  ],
156
197
  "stateMutability": "view",
157
198
  "type": "function"
199
+ },
200
+ {
201
+ "inputs": [
202
+ {
203
+ "internalType": "address",
204
+ "name": "implementation",
205
+ "type": "address"
206
+ },
207
+ {
208
+ "internalType": "address",
209
+ "name": "activatedBy",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "internalType": "bytes",
214
+ "name": "data",
215
+ "type": "bytes"
216
+ }
217
+ ],
218
+ "name": "upgrade",
219
+ "outputs": [],
220
+ "stateMutability": "nonpayable",
221
+ "type": "function"
158
222
  }
159
223
  ],
160
- "bytecode": "0x60806040523480156200001157600080fd5b50620000256000336200002b60201b60201c565b62000acd565b60006200003d6200037660201b60201c565b90506200005081620003c360201b60201c565b1562000093576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200008a9062000730565b60405180910390fd5b60006001805490501115620001435760006001808080549050620000b891906200078b565b81548110620000cc57620000cb620007c6565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620000ff828262000482565b62000141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000138906200086b565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001620001ed6200049960201b60201c565b63ffffffff16815260200162000208620004b160201b60201c565b64ffffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419818484604051620003699392919062000924565b60405180910390a1505050565b6000620003be6200038e6003620004c960201b60201c565b620003a06000620004c960201b60201c565b620003b26000620004c960201b60201c565b620004d360201b60201c565b905090565b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b8152600401620004369190620009aa565b602060405180830381865af415801562000454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200047a9190620009fd565b119050919050565b60008162ffffff168362ffffff1611905092915050565b6000620004ac436200069560201b60201c565b905090565b6000620004c4426200069f60201b60201c565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b815260040162000514919062000a75565b602060405180830381865af415801562000532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005589190620009fd565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016200059a919062000a75565b602060405180830381865af4158015620005b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005de9190620009fd565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b815260040162000620919062000a75565b602060405180830381865af41580156200063e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006649190620009fd565b905080600883901b601085901b6200067d919062000a92565b62000689919062000a92565b93505050509392505050565b6000819050919050565b6000819050919050565b600082825260208201905092915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b600062000718602783620006a9565b91506200072582620006ba565b604082019050919050565b600060208201905081810360008301526200074b8162000709565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007988262000752565b9150620007a58362000752565b9250828203905081811115620007c057620007bf6200075c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b600062000853602483620006a9565b91506200086082620007f5565b604082019050919050565b60006020820190508181036000830152620008868162000844565b9050919050565b600062ffffff82169050919050565b6000819050919050565b6000620008c7620008c1620008bb846200088d565b6200089c565b6200088d565b9050919050565b620008d981620008a6565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200090c82620008df565b9050919050565b6200091e81620008ff565b82525050565b60006060820190506200093b6000830186620008ce565b6200094a602083018562000913565b62000959604083018462000913565b949350505050565b600063ffffffff82169050919050565b6000620009926200098c620009868462000961565b6200089c565b62000961565b9050919050565b620009a48162000971565b82525050565b6000602082019050620009c1600083018462000999565b92915050565b600080fd5b620009d78162000752565b8114620009e357600080fd5b50565b600081519050620009f781620009cc565b92915050565b60006020828403121562000a165762000a15620009c7565b5b600062000a2684828501620009e6565b91505092915050565b600060ff82169050919050565b600062000a5d62000a5762000a518462000a2f565b6200089c565b62000a2f565b9050919050565b62000a6f8162000a3c565b82525050565b600060208201905062000a8c600083018462000a64565b92915050565b600062000a9f8262000752565b915062000aac8362000752565b925082820190508082111562000ac75762000ac66200075c565b5b92915050565b61115e8062000add6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630abd8434146100675780630d8e6e2c146100975780634d459c90146100b5578063946dfcfe146100e55780639555c4db14610103578063b88da7591461011f575b600080fd5b610081600480360381019061007c9190610a42565b61014f565b60405161008e9190610a8a565b60405180910390f35b61009f610209565b6040516100ac9190610ae0565b60405180910390f35b6100cf60048036038101906100ca9190610a42565b610236565b6040516100dc9190610c36565b60405180910390f35b6100ed6103d2565b6040516100fa9190610c6a565b60405180910390f35b61011d60048036038101906101189190610cb1565b6103df565b005b61013960048036038101906101349190610d1d565b6103ed565b6040516101469190610ae0565b60405180910390f35b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016101c09190610d59565b602060405180830381865af41580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610d89565b119050919050565b60006102316102186003610476565b6102226000610476565b61022c6000610476565b610480565b905090565b61023e610995565b6102478261014f565b610286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027d90610e13565b60405180910390fd5b6000808362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b6000600180549050905090565b6103e9828261062f565b5050565b60006001805490508210610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d90610e7f565b60405180910390fd5b6001828154811061044a57610449610e9f565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016104bf9190610f0c565b602060405180830381865af41580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105009190610d89565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016105409190610f0c565b602060405180830381865af415801561055d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105819190610d89565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016105c19190610f0c565b602060405180830381865af41580156105de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190610d89565b905080600883901b601085901b6106199190610f56565b6106239190610f56565b93505050509392505050565b6000610639610209565b90506106448161014f565b15610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b90610ffc565b60405180910390fd5b6000600180549050111561072957600060018080805490506106a6919061101c565b815481106106b7576106b6610e9f565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506106e8828261094a565b610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e906110c2565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016107cb610961565b63ffffffff1681526020016107de610971565b64ffffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161093d939291906110f1565b60405180910390a1505050565b60008162ffffff168362ffffff1611905092915050565b600061096c43610981565b905090565b600061097c4261098b565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b600062ffffff82169050919050565b610a1f81610a07565b8114610a2a57600080fd5b50565b600081359050610a3c81610a16565b92915050565b600060208284031215610a5857610a57610a02565b5b6000610a6684828501610a2d565b91505092915050565b60008115159050919050565b610a8481610a6f565b82525050565b6000602082019050610a9f6000830184610a7b565b92915050565b6000819050919050565b6000610aca610ac5610ac084610a07565b610aa5565b610a07565b9050919050565b610ada81610aaf565b82525050565b6000602082019050610af56000830184610ad1565b92915050565b610b0481610aaf565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b3582610b0a565b9050919050565b610b4581610b2a565b82525050565b600063ffffffff82169050919050565b6000610b76610b71610b6c84610b4b565b610aa5565b610b4b565b9050919050565b610b8681610b5b565b82525050565b600064ffffffffff82169050919050565b6000610bb8610bb3610bae84610b8c565b610aa5565b610b8c565b9050919050565b610bc881610b9d565b82525050565b60a082016000820151610be46000850182610afb565b506020820151610bf76020850182610b3c565b506040820151610c0a6040850182610b3c565b506060820151610c1d6060850182610b7d565b506080820151610c306080850182610bbf565b50505050565b600060a082019050610c4b6000830184610bce565b92915050565b6000819050919050565b610c6481610c51565b82525050565b6000602082019050610c7f6000830184610c5b565b92915050565b610c8e81610b2a565b8114610c9957600080fd5b50565b600081359050610cab81610c85565b92915050565b60008060408385031215610cc857610cc7610a02565b5b6000610cd685828601610c9c565b9250506020610ce785828601610c9c565b9150509250929050565b610cfa81610c51565b8114610d0557600080fd5b50565b600081359050610d1781610cf1565b92915050565b600060208284031215610d3357610d32610a02565b5b6000610d4184828501610d08565b91505092915050565b610d5381610b5b565b82525050565b6000602082019050610d6e6000830184610d4a565b92915050565b600081519050610d8381610cf1565b92915050565b600060208284031215610d9f57610d9e610a02565b5b6000610dad84828501610d74565b91505092915050565b600082825260208201905092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b6000610dfd601d83610db6565b9150610e0882610dc7565b602082019050919050565b60006020820190508181036000830152610e2c81610df0565b9050919050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000610e69601d83610db6565b9150610e7482610e33565b602082019050919050565b60006020820190508181036000830152610e9881610e5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6000610ef6610ef1610eec84610ece565b610aa5565b610ece565b9050919050565b610f0681610edb565b82525050565b6000602082019050610f216000830184610efd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f6182610c51565b9150610f6c83610c51565b9250828201905080821115610f8457610f83610f27565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000610fe6602783610db6565b9150610ff182610f8a565b604082019050919050565b6000602082019050818103600083015261101581610fd9565b9050919050565b600061102782610c51565b915061103283610c51565b925082820390508181111561104a57611049610f27565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b60006110ac602483610db6565b91506110b782611050565b604082019050919050565b600060208201905081810360008301526110db8161109f565b9050919050565b6110eb81610b2a565b82525050565b60006060820190506111066000830186610ad1565b61111360208301856110e2565b61112060408301846110e2565b94935050505056fea2646970667358221220a522930b7763b640b6ffd417aa4d2efed8803768515cdc3098750d0b3fe7b73e64736f6c63430008140033",
161
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630abd8434146100675780630d8e6e2c146100975780634d459c90146100b5578063946dfcfe146100e55780639555c4db14610103578063b88da7591461011f575b600080fd5b610081600480360381019061007c9190610a42565b61014f565b60405161008e9190610a8a565b60405180910390f35b61009f610209565b6040516100ac9190610ae0565b60405180910390f35b6100cf60048036038101906100ca9190610a42565b610236565b6040516100dc9190610c36565b60405180910390f35b6100ed6103d2565b6040516100fa9190610c6a565b60405180910390f35b61011d60048036038101906101189190610cb1565b6103df565b005b61013960048036038101906101349190610d1d565b6103ed565b6040516101469190610ae0565b60405180910390f35b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016101c09190610d59565b602060405180830381865af41580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610d89565b119050919050565b60006102316102186003610476565b6102226000610476565b61022c6000610476565b610480565b905090565b61023e610995565b6102478261014f565b610286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027d90610e13565b60405180910390fd5b6000808362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b6000600180549050905090565b6103e9828261062f565b5050565b60006001805490508210610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d90610e7f565b60405180910390fd5b6001828154811061044a57610449610e9f565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016104bf9190610f0c565b602060405180830381865af41580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105009190610d89565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016105409190610f0c565b602060405180830381865af415801561055d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105819190610d89565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b81526004016105c19190610f0c565b602060405180830381865af41580156105de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106029190610d89565b905080600883901b601085901b6106199190610f56565b6106239190610f56565b93505050509392505050565b6000610639610209565b90506106448161014f565b15610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067b90610ffc565b60405180910390fd5b6000600180549050111561072957600060018080805490506106a6919061101c565b815481106106b7576106b6610e9f565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506106e8828261094a565b610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e906110c2565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016107cb610961565b63ffffffff1681526020016107de610971565b64ffffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161093d939291906110f1565b60405180910390a1505050565b60008162ffffff168362ffffff1611905092915050565b600061096c43610981565b905090565b600061097c4261098b565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b600062ffffff82169050919050565b610a1f81610a07565b8114610a2a57600080fd5b50565b600081359050610a3c81610a16565b92915050565b600060208284031215610a5857610a57610a02565b5b6000610a6684828501610a2d565b91505092915050565b60008115159050919050565b610a8481610a6f565b82525050565b6000602082019050610a9f6000830184610a7b565b92915050565b6000819050919050565b6000610aca610ac5610ac084610a07565b610aa5565b610a07565b9050919050565b610ada81610aaf565b82525050565b6000602082019050610af56000830184610ad1565b92915050565b610b0481610aaf565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b3582610b0a565b9050919050565b610b4581610b2a565b82525050565b600063ffffffff82169050919050565b6000610b76610b71610b6c84610b4b565b610aa5565b610b4b565b9050919050565b610b8681610b5b565b82525050565b600064ffffffffff82169050919050565b6000610bb8610bb3610bae84610b8c565b610aa5565b610b8c565b9050919050565b610bc881610b9d565b82525050565b60a082016000820151610be46000850182610afb565b506020820151610bf76020850182610b3c565b506040820151610c0a6040850182610b3c565b506060820151610c1d6060850182610b7d565b506080820151610c306080850182610bbf565b50505050565b600060a082019050610c4b6000830184610bce565b92915050565b6000819050919050565b610c6481610c51565b82525050565b6000602082019050610c7f6000830184610c5b565b92915050565b610c8e81610b2a565b8114610c9957600080fd5b50565b600081359050610cab81610c85565b92915050565b60008060408385031215610cc857610cc7610a02565b5b6000610cd685828601610c9c565b9250506020610ce785828601610c9c565b9150509250929050565b610cfa81610c51565b8114610d0557600080fd5b50565b600081359050610d1781610cf1565b92915050565b600060208284031215610d3357610d32610a02565b5b6000610d4184828501610d08565b91505092915050565b610d5381610b5b565b82525050565b6000602082019050610d6e6000830184610d4a565b92915050565b600081519050610d8381610cf1565b92915050565b600060208284031215610d9f57610d9e610a02565b5b6000610dad84828501610d74565b91505092915050565b600082825260208201905092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b6000610dfd601d83610db6565b9150610e0882610dc7565b602082019050919050565b60006020820190508181036000830152610e2c81610df0565b9050919050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000610e69601d83610db6565b9150610e7482610e33565b602082019050919050565b60006020820190508181036000830152610e9881610e5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6000610ef6610ef1610eec84610ece565b610aa5565b610ece565b9050919050565b610f0681610edb565b82525050565b6000602082019050610f216000830184610efd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f6182610c51565b9150610f6c83610c51565b9250828201905080821115610f8457610f83610f27565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000610fe6602783610db6565b9150610ff182610f8a565b604082019050919050565b6000602082019050818103600083015261101581610fd9565b9050919050565b600061102782610c51565b915061103283610c51565b925082820390508181111561104a57611049610f27565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b60006110ac602483610db6565b91506110b782611050565b604082019050919050565b600060208201905081810360008301526110db8161109f565b9050919050565b6110eb81610b2a565b82525050565b60006060820190506111066000830186610ad1565b61111360208301856110e2565b61112060408301846110e2565b94935050505056fea2646970667358221220a522930b7763b640b6ffd417aa4d2efed8803768515cdc3098750d0b3fe7b73e64736f6c63430008140033",
224
+ "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610bd8806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220909497d0fac1a9ac533a689869478ef746a9875c446ca2213118480b567c71d064736f6c63430008140033",
225
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a745e3df1161005b578063a745e3df1461021a578063b3c650151461022f578063b88da75914610250578063cf7a1d771461026357600080fd5b80630d8e6e2c1461008d5780634d459c90146100ae5780634f421333146101c7578063946dfcfe146101ea575b600080fd5b610095610276565b60405162ffffff90911681526020015b60405180910390f35b61016a6100bc366004610984565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080516020610b8383398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a0016100a5565b6101da6101d5366004610984565b610300565b60405190151581526020016100a5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546040519081526020016100a5565b61022d6102283660046109da565b6103b3565b005b610237610510565b60405167ffffffffffffffff90911681526020016100a5565b61009561025e366004610aac565b610532565b61022d6102713660046109da565b610583565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156102d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fb9190610ac5565b905090565b600080600080516020610b8383398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ac9190610ae2565b1192915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c6103d5610276565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190610afb565b600080516020610b638339815191528054600160401b900460ff168061046d5750805467ffffffffffffffff808416911610155b1561048b5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b1781556104b7858561068e565b6104c083610933565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006102fb600080516020610b638339815191525467ffffffffffffffff1690565b6000600080516020610b83833981519152600101828154811061055757610557610b25565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080516020610b638339815191528054600160401b810460ff16159067ffffffffffffffff166000811580156105b75750825b905060008267ffffffffffffffff1660011480156105d45750303b155b9050811580156105e2575080155b156106005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561062a57845460ff60401b1916600160401b1785555b610634888861068e565b61063e8787610933565b831561068457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610696610937565b600080516020610b8383398151915260006106c7600080516020610b638339815191525467ffffffffffffffff1690565b905060006106d3610276565b90508167ffffffffffffffff166001036107015760028301805462ffffff191662ffffff8316179055610753565b600283015462ffffff908116908216116107535760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b604482015260640160405180910390fd5b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082b9190610b3b565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906105019083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6100885b600080516020610b6383398151915254600160401b900460ff1661096e57604051631afcd79f60e31b815260040160405180910390fd5b565b62ffffff8116811461098157600080fd5b50565b60006020828403121561099657600080fd5b81356109a181610970565b9392505050565b80356001600160a01b03811681146109bf57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156109ef57600080fd5b6109f8846109a8565b9250610a06602085016109a8565b9150604084013567ffffffffffffffff80821115610a2357600080fd5b818601915086601f830112610a3757600080fd5b813581811115610a4957610a496109c4565b604051601f8201601f19908116603f01168101908382118183101715610a7157610a716109c4565b81604052828152896020848701011115610a8a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600060208284031215610abe57600080fd5b5035919050565b600060208284031215610ad757600080fd5b81516109a181610970565b600060208284031215610af457600080fd5b5051919050565b600060208284031215610b0d57600080fd5b815167ffffffffffffffff811681146109a157600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b4d57600080fd5b815164ffffffffff811681146109a157600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220909497d0fac1a9ac533a689869478ef746a9875c446ca2213118480b567c71d064736f6c63430008140033",
162
226
  "linkReferences": {
163
227
  "contracts/types/Blocknumber.sol": {
164
228
  "BlocknumberLib": [
165
229
  {
166
230
  "length": 20,
167
- "start": 1022
168
- },
231
+ "start": 1069
232
+ }
233
+ ]
234
+ },
235
+ "contracts/types/Timestamp.sol": {
236
+ "TimestampLib": [
169
237
  {
170
238
  "length": 20,
171
- "start": 3175
239
+ "start": 2220
172
240
  }
173
241
  ]
174
242
  },
175
243
  "contracts/types/Version.sol": {
176
- "VersionPartLib": [
177
- {
178
- "length": 20,
179
- "start": 1244
180
- },
181
- {
182
- "length": 20,
183
- "start": 1378
184
- },
244
+ "VersionLib": [
185
245
  {
186
246
  "length": 20,
187
- "start": 1512
247
+ "start": 892
188
248
  },
189
249
  {
190
250
  "length": 20,
191
- "start": 3942
192
- },
193
- {
194
- "length": 20,
195
- "start": 4071
196
- },
197
- {
198
- "length": 20,
199
- "start": 4200
251
+ "start": 1172
200
252
  }
201
253
  ]
202
254
  }
@@ -206,23 +258,27 @@
206
258
  "BlocknumberLib": [
207
259
  {
208
260
  "length": 20,
209
- "start": 394
261
+ "start": 846
210
262
  }
211
263
  ]
212
264
  },
213
- "contracts/types/Version.sol": {
214
- "VersionPartLib": [
265
+ "contracts/types/Timestamp.sol": {
266
+ "TimestampLib": [
215
267
  {
216
268
  "length": 20,
217
- "start": 1161
218
- },
269
+ "start": 1997
270
+ }
271
+ ]
272
+ },
273
+ "contracts/types/Version.sol": {
274
+ "VersionLib": [
219
275
  {
220
276
  "length": 20,
221
- "start": 1290
277
+ "start": 669
222
278
  },
223
279
  {
224
280
  "length": 20,
225
- "start": 1419
281
+ "start": 949
226
282
  }
227
283
  ]
228
284
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/b0463691af8f7fdd39ae65ce29b66f86.json"
4
+ }