@etherisc/gif-next 0.0.2-d911522 → 0.0.2-d96b9e1-825

Sign up to get free protection for your applications and to get access to all the features.
Files changed (339) hide show
  1. package/README.md +109 -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} +48 -53
  4. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
  5. package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IBaseComponent.sol/IBaseComponent.json} +48 -53
  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/{IProduct.sol → IProductComponent.sol}/IProductComponent.json +139 -52
  10. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  11. package/artifacts/contracts/components/Pool.sol/Pool.json +218 -44
  12. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  13. package/artifacts/contracts/components/Product.sol/Product.json +144 -70
  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 +4 -0
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +59 -0
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +4 -0
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +124 -0
  32. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +4 -0
  33. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +74 -0
  34. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +4 -0
  35. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +124 -0
  36. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +4 -0
  37. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +207 -0
  38. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  40. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  41. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  42. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1194 -220
  44. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{component/IComponent.sol → IInstanceLinked.sol}/IInstanceLinked.json +1 -1
  46. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/Instance.sol/Instance.json +1443 -354
  48. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  49. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
  50. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{product/ProductService.sol/ProductModule.json → base/IInstanceBase.sol/IInstanceBase.json} +18 -30
  52. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  53. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +511 -0
  54. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  55. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.json +115 -0
  56. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/IService.sol/IService.json +300 -0
  58. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{component/ComponentModule.sol/ComponentModule.json → base/InstanceBase.sol/InstanceBase.json} +137 -138
  60. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +692 -0
  62. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  64. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.json +10 -0
  66. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{component/IComponent.sol/IComponentContract.json → base/ServiceBase.sol/ServiceBase.json} +148 -27
  68. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
  69. package/artifacts/contracts/instance/{access → module/access}/Access.sol/AccessModule.json +85 -152
  70. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccess.json +1 -1
  72. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  73. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccessModule.json +96 -99
  74. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +296 -0
  76. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
  78. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +296 -0
  80. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +10 -0
  82. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +10 -0
  84. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +10 -0
  86. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
  88. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponent.json +1 -1
  90. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponentModule.json +40 -97
  92. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicy.json +1 -1
  94. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  95. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicyModule.json +142 -112
  96. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  97. package/artifacts/contracts/instance/{policy → module/policy}/PolicyModule.sol/PolicyModule.json +142 -112
  98. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  99. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPool.json +1 -1
  100. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  101. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPoolModule.json +57 -57
  102. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  103. package/artifacts/contracts/instance/{pool → module/pool}/PoolModule.sol/PoolModule.json +50 -63
  104. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +4 -0
  105. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.json +10 -0
  106. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +10 -0
  108. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +4 -0
  109. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +10 -0
  110. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  111. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +10 -0
  112. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  113. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +533 -0
  114. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  115. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
  116. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  117. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +533 -0
  118. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  119. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +491 -0
  120. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  121. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
  122. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  123. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
  124. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  125. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
  126. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  127. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +471 -0
  128. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  129. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +673 -0
  130. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  131. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +65 -2
  132. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  133. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  134. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +103 -77
  135. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  136. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
  137. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  138. package/artifacts/contracts/registry/Registry.sol/Registry.json +194 -69
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  140. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  141. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
  142. package/artifacts/contracts/{registry/IRegistry.sol → shared/IOwnable.sol}/IOwnable.json +1 -1
  143. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  144. package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegisterable.sol}/IRegisterable.json +18 -63
  145. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  146. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
  147. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  148. package/artifacts/contracts/{registry/Registry.sol → shared/Registerable.sol}/Registerable.json +18 -63
  149. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  150. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
  151. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  152. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  153. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
  154. package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
  155. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
  156. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
  157. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  158. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
  159. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  160. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
  161. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  162. package/artifacts/contracts/test/TestService.sol/TestService.json +379 -0
  163. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  164. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  165. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  166. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  167. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  168. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +206 -0
  169. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  170. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  171. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  173. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  175. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  176. package/artifacts/contracts/types/Fee.sol/FeeLib.json +218 -0
  177. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  178. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +111 -0
  179. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  181. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  182. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  183. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +92 -0
  185. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +4 -0
  186. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +92 -0
  187. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +64 -2
  189. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  190. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +68 -55
  191. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  192. package/artifacts/contracts/types/Version.sol/VersionLib.json +139 -0
  193. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  194. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  195. package/contracts/components/BaseComponent.sol +88 -0
  196. package/contracts/components/IBaseComponent.sol +19 -0
  197. package/contracts/components/IPoolComponent.sol +57 -0
  198. package/contracts/components/IProductComponent.sol +19 -0
  199. package/contracts/components/Pool.sol +161 -16
  200. package/contracts/components/Product.sol +77 -26
  201. package/contracts/experiment/errors/Require.sol +10 -5
  202. package/contracts/experiment/errors/Revert.sol +13 -8
  203. package/contracts/experiment/inheritance/A.sol +8 -11
  204. package/contracts/experiment/inheritance/B.sol +10 -5
  205. package/contracts/experiment/inheritance/C.sol +11 -5
  206. package/contracts/experiment/inheritance/IA.sol +2 -7
  207. package/contracts/experiment/inheritance/IB.sol +3 -2
  208. package/contracts/experiment/inheritance/IC.sol +4 -3
  209. package/contracts/experiment/statemachine/Dummy.sol +27 -0
  210. package/contracts/experiment/statemachine/ISM.sol +25 -0
  211. package/contracts/experiment/statemachine/README.md +112 -0
  212. package/contracts/experiment/statemachine/SM.sol +57 -0
  213. package/contracts/experiment/statemachine/SimpleStateMachine.sol +31 -0
  214. package/contracts/experiment/types/TypeA.sol +14 -9
  215. package/contracts/experiment/types/TypeB.sol +14 -9
  216. package/contracts/instance/IInstance.sol +40 -8
  217. package/contracts/instance/IInstanceLinked.sol +8 -0
  218. package/contracts/instance/Instance.sol +47 -43
  219. package/contracts/instance/base/ComponentServiceBase.sol +42 -0
  220. package/contracts/instance/base/IInstanceBase.sol +14 -0
  221. package/contracts/instance/base/IKeyValueStore.sol +49 -0
  222. package/contracts/instance/base/ILifecycle.sol +30 -0
  223. package/contracts/instance/base/IService.sol +15 -0
  224. package/contracts/instance/base/InstanceBase.sol +80 -0
  225. package/contracts/instance/base/KeyValueStore.sol +147 -0
  226. package/contracts/instance/base/Lifecycle.sol +95 -0
  227. package/contracts/instance/base/ModuleBase.sol +52 -0
  228. package/contracts/instance/base/ServiceBase.sol +37 -0
  229. package/contracts/instance/module/access/Access.sol +149 -0
  230. package/contracts/instance/module/access/IAccess.sol +53 -0
  231. package/contracts/instance/module/bundle/BundleModule.sol +136 -0
  232. package/contracts/instance/module/bundle/IBundle.sol +58 -0
  233. package/contracts/instance/module/compensation/CompensationModule.sol +8 -0
  234. package/contracts/instance/module/compensation/ICompensation.sol +10 -0
  235. package/contracts/instance/module/component/ComponentModule.sol +95 -0
  236. package/contracts/instance/module/component/IComponent.sol +53 -0
  237. package/contracts/instance/module/policy/IPolicy.sol +60 -0
  238. package/contracts/instance/module/policy/PolicyModule.sol +76 -0
  239. package/contracts/instance/module/pool/IPoolModule.sol +41 -0
  240. package/contracts/instance/module/pool/PoolModule.sol +87 -0
  241. package/contracts/instance/module/risk/IRisk.sol +10 -0
  242. package/contracts/instance/module/risk/RiskModule.sol +8 -0
  243. package/contracts/instance/module/treasury/ITreasury.sol +103 -0
  244. package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
  245. package/contracts/instance/module/treasury/TreasuryModule.sol +152 -0
  246. package/contracts/instance/service/ComponentOwnerService.sol +170 -0
  247. package/contracts/instance/service/IComponentOwnerService.sol +22 -0
  248. package/contracts/instance/service/IPoolService.sol +30 -0
  249. package/contracts/instance/service/IProductService.sol +58 -0
  250. package/contracts/instance/service/PoolService.sol +123 -0
  251. package/contracts/instance/service/ProductService.sol +354 -0
  252. package/contracts/registry/ChainNft.sol +80 -94
  253. package/contracts/registry/IChainNft.sol +10 -7
  254. package/contracts/registry/IRegistry.sol +38 -51
  255. package/contracts/registry/IRegistryLinked.sol +8 -0
  256. package/contracts/registry/Registry.sol +310 -111
  257. package/contracts/shared/ERC165.sol +21 -0
  258. package/contracts/shared/IOwnable.sol +6 -0
  259. package/contracts/shared/IRegisterable.sol +24 -0
  260. package/contracts/shared/IVersionable.sol +52 -0
  261. package/contracts/shared/Registerable.sol +86 -0
  262. package/contracts/shared/Versionable.sol +89 -0
  263. package/contracts/test/TestFee.sol +25 -0
  264. package/contracts/test/TestPool.sol +22 -0
  265. package/contracts/test/TestProduct.sol +44 -0
  266. package/contracts/test/TestRegisterable.sol +19 -0
  267. package/contracts/test/TestRoleId.sol +14 -0
  268. package/contracts/test/TestService.sol +32 -0
  269. package/contracts/test/TestToken.sol +26 -0
  270. package/contracts/test/TestVersion.sol +44 -0
  271. package/contracts/test/TestVersionable.sol +17 -0
  272. package/contracts/types/AddressSet.sol +58 -0
  273. package/contracts/types/Blocknumber.sol +76 -18
  274. package/contracts/types/ChainId.sol +18 -10
  275. package/contracts/types/Fee.sol +51 -0
  276. package/contracts/types/Key32.sol +45 -0
  277. package/contracts/types/NftId.sol +48 -11
  278. package/contracts/types/NftIdSet.sol +60 -0
  279. package/contracts/types/ObjectType.sol +115 -0
  280. package/contracts/types/RoleId.sol +36 -0
  281. package/contracts/types/StateId.sol +101 -0
  282. package/contracts/types/Timestamp.sol +85 -17
  283. package/contracts/types/UFixed.sol +71 -72
  284. package/contracts/types/Version.sol +95 -0
  285. package/package.json +15 -4
  286. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  287. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  288. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  289. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  290. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  291. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  292. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  293. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  294. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  295. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  296. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  297. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  298. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  299. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  300. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -147
  301. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  302. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  303. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  304. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  305. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
  306. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  307. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  308. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  309. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  310. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  311. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  312. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  313. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  314. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  315. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  316. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -114
  317. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  318. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  319. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -167
  320. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  321. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  322. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  323. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  324. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  325. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  326. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  327. package/contracts/components/Component.sol +0 -62
  328. package/contracts/components/IPool.sol +0 -9
  329. package/contracts/components/IProduct.sol +0 -12
  330. package/contracts/instance/access/Access.sol +0 -218
  331. package/contracts/instance/access/IAccess.sol +0 -83
  332. package/contracts/instance/component/ComponentModule.sol +0 -248
  333. package/contracts/instance/component/IComponent.sol +0 -95
  334. package/contracts/instance/policy/IPolicy.sol +0 -66
  335. package/contracts/instance/policy/PolicyModule.sol +0 -107
  336. package/contracts/instance/pool/IPoolModule.sol +0 -41
  337. package/contracts/instance/pool/PoolModule.sol +0 -86
  338. package/contracts/instance/product/IProductService.sol +0 -46
  339. package/contracts/instance/product/ProductService.sol +0 -108
@@ -0,0 +1,338 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestUsdc",
4
+ "sourceName": "contracts/test/TestToken.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "owner",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": true,
22
+ "internalType": "address",
23
+ "name": "spender",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "value",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "Approval",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "from",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "to",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "value",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "name": "Transfer",
59
+ "type": "event"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "DECIMALS",
64
+ "outputs": [
65
+ {
66
+ "internalType": "uint8",
67
+ "name": "",
68
+ "type": "uint8"
69
+ }
70
+ ],
71
+ "stateMutability": "view",
72
+ "type": "function"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "INITIAL_SUPPLY",
77
+ "outputs": [
78
+ {
79
+ "internalType": "uint256",
80
+ "name": "",
81
+ "type": "uint256"
82
+ }
83
+ ],
84
+ "stateMutability": "view",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "NAME",
90
+ "outputs": [
91
+ {
92
+ "internalType": "string",
93
+ "name": "",
94
+ "type": "string"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "SYMBOL",
103
+ "outputs": [
104
+ {
105
+ "internalType": "string",
106
+ "name": "",
107
+ "type": "string"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "internalType": "address",
117
+ "name": "owner",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "internalType": "address",
122
+ "name": "spender",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "name": "allowance",
127
+ "outputs": [
128
+ {
129
+ "internalType": "uint256",
130
+ "name": "",
131
+ "type": "uint256"
132
+ }
133
+ ],
134
+ "stateMutability": "view",
135
+ "type": "function"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "spender",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "uint256",
146
+ "name": "amount",
147
+ "type": "uint256"
148
+ }
149
+ ],
150
+ "name": "approve",
151
+ "outputs": [
152
+ {
153
+ "internalType": "bool",
154
+ "name": "",
155
+ "type": "bool"
156
+ }
157
+ ],
158
+ "stateMutability": "nonpayable",
159
+ "type": "function"
160
+ },
161
+ {
162
+ "inputs": [
163
+ {
164
+ "internalType": "address",
165
+ "name": "account",
166
+ "type": "address"
167
+ }
168
+ ],
169
+ "name": "balanceOf",
170
+ "outputs": [
171
+ {
172
+ "internalType": "uint256",
173
+ "name": "",
174
+ "type": "uint256"
175
+ }
176
+ ],
177
+ "stateMutability": "view",
178
+ "type": "function"
179
+ },
180
+ {
181
+ "inputs": [],
182
+ "name": "decimals",
183
+ "outputs": [
184
+ {
185
+ "internalType": "uint8",
186
+ "name": "",
187
+ "type": "uint8"
188
+ }
189
+ ],
190
+ "stateMutability": "pure",
191
+ "type": "function"
192
+ },
193
+ {
194
+ "inputs": [
195
+ {
196
+ "internalType": "address",
197
+ "name": "spender",
198
+ "type": "address"
199
+ },
200
+ {
201
+ "internalType": "uint256",
202
+ "name": "subtractedValue",
203
+ "type": "uint256"
204
+ }
205
+ ],
206
+ "name": "decreaseAllowance",
207
+ "outputs": [
208
+ {
209
+ "internalType": "bool",
210
+ "name": "",
211
+ "type": "bool"
212
+ }
213
+ ],
214
+ "stateMutability": "nonpayable",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "address",
221
+ "name": "spender",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "internalType": "uint256",
226
+ "name": "addedValue",
227
+ "type": "uint256"
228
+ }
229
+ ],
230
+ "name": "increaseAllowance",
231
+ "outputs": [
232
+ {
233
+ "internalType": "bool",
234
+ "name": "",
235
+ "type": "bool"
236
+ }
237
+ ],
238
+ "stateMutability": "nonpayable",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [],
243
+ "name": "name",
244
+ "outputs": [
245
+ {
246
+ "internalType": "string",
247
+ "name": "",
248
+ "type": "string"
249
+ }
250
+ ],
251
+ "stateMutability": "view",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [],
256
+ "name": "symbol",
257
+ "outputs": [
258
+ {
259
+ "internalType": "string",
260
+ "name": "",
261
+ "type": "string"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "totalSupply",
270
+ "outputs": [
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "stateMutability": "view",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [
282
+ {
283
+ "internalType": "address",
284
+ "name": "to",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "amount",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "name": "transfer",
294
+ "outputs": [
295
+ {
296
+ "internalType": "bool",
297
+ "name": "",
298
+ "type": "bool"
299
+ }
300
+ ],
301
+ "stateMutability": "nonpayable",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "from",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "address",
313
+ "name": "to",
314
+ "type": "address"
315
+ },
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "amount",
319
+ "type": "uint256"
320
+ }
321
+ ],
322
+ "name": "transferFrom",
323
+ "outputs": [
324
+ {
325
+ "internalType": "bool",
326
+ "name": "",
327
+ "type": "bool"
328
+ }
329
+ ],
330
+ "stateMutability": "nonpayable",
331
+ "type": "function"
332
+ }
333
+ ],
334
+ "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f55534443202d20546573740000000000000000000000000000000000000000008152506040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081600390816200008f9190620004e4565b508060049081620000a19190620004e4565b505050620000e5620000b8620000eb60201b60201c565b6006600a620000c891906200075b565b633b9aca00620000d99190620007ac565b620000f360201b60201c565b620008e3565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000165576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015c9062000858565b60405180910390fd5b62000179600083836200026060201b60201c565b80600260008282546200018d91906200087a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002409190620008c6565b60405180910390a36200025c600083836200026560201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ec57607f821691505b602082108103620003025762000301620002a4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200036c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200032d565b6200037886836200032d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003c5620003bf620003b98462000390565b6200039a565b62000390565b9050919050565b6000819050919050565b620003e183620003a4565b620003f9620003f082620003cc565b8484546200033a565b825550505050565b600090565b6200041062000401565b6200041d818484620003d6565b505050565b5b8181101562000445576200043960008262000406565b60018101905062000423565b5050565b601f82111562000494576200045e8162000308565b62000469846200031d565b8101602085101562000479578190505b6200049162000488856200031d565b83018262000422565b50505b505050565b600082821c905092915050565b6000620004b96000198460080262000499565b1980831691505092915050565b6000620004d48383620004a6565b9150826002028217905092915050565b620004ef826200026a565b67ffffffffffffffff8111156200050b576200050a62000275565b5b620005178254620002d3565b6200052482828562000449565b600060209050601f8311600181146200055c576000841562000547578287015190505b620005538582620004c6565b865550620005c3565b601f1984166200056c8662000308565b60005b8281101562000596578489015182556001820191506020850194506020810190506200056f565b86831015620005b65784890151620005b2601f891682620004a6565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200065957808604811115620006315762000630620005cb565b5b6001851615620006415780820291505b80810290506200065185620005fa565b945062000611565b94509492505050565b60008262000674576001905062000747565b8162000684576000905062000747565b81600181146200069d5760028114620006a857620006de565b600191505062000747565b60ff841115620006bd57620006bc620005cb565b5b8360020a915084821115620006d757620006d6620005cb565b5b5062000747565b5060208310610133831016604e8410600b8410161715620007185782820a905083811115620007125762000711620005cb565b5b62000747565b62000727848484600162000607565b92509050818404811115620007415762000740620005cb565b5b81810290505b9392505050565b600060ff82169050919050565b6000620007688262000390565b915062000775836200074e565b9250620007a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000662565b905092915050565b6000620007b98262000390565b9150620007c68362000390565b9250828202620007d68162000390565b91508282048414831517620007f057620007ef620005cb565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000840601f83620007f7565b91506200084d8262000808565b602082019050919050565b60006020820190508181036000830152620008738162000831565b9050919050565b6000620008878262000390565b9150620008948362000390565b9250828201905080821115620008af57620008ae620005cb565b5b92915050565b620008c08162000390565b82525050565b6000602082019050620008dd6000830184620008b5565b92915050565b61154a80620008f36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d71461028c578063a9059cbb146102bc578063dd62ed3e146102ec578063f76f8d781461031c576100f5565b806339509351146101f057806370a082311461022057806395d89b4114610250578063a3f4df7e1461026e576100f5565b806323b872dd116100d357806323b872dd146101665780632e0f2625146101965780632ff2e9dc146101b4578063313ce567146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b61010261033a565b60405161010f9190610c67565b60405180910390f35b610132600480360381019061012d9190610d22565b6103cc565b60405161013f9190610d7d565b60405180910390f35b6101506103ef565b60405161015d9190610da7565b60405180910390f35b610180600480360381019061017b9190610dc2565b6103f9565b60405161018d9190610d7d565b60405180910390f35b61019e610428565b6040516101ab9190610e31565b60405180910390f35b6101bc61042d565b6040516101c99190610da7565b60405180910390f35b6101da61044d565b6040516101e79190610e31565b60405180910390f35b61020a60048036038101906102059190610d22565b610456565b6040516102179190610d7d565b60405180910390f35b61023a60048036038101906102359190610e4c565b61048d565b6040516102479190610da7565b60405180910390f35b6102586104d5565b6040516102659190610c67565b60405180910390f35b610276610567565b6040516102839190610c67565b60405180910390f35b6102a660048036038101906102a19190610d22565b6105a0565b6040516102b39190610d7d565b60405180910390f35b6102d660048036038101906102d19190610d22565b610617565b6040516102e39190610d7d565b60405180910390f35b61030660048036038101906103019190610e79565b61063a565b6040516103139190610da7565b60405180910390f35b6103246106c1565b6040516103319190610c67565b60405180910390f35b60606003805461034990610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610ee8565b80156103c25780601f10610397576101008083540402835291602001916103c2565b820191906000526020600020905b8154815290600101906020018083116103a557829003601f168201915b5050505050905090565b6000806103d76106fa565b90506103e4818585610702565b600191505092915050565b6000600254905090565b6000806104046106fa565b90506104118582856108cb565b61041c858585610957565b60019150509392505050565b600681565b6006600a61043b919061107b565b633b9aca0061044a91906110c6565b81565b60006006905090565b6000806104616106fa565b9050610482818585610473858961063a565b61047d9190611108565b610702565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104e490610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610ee8565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b5050505050905090565b6040518060400160405280600b81526020017f55534443202d205465737400000000000000000000000000000000000000000081525081565b6000806105ab6106fa565b905060006105b9828661063a565b9050838110156105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906111ae565b60405180910390fd5b61060b8286868403610702565b60019250505092915050565b6000806106226106fa565b905061062f818585610957565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d7906112d2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108be9190610da7565b60405180910390a3505050565b60006108d7848461063a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109515781811015610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061133e565b60405180910390fd5b6109508484848403610702565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611462565b60405180910390fd5b610a40838383610bcd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906114f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb49190610da7565b60405180910390a3610bc7848484610bd2565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c11578082015181840152602081019050610bf6565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c3982610bd7565b610c438185610be2565b9350610c53818560208601610bf3565b610c5c81610c1d565b840191505092915050565b60006020820190508181036000830152610c818184610c2e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb982610c8e565b9050919050565b610cc981610cae565b8114610cd457600080fd5b50565b600081359050610ce681610cc0565b92915050565b6000819050919050565b610cff81610cec565b8114610d0a57600080fd5b50565b600081359050610d1c81610cf6565b92915050565b60008060408385031215610d3957610d38610c89565b5b6000610d4785828601610cd7565b9250506020610d5885828601610d0d565b9150509250929050565b60008115159050919050565b610d7781610d62565b82525050565b6000602082019050610d926000830184610d6e565b92915050565b610da181610cec565b82525050565b6000602082019050610dbc6000830184610d98565b92915050565b600080600060608486031215610ddb57610dda610c89565b5b6000610de986828701610cd7565b9350506020610dfa86828701610cd7565b9250506040610e0b86828701610d0d565b9150509250925092565b600060ff82169050919050565b610e2b81610e15565b82525050565b6000602082019050610e466000830184610e22565b92915050565b600060208284031215610e6257610e61610c89565b5b6000610e7084828501610cd7565b91505092915050565b60008060408385031215610e9057610e8f610c89565b5b6000610e9e85828601610cd7565b9250506020610eaf85828601610cd7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0057607f821691505b602082108103610f1357610f12610eb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f9f57808604811115610f7b57610f7a610f19565b5b6001851615610f8a5780820291505b8081029050610f9885610f48565b9450610f5f565b94509492505050565b600082610fb85760019050611074565b81610fc65760009050611074565b8160018114610fdc5760028114610fe657611015565b6001915050611074565b60ff841115610ff857610ff7610f19565b5b8360020a91508482111561100f5761100e610f19565b5b50611074565b5060208310610133831016604e8410600b841016171561104a5782820a90508381111561104557611044610f19565b5b611074565b6110578484846001610f55565b9250905081840481111561106e5761106d610f19565b5b81810290505b9392505050565b600061108682610cec565b915061109183610e15565b92506110be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610fa8565b905092915050565b60006110d182610cec565b91506110dc83610cec565b92508282026110ea81610cec565b9150828204841483151761110157611100610f19565b5b5092915050565b600061111382610cec565b915061111e83610cec565b925082820190508082111561113657611135610f19565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611198602583610be2565b91506111a38261113c565b604082019050919050565b600060208201905081810360008301526111c78161118b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061122a602483610be2565b9150611235826111ce565b604082019050919050565b600060208201905081810360008301526112598161121d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006112bc602283610be2565b91506112c782611260565b604082019050919050565b600060208201905081810360008301526112eb816112af565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611328601d83610be2565b9150611333826112f2565b602082019050919050565b600060208201905081810360008301526113578161131b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602583610be2565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144c602383610be2565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006114de602683610be2565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b905091905056fea26469706673582212207e5d249e6d2ee2ea2aa725b7a07902b2d8ce2ff2cc07e23c5607b13fe8dcc70964736f6c63430008140033",
335
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d71461028c578063a9059cbb146102bc578063dd62ed3e146102ec578063f76f8d781461031c576100f5565b806339509351146101f057806370a082311461022057806395d89b4114610250578063a3f4df7e1461026e576100f5565b806323b872dd116100d357806323b872dd146101665780632e0f2625146101965780632ff2e9dc146101b4578063313ce567146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b61010261033a565b60405161010f9190610c67565b60405180910390f35b610132600480360381019061012d9190610d22565b6103cc565b60405161013f9190610d7d565b60405180910390f35b6101506103ef565b60405161015d9190610da7565b60405180910390f35b610180600480360381019061017b9190610dc2565b6103f9565b60405161018d9190610d7d565b60405180910390f35b61019e610428565b6040516101ab9190610e31565b60405180910390f35b6101bc61042d565b6040516101c99190610da7565b60405180910390f35b6101da61044d565b6040516101e79190610e31565b60405180910390f35b61020a60048036038101906102059190610d22565b610456565b6040516102179190610d7d565b60405180910390f35b61023a60048036038101906102359190610e4c565b61048d565b6040516102479190610da7565b60405180910390f35b6102586104d5565b6040516102659190610c67565b60405180910390f35b610276610567565b6040516102839190610c67565b60405180910390f35b6102a660048036038101906102a19190610d22565b6105a0565b6040516102b39190610d7d565b60405180910390f35b6102d660048036038101906102d19190610d22565b610617565b6040516102e39190610d7d565b60405180910390f35b61030660048036038101906103019190610e79565b61063a565b6040516103139190610da7565b60405180910390f35b6103246106c1565b6040516103319190610c67565b60405180910390f35b60606003805461034990610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461037590610ee8565b80156103c25780601f10610397576101008083540402835291602001916103c2565b820191906000526020600020905b8154815290600101906020018083116103a557829003601f168201915b5050505050905090565b6000806103d76106fa565b90506103e4818585610702565b600191505092915050565b6000600254905090565b6000806104046106fa565b90506104118582856108cb565b61041c858585610957565b60019150509392505050565b600681565b6006600a61043b919061107b565b633b9aca0061044a91906110c6565b81565b60006006905090565b6000806104616106fa565b9050610482818585610473858961063a565b61047d9190611108565b610702565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104e490610ee8565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610ee8565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b5050505050905090565b6040518060400160405280600b81526020017f55534443202d205465737400000000000000000000000000000000000000000081525081565b6000806105ab6106fa565b905060006105b9828661063a565b9050838110156105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f5906111ae565b60405180910390fd5b61060b8286868403610702565b60019250505092915050565b6000806106226106fa565b905061062f818585610957565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f555344430000000000000000000000000000000000000000000000000000000081525081565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d7906112d2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516108be9190610da7565b60405180910390a3505050565b60006108d7848461063a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109515781811015610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061133e565b60405180910390fd5b6109508484848403610702565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bd906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611462565b60405180910390fd5b610a40838383610bcd565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906114f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb49190610da7565b60405180910390a3610bc7848484610bd2565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c11578082015181840152602081019050610bf6565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c3982610bd7565b610c438185610be2565b9350610c53818560208601610bf3565b610c5c81610c1d565b840191505092915050565b60006020820190508181036000830152610c818184610c2e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb982610c8e565b9050919050565b610cc981610cae565b8114610cd457600080fd5b50565b600081359050610ce681610cc0565b92915050565b6000819050919050565b610cff81610cec565b8114610d0a57600080fd5b50565b600081359050610d1c81610cf6565b92915050565b60008060408385031215610d3957610d38610c89565b5b6000610d4785828601610cd7565b9250506020610d5885828601610d0d565b9150509250929050565b60008115159050919050565b610d7781610d62565b82525050565b6000602082019050610d926000830184610d6e565b92915050565b610da181610cec565b82525050565b6000602082019050610dbc6000830184610d98565b92915050565b600080600060608486031215610ddb57610dda610c89565b5b6000610de986828701610cd7565b9350506020610dfa86828701610cd7565b9250506040610e0b86828701610d0d565b9150509250925092565b600060ff82169050919050565b610e2b81610e15565b82525050565b6000602082019050610e466000830184610e22565b92915050565b600060208284031215610e6257610e61610c89565b5b6000610e7084828501610cd7565b91505092915050565b60008060408385031215610e9057610e8f610c89565b5b6000610e9e85828601610cd7565b9250506020610eaf85828601610cd7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0057607f821691505b602082108103610f1357610f12610eb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610f9f57808604811115610f7b57610f7a610f19565b5b6001851615610f8a5780820291505b8081029050610f9885610f48565b9450610f5f565b94509492505050565b600082610fb85760019050611074565b81610fc65760009050611074565b8160018114610fdc5760028114610fe657611015565b6001915050611074565b60ff841115610ff857610ff7610f19565b5b8360020a91508482111561100f5761100e610f19565b5b50611074565b5060208310610133831016604e8410600b841016171561104a5782820a90508381111561104557611044610f19565b5b611074565b6110578484846001610f55565b9250905081840481111561106e5761106d610f19565b5b81810290505b9392505050565b600061108682610cec565b915061109183610e15565b92506110be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610fa8565b905092915050565b60006110d182610cec565b91506110dc83610cec565b92508282026110ea81610cec565b9150828204841483151761110157611100610f19565b5b5092915050565b600061111382610cec565b915061111e83610cec565b925082820190508082111561113657611135610f19565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611198602583610be2565b91506111a38261113c565b604082019050919050565b600060208201905081810360008301526111c78161118b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061122a602483610be2565b9150611235826111ce565b604082019050919050565b600060208201905081810360008301526112598161121d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006112bc602283610be2565b91506112c782611260565b604082019050919050565b600060208201905081810360008301526112eb816112af565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611328601d83610be2565b9150611333826112f2565b602082019050919050565b600060208201905081810360008301526113578161131b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113ba602583610be2565b91506113c58261135e565b604082019050919050565b600060208201905081810360008301526113e9816113ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061144c602383610be2565b9150611457826113f0565b604082019050919050565b6000602082019050818103600083015261147b8161143f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006114de602683610be2565b91506114e982611482565b604082019050919050565b6000602082019050818103600083015261150d816114d1565b905091905056fea26469706673582212207e5d249e6d2ee2ea2aa725b7a07902b2d8ce2ff2cc07e23c5607b13fe8dcc70964736f6c63430008140033",
336
+ "linkReferences": {},
337
+ "deployedLinkReferences": {}
338
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/746f2ad7b0d888e05db828a61f6d5e10.json"
4
+ }
@@ -0,0 +1,218 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestVersion",
4
+ "sourceName": "contracts/test/TestVersion.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "major",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "minor",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "patch",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "createVersion",
25
+ "outputs": [
26
+ {
27
+ "internalType": "Version",
28
+ "name": "",
29
+ "type": "uint24"
30
+ }
31
+ ],
32
+ "stateMutability": "pure",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "uint256",
39
+ "name": "versionPart",
40
+ "type": "uint256"
41
+ }
42
+ ],
43
+ "name": "createVersionPart",
44
+ "outputs": [
45
+ {
46
+ "internalType": "VersionPart",
47
+ "name": "",
48
+ "type": "uint8"
49
+ }
50
+ ],
51
+ "stateMutability": "pure",
52
+ "type": "function"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "Version",
58
+ "name": "version",
59
+ "type": "uint24"
60
+ }
61
+ ],
62
+ "name": "getMajorPart",
63
+ "outputs": [
64
+ {
65
+ "internalType": "VersionPart",
66
+ "name": "major",
67
+ "type": "uint8"
68
+ }
69
+ ],
70
+ "stateMutability": "pure",
71
+ "type": "function"
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "internalType": "Version",
77
+ "name": "version",
78
+ "type": "uint24"
79
+ }
80
+ ],
81
+ "name": "getVersionParts",
82
+ "outputs": [
83
+ {
84
+ "internalType": "VersionPart",
85
+ "name": "major",
86
+ "type": "uint8"
87
+ },
88
+ {
89
+ "internalType": "VersionPart",
90
+ "name": "minor",
91
+ "type": "uint8"
92
+ },
93
+ {
94
+ "internalType": "VersionPart",
95
+ "name": "patch",
96
+ "type": "uint8"
97
+ }
98
+ ],
99
+ "stateMutability": "pure",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "getZeroVersion",
105
+ "outputs": [
106
+ {
107
+ "internalType": "Version",
108
+ "name": "",
109
+ "type": "uint24"
110
+ }
111
+ ],
112
+ "stateMutability": "pure",
113
+ "type": "function"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "Version",
119
+ "name": "a",
120
+ "type": "uint24"
121
+ },
122
+ {
123
+ "internalType": "Version",
124
+ "name": "b",
125
+ "type": "uint24"
126
+ }
127
+ ],
128
+ "name": "isLargerVersion",
129
+ "outputs": [
130
+ {
131
+ "internalType": "bool",
132
+ "name": "",
133
+ "type": "bool"
134
+ }
135
+ ],
136
+ "stateMutability": "pure",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [
141
+ {
142
+ "internalType": "Version",
143
+ "name": "a",
144
+ "type": "uint24"
145
+ },
146
+ {
147
+ "internalType": "Version",
148
+ "name": "b",
149
+ "type": "uint24"
150
+ }
151
+ ],
152
+ "name": "isSameVersion",
153
+ "outputs": [
154
+ {
155
+ "internalType": "bool",
156
+ "name": "",
157
+ "type": "bool"
158
+ }
159
+ ],
160
+ "stateMutability": "pure",
161
+ "type": "function"
162
+ }
163
+ ],
164
+ "bytecode": "0x608060405234801561001057600080fd5b5061090c806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee1461010257806389818c3c1461013257806389d5976814610162578063e038c625146101925761007d565b80630f40f5951461008257806312cf04de146100a057806364d4e5d8146100d0575b600080fd5b61008a6101c2565b60405161009791906104f7565b60405180910390f35b6100ba60048036038101906100b5919061054d565b610236565b6040516100c791906104f7565b60405180910390f35b6100ea60048036038101906100e591906105cc565b6102bd565b6040516100f993929190610637565b60405180910390f35b61011c6004803603810190610117919061066e565b61034e565b60405161012991906106c9565b60405180910390f35b61014c600480360381019061014791906106e4565b610362565b6040516101599190610711565b60405180910390f35b61017c6004803603810190610177919061066e565b6103e3565b60405161018991906106c9565b60405180910390f35b6101ac60048036038101906101a791906105cc565b6103f7565b6040516101b99190610711565b60405180910390f35b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af415801561020d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102319190610741565b905090565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__632efe01138585856040518463ffffffff1660e01b81526004016102739392919061077d565b602060405180830381865af4158015610290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b49190610741565b90509392505050565b60008060008362ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6349a7111a90916040518263ffffffff1660e01b815260040161030091906107c3565b606060405180830381865af415801561031d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610341919061080a565b9250925092509193909250565b600061035a838361047f565b905092915050565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__638e4ad86c836040518263ffffffff1660e01b815260040161039b919061088e565b602060405180830381865af41580156103b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dc91906108a9565b9050919050565b60006103ef8383610496565b905092915050565b60008162ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b815260040161043791906107c3565b602060405180830381865af4158015610454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047891906108a9565b9050919050565b60008162ffffff168362ffffff1611905092915050565b60008162ffffff168362ffffff1614905092915050565b600062ffffff82169050919050565b6000819050919050565b60006104e16104dc6104d7846104ad565b6104bc565b6104ad565b9050919050565b6104f1816104c6565b82525050565b600060208201905061050c60008301846104e8565b92915050565b600080fd5b6000819050919050565b61052a81610517565b811461053557600080fd5b50565b60008135905061054781610521565b92915050565b60008060006060848603121561056657610565610512565b5b600061057486828701610538565b935050602061058586828701610538565b925050604061059686828701610538565b9150509250925092565b6105a9816104ad565b81146105b457600080fd5b50565b6000813590506105c6816105a0565b92915050565b6000602082840312156105e2576105e1610512565b5b60006105f0848285016105b7565b91505092915050565b600060ff82169050919050565b600061062161061c610617846105f9565b6104bc565b6105f9565b9050919050565b61063181610606565b82525050565b600060608201905061064c6000830186610628565b6106596020830185610628565b6106666040830184610628565b949350505050565b6000806040838503121561068557610684610512565b5b6000610693858286016105b7565b92505060206106a4858286016105b7565b9150509250929050565b60008115159050919050565b6106c3816106ae565b82525050565b60006020820190506106de60008301846106ba565b92915050565b6000602082840312156106fa576106f9610512565b5b600061070884828501610538565b91505092915050565b60006020820190506107266000830184610628565b92915050565b60008151905061073b816105a0565b92915050565b60006020828403121561075757610756610512565b5b60006107658482850161072c565b91505092915050565b61077781610517565b82525050565b6000606082019050610792600083018661076e565b61079f602083018561076e565b6107ac604083018461076e565b949350505050565b6107bd816104c6565b82525050565b60006020820190506107d860008301846107b4565b92915050565b6107e7816105f9565b81146107f257600080fd5b50565b600081519050610804816107de565b92915050565b60008060006060848603121561082357610822610512565b5b6000610831868287016107f5565b9350506020610842868287016107f5565b9250506040610853868287016107f5565b9150509250925092565b600061087861087361086e846105f9565b6104bc565b610517565b9050919050565b6108888161085d565b82525050565b60006020820190506108a3600083018461087f565b92915050565b6000602082840312156108bf576108be610512565b5b60006108cd848285016107f5565b9150509291505056fea264697066735822122082ea108eb32170d248fd592c0ad0b3af51b8660792788adc75acdeeb7c43141664736f6c63430008140033",
165
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636a3dc0ee1161005b5780636a3dc0ee1461010257806389818c3c1461013257806389d5976814610162578063e038c625146101925761007d565b80630f40f5951461008257806312cf04de146100a057806364d4e5d8146100d0575b600080fd5b61008a6101c2565b60405161009791906104f7565b60405180910390f35b6100ba60048036038101906100b5919061054d565b610236565b6040516100c791906104f7565b60405180910390f35b6100ea60048036038101906100e591906105cc565b6102bd565b6040516100f993929190610637565b60405180910390f35b61011c6004803603810190610117919061066e565b61034e565b60405161012991906106c9565b60405180910390f35b61014c600480360381019061014791906106e4565b610362565b6040516101599190610711565b60405180910390f35b61017c6004803603810190610177919061066e565b6103e3565b60405161018991906106c9565b60405180910390f35b6101ac60048036038101906101a791906105cc565b6103f7565b6040516101b99190610711565b60405180910390f35b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af415801561020d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102319190610741565b905090565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__632efe01138585856040518463ffffffff1660e01b81526004016102739392919061077d565b602060405180830381865af4158015610290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b49190610741565b90509392505050565b60008060008362ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__6349a7111a90916040518263ffffffff1660e01b815260040161030091906107c3565b606060405180830381865af415801561031d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610341919061080a565b9250925092509193909250565b600061035a838361047f565b905092915050565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__638e4ad86c836040518263ffffffff1660e01b815260040161039b919061088e565b602060405180830381865af41580156103b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dc91906108a9565b9050919050565b60006103ef8383610496565b905092915050565b60008162ffffff1673__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63c9e66e2990916040518263ffffffff1660e01b815260040161043791906107c3565b602060405180830381865af4158015610454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047891906108a9565b9050919050565b60008162ffffff168362ffffff1611905092915050565b60008162ffffff168362ffffff1614905092915050565b600062ffffff82169050919050565b6000819050919050565b60006104e16104dc6104d7846104ad565b6104bc565b6104ad565b9050919050565b6104f1816104c6565b82525050565b600060208201905061050c60008301846104e8565b92915050565b600080fd5b6000819050919050565b61052a81610517565b811461053557600080fd5b50565b60008135905061054781610521565b92915050565b60008060006060848603121561056657610565610512565b5b600061057486828701610538565b935050602061058586828701610538565b925050604061059686828701610538565b9150509250925092565b6105a9816104ad565b81146105b457600080fd5b50565b6000813590506105c6816105a0565b92915050565b6000602082840312156105e2576105e1610512565b5b60006105f0848285016105b7565b91505092915050565b600060ff82169050919050565b600061062161061c610617846105f9565b6104bc565b6105f9565b9050919050565b61063181610606565b82525050565b600060608201905061064c6000830186610628565b6106596020830185610628565b6106666040830184610628565b949350505050565b6000806040838503121561068557610684610512565b5b6000610693858286016105b7565b92505060206106a4858286016105b7565b9150509250929050565b60008115159050919050565b6106c3816106ae565b82525050565b60006020820190506106de60008301846106ba565b92915050565b6000602082840312156106fa576106f9610512565b5b600061070884828501610538565b91505092915050565b60006020820190506107266000830184610628565b92915050565b60008151905061073b816105a0565b92915050565b60006020828403121561075757610756610512565b5b60006107658482850161072c565b91505092915050565b61077781610517565b82525050565b6000606082019050610792600083018661076e565b61079f602083018561076e565b6107ac604083018461076e565b949350505050565b6107bd816104c6565b82525050565b60006020820190506107d860008301846107b4565b92915050565b6107e7816105f9565b81146107f257600080fd5b50565b600081519050610804816107de565b92915050565b60008060006060848603121561082357610822610512565b5b6000610831868287016107f5565b9350506020610842868287016107f5565b9250506040610853868287016107f5565b9150509250925092565b600061087861087361086e846105f9565b6104bc565b610517565b9050919050565b6108888161085d565b82525050565b60006020820190506108a3600083018461087f565b92915050565b6000602082840312156108bf576108be610512565b5b60006108cd848285016107f5565b9150509291505056fea264697066735822122082ea108eb32170d248fd592c0ad0b3af51b8660792788adc75acdeeb7c43141664736f6c63430008140033",
166
+ "linkReferences": {
167
+ "contracts/types/Version.sol": {
168
+ "VersionLib": [
169
+ {
170
+ "length": 20,
171
+ "start": 486
172
+ },
173
+ {
174
+ "length": 20,
175
+ "start": 602
176
+ },
177
+ {
178
+ "length": 20,
179
+ "start": 746
180
+ },
181
+ {
182
+ "length": 20,
183
+ "start": 902
184
+ },
185
+ {
186
+ "length": 20,
187
+ "start": 1057
188
+ }
189
+ ]
190
+ }
191
+ },
192
+ "deployedLinkReferences": {
193
+ "contracts/types/Version.sol": {
194
+ "VersionLib": [
195
+ {
196
+ "length": 20,
197
+ "start": 454
198
+ },
199
+ {
200
+ "length": 20,
201
+ "start": 570
202
+ },
203
+ {
204
+ "length": 20,
205
+ "start": 714
206
+ },
207
+ {
208
+ "length": 20,
209
+ "start": 870
210
+ },
211
+ {
212
+ "length": 20,
213
+ "start": 1025
214
+ }
215
+ ]
216
+ }
217
+ }
218
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/746f2ad7b0d888e05db828a61f6d5e10.json"
4
+ }