@etherisc/gif-next 0.0.2-96853ac-143 → 0.0.2-9a053fa-993

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 (306) hide show
  1. package/README.md +76 -0
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/{Component.sol/Component.json → BaseComponent.sol/BaseComponent.json} +26 -57
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  5. package/artifacts/contracts/{instance/component/IComponent.sol/IComponentContract.json → components/IBaseComponent.sol/IBaseComponent.json} +26 -57
  6. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +356 -0
  8. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IProductComponent.sol/IProductComponent.json} +89 -65
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +134 -75
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  13. package/artifacts/contracts/components/Product.sol/Product.json +72 -113
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  15. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  40. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +790 -247
  42. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{component/IComponent.sol → IInstanceLinked.sol}/IInstanceLinked.json +1 -1
  44. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{access/IAccess.sol/IAccessComponentTypeRoles.json → IServiceLinked.sol/IServiceLinked.json} +14 -14
  46. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/Instance.sol/Instance.json +926 -363
  48. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  49. package/artifacts/contracts/instance/{component/ComponentModule.sol/ComponentModule.json → InstanceBase.sol/InstanceBase.json} +143 -129
  50. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{access → module/access}/Access.sol/AccessModule.json +85 -152
  52. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccess.json +1 -1
  54. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  55. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccessModule.json +96 -99
  56. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
  57. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +276 -0
  58. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
  60. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
  61. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +276 -0
  62. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  63. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
  64. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
  65. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponent.json +1 -1
  66. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponentModule.json +33 -62
  68. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  69. package/artifacts/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol/ILifecycle.json +1 -1
  70. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol/ILifecycleModule.json +1 -1
  72. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
  74. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  75. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicy.json +1 -1
  76. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  77. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicyModule.json +132 -125
  78. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/{policy → module/policy}/PolicyModule.sol/PolicyModule.json +132 -125
  80. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPool.json +1 -1
  82. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  83. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPoolModule.json +67 -47
  84. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{pool → module/pool}/PoolModule.sol/PoolModule.json +51 -57
  86. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +10 -0
  88. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +10 -0
  90. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasury.json +1 -1
  92. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasuryModule.json +100 -52
  94. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
  96. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  97. package/artifacts/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol/TreasuryModule.json +100 -52
  98. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  99. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +519 -0
  100. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  101. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
  102. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
  104. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
  106. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
  108. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/IService.sol/IService.json +300 -0
  110. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +499 -0
  112. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  113. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +685 -0
  114. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +300 -0
  116. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +65 -2
  118. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  119. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +147 -30
  121. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  122. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
  123. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  124. package/artifacts/contracts/registry/Registry.sol/Registry.json +241 -25
  125. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  126. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  127. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
  128. package/artifacts/contracts/{registry/IRegistry.sol → shared/IOwnable.sol}/IOwnable.json +1 -1
  129. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  130. package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegisterable.sol}/IRegisterable.json +16 -61
  131. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  132. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
  133. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  134. package/artifacts/contracts/{registry/Registry.sol → shared/Registerable.sol}/Registerable.json +16 -61
  135. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  136. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
  137. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  138. package/artifacts/contracts/test/TestFee.sol/TestFee.json +95 -0
  139. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
  140. package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
  141. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
  142. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
  143. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  144. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
  145. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  146. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
  147. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  148. package/artifacts/contracts/test/TestService.sol/TestService.json +407 -0
  149. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  150. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  151. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  152. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +222 -0
  153. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  154. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +230 -0
  155. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  156. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  157. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  158. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  159. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  160. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  161. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  162. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  163. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  164. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  165. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  167. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  168. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  169. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +64 -2
  171. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +62 -88
  173. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  174. package/artifacts/contracts/types/Version.sol/VersionLib.json +78 -0
  175. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  176. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  177. package/contracts/components/BaseComponent.sol +89 -0
  178. package/contracts/components/IBaseComponent.sol +19 -0
  179. package/contracts/components/IPoolComponent.sol +57 -0
  180. package/contracts/components/{IProduct.sol → IProductComponent.sol} +9 -6
  181. package/contracts/components/Pool.sol +140 -18
  182. package/contracts/components/Product.sol +53 -25
  183. package/contracts/instance/IInstance.sol +35 -10
  184. package/contracts/instance/IInstanceLinked.sol +8 -0
  185. package/contracts/instance/IServiceLinked.sol +12 -0
  186. package/contracts/instance/Instance.sol +40 -50
  187. package/contracts/instance/InstanceBase.sol +74 -0
  188. package/contracts/instance/module/access/Access.sol +149 -0
  189. package/contracts/instance/module/access/IAccess.sol +53 -0
  190. package/contracts/instance/module/bundle/BundleModule.sol +228 -0
  191. package/contracts/instance/module/bundle/IBundle.sol +53 -0
  192. package/contracts/instance/module/component/ComponentModule.sol +104 -0
  193. package/contracts/instance/module/component/IComponent.sol +53 -0
  194. package/contracts/instance/{lifecycle → module/lifecycle}/ILifecycle.sol +3 -3
  195. package/contracts/instance/{lifecycle → module/lifecycle}/LifecycleModule.sol +5 -4
  196. package/contracts/instance/module/policy/IPolicy.sol +60 -0
  197. package/contracts/instance/module/policy/PolicyModule.sol +84 -0
  198. package/contracts/instance/module/pool/IPoolModule.sol +41 -0
  199. package/contracts/instance/module/pool/PoolModule.sol +87 -0
  200. package/contracts/instance/module/product/IProductModule.sol +6 -0
  201. package/contracts/instance/module/product/ProductModule.sol +8 -0
  202. package/contracts/instance/{treasury → module/treasury}/ITreasury.sol +25 -12
  203. package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
  204. package/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol +33 -53
  205. package/contracts/instance/service/ComponentOwnerService.sol +174 -0
  206. package/contracts/instance/service/ComponentServiceBase.sol +41 -0
  207. package/contracts/instance/service/IComponentOwnerService.sol +22 -0
  208. package/contracts/instance/service/IPoolService.sol +30 -0
  209. package/contracts/instance/service/IProductService.sol +58 -0
  210. package/contracts/instance/service/IService.sol +15 -0
  211. package/contracts/instance/service/PoolService.sol +98 -0
  212. package/contracts/instance/service/ProductService.sol +358 -0
  213. package/contracts/instance/service/ServiceBase.sol +39 -0
  214. package/contracts/registry/ChainNft.sol +61 -37
  215. package/contracts/registry/IRegistry.sol +24 -34
  216. package/contracts/registry/IRegistryLinked.sol +8 -0
  217. package/contracts/registry/Registry.sol +284 -85
  218. package/contracts/shared/ERC165.sol +21 -0
  219. package/contracts/shared/IOwnable.sol +6 -0
  220. package/contracts/shared/IRegisterable.sol +24 -0
  221. package/contracts/shared/IVersionable.sol +52 -0
  222. package/contracts/shared/Registerable.sol +86 -0
  223. package/contracts/shared/Versionable.sol +92 -0
  224. package/contracts/test/TestFee.sol +25 -0
  225. package/contracts/test/TestPool.sol +22 -0
  226. package/contracts/test/TestProduct.sol +44 -0
  227. package/contracts/test/TestRegisterable.sol +19 -0
  228. package/contracts/test/TestRoleId.sol +14 -0
  229. package/contracts/test/TestService.sol +35 -0
  230. package/contracts/test/TestToken.sol +26 -0
  231. package/contracts/test/TestVersion.sol +47 -0
  232. package/contracts/test/TestVersionable.sol +20 -0
  233. package/contracts/types/AddressSet.sol +58 -0
  234. package/contracts/types/NftId.sol +7 -1
  235. package/contracts/types/NftIdSet.sol +60 -0
  236. package/contracts/types/ObjectType.sol +22 -14
  237. package/contracts/types/RoleId.sol +36 -0
  238. package/contracts/types/StateId.sol +6 -2
  239. package/contracts/types/Timestamp.sol +22 -1
  240. package/contracts/types/UFixed.sol +25 -29
  241. package/contracts/types/Version.sol +91 -0
  242. package/package.json +9 -6
  243. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  244. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  245. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  246. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  247. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  248. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  249. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  250. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  251. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  252. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  253. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  254. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  255. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  256. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  257. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  258. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  259. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  260. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  261. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  262. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  263. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  264. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  265. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  266. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  267. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  268. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  269. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  270. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  271. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  272. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  273. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  274. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  275. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  276. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  277. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  278. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  279. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  280. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  281. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  282. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  283. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  285. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  286. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  287. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  288. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  289. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  290. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  291. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  292. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  293. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  294. package/contracts/components/Component.sol +0 -77
  295. package/contracts/components/IPool.sol +0 -15
  296. package/contracts/instance/access/Access.sol +0 -165
  297. package/contracts/instance/access/IAccess.sol +0 -63
  298. package/contracts/instance/component/ComponentModule.sol +0 -274
  299. package/contracts/instance/component/IComponent.sol +0 -74
  300. package/contracts/instance/policy/IPolicy.sol +0 -50
  301. package/contracts/instance/policy/PolicyModule.sol +0 -114
  302. package/contracts/instance/pool/IPoolModule.sol +0 -23
  303. package/contracts/instance/pool/PoolModule.sol +0 -81
  304. package/contracts/instance/product/IProductService.sol +0 -36
  305. package/contracts/instance/product/ProductService.sol +0 -136
  306. package/contracts/instance/treasury/TokenHandler.sol +0 -24
@@ -0,0 +1,82 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestRoleId",
4
+ "sourceName": "contracts/test/TestRoleId.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "getPoolOwnerRole",
9
+ "outputs": [
10
+ {
11
+ "internalType": "RoleId",
12
+ "name": "",
13
+ "type": "bytes8"
14
+ }
15
+ ],
16
+ "stateMutability": "pure",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "getPoolOwnerRoleName",
22
+ "outputs": [
23
+ {
24
+ "internalType": "string",
25
+ "name": "",
26
+ "type": "string"
27
+ }
28
+ ],
29
+ "stateMutability": "pure",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "getProductOwnerRole",
35
+ "outputs": [
36
+ {
37
+ "internalType": "RoleId",
38
+ "name": "",
39
+ "type": "bytes8"
40
+ }
41
+ ],
42
+ "stateMutability": "pure",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "getProductOwnerRoleName",
48
+ "outputs": [
49
+ {
50
+ "internalType": "string",
51
+ "name": "",
52
+ "type": "string"
53
+ }
54
+ ],
55
+ "stateMutability": "pure",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "string",
62
+ "name": "roleName",
63
+ "type": "string"
64
+ }
65
+ ],
66
+ "name": "getRole",
67
+ "outputs": [
68
+ {
69
+ "internalType": "RoleId",
70
+ "name": "",
71
+ "type": "bytes8"
72
+ }
73
+ ],
74
+ "stateMutability": "pure",
75
+ "type": "function"
76
+ }
77
+ ],
78
+ "bytecode": "0x608060405234801561001057600080fd5b50610568806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780636e9067fb1461007a578063775a4048146100aa578063b844f20e146100c8578063c4ce6e5b146100e6575b600080fd5b610064610104565b60405161007191906102d3565b60405180910390f35b610094600480360381019061008f9190610448565b610113565b6040516100a191906102d3565b60405180910390f35b6100b2610125565b6040516100bf91906102d3565b60405180910390f35b6100d0610134565b6040516100dd9190610510565b60405180910390f35b6100ee610143565b6040516100fb9190610510565b60405180910390f35b600061010e610152565b905090565b600061011e82610197565b9050919050565b600061012f6101c7565b905090565b606061013e61020c565b905090565b606061014d610249565b905090565b60006101926040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250610197565b905090565b6000816040516020016101aa9190610510565b604051602081830303815290604052805190602001209050919050565b60006102076040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250610197565b905090565b60606040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250905090565b60606040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250905090565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006102bd82610286565b9050919050565b6102cd816102b2565b82525050565b60006020820190506102e860008301846102c4565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103558261030c565b810181811067ffffffffffffffff821117156103745761037361031d565b5b80604052505050565b60006103876102ee565b9050610393828261034c565b919050565b600067ffffffffffffffff8211156103b3576103b261031d565b5b6103bc8261030c565b9050602081019050919050565b82818337600083830152505050565b60006103eb6103e684610398565b61037d565b90508281526020810184848401111561040757610406610307565b5b6104128482856103c9565b509392505050565b600082601f83011261042f5761042e610302565b5b813561043f8482602086016103d8565b91505092915050565b60006020828403121561045e5761045d6102f8565b5b600082013567ffffffffffffffff81111561047c5761047b6102fd565b5b6104888482850161041a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104cb5780820151818401526020810190506104b0565b60008484015250505050565b60006104e282610491565b6104ec818561049c565b93506104fc8185602086016104ad565b6105058161030c565b840191505092915050565b6000602082019050818103600083015261052a81846104d7565b90509291505056fea26469706673582212207dbe124fc211a3a75108638c3fca52309136ce85664073b4ccd763614efa43cd64736f6c63430008140033",
79
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa8a7301461005c5780636e9067fb1461007a578063775a4048146100aa578063b844f20e146100c8578063c4ce6e5b146100e6575b600080fd5b610064610104565b60405161007191906102d3565b60405180910390f35b610094600480360381019061008f9190610448565b610113565b6040516100a191906102d3565b60405180910390f35b6100b2610125565b6040516100bf91906102d3565b60405180910390f35b6100d0610134565b6040516100dd9190610510565b60405180910390f35b6100ee610143565b6040516100fb9190610510565b60405180910390f35b600061010e610152565b905090565b600061011e82610197565b9050919050565b600061012f6101c7565b905090565b606061013e61020c565b905090565b606061014d610249565b905090565b60006101926040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250610197565b905090565b6000816040516020016101aa9190610510565b604051602081830303815290604052805190602001209050919050565b60006102076040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250610197565b905090565b60606040518060400160405280601081526020017f50726f647563744f776e6572526f6c6500000000000000000000000000000000815250905090565b60606040518060400160405280600d81526020017f506f6f6c4f776e6572526f6c6500000000000000000000000000000000000000815250905090565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006102bd82610286565b9050919050565b6102cd816102b2565b82525050565b60006020820190506102e860008301846102c4565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103558261030c565b810181811067ffffffffffffffff821117156103745761037361031d565b5b80604052505050565b60006103876102ee565b9050610393828261034c565b919050565b600067ffffffffffffffff8211156103b3576103b261031d565b5b6103bc8261030c565b9050602081019050919050565b82818337600083830152505050565b60006103eb6103e684610398565b61037d565b90508281526020810184848401111561040757610406610307565b5b6104128482856103c9565b509392505050565b600082601f83011261042f5761042e610302565b5b813561043f8482602086016103d8565b91505092915050565b60006020828403121561045e5761045d6102f8565b5b600082013567ffffffffffffffff81111561047c5761047b6102fd565b5b6104888482850161041a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104cb5780820151818401526020810190506104b0565b60008484015250505050565b60006104e282610491565b6104ec818561049c565b93506104fc8185602086016104ad565b6105058161030c565b840191505092915050565b6000602082019050818103600083015261052a81846104d7565b90509291505056fea26469706673582212207dbe124fc211a3a75108638c3fca52309136ce85664073b4ccd763614efa43cd64736f6c63430008140033",
80
+ "linkReferences": {},
81
+ "deployedLinkReferences": {}
82
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/7f20a1c1335663e2e20eb70fbac6fce5.json"
4
+ }
@@ -0,0 +1,407 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestService",
4
+ "sourceName": "contracts/test/TestService.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "registry",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "NftId",
15
+ "name": "registryNftId",
16
+ "type": "uint96"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "Version",
28
+ "name": "version",
29
+ "type": "uint24"
30
+ },
31
+ {
32
+ "indexed": false,
33
+ "internalType": "address",
34
+ "name": "implementation",
35
+ "type": "address"
36
+ },
37
+ {
38
+ "indexed": false,
39
+ "internalType": "address",
40
+ "name": "activatedBy",
41
+ "type": "address"
42
+ }
43
+ ],
44
+ "name": "LogVersionableActivated",
45
+ "type": "event"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "NAME",
50
+ "outputs": [
51
+ {
52
+ "internalType": "string",
53
+ "name": "",
54
+ "type": "string"
55
+ }
56
+ ],
57
+ "stateMutability": "view",
58
+ "type": "function"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "address",
64
+ "name": "implementation",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "internalType": "address",
69
+ "name": "activatedBy",
70
+ "type": "address"
71
+ }
72
+ ],
73
+ "name": "activate",
74
+ "outputs": [],
75
+ "stateMutability": "nonpayable",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "getData",
81
+ "outputs": [
82
+ {
83
+ "internalType": "bytes",
84
+ "name": "data",
85
+ "type": "bytes"
86
+ }
87
+ ],
88
+ "stateMutability": "view",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "getMajorVersion",
94
+ "outputs": [
95
+ {
96
+ "internalType": "VersionPart",
97
+ "name": "majorVersion",
98
+ "type": "uint8"
99
+ }
100
+ ],
101
+ "stateMutability": "view",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "getName",
107
+ "outputs": [
108
+ {
109
+ "internalType": "string",
110
+ "name": "name",
111
+ "type": "string"
112
+ }
113
+ ],
114
+ "stateMutability": "pure",
115
+ "type": "function"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "getNftId",
120
+ "outputs": [
121
+ {
122
+ "internalType": "NftId",
123
+ "name": "nftId",
124
+ "type": "uint96"
125
+ }
126
+ ],
127
+ "stateMutability": "view",
128
+ "type": "function"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "getOwner",
133
+ "outputs": [
134
+ {
135
+ "internalType": "address",
136
+ "name": "owner",
137
+ "type": "address"
138
+ }
139
+ ],
140
+ "stateMutability": "view",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "getParentNftId",
146
+ "outputs": [
147
+ {
148
+ "internalType": "NftId",
149
+ "name": "nftId",
150
+ "type": "uint96"
151
+ }
152
+ ],
153
+ "stateMutability": "view",
154
+ "type": "function"
155
+ },
156
+ {
157
+ "inputs": [],
158
+ "name": "getRegistry",
159
+ "outputs": [
160
+ {
161
+ "internalType": "contract IRegistry",
162
+ "name": "registry",
163
+ "type": "address"
164
+ }
165
+ ],
166
+ "stateMutability": "view",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [],
171
+ "name": "getType",
172
+ "outputs": [
173
+ {
174
+ "internalType": "ObjectType",
175
+ "name": "",
176
+ "type": "uint8"
177
+ }
178
+ ],
179
+ "stateMutability": "pure",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "getVersion",
185
+ "outputs": [
186
+ {
187
+ "internalType": "Version",
188
+ "name": "",
189
+ "type": "uint24"
190
+ }
191
+ ],
192
+ "stateMutability": "pure",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "inputs": [
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "idx",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "name": "getVersion",
204
+ "outputs": [
205
+ {
206
+ "internalType": "Version",
207
+ "name": "",
208
+ "type": "uint24"
209
+ }
210
+ ],
211
+ "stateMutability": "view",
212
+ "type": "function"
213
+ },
214
+ {
215
+ "inputs": [],
216
+ "name": "getVersionCount",
217
+ "outputs": [
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "stateMutability": "view",
225
+ "type": "function"
226
+ },
227
+ {
228
+ "inputs": [
229
+ {
230
+ "internalType": "Version",
231
+ "name": "_version",
232
+ "type": "uint24"
233
+ }
234
+ ],
235
+ "name": "getVersionInfo",
236
+ "outputs": [
237
+ {
238
+ "components": [
239
+ {
240
+ "internalType": "Version",
241
+ "name": "version",
242
+ "type": "uint24"
243
+ },
244
+ {
245
+ "internalType": "address",
246
+ "name": "implementation",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "internalType": "address",
251
+ "name": "activatedBy",
252
+ "type": "address"
253
+ },
254
+ {
255
+ "internalType": "Blocknumber",
256
+ "name": "activatedIn",
257
+ "type": "uint32"
258
+ },
259
+ {
260
+ "internalType": "Timestamp",
261
+ "name": "activatedAt",
262
+ "type": "uint40"
263
+ }
264
+ ],
265
+ "internalType": "struct IVersionable.VersionInfo",
266
+ "name": "",
267
+ "type": "tuple"
268
+ }
269
+ ],
270
+ "stateMutability": "view",
271
+ "type": "function"
272
+ },
273
+ {
274
+ "inputs": [
275
+ {
276
+ "internalType": "Version",
277
+ "name": "_version",
278
+ "type": "uint24"
279
+ }
280
+ ],
281
+ "name": "isActivated",
282
+ "outputs": [
283
+ {
284
+ "internalType": "bool",
285
+ "name": "",
286
+ "type": "bool"
287
+ }
288
+ ],
289
+ "stateMutability": "view",
290
+ "type": "function"
291
+ },
292
+ {
293
+ "inputs": [],
294
+ "name": "register",
295
+ "outputs": [
296
+ {
297
+ "internalType": "NftId",
298
+ "name": "nftId",
299
+ "type": "uint96"
300
+ }
301
+ ],
302
+ "stateMutability": "nonpayable",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [
307
+ {
308
+ "internalType": "bytes4",
309
+ "name": "interfaceId",
310
+ "type": "bytes4"
311
+ }
312
+ ],
313
+ "name": "supportsInterface",
314
+ "outputs": [
315
+ {
316
+ "internalType": "bool",
317
+ "name": "",
318
+ "type": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "view",
322
+ "type": "function"
323
+ }
324
+ ],
325
+ "bytecode": "0x60e06040523480156200001157600080fd5b506040516200302938038062003029833981810160405281019062000037919062000b34565b818181816200006c7f01ffc9a7000000000000000000000000000000000000000000000000000000006200039360201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d59062000bdc565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f06ecd8ef000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016200016f919062000c3b565b602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000c95565b620001f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ec9062000d17565b60405180910390fd5b806bffffffffffffffffffffffff1660a0816bffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663e74d052f60a0516040518263ffffffff1660e01b815260040162000258919062000d7c565b602060405180830381865afa15801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c919062000c95565b620002de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002d59062000e0f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050620003437f3bf74c8e000000000000000000000000000000000000000000000000000000006200039360201b60201c565b505062000358600033620003ff60201b60201c565b620003897fda309788000000000000000000000000000000000000000000000000000000006200039360201b60201c565b5050505062001201565b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000620004116200074d60201b60201c565b905062000424816200079a60201b60201c565b1562000467576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200045e9062000ea7565b60405180910390fd5b6000600280549050111562000519576000600260016002805490506200048e919062000f02565b81548110620004a257620004a162000f3d565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620004d582826200085a565b62000517576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200050e9062000fe2565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001620005c36200087160201b60201c565b63ffffffff168152602001620005de6200088960201b60201c565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405162000740939291906200105d565b60405180910390a1505050565b600062000795620007656003620008a160201b60201c565b620007776000620008a160201b60201c565b620007896000620008a160201b60201c565b620008ab60201b60201c565b905090565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016200080e9190620010e3565b602060405180830381865af41580156200082c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000852919062001131565b119050919050565b60008162ffffff168362ffffff1611905092915050565b6000620008844362000a6d60201b60201c565b905090565b60006200089c4262000a7760201b60201c565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620008ec9190620011a9565b602060405180830381865af41580156200090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000930919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009729190620011a9565b602060405180830381865af415801562000990573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b6919062001131565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401620009f89190620011a9565b602060405180830381865af415801562000a16573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3c919062001131565b905080600883901b601085901b62000a559190620011c6565b62000a619190620011c6565b93505050509392505050565b6000819050919050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ab38262000a86565b9050919050565b62000ac58162000aa6565b811462000ad157600080fd5b50565b60008151905062000ae58162000aba565b92915050565b60006bffffffffffffffffffffffff82169050919050565b62000b0e8162000aeb565b811462000b1a57600080fd5b50565b60008151905062000b2e8162000b03565b92915050565b6000806040838503121562000b4e5762000b4d62000a81565b5b600062000b5e8582860162000ad4565b925050602062000b718582860162000b1d565b9150509250929050565b600082825260208201905092915050565b7f4552524f523a5247422d3031303a52454749535452595f5a45524f0000000000600082015250565b600062000bc4601b8362000b7b565b915062000bd18262000b8c565b602082019050919050565b6000602082019050818103600083015262000bf78162000bb5565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000c358162000bfe565b82525050565b600060208201905062000c52600083018462000c2a565b92915050565b60008115159050919050565b62000c6f8162000c58565b811462000c7b57600080fd5b50565b60008151905062000c8f8162000c64565b92915050565b60006020828403121562000cae5762000cad62000a81565b5b600062000cbe8482850162000c7e565b91505092915050565b7f4552524f523a5247422d3031313a4e4f545f5245474953545259000000000000600082015250565b600062000cff601a8362000b7b565b915062000d0c8262000cc7565b602082019050919050565b6000602082019050818103600083015262000d328162000cf0565b9050919050565b6000819050919050565b600062000d6462000d5e62000d588462000aeb565b62000d39565b62000aeb565b9050919050565b62000d768162000d43565b82525050565b600060208201905062000d93600083018462000d6b565b92915050565b7f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560008201527f5245440000000000000000000000000000000000000000000000000000000000602082015250565b600062000df760238362000b7b565b915062000e048262000d99565b604082019050919050565b6000602082019050818103600083015262000e2a8162000de8565b9050919050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b600062000e8f60278362000b7b565b915062000e9c8262000e31565b604082019050919050565b6000602082019050818103600083015262000ec28162000e80565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f0f8262000ec9565b915062000f1c8362000ec9565b925082820390508181111562000f375762000f3662000ed3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b600062000fca60248362000b7b565b915062000fd78262000f6c565b604082019050919050565b6000602082019050818103600083015262000ffd8162000fbb565b9050919050565b600062ffffff82169050919050565b6000620010346200102e620010288462001004565b62000d39565b62001004565b9050919050565b620010468162001013565b82525050565b620010578162000aa6565b82525050565b60006060820190506200107460008301866200103b565b6200108360208301856200104c565b6200109260408301846200104c565b949350505050565b600063ffffffff82169050919050565b6000620010cb620010c5620010bf846200109a565b62000d39565b6200109a565b9050919050565b620010dd81620010aa565b82525050565b6000602082019050620010fa6000830184620010d2565b92915050565b6200110b8162000ec9565b81146200111757600080fd5b50565b6000815190506200112b8162001100565b92915050565b6000602082840312156200114a576200114962000a81565b5b60006200115a848285016200111a565b91505092915050565b600060ff82169050919050565b6000620011916200118b620011858462001163565b62000d39565b62001163565b9050919050565b620011a38162001170565b82525050565b6000602082019050620011c0600083018462001198565b92915050565b6000620011d38262000ec9565b9150620011e08362000ec9565b9250828201905080821115620011fb57620011fa62000ed3565b5b92915050565b60805160a05160c051611ddc6200124d60003960006109630152600061060b015260008181610568015281816107e70152818161080f015281816108b1015261098c0152611ddc6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634d459c90116100a2578063946dfcfe11610071578063946dfcfe146102ae5780639555c4db146102cc578063a3f4df7e146102e8578063b88da75914610306578063cde749f4146103365761010b565b80634d459c90146102245780635ab1bd5314610254578063644c45e014610272578063893d20e8146102905761010b565b806317d7de7c116100de57806317d7de7c146101ac5780631aa3a008146101ca57806331b62a3b146101e85780633bc5de30146102065761010b565b806301ffc9a7146101105780630abd8434146101405780630d8e6e2c1461017057806315dae03e1461018e575b600080fd5b61012a60048036038101906101259190611231565b610354565b6040516101379190611279565b60405180910390f35b61015a600480360381019061015591906112cf565b6103bb565b6040516101679190611279565b60405180910390f35b610178610476565b6040516101859190611337565b60405180910390f35b6101966104a3565b6040516101a39190611390565b60405180910390f35b6101b46104b2565b6040516101c1919061143b565b60405180910390f35b6101d26104ef565b6040516101df91906114a6565b60405180910390f35b6101f0610607565b6040516101fd91906114a6565b60405180910390f35b61020e61062f565b60405161021b9190611516565b60405180910390f35b61023e600480360381019061023991906112cf565b610646565b60405161024b9190611673565b60405180910390f35b61025c6107e3565b60405161026991906116e3565b60405180910390f35b61027a61080b565b60405161028791906114a6565b60405180910390f35b6102986108ac565b6040516102a5919061170d565b60405180910390f35b6102b6610a2b565b6040516102c39190611741565b60405180910390f35b6102e660048036038101906102e19190611788565b610a38565b005b6102f0610a46565b6040516102fd919061143b565b60405180910390f35b610320600480360381019061031b91906117f4565b610a7f565b60405161032d9190611337565b60405180910390f35b61033e610b08565b60405161034b9190611830565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b815260040161042d919061185a565b602060405180830381865af415801561044a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046e919061188a565b119050919050565b600061049e6104856003610bfc565b61048f6000610bfc565b6104996000610bfc565b610c06565b905090565b60006104ad610db5565b905090565b60606040518060400160405280600b81526020017f5465737453657276696365000000000000000000000000000000000000000000815250905090565b60006104f96108ac565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90611903565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105bf919061170d565b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061194f565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b61064e611167565b610657826103bb565b610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d906119c8565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610866919061170d565b602060405180830381865afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a7919061194f565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610908919061170d565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061194f565b905061095c81610957610dc6565b610dcb565b1561098a577f0000000000000000000000000000000000000000000000000000000000000000915050610a28565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109e391906114a6565b602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2491906119fd565b9150505b90565b6000600280549050905090565b610a428282610df4565b5050565b6040518060400160405280600b81526020017f546573745365727669636500000000000000000000000000000000000000000081525081565b60006002805490508210610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611a76565b60405180910390fd5b60028281548110610adc57610adb611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b799190611ada565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401610bb69190611b16565b602060405180830381865af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611b5d565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610c459190611b99565b602060405180830381865af4158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c86919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610cc69190611b99565b602060405180830381865af4158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d07919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610d479190611b99565b602060405180830381865af4158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d88919061188a565b905080600883901b601085901b610d9f9190611be3565b610da99190611be3565b93505050509392505050565b6000610dc16028611112565b905090565b600090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b6000610dfe610476565b9050610e09816103bb565b15610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611c89565b60405180910390fd5b60006002805490501115610ef057600060026001600280549050610e6d9190611ca9565b81548110610e7e57610e7d611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610eaf828261111c565b610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590611d4f565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001610f92611133565b63ffffffff168152602001610fa5611143565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161110593929190611d6f565b60405180910390a1505050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b600061113e43611153565b905090565b600061114e4261115d565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61120e816111d9565b811461121957600080fd5b50565b60008135905061122b81611205565b92915050565b600060208284031215611247576112466111d4565b5b60006112558482850161121c565b91505092915050565b60008115159050919050565b6112738161125e565b82525050565b600060208201905061128e600083018461126a565b92915050565b600062ffffff82169050919050565b6112ac81611294565b81146112b757600080fd5b50565b6000813590506112c9816112a3565b92915050565b6000602082840312156112e5576112e46111d4565b5b60006112f3848285016112ba565b91505092915050565b6000819050919050565b600061132161131c61131784611294565b6112fc565b611294565b9050919050565b61133181611306565b82525050565b600060208201905061134c6000830184611328565b92915050565b600060ff82169050919050565b600061137a61137561137084611352565b6112fc565b611352565b9050919050565b61138a8161135f565b82525050565b60006020820190506113a56000830184611381565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113e55780820151818401526020810190506113ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061140d826113ab565b61141781856113b6565b93506114278185602086016113c7565b611430816113f1565b840191505092915050565b600060208201905081810360008301526114558184611402565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b600061149061148b6114868461145d565b6112fc565b61145d565b9050919050565b6114a081611475565b82525050565b60006020820190506114bb6000830184611497565b92915050565b600081519050919050565b600082825260208201905092915050565b60006114e8826114c1565b6114f281856114cc565b93506115028185602086016113c7565b61150b816113f1565b840191505092915050565b6000602082019050818103600083015261153081846114dd565b905092915050565b61154181611306565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061157282611547565b9050919050565b61158281611567565b82525050565b600063ffffffff82169050919050565b60006115b36115ae6115a984611588565b6112fc565b611588565b9050919050565b6115c381611598565b82525050565b600064ffffffffff82169050919050565b60006115f56115f06115eb846115c9565b6112fc565b6115c9565b9050919050565b611605816115da565b82525050565b60a0820160008201516116216000850182611538565b5060208201516116346020850182611579565b5060408201516116476040850182611579565b50606082015161165a60608501826115ba565b50608082015161166d60808501826115fc565b50505050565b600060a082019050611688600083018461160b565b92915050565b60006116a96116a461169f84611547565b6112fc565b611547565b9050919050565b60006116bb8261168e565b9050919050565b60006116cd826116b0565b9050919050565b6116dd816116c2565b82525050565b60006020820190506116f860008301846116d4565b92915050565b61170781611567565b82525050565b600060208201905061172260008301846116fe565b92915050565b6000819050919050565b61173b81611728565b82525050565b60006020820190506117566000830184611732565b92915050565b61176581611567565b811461177057600080fd5b50565b6000813590506117828161175c565b92915050565b6000806040838503121561179f5761179e6111d4565b5b60006117ad85828601611773565b92505060206117be85828601611773565b9150509250929050565b6117d181611728565b81146117dc57600080fd5b50565b6000813590506117ee816117c8565b92915050565b60006020828403121561180a576118096111d4565b5b6000611818848285016117df565b91505092915050565b61182a8161135f565b82525050565b60006020820190506118456000830184611821565b92915050565b61185481611598565b82525050565b600060208201905061186f600083018461184b565b92915050565b600081519050611884816117c8565b92915050565b6000602082840312156118a05761189f6111d4565b5b60006118ae84828501611875565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b60006118ed6017836113b6565b91506118f8826118b7565b602082019050919050565b6000602082019050818103600083015261191c816118e0565b9050919050565b61192c8161145d565b811461193757600080fd5b50565b60008151905061194981611923565b92915050565b600060208284031215611965576119646111d4565b5b60006119738482850161193a565b91505092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b60006119b2601d836113b6565b91506119bd8261197c565b602082019050919050565b600060208201905081810360008301526119e1816119a5565b9050919050565b6000815190506119f78161175c565b92915050565b600060208284031215611a1357611a126111d4565b5b6000611a21848285016119e8565b91505092915050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000611a60601d836113b6565b9150611a6b82611a2a565b602082019050919050565b60006020820190508181036000830152611a8f81611a53565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ad4816112a3565b92915050565b600060208284031215611af057611aef6111d4565b5b6000611afe84828501611ac5565b91505092915050565b611b1081611306565b82525050565b6000602082019050611b2b6000830184611b07565b92915050565b611b3a81611352565b8114611b4557600080fd5b50565b600081519050611b5781611b31565b92915050565b600060208284031215611b7357611b726111d4565b5b6000611b8184828501611b48565b91505092915050565b611b938161135f565b82525050565b6000602082019050611bae6000830184611b8a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bee82611728565b9150611bf983611728565b9250828201905080821115611c1157611c10611bb4565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000611c736027836113b6565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b6000611cb482611728565b9150611cbf83611728565b9250828203905081811115611cd757611cd6611bb4565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000611d396024836113b6565b9150611d4482611cdd565b604082019050919050565b60006020820190508181036000830152611d6881611d2c565b9050919050565b6000606082019050611d846000830186611328565b611d9160208301856116fe565b611d9e60408301846116fe565b94935050505056fea264697066735822122088336087cc103848ae88cdc4e0c003a04a46d363ffcfc7dcb55e84b9c8bd69d164736f6c63430008140033",
326
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634d459c90116100a2578063946dfcfe11610071578063946dfcfe146102ae5780639555c4db146102cc578063a3f4df7e146102e8578063b88da75914610306578063cde749f4146103365761010b565b80634d459c90146102245780635ab1bd5314610254578063644c45e014610272578063893d20e8146102905761010b565b806317d7de7c116100de57806317d7de7c146101ac5780631aa3a008146101ca57806331b62a3b146101e85780633bc5de30146102065761010b565b806301ffc9a7146101105780630abd8434146101405780630d8e6e2c1461017057806315dae03e1461018e575b600080fd5b61012a60048036038101906101259190611231565b610354565b6040516101379190611279565b60405180910390f35b61015a600480360381019061015591906112cf565b6103bb565b6040516101679190611279565b60405180910390f35b610178610476565b6040516101859190611337565b60405180910390f35b6101966104a3565b6040516101a39190611390565b60405180910390f35b6101b46104b2565b6040516101c1919061143b565b60405180910390f35b6101d26104ef565b6040516101df91906114a6565b60405180910390f35b6101f0610607565b6040516101fd91906114a6565b60405180910390f35b61020e61062f565b60405161021b9190611516565b60405180910390f35b61023e600480360381019061023991906112cf565b610646565b60405161024b9190611673565b60405180910390f35b61025c6107e3565b60405161026991906116e3565b60405180910390f35b61027a61080b565b60405161028791906114a6565b60405180910390f35b6102986108ac565b6040516102a5919061170d565b60405180910390f35b6102b6610a2b565b6040516102c39190611741565b60405180910390f35b6102e660048036038101906102e19190611788565b610a38565b005b6102f0610a46565b6040516102fd919061143b565b60405180910390f35b610320600480360381019061031b91906117f4565b610a7f565b60405161032d9190611337565b60405180910390f35b61033e610b08565b60405161034b9190611830565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008462ffffff1662ffffff16815260200190815260200160002060010160149054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b815260040161042d919061185a565b602060405180830381865af415801561044a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046e919061188a565b119050919050565b600061049e6104856003610bfc565b61048f6000610bfc565b6104996000610bfc565b610c06565b905090565b60006104ad610db5565b905090565b60606040518060400160405280600b81526020017f5465737453657276696365000000000000000000000000000000000000000000815250905090565b60006104f96108ac565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90611903565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016105bf919061170d565b6020604051808303816000875af11580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061194f565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b606060405180602001604052806000815250905090565b61064e611167565b610657826103bb565b610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d906119c8565b60405180910390fd5b600160008362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160189054906101000a900464ffffffffff1664ffffffffff1664ffffffffff16815250509050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610866919061170d565b602060405180830381865afa158015610883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a7919061194f565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d272ac1e306040518263ffffffff1660e01b8152600401610908919061170d565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061194f565b905061095c81610957610dc6565b610dcb565b1561098a577f0000000000000000000000000000000000000000000000000000000000000000915050610a28565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109e391906114a6565b602060405180830381865afa158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2491906119fd565b9150505b90565b6000600280549050905090565b610a428282610df4565b5050565b6040518060400160405280600b81526020017f546573745365727669636500000000000000000000000000000000000000000081525081565b60006002805490508210610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611a76565b60405180910390fd5b60028281548110610adc57610adb611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b799190611ada565b62ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b8152600401610bb69190611b16565b602060405180830381865af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611b5d565b905090565b6000819050919050565b6000808460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610c459190611b99565b602060405180830381865af4158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c86919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610cc69190611b99565b602060405180830381865af4158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d07919061188a565b905060008460ff1673__$9dab98ad7ae1a426029e5739f922230a41$__63ac43d83490916040518263ffffffff1660e01b8152600401610d479190611b99565b602060405180830381865af4158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d88919061188a565b905080600883901b601085901b610d9f9190611be3565b610da99190611be3565b93505050509392505050565b6000610dc16028611112565b905090565b600090565b6000816bffffffffffffffffffffffff16836bffffffffffffffffffffffff1614905092915050565b6000610dfe610476565b9050610e09816103bb565b15610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090611c89565b60405180910390fd5b60006002805490501115610ef057600060026001600280549050610e6d9190611ca9565b81548110610e7e57610e7d611a96565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050610eaf828261111c565b610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590611d4f565b60405180910390fd5b505b60028190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001610f92611133565b63ffffffff168152602001610fa5611143565b64ffffffffff16815250600160008362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160186101000a81548164ffffffffff021916908364ffffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161110593929190611d6f565b60405180910390a1505050565b6000819050919050565b60008162ffffff168362ffffff1611905092915050565b600061113e43611153565b905090565b600061114e4261115d565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600064ffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61120e816111d9565b811461121957600080fd5b50565b60008135905061122b81611205565b92915050565b600060208284031215611247576112466111d4565b5b60006112558482850161121c565b91505092915050565b60008115159050919050565b6112738161125e565b82525050565b600060208201905061128e600083018461126a565b92915050565b600062ffffff82169050919050565b6112ac81611294565b81146112b757600080fd5b50565b6000813590506112c9816112a3565b92915050565b6000602082840312156112e5576112e46111d4565b5b60006112f3848285016112ba565b91505092915050565b6000819050919050565b600061132161131c61131784611294565b6112fc565b611294565b9050919050565b61133181611306565b82525050565b600060208201905061134c6000830184611328565b92915050565b600060ff82169050919050565b600061137a61137561137084611352565b6112fc565b611352565b9050919050565b61138a8161135f565b82525050565b60006020820190506113a56000830184611381565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113e55780820151818401526020810190506113ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061140d826113ab565b61141781856113b6565b93506114278185602086016113c7565b611430816113f1565b840191505092915050565b600060208201905081810360008301526114558184611402565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b600061149061148b6114868461145d565b6112fc565b61145d565b9050919050565b6114a081611475565b82525050565b60006020820190506114bb6000830184611497565b92915050565b600081519050919050565b600082825260208201905092915050565b60006114e8826114c1565b6114f281856114cc565b93506115028185602086016113c7565b61150b816113f1565b840191505092915050565b6000602082019050818103600083015261153081846114dd565b905092915050565b61154181611306565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061157282611547565b9050919050565b61158281611567565b82525050565b600063ffffffff82169050919050565b60006115b36115ae6115a984611588565b6112fc565b611588565b9050919050565b6115c381611598565b82525050565b600064ffffffffff82169050919050565b60006115f56115f06115eb846115c9565b6112fc565b6115c9565b9050919050565b611605816115da565b82525050565b60a0820160008201516116216000850182611538565b5060208201516116346020850182611579565b5060408201516116476040850182611579565b50606082015161165a60608501826115ba565b50608082015161166d60808501826115fc565b50505050565b600060a082019050611688600083018461160b565b92915050565b60006116a96116a461169f84611547565b6112fc565b611547565b9050919050565b60006116bb8261168e565b9050919050565b60006116cd826116b0565b9050919050565b6116dd816116c2565b82525050565b60006020820190506116f860008301846116d4565b92915050565b61170781611567565b82525050565b600060208201905061172260008301846116fe565b92915050565b6000819050919050565b61173b81611728565b82525050565b60006020820190506117566000830184611732565b92915050565b61176581611567565b811461177057600080fd5b50565b6000813590506117828161175c565b92915050565b6000806040838503121561179f5761179e6111d4565b5b60006117ad85828601611773565b92505060206117be85828601611773565b9150509250929050565b6117d181611728565b81146117dc57600080fd5b50565b6000813590506117ee816117c8565b92915050565b60006020828403121561180a576118096111d4565b5b6000611818848285016117df565b91505092915050565b61182a8161135f565b82525050565b60006020820190506118456000830184611821565b92915050565b61185481611598565b82525050565b600060208201905061186f600083018461184b565b92915050565b600081519050611884816117c8565b92915050565b6000602082840312156118a05761189f6111d4565b5b60006118ae84828501611875565b91505092915050565b7f4552524f523a5247422d3030313a4e4f545f4f574e4552000000000000000000600082015250565b60006118ed6017836113b6565b91506118f8826118b7565b602082019050919050565b6000602082019050818103600083015261191c816118e0565b9050919050565b61192c8161145d565b811461193757600080fd5b50565b60008151905061194981611923565b92915050565b600060208284031215611965576119646111d4565b5b60006119738482850161193a565b91505092915050565b7f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e000000600082015250565b60006119b2601d836113b6565b91506119bd8261197c565b602082019050919050565b600060208201905081810360008301526119e1816119a5565b9050919050565b6000815190506119f78161175c565b92915050565b600060208284031215611a1357611a126111d4565b5b6000611a21848285016119e8565b91505092915050565b7f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c41524745000000600082015250565b6000611a60601d836113b6565b9150611a6b82611a2a565b602082019050919050565b60006020820190508181036000830152611a8f81611a53565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ad4816112a3565b92915050565b600060208284031215611af057611aef6111d4565b5b6000611afe84828501611ac5565b91505092915050565b611b1081611306565b82525050565b6000602082019050611b2b6000830184611b07565b92915050565b611b3a81611352565b8114611b4557600080fd5b50565b600081519050611b5781611b31565b92915050565b600060208284031215611b7357611b726111d4565b5b6000611b8184828501611b48565b91505092915050565b611b938161135f565b82525050565b6000602082019050611bae6000830184611b8a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bee82611728565b9150611bf983611728565b9250828201905080821115611c1157611c10611bb4565b5b92915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000611c736027836113b6565b9150611c7e82611c17565b604082019050919050565b60006020820190508181036000830152611ca281611c66565b9050919050565b6000611cb482611728565b9150611cbf83611728565b9250828203905081811115611cd757611cd6611bb4565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000611d396024836113b6565b9150611d4482611cdd565b604082019050919050565b60006020820190508181036000830152611d6881611d2c565b9050919050565b6000606082019050611d846000830186611328565b611d9160208301856116fe565b611d9e60408301846116fe565b94935050505056fea264697066735822122088336087cc103848ae88cdc4e0c003a04a46d363ffcfc7dcb55e84b9c8bd69d164736f6c63430008140033",
327
+ "linkReferences": {
328
+ "contracts/types/Blocknumber.sol": {
329
+ "BlocknumberLib": [
330
+ {
331
+ "length": 20,
332
+ "start": 2006
333
+ },
334
+ {
335
+ "length": 20,
336
+ "start": 5700
337
+ }
338
+ ]
339
+ },
340
+ "contracts/types/Version.sol": {
341
+ "VersionLib": [
342
+ {
343
+ "length": 20,
344
+ "start": 7629
345
+ }
346
+ ],
347
+ "VersionPartLib": [
348
+ {
349
+ "length": 20,
350
+ "start": 2228
351
+ },
352
+ {
353
+ "length": 20,
354
+ "start": 2362
355
+ },
356
+ {
357
+ "length": 20,
358
+ "start": 2496
359
+ },
360
+ {
361
+ "length": 20,
362
+ "start": 7772
363
+ },
364
+ {
365
+ "length": 20,
366
+ "start": 7901
367
+ },
368
+ {
369
+ "length": 20,
370
+ "start": 8030
371
+ }
372
+ ]
373
+ }
374
+ },
375
+ "deployedLinkReferences": {
376
+ "contracts/types/Blocknumber.sol": {
377
+ "BlocknumberLib": [
378
+ {
379
+ "length": 20,
380
+ "start": 1015
381
+ }
382
+ ]
383
+ },
384
+ "contracts/types/Version.sol": {
385
+ "VersionLib": [
386
+ {
387
+ "length": 20,
388
+ "start": 2944
389
+ }
390
+ ],
391
+ "VersionPartLib": [
392
+ {
393
+ "length": 20,
394
+ "start": 3087
395
+ },
396
+ {
397
+ "length": 20,
398
+ "start": 3216
399
+ },
400
+ {
401
+ "length": 20,
402
+ "start": 3345
403
+ }
404
+ ]
405
+ }
406
+ }
407
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/7f20a1c1335663e2e20eb70fbac6fce5.json"
4
+ }