@etherisc/gif-next 0.0.2-d3543ee-345 → 0.0.2-d679de9-140

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) 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/Revert.sol/Revert.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  17. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  26. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  30. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  32. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  34. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  35. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +719 -332
  36. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
  37. package/artifacts/contracts/instance/{component/IComponent.sol → IInstanceLinked.sol}/IInstanceLinked.json +1 -1
  38. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/Instance.sol/Instance.json +962 -531
  40. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  41. package/artifacts/contracts/instance/{component/ComponentModule.sol/ComponentModule.json → base/ComponentServiceBase.sol/ComponentServiceBase.json} +133 -132
  42. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{product/ProductService.sol/ProductModule.json → base/IInstanceBase.sol/IInstanceBase.json} +18 -30
  44. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  45. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +511 -0
  46. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  47. package/artifacts/contracts/instance/{lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  48. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  49. package/artifacts/contracts/instance/base/IService.sol/IService.json +300 -0
  50. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  51. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +326 -0
  52. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  53. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +692 -0
  54. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  55. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  56. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.json +10 -0
  58. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  59. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +300 -0
  60. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
  61. package/artifacts/contracts/instance/{access → module/access}/Access.sol/AccessModule.json +85 -152
  62. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
  63. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccess.json +1 -1
  64. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
  65. package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccessModule.json +96 -99
  66. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
  67. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +296 -0
  68. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
  69. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
  70. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
  71. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +296 -0
  72. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +4 -0
  73. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +10 -0
  74. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +4 -0
  75. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +10 -0
  76. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +10 -0
  78. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
  80. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponent.json +1 -1
  82. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
  83. package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponentModule.json +33 -62
  84. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
  85. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicy.json +1 -1
  86. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
  87. package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicyModule.json +132 -125
  88. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{policy → module/policy}/PolicyModule.sol/PolicyModule.json +132 -125
  90. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
  91. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPool.json +1 -1
  92. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
  93. package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPoolModule.json +67 -47
  94. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
  95. package/artifacts/contracts/instance/{pool → module/pool}/PoolModule.sol/PoolModule.json +51 -57
  96. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +4 -0
  97. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.json +10 -0
  98. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +4 -0
  99. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +10 -0
  100. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +4 -0
  101. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +10 -0
  102. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
  103. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasury.json +1 -1
  104. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
  105. package/artifacts/contracts/instance/{treasury → module/treasury}/ITreasury.sol/ITreasuryModule.json +100 -57
  106. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
  108. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
  109. package/artifacts/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol/TreasuryModule.json +100 -57
  110. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +491 -0
  112. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  113. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
  114. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  115. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
  116. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  117. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
  118. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
  119. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +471 -0
  120. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  121. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +673 -0
  122. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  123. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +65 -2
  124. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  125. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  126. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +147 -30
  127. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  128. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
  129. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  130. package/artifacts/contracts/registry/Registry.sol/Registry.json +241 -25
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
  133. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
  134. package/artifacts/contracts/{registry/IRegistry.sol → shared/IOwnable.sol}/IOwnable.json +1 -1
  135. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  136. package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegisterable.sol}/IRegisterable.json +16 -61
  137. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  138. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
  139. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  140. package/artifacts/contracts/{registry/Registry.sol → shared/Registerable.sol}/Registerable.json +16 -61
  141. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  142. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
  143. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
  144. package/artifacts/contracts/test/TestFee.sol/TestFee.json +119 -0
  145. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
  146. package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
  147. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
  148. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
  149. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
  150. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
  151. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
  152. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
  153. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
  154. package/artifacts/contracts/test/TestService.sol/TestService.json +379 -0
  155. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
  156. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
  157. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
  158. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +218 -0
  159. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
  160. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +206 -0
  161. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  162. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
  163. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  164. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  165. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +4 -0
  166. package/artifacts/contracts/types/Fee.sol/FeeLib.json +218 -0
  167. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  168. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +111 -0
  169. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  171. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  172. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
  173. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  175. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  176. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  177. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +64 -2
  179. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +88 -62
  181. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
  182. package/artifacts/contracts/types/Version.sol/VersionLib.json +139 -0
  183. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
  185. package/contracts/components/BaseComponent.sol +88 -0
  186. package/contracts/components/IBaseComponent.sol +19 -0
  187. package/contracts/components/IPoolComponent.sol +57 -0
  188. package/contracts/components/{IProduct.sol → IProductComponent.sol} +9 -6
  189. package/contracts/components/Pool.sol +140 -18
  190. package/contracts/components/Product.sol +53 -25
  191. package/contracts/instance/IInstance.sol +38 -11
  192. package/contracts/instance/IInstanceLinked.sol +8 -0
  193. package/contracts/instance/Instance.sol +44 -48
  194. package/contracts/instance/base/ComponentServiceBase.sol +42 -0
  195. package/contracts/instance/base/IInstanceBase.sol +14 -0
  196. package/contracts/instance/base/IKeyValueStore.sol +49 -0
  197. package/contracts/instance/{lifecycle → base}/ILifecycle.sol +4 -21
  198. package/contracts/instance/base/IService.sol +15 -0
  199. package/contracts/instance/base/InstanceBase.sol +80 -0
  200. package/contracts/instance/base/KeyValueStore.sol +156 -0
  201. package/contracts/instance/{lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +36 -29
  202. package/contracts/instance/base/ModuleBase.sol +52 -0
  203. package/contracts/instance/base/ServiceBase.sol +37 -0
  204. package/contracts/instance/module/access/Access.sol +149 -0
  205. package/contracts/instance/module/access/IAccess.sol +53 -0
  206. package/contracts/instance/module/bundle/BundleModule.sol +136 -0
  207. package/contracts/instance/module/bundle/IBundle.sol +58 -0
  208. package/contracts/instance/module/compensation/CompensationModule.sol +8 -0
  209. package/contracts/instance/module/compensation/ICompensation.sol +10 -0
  210. package/contracts/instance/module/component/ComponentModule.sol +95 -0
  211. package/contracts/instance/module/component/IComponent.sol +53 -0
  212. package/contracts/instance/module/policy/IPolicy.sol +60 -0
  213. package/contracts/instance/module/policy/PolicyModule.sol +76 -0
  214. package/contracts/instance/module/pool/IPoolModule.sol +41 -0
  215. package/contracts/instance/module/pool/PoolModule.sol +87 -0
  216. package/contracts/instance/module/risk/IRisk.sol +10 -0
  217. package/contracts/instance/module/risk/RiskModule.sol +8 -0
  218. package/contracts/instance/{treasury → module/treasury}/ITreasury.sol +27 -15
  219. package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
  220. package/contracts/instance/{treasury → module/treasury}/TreasuryModule.sol +43 -59
  221. package/contracts/instance/service/ComponentOwnerService.sol +170 -0
  222. package/contracts/instance/service/IComponentOwnerService.sol +22 -0
  223. package/contracts/instance/service/IPoolService.sol +30 -0
  224. package/contracts/instance/service/IProductService.sol +58 -0
  225. package/contracts/instance/service/PoolService.sol +123 -0
  226. package/contracts/instance/service/ProductService.sol +354 -0
  227. package/contracts/registry/ChainNft.sol +61 -37
  228. package/contracts/registry/IRegistry.sol +24 -34
  229. package/contracts/registry/IRegistryLinked.sol +8 -0
  230. package/contracts/registry/Registry.sol +284 -85
  231. package/contracts/shared/ERC165.sol +21 -0
  232. package/contracts/shared/IOwnable.sol +6 -0
  233. package/contracts/shared/IRegisterable.sol +24 -0
  234. package/contracts/shared/IVersionable.sol +52 -0
  235. package/contracts/shared/Registerable.sol +86 -0
  236. package/contracts/shared/Versionable.sol +89 -0
  237. package/contracts/test/TestFee.sol +25 -0
  238. package/contracts/test/TestPool.sol +22 -0
  239. package/contracts/test/TestProduct.sol +44 -0
  240. package/contracts/test/TestRegisterable.sol +19 -0
  241. package/contracts/test/TestRoleId.sol +14 -0
  242. package/contracts/test/TestService.sol +32 -0
  243. package/contracts/test/TestToken.sol +26 -0
  244. package/contracts/test/TestVersion.sol +44 -0
  245. package/contracts/test/TestVersionable.sol +17 -0
  246. package/contracts/types/AddressSet.sol +58 -0
  247. package/contracts/types/Fee.sol +39 -20
  248. package/contracts/types/Key32.sol +45 -0
  249. package/contracts/types/NftId.sol +22 -1
  250. package/contracts/types/NftIdSet.sol +60 -0
  251. package/contracts/types/ObjectType.sol +22 -14
  252. package/contracts/types/RoleId.sol +36 -0
  253. package/contracts/types/StateId.sol +13 -3
  254. package/contracts/types/Timestamp.sol +22 -1
  255. package/contracts/types/UFixed.sol +29 -25
  256. package/contracts/types/Version.sol +95 -0
  257. package/package.json +8 -3
  258. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  259. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  260. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  261. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  262. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  263. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  264. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  265. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  266. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  267. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
  268. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  269. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  270. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  271. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  272. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  273. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  274. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  275. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  276. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  277. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  278. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  279. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  280. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  281. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  282. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  283. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  284. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  285. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  286. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  287. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  288. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  289. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  290. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  291. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  292. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  293. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  294. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  295. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  296. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  297. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  298. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  299. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  300. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  301. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  302. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  303. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  304. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  305. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  306. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  307. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  308. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  309. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  310. package/contracts/components/Component.sol +0 -77
  311. package/contracts/components/IPool.sol +0 -15
  312. package/contracts/instance/access/Access.sol +0 -165
  313. package/contracts/instance/access/IAccess.sol +0 -63
  314. package/contracts/instance/component/ComponentModule.sol +0 -274
  315. package/contracts/instance/component/IComponent.sol +0 -74
  316. package/contracts/instance/policy/IPolicy.sol +0 -50
  317. package/contracts/instance/policy/PolicyModule.sol +0 -114
  318. package/contracts/instance/pool/IPoolModule.sol +0 -23
  319. package/contracts/instance/pool/PoolModule.sol +0 -81
  320. package/contracts/instance/product/IProductService.sol +0 -36
  321. package/contracts/instance/product/ProductService.sol +0 -136
  322. package/contracts/instance/treasury/TokenHandler.sol +0 -24
@@ -0,0 +1,206 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TestVersionable",
4
+ "sourceName": "contracts/test/TestVersionable.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "Version",
12
+ "name": "version",
13
+ "type": "uint24"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "implementation",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address",
24
+ "name": "activatedBy",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "name": "LogVersionableActivated",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [
33
+ {
34
+ "internalType": "address",
35
+ "name": "implementation",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "internalType": "address",
40
+ "name": "activatedBy",
41
+ "type": "address"
42
+ }
43
+ ],
44
+ "name": "activate",
45
+ "outputs": [],
46
+ "stateMutability": "nonpayable",
47
+ "type": "function"
48
+ },
49
+ {
50
+ "inputs": [],
51
+ "name": "getVersion",
52
+ "outputs": [
53
+ {
54
+ "internalType": "Version",
55
+ "name": "",
56
+ "type": "uint24"
57
+ }
58
+ ],
59
+ "stateMutability": "pure",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "inputs": [
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "idx",
67
+ "type": "uint256"
68
+ }
69
+ ],
70
+ "name": "getVersion",
71
+ "outputs": [
72
+ {
73
+ "internalType": "Version",
74
+ "name": "",
75
+ "type": "uint24"
76
+ }
77
+ ],
78
+ "stateMutability": "view",
79
+ "type": "function"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "getVersionCount",
84
+ "outputs": [
85
+ {
86
+ "internalType": "uint256",
87
+ "name": "",
88
+ "type": "uint256"
89
+ }
90
+ ],
91
+ "stateMutability": "view",
92
+ "type": "function"
93
+ },
94
+ {
95
+ "inputs": [
96
+ {
97
+ "internalType": "Version",
98
+ "name": "_version",
99
+ "type": "uint24"
100
+ }
101
+ ],
102
+ "name": "getVersionInfo",
103
+ "outputs": [
104
+ {
105
+ "components": [
106
+ {
107
+ "internalType": "Version",
108
+ "name": "version",
109
+ "type": "uint24"
110
+ },
111
+ {
112
+ "internalType": "address",
113
+ "name": "implementation",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "internalType": "address",
118
+ "name": "activatedBy",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "internalType": "Timestamp",
123
+ "name": "activatedAt",
124
+ "type": "uint40"
125
+ },
126
+ {
127
+ "internalType": "Blocknumber",
128
+ "name": "activatedIn",
129
+ "type": "uint32"
130
+ }
131
+ ],
132
+ "internalType": "struct IVersionable.VersionInfo",
133
+ "name": "",
134
+ "type": "tuple"
135
+ }
136
+ ],
137
+ "stateMutability": "view",
138
+ "type": "function"
139
+ },
140
+ {
141
+ "inputs": [
142
+ {
143
+ "internalType": "Version",
144
+ "name": "_version",
145
+ "type": "uint24"
146
+ }
147
+ ],
148
+ "name": "isActivated",
149
+ "outputs": [
150
+ {
151
+ "internalType": "bool",
152
+ "name": "",
153
+ "type": "bool"
154
+ }
155
+ ],
156
+ "stateMutability": "view",
157
+ "type": "function"
158
+ }
159
+ ],
160
+ "bytecode": "0x60806040523480156200001157600080fd5b50620000256000336200002b60201b60201c565b620009c6565b60006200003d6200037660201b60201c565b905062000050816200040060201b60201c565b1562000093576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200008a90620005a1565b60405180910390fd5b60006001805490501115620001435760006001808080549050620000b89190620005fc565b81548110620000cc57620000cb62000637565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050620000ff8282620004bf565b62000141576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013890620006dc565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001620001ed620004d660201b60201c565b64ffffffffff16815260200162000209620004ee60201b60201c565b63ffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160196101000a81548163ffffffff021916908363ffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419818484604051620003699392919062000795565b60405180910390a1505050565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__632efe011360036000806040518463ffffffff1660e01b8152600401620003b79392919062000858565b602060405180830381865af4158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb9190620008cb565b905090565b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160199054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b815260040162000473919062000946565b602060405180830381865af415801562000491573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b7919062000994565b119050919050565b60008162ffffff168362ffffff1611905092915050565b6000620004e9426200050660201b60201c565b905090565b600062000501436200051060201b60201c565b905090565b6000819050919050565b6000819050919050565b600082825260208201905092915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000620005896027836200051a565b915062000596826200052b565b604082019050919050565b60006020820190508181036000830152620005bc816200057a565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200060982620005c3565b91506200061683620005c3565b9250828203905081811115620006315762000630620005cd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000620006c46024836200051a565b9150620006d18262000666565b604082019050919050565b60006020820190508181036000830152620006f781620006b5565b9050919050565b600062ffffff82169050919050565b6000819050919050565b600062000738620007326200072c84620006fe565b6200070d565b620006fe565b9050919050565b6200074a8162000717565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200077d8262000750565b9050919050565b6200078f8162000770565b82525050565b6000606082019050620007ac60008301866200073f565b620007bb602083018562000784565b620007ca604083018462000784565b949350505050565b6000819050919050565b6000620007fd620007f7620007f184620007d2565b6200070d565b620005c3565b9050919050565b6200080f81620007dc565b82525050565b6000819050919050565b6000620008406200083a620008348462000815565b6200070d565b620005c3565b9050919050565b62000852816200081f565b82525050565b60006060820190506200086f600083018662000804565b6200087e602083018562000847565b6200088d604083018462000847565b949350505050565b600080fd5b620008a581620006fe565b8114620008b157600080fd5b50565b600081519050620008c5816200089a565b92915050565b600060208284031215620008e457620008e362000895565b5b6000620008f484828501620008b4565b91505092915050565b600063ffffffff82169050919050565b60006200092e620009286200092284620008fd565b6200070d565b620008fd565b9050919050565b62000940816200090d565b82525050565b60006020820190506200095d600083018462000935565b92915050565b6200096e81620005c3565b81146200097a57600080fd5b50565b6000815190506200098e8162000963565b92915050565b600060208284031215620009ad57620009ac62000895565b5b6000620009bd848285016200097d565b91505092915050565b610ef880620009d66000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630abd8434146100675780630d8e6e2c146100975780634d459c90146100b5578063946dfcfe146100e55780639555c4db14610103578063b88da7591461011f575b600080fd5b610081600480360381019061007c9190610852565b61014f565b60405161008e919061089a565b60405180910390f35b61009f610209565b6040516100ac91906108f0565b60405180910390f35b6100cf60048036038101906100ca9190610852565b61028e565b6040516100dc9190610a46565b60405180910390f35b6100ed6103e2565b6040516100fa9190610a7a565b60405180910390f35b61011d60048036038101906101189190610ac1565b6103ef565b005b61013960048036038101906101349190610b2d565b6103fd565b60405161014691906108f0565b60405180910390f35b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160199054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016101c09190610b69565b602060405180830381865af41580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610b99565b119050919050565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__632efe011360036000806040518463ffffffff1660e01b815260040161024893929190610c3c565b602060405180830381865af4158015610265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102899190610c88565b905090565b6102966107a5565b6000808362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016001820160199054906101000a900463ffffffff1663ffffffff1663ffffffff16815250509050919050565b6000600180549050905090565b6103f9828261043f565b5050565b60006001828154811061041357610412610cb5565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610449610209565b90506104548161014f565b15610494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048b90610d67565b60405180910390fd5b6000600180549050111561053957600060018080805490506104b69190610db6565b815481106104c7576104c6610cb5565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506104f8828261075a565b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052e90610e5c565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016105db610771565b64ffffffffff1681526020016105ef610781565b63ffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160196101000a81548163ffffffff021916908363ffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161074d93929190610e8b565b60405180910390a1505050565b60008162ffffff168362ffffff1611905092915050565b600061077c42610791565b905090565b600061078c4361079b565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600064ffffffffff168152602001600063ffffffff1681525090565b600080fd5b600062ffffff82169050919050565b61082f81610817565b811461083a57600080fd5b50565b60008135905061084c81610826565b92915050565b60006020828403121561086857610867610812565b5b60006108768482850161083d565b91505092915050565b60008115159050919050565b6108948161087f565b82525050565b60006020820190506108af600083018461088b565b92915050565b6000819050919050565b60006108da6108d56108d084610817565b6108b5565b610817565b9050919050565b6108ea816108bf565b82525050565b600060208201905061090560008301846108e1565b92915050565b610914816108bf565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109458261091a565b9050919050565b6109558161093a565b82525050565b600064ffffffffff82169050919050565b600061098761098261097d8461095b565b6108b5565b61095b565b9050919050565b6109978161096c565b82525050565b600063ffffffff82169050919050565b60006109c86109c36109be8461099d565b6108b5565b61099d565b9050919050565b6109d8816109ad565b82525050565b60a0820160008201516109f4600085018261090b565b506020820151610a07602085018261094c565b506040820151610a1a604085018261094c565b506060820151610a2d606085018261098e565b506080820151610a4060808501826109cf565b50505050565b600060a082019050610a5b60008301846109de565b92915050565b6000819050919050565b610a7481610a61565b82525050565b6000602082019050610a8f6000830184610a6b565b92915050565b610a9e8161093a565b8114610aa957600080fd5b50565b600081359050610abb81610a95565b92915050565b60008060408385031215610ad857610ad7610812565b5b6000610ae685828601610aac565b9250506020610af785828601610aac565b9150509250929050565b610b0a81610a61565b8114610b1557600080fd5b50565b600081359050610b2781610b01565b92915050565b600060208284031215610b4357610b42610812565b5b6000610b5184828501610b18565b91505092915050565b610b63816109ad565b82525050565b6000602082019050610b7e6000830184610b5a565b92915050565b600081519050610b9381610b01565b92915050565b600060208284031215610baf57610bae610812565b5b6000610bbd84828501610b84565b91505092915050565b6000819050919050565b6000610beb610be6610be184610bc6565b6108b5565b610a61565b9050919050565b610bfb81610bd0565b82525050565b6000819050919050565b6000610c26610c21610c1c84610c01565b6108b5565b610a61565b9050919050565b610c3681610c0b565b82525050565b6000606082019050610c516000830186610bf2565b610c5e6020830185610c2d565b610c6b6040830184610c2d565b949350505050565b600081519050610c8281610826565b92915050565b600060208284031215610c9e57610c9d610812565b5b6000610cac84828501610c73565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000610d51602783610ce4565b9150610d5c82610cf5565b604082019050919050565b60006020820190508181036000830152610d8081610d44565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dc182610a61565b9150610dcc83610a61565b9250828203905081811115610de457610de3610d87565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000610e46602483610ce4565b9150610e5182610dea565b604082019050919050565b60006020820190508181036000830152610e7581610e39565b9050919050565b610e858161093a565b82525050565b6000606082019050610ea060008301866108e1565b610ead6020830185610e7c565b610eba6040830184610e7c565b94935050505056fea264697066735822122051ff23a5769bd3aaa36048040cb2ad06a524172bf452620eac91b33ce18916d264736f6c63430008140033",
161
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630abd8434146100675780630d8e6e2c146100975780634d459c90146100b5578063946dfcfe146100e55780639555c4db14610103578063b88da7591461011f575b600080fd5b610081600480360381019061007c9190610852565b61014f565b60405161008e919061089a565b60405180910390f35b61009f610209565b6040516100ac91906108f0565b60405180910390f35b6100cf60048036038101906100ca9190610852565b61028e565b6040516100dc9190610a46565b60405180910390f35b6100ed6103e2565b6040516100fa9190610a7a565b60405180910390f35b61011d60048036038101906101189190610ac1565b6103ef565b005b61013960048036038101906101349190610b2d565b6103fd565b60405161014691906108f0565b60405180910390f35b6000806000808462ffffff1662ffffff16815260200190815260200160002060010160199054906101000a900463ffffffff1663ffffffff1673__$5f476116ae21c5294e0c0761c07efa7e1c$__636effeac490916040518263ffffffff1660e01b81526004016101c09190610b69565b602060405180830381865af41580156101dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102019190610b99565b119050919050565b600073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__632efe011360036000806040518463ffffffff1660e01b815260040161024893929190610c3c565b602060405180830381865af4158015610265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102899190610c88565b905090565b6102966107a5565b6000808362ffffff1662ffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900462ffffff1662ffffff1662ffffff1681526020016000820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020016001820160199054906101000a900463ffffffff1663ffffffff1663ffffffff16815250509050919050565b6000600180549050905090565b6103f9828261043f565b5050565b60006001828154811061041357610412610cb5565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610449610209565b90506104548161014f565b15610494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048b90610d67565b60405180910390fd5b6000600180549050111561053957600060018080805490506104b69190610db6565b815481106104c7576104c6610cb5565b5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506104f8828261075a565b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052e90610e5c565b60405180910390fd5b505b60018190806001815401808255809150506001900390600052602060002090600a91828204019190066003029091909190916101000a81548162ffffff021916908362ffffff1602179055506040518060a001604052808262ffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016105db610771565b64ffffffffff1681526020016105ef610781565b63ffffffff168152506000808362ffffff1662ffffff16815260200190815260200160002060008201518160000160006101000a81548162ffffff021916908362ffffff16021790555060208201518160000160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160010160146101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160196101000a81548163ffffffff021916908363ffffffff1602179055509050507f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d441981848460405161074d93929190610e8b565b60405180910390a1505050565b60008162ffffff168362ffffff1611905092915050565b600061077c42610791565b905090565b600061078c4361079b565b905090565b6000819050919050565b6000819050919050565b6040518060a00160405280600062ffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600064ffffffffff168152602001600063ffffffff1681525090565b600080fd5b600062ffffff82169050919050565b61082f81610817565b811461083a57600080fd5b50565b60008135905061084c81610826565b92915050565b60006020828403121561086857610867610812565b5b60006108768482850161083d565b91505092915050565b60008115159050919050565b6108948161087f565b82525050565b60006020820190506108af600083018461088b565b92915050565b6000819050919050565b60006108da6108d56108d084610817565b6108b5565b610817565b9050919050565b6108ea816108bf565b82525050565b600060208201905061090560008301846108e1565b92915050565b610914816108bf565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109458261091a565b9050919050565b6109558161093a565b82525050565b600064ffffffffff82169050919050565b600061098761098261097d8461095b565b6108b5565b61095b565b9050919050565b6109978161096c565b82525050565b600063ffffffff82169050919050565b60006109c86109c36109be8461099d565b6108b5565b61099d565b9050919050565b6109d8816109ad565b82525050565b60a0820160008201516109f4600085018261090b565b506020820151610a07602085018261094c565b506040820151610a1a604085018261094c565b506060820151610a2d606085018261098e565b506080820151610a4060808501826109cf565b50505050565b600060a082019050610a5b60008301846109de565b92915050565b6000819050919050565b610a7481610a61565b82525050565b6000602082019050610a8f6000830184610a6b565b92915050565b610a9e8161093a565b8114610aa957600080fd5b50565b600081359050610abb81610a95565b92915050565b60008060408385031215610ad857610ad7610812565b5b6000610ae685828601610aac565b9250506020610af785828601610aac565b9150509250929050565b610b0a81610a61565b8114610b1557600080fd5b50565b600081359050610b2781610b01565b92915050565b600060208284031215610b4357610b42610812565b5b6000610b5184828501610b18565b91505092915050565b610b63816109ad565b82525050565b6000602082019050610b7e6000830184610b5a565b92915050565b600081519050610b9381610b01565b92915050565b600060208284031215610baf57610bae610812565b5b6000610bbd84828501610b84565b91505092915050565b6000819050919050565b6000610beb610be6610be184610bc6565b6108b5565b610a61565b9050919050565b610bfb81610bd0565b82525050565b6000819050919050565b6000610c26610c21610c1c84610c01565b6108b5565b610a61565b9050919050565b610c3681610c0b565b82525050565b6000606082019050610c516000830186610bf2565b610c5e6020830185610c2d565b610c6b6040830184610c2d565b949350505050565b600081519050610c8281610826565b92915050565b600060208284031215610c9e57610c9d610812565b5b6000610cac84828501610c73565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f414360008201527f5449564154454400000000000000000000000000000000000000000000000000602082015250565b6000610d51602783610ce4565b9150610d5c82610cf5565b604082019050919050565b60006020820190508181036000830152610d8081610d44565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610dc182610a61565b9150610dcc83610a61565b9250828203905081811115610de457610de3610d87565b5b92915050565b7f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160008201527f53494e4700000000000000000000000000000000000000000000000000000000602082015250565b6000610e46602483610ce4565b9150610e5182610dea565b604082019050919050565b60006020820190508181036000830152610e7581610e39565b9050919050565b610e858161093a565b82525050565b6000606082019050610ea060008301866108e1565b610ead6020830185610e7c565b610eba6040830184610e7c565b94935050505056fea264697066735822122051ff23a5769bd3aaa36048040cb2ad06a524172bf452620eac91b33ce18916d264736f6c63430008140033",
162
+ "linkReferences": {
163
+ "contracts/types/Blocknumber.sol": {
164
+ "BlocknumberLib": [
165
+ {
166
+ "length": 20,
167
+ "start": 1083
168
+ },
169
+ {
170
+ "length": 20,
171
+ "start": 2912
172
+ }
173
+ ]
174
+ },
175
+ "contracts/types/Version.sol": {
176
+ "VersionLib": [
177
+ {
178
+ "length": 20,
179
+ "start": 890
180
+ },
181
+ {
182
+ "length": 20,
183
+ "start": 3043
184
+ }
185
+ ]
186
+ }
187
+ },
188
+ "deployedLinkReferences": {
189
+ "contracts/types/Blocknumber.sol": {
190
+ "BlocknumberLib": [
191
+ {
192
+ "length": 20,
193
+ "start": 394
194
+ }
195
+ ]
196
+ },
197
+ "contracts/types/Version.sol": {
198
+ "VersionLib": [
199
+ {
200
+ "length": 20,
201
+ "start": 525
202
+ }
203
+ ]
204
+ }
205
+ }
206
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/0df057e2cb8e4692d8cee6d249e8a005.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LibAddressSet",
4
+ "sourceName": "contracts/types/AddressSet.sol",
5
+ "abi": [],
6
+ "bytecode": "0x610887610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806360a174941461007157806361f54352146100ae5780638f78eb28146100de5780639fc5d9581461010e578063b06b9b8c1461014b578063c01a86791461017b575b600080fd5b81801561007d57600080fd5b5061009860048036038101906100939190610623565b6101ab565b6040516100a5919061067e565b60405180910390f35b6100c860048036038101906100c39190610623565b6103bd565b6040516100d5919061067e565b60405180910390f35b6100f860048036038101906100f39190610699565b61040b565b60405161010591906106df565b60405180910390f35b81801561011a57600080fd5b5061013560048036038101906101309190610623565b61041c565b604051610142919061067e565b60405180910390f35b61016560048036038101906101609190610699565b61052c565b604051610172919061067e565b60405180910390f35b61019560048036038101906101909190610726565b61053f565b6040516101a29190610775565b60405180910390f35b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156103b157600060018261020a91906107bf565b905060006001866000018054905061022291906107bf565b9050818114610317576000866000018281548110610243576102426107f3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080876000018481548110610287576102866107f3565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838760010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b8560000180548061032b5761032a610822565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600193505050506103b7565b60009150505b92915050565b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411905092915050565b600081600001805490509050919050565b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036105215782600001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600001805490508360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050610526565b600090505b92915050565b6000808260000180549050149050919050565b6000826000018281548110610557576105566107f3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b600080fd5b6000819050919050565b6105a28161058f565b81146105ad57600080fd5b50565b6000813590506105bf81610599565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105f0826105c5565b9050919050565b610600816105e5565b811461060b57600080fd5b50565b60008135905061061d816105f7565b92915050565b6000806040838503121561063a5761063961058a565b5b6000610648858286016105b0565b92505060206106598582860161060e565b9150509250929050565b60008115159050919050565b61067881610663565b82525050565b6000602082019050610693600083018461066f565b92915050565b6000602082840312156106af576106ae61058a565b5b60006106bd848285016105b0565b91505092915050565b6000819050919050565b6106d9816106c6565b82525050565b60006020820190506106f460008301846106d0565b92915050565b610703816106c6565b811461070e57600080fd5b50565b600081359050610720816106fa565b92915050565b6000806040838503121561073d5761073c61058a565b5b600061074b858286016105b0565b925050602061075c85828601610711565b9150509250929050565b61076f816105e5565b82525050565b600060208201905061078a6000830184610766565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107ca826106c6565b91506107d5836106c6565b92508282039050818111156107ed576107ec610790565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212202f2155384366d4aac922288eebcb15d129445f680ec41084e58db87522ab74dc64736f6c63430008140033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806360a174941461007157806361f54352146100ae5780638f78eb28146100de5780639fc5d9581461010e578063b06b9b8c1461014b578063c01a86791461017b575b600080fd5b81801561007d57600080fd5b5061009860048036038101906100939190610623565b6101ab565b6040516100a5919061067e565b60405180910390f35b6100c860048036038101906100c39190610623565b6103bd565b6040516100d5919061067e565b60405180910390f35b6100f860048036038101906100f39190610699565b61040b565b60405161010591906106df565b60405180910390f35b81801561011a57600080fd5b5061013560048036038101906101309190610623565b61041c565b604051610142919061067e565b60405180910390f35b61016560048036038101906101609190610699565b61052c565b604051610172919061067e565b60405180910390f35b61019560048036038101906101909190610726565b61053f565b6040516101a29190610775565b60405180910390f35b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156103b157600060018261020a91906107bf565b905060006001866000018054905061022291906107bf565b9050818114610317576000866000018281548110610243576102426107f3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080876000018481548110610287576102866107f3565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838760010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b8560000180548061032b5761032a610822565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600193505050506103b7565b60009150505b92915050565b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411905092915050565b600081600001805490509050919050565b6000808360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036105215782600001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600001805490508360010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050610526565b600090505b92915050565b6000808260000180549050149050919050565b6000826000018281548110610557576105566107f3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b600080fd5b6000819050919050565b6105a28161058f565b81146105ad57600080fd5b50565b6000813590506105bf81610599565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105f0826105c5565b9050919050565b610600816105e5565b811461060b57600080fd5b50565b60008135905061061d816105f7565b92915050565b6000806040838503121561063a5761063961058a565b5b6000610648858286016105b0565b92505060206106598582860161060e565b9150509250929050565b60008115159050919050565b61067881610663565b82525050565b6000602082019050610693600083018461066f565b92915050565b6000602082840312156106af576106ae61058a565b5b60006106bd848285016105b0565b91505092915050565b6000819050919050565b6106d9816106c6565b82525050565b60006020820190506106f460008301846106d0565b92915050565b610703816106c6565b811461070e57600080fd5b50565b600081359050610720816106fa565b92915050565b6000806040838503121561073d5761073c61058a565b5b600061074b858286016105b0565b925050602061075c85828601610711565b9150509250929050565b61076f816105e5565b82525050565b600060208201905061078a6000830184610766565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107ca826106c6565b91506107d5836106c6565b92508282039050818111156107ed576107ec610790565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212202f2155384366d4aac922288eebcb15d129445f680ec41084e58db87522ab74dc64736f6c63430008140033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
3
+ "buildInfo": "../../../build-info/0df057e2cb8e4692d8cee6d249e8a005.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/ddbd31d07c8880f0f0a18b3f2b9bcc56.json"
3
+ "buildInfo": "../../../build-info/0df057e2cb8e4692d8cee6d249e8a005.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/0df057e2cb8e4692d8cee6d249e8a005.json"
4
+ }
@@ -0,0 +1,218 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "FeeLib",
4
+ "sourceName": "contracts/types/Fee.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "amount",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "components": [
15
+ {
16
+ "internalType": "UFixed",
17
+ "name": "fractionalFee",
18
+ "type": "uint256"
19
+ },
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "fixedFee",
23
+ "type": "uint256"
24
+ }
25
+ ],
26
+ "internalType": "struct Fee",
27
+ "name": "fee",
28
+ "type": "tuple"
29
+ }
30
+ ],
31
+ "name": "calculateFee",
32
+ "outputs": [
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "feeAmount",
36
+ "type": "uint256"
37
+ },
38
+ {
39
+ "internalType": "uint256",
40
+ "name": "netAmount",
41
+ "type": "uint256"
42
+ }
43
+ ],
44
+ "stateMutability": "pure",
45
+ "type": "function"
46
+ },
47
+ {
48
+ "inputs": [
49
+ {
50
+ "components": [
51
+ {
52
+ "internalType": "UFixed",
53
+ "name": "fractionalFee",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "fixedFee",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "internalType": "struct Fee",
63
+ "name": "a",
64
+ "type": "tuple"
65
+ },
66
+ {
67
+ "components": [
68
+ {
69
+ "internalType": "UFixed",
70
+ "name": "fractionalFee",
71
+ "type": "uint256"
72
+ },
73
+ {
74
+ "internalType": "uint256",
75
+ "name": "fixedFee",
76
+ "type": "uint256"
77
+ }
78
+ ],
79
+ "internalType": "struct Fee",
80
+ "name": "b",
81
+ "type": "tuple"
82
+ }
83
+ ],
84
+ "name": "feeIsSame",
85
+ "outputs": [
86
+ {
87
+ "internalType": "bool",
88
+ "name": "isSame",
89
+ "type": "bool"
90
+ }
91
+ ],
92
+ "stateMutability": "pure",
93
+ "type": "function"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "components": [
99
+ {
100
+ "internalType": "UFixed",
101
+ "name": "fractionalFee",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "fixedFee",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "internalType": "struct Fee",
111
+ "name": "fee",
112
+ "type": "tuple"
113
+ }
114
+ ],
115
+ "name": "feeIsZero",
116
+ "outputs": [
117
+ {
118
+ "internalType": "bool",
119
+ "name": "",
120
+ "type": "bool"
121
+ }
122
+ ],
123
+ "stateMutability": "pure",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "UFixed",
130
+ "name": "fractionalFee",
131
+ "type": "uint256"
132
+ },
133
+ {
134
+ "internalType": "uint256",
135
+ "name": "fixedFee",
136
+ "type": "uint256"
137
+ }
138
+ ],
139
+ "name": "toFee",
140
+ "outputs": [
141
+ {
142
+ "components": [
143
+ {
144
+ "internalType": "UFixed",
145
+ "name": "fractionalFee",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "fixedFee",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "internalType": "struct Fee",
155
+ "name": "fee",
156
+ "type": "tuple"
157
+ }
158
+ ],
159
+ "stateMutability": "pure",
160
+ "type": "function"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "zeroFee",
165
+ "outputs": [
166
+ {
167
+ "components": [
168
+ {
169
+ "internalType": "UFixed",
170
+ "name": "fractionalFee",
171
+ "type": "uint256"
172
+ },
173
+ {
174
+ "internalType": "uint256",
175
+ "name": "fixedFee",
176
+ "type": "uint256"
177
+ }
178
+ ],
179
+ "internalType": "struct Fee",
180
+ "name": "fee",
181
+ "type": "tuple"
182
+ }
183
+ ],
184
+ "stateMutability": "pure",
185
+ "type": "function"
186
+ }
187
+ ],
188
+ "bytecode": "0x6109e2610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80632bd182d3146100665780638de0a4c21461008457806395248868146100b4578063c66fb3ae146100e4578063c7010dfa14610115575b600080fd5b61006e610145565b60405161007b91906104e2565b60405180910390f35b61009e60048036038101906100999190610645565b610169565b6040516100ab919061068d565b60405180910390f35b6100ce60048036038101906100c991906106a8565b610189565b6040516100db919061068d565b60405180910390f35b6100fe60048036038101906100f991906106e8565b6101b8565b60405161010c929190610737565b60405180910390f35b61012f600480360381019061012a9190610760565b6102e5565b60405161013c91906104e2565b60405180910390f35b61014d610445565b6040518060400160405280600081526020016000815250905090565b6000808260200151148015610182575060008260000151145b9050919050565b6000816020015183602001511480156101b057506101af8360000151836000015161030a565b5b905092915050565b600080600061024273__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e876040518263ffffffff1660e01b81526004016101f791906107a0565b602060405180830381865af4158015610214573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023891906107d0565b8560000151610317565b905083602001518173__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6344aa683690916040518263ffffffff1660e01b8152600401610282919061080c565b602060405180830381865af415801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c3919061083c565b6102cd9190610898565b925082856102db91906108cc565b9150509250929050565b6102ed610445565b604051806040016040528084815260200183815250905092915050565b6000818314905092915050565b600061032c8383670de0b6b3a7640000610334565b905092915050565b600080600080198587098587029250828110838203039150506000810361036f5783828161036557610364610900565b5b049250505061043e565b8084116103b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a89061098c565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b604051806040016040528060008152602001600081525090565b6000819050919050565b6000819050919050565b600061048e6104896104848461045f565b610469565b61045f565b9050919050565b61049e81610473565b82525050565b6104ad8161045f565b82525050565b6040820160008201516104c96000850182610495565b5060208201516104dc60208501826104a4565b50505050565b60006040820190506104f760008301846104b3565b92915050565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61055a82610511565b810181811067ffffffffffffffff8211171561057957610578610522565b5b80604052505050565b600061058c6104fd565b90506105988282610551565b919050565b6105a68161045f565b81146105b157600080fd5b50565b6000813590506105c38161059d565b92915050565b6105d28161045f565b81146105dd57600080fd5b50565b6000813590506105ef816105c9565b92915050565b60006040828403121561060b5761060a61050c565b5b6106156040610582565b90506000610625848285016105b4565b6000830152506020610639848285016105e0565b60208301525092915050565b60006040828403121561065b5761065a610507565b5b6000610669848285016105f5565b91505092915050565b60008115159050919050565b61068781610672565b82525050565b60006020820190506106a2600083018461067e565b92915050565b600080608083850312156106bf576106be610507565b5b60006106cd858286016105f5565b92505060406106de858286016105f5565b9150509250929050565b600080606083850312156106ff576106fe610507565b5b600061070d858286016105e0565b925050602061071e858286016105f5565b9150509250929050565b6107318161045f565b82525050565b600060408201905061074c6000830185610728565b6107596020830184610728565b9392505050565b6000806040838503121561077757610776610507565b5b6000610785858286016105b4565b9250506020610796858286016105e0565b9150509250929050565b60006020820190506107b56000830184610728565b92915050565b6000815190506107ca8161059d565b92915050565b6000602082840312156107e6576107e5610507565b5b60006107f4848285016107bb565b91505092915050565b61080681610473565b82525050565b600060208201905061082160008301846107fd565b92915050565b600081519050610836816105c9565b92915050565b60006020828403121561085257610851610507565b5b600061086084828501610827565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108a38261045f565b91506108ae8361045f565b92508282019050808211156108c6576108c5610869565b5b92915050565b60006108d78261045f565b91506108e28361045f565b92508282039050818111156108fa576108f9610869565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082825260208201905092915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b600061097660158361092f565b915061098182610940565b602082019050919050565b600060208201905081810360008301526109a581610969565b905091905056fea264697066735822122015a3b2130c6431707009642a5f4d8cdd08ff44a888302d0bccf36ffcd26f760464736f6c63430008140033",
189
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80632bd182d3146100665780638de0a4c21461008457806395248868146100b4578063c66fb3ae146100e4578063c7010dfa14610115575b600080fd5b61006e610145565b60405161007b91906104e2565b60405180910390f35b61009e60048036038101906100999190610645565b610169565b6040516100ab919061068d565b60405180910390f35b6100ce60048036038101906100c991906106a8565b610189565b6040516100db919061068d565b60405180910390f35b6100fe60048036038101906100f991906106e8565b6101b8565b60405161010c929190610737565b60405180910390f35b61012f600480360381019061012a9190610760565b6102e5565b60405161013c91906104e2565b60405180910390f35b61014d610445565b6040518060400160405280600081526020016000815250905090565b6000808260200151148015610182575060008260000151145b9050919050565b6000816020015183602001511480156101b057506101af8360000151836000015161030a565b5b905092915050565b600080600061024273__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e876040518263ffffffff1660e01b81526004016101f791906107a0565b602060405180830381865af4158015610214573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023891906107d0565b8560000151610317565b905083602001518173__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6344aa683690916040518263ffffffff1660e01b8152600401610282919061080c565b602060405180830381865af415801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c3919061083c565b6102cd9190610898565b925082856102db91906108cc565b9150509250929050565b6102ed610445565b604051806040016040528084815260200183815250905092915050565b6000818314905092915050565b600061032c8383670de0b6b3a7640000610334565b905092915050565b600080600080198587098587029250828110838203039150506000810361036f5783828161036557610364610900565b5b049250505061043e565b8084116103b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a89061098c565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b604051806040016040528060008152602001600081525090565b6000819050919050565b6000819050919050565b600061048e6104896104848461045f565b610469565b61045f565b9050919050565b61049e81610473565b82525050565b6104ad8161045f565b82525050565b6040820160008201516104c96000850182610495565b5060208201516104dc60208501826104a4565b50505050565b60006040820190506104f760008301846104b3565b92915050565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61055a82610511565b810181811067ffffffffffffffff8211171561057957610578610522565b5b80604052505050565b600061058c6104fd565b90506105988282610551565b919050565b6105a68161045f565b81146105b157600080fd5b50565b6000813590506105c38161059d565b92915050565b6105d28161045f565b81146105dd57600080fd5b50565b6000813590506105ef816105c9565b92915050565b60006040828403121561060b5761060a61050c565b5b6106156040610582565b90506000610625848285016105b4565b6000830152506020610639848285016105e0565b60208301525092915050565b60006040828403121561065b5761065a610507565b5b6000610669848285016105f5565b91505092915050565b60008115159050919050565b61068781610672565b82525050565b60006020820190506106a2600083018461067e565b92915050565b600080608083850312156106bf576106be610507565b5b60006106cd858286016105f5565b92505060406106de858286016105f5565b9150509250929050565b600080606083850312156106ff576106fe610507565b5b600061070d858286016105e0565b925050602061071e858286016105f5565b9150509250929050565b6107318161045f565b82525050565b600060408201905061074c6000830185610728565b6107596020830184610728565b9392505050565b6000806040838503121561077757610776610507565b5b6000610785858286016105b4565b9250506020610796858286016105e0565b9150509250929050565b60006020820190506107b56000830184610728565b92915050565b6000815190506107ca8161059d565b92915050565b6000602082840312156107e6576107e5610507565b5b60006107f4848285016107bb565b91505092915050565b61080681610473565b82525050565b600060208201905061082160008301846107fd565b92915050565b600081519050610836816105c9565b92915050565b60006020828403121561085257610851610507565b5b600061086084828501610827565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108a38261045f565b91506108ae8361045f565b92508282019050808211156108c6576108c5610869565b5b92915050565b60006108d78261045f565b91506108e28361045f565b92508282039050818111156108fa576108f9610869565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082825260208201905092915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b600061097660158361092f565b915061098182610940565b602082019050919050565b600060208201905081810360008301526109a581610969565b905091905056fea264697066735822122015a3b2130c6431707009642a5f4d8cdd08ff44a888302d0bccf36ffcd26f760464736f6c63430008140033",
190
+ "linkReferences": {
191
+ "contracts/types/UFixed.sol": {
192
+ "UFixedMathLib": [
193
+ {
194
+ "length": 20,
195
+ "start": 533
196
+ },
197
+ {
198
+ "length": 20,
199
+ "start": 671
200
+ }
201
+ ]
202
+ }
203
+ },
204
+ "deployedLinkReferences": {
205
+ "contracts/types/UFixed.sol": {
206
+ "UFixedMathLib": [
207
+ {
208
+ "length": 20,
209
+ "start": 450
210
+ },
211
+ {
212
+ "length": 20,
213
+ "start": 588
214
+ }
215
+ ]
216
+ }
217
+ }
218
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/0df057e2cb8e4692d8cee6d249e8a005.json"
4
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Key32Lib",
4
+ "sourceName": "contracts/types/Key32.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ID_MASK",
9
+ "outputs": [
10
+ {
11
+ "internalType": "bytes32",
12
+ "name": "",
13
+ "type": "bytes32"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "ID_SHIFT",
22
+ "outputs": [
23
+ {
24
+ "internalType": "uint8",
25
+ "name": "",
26
+ "type": "uint8"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "TYPE_MASK",
35
+ "outputs": [
36
+ {
37
+ "internalType": "bytes32",
38
+ "name": "",
39
+ "type": "bytes32"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "TYPE_SHIFT",
48
+ "outputs": [
49
+ {
50
+ "internalType": "uint8",
51
+ "name": "",
52
+ "type": "uint8"
53
+ }
54
+ ],
55
+ "stateMutability": "view",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "Key32",
62
+ "name": "key",
63
+ "type": "bytes32"
64
+ }
65
+ ],
66
+ "name": "toKey",
67
+ "outputs": [
68
+ {
69
+ "internalType": "ObjectType",
70
+ "name": "objectType",
71
+ "type": "uint8"
72
+ },
73
+ {
74
+ "internalType": "KeyId",
75
+ "name": "id",
76
+ "type": "bytes31"
77
+ }
78
+ ],
79
+ "stateMutability": "pure",
80
+ "type": "function"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "ObjectType",
86
+ "name": "objectType",
87
+ "type": "uint8"
88
+ },
89
+ {
90
+ "internalType": "KeyId",
91
+ "name": "id",
92
+ "type": "bytes31"
93
+ }
94
+ ],
95
+ "name": "toKey32",
96
+ "outputs": [
97
+ {
98
+ "internalType": "Key32",
99
+ "name": "",
100
+ "type": "bytes32"
101
+ }
102
+ ],
103
+ "stateMutability": "pure",
104
+ "type": "function"
105
+ }
106
+ ],
107
+ "bytecode": "0x6105cc610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630f94cc501461007157806329e9b2261461008f578063a4dc7d86146100ad578063d92bb60d146100de578063da3fe412146100fc578063f48016ce1461011a575b600080fd5b61007961014a565b60405161008691906102b0565b60405180910390f35b610097610174565b6040516100a491906102e7565b60405180910390f35b6100c760048036038101906100c29190610333565b610179565b6040516100d59291906103e8565b60405180910390f35b6100e66101ff565b6040516100f391906102b0565b60405180910390f35b61010461022a565b60405161011191906102e7565b60405180910390f35b610134600480360381019061012f9190610469565b61023f565b60405161014191906104ca565b60405180910390f35b60ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681565b60f881565b600080600083905060f860ff1660ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916821660001c901c925060f860ff166101006101c89190610522565b60ff1660ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916198216901b915050915091565b60ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161981565b60f860ff1661010061023c9190610522565b81565b6000808360ff16905060008360081c7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905060008160f860ff1684901b6102869190610562565b90508060001b935050505092915050565b6000819050919050565b6102aa81610297565b82525050565b60006020820190506102c560008301846102a1565b92915050565b600060ff82169050919050565b6102e1816102cb565b82525050565b60006020820190506102fc60008301846102d8565b92915050565b600080fd5b61031081610297565b811461031b57600080fd5b50565b60008135905061032d81610307565b92915050565b60006020828403121561034957610348610302565b5b60006103578482850161031e565b91505092915050565b6000819050919050565b600061038561038061037b846102cb565b610360565b6102cb565b9050919050565b6103958161036a565b82525050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082169050919050565b60006103d28261039b565b9050919050565b6103e2816103c7565b82525050565b60006040820190506103fd600083018561038c565b61040a60208301846103d9565b9392505050565b61041a816102cb565b811461042557600080fd5b50565b60008135905061043781610411565b92915050565b6104468161039b565b811461045157600080fd5b50565b6000813590506104638161043d565b92915050565b600080604083850312156104805761047f610302565b5b600061048e85828601610428565b925050602061049f85828601610454565b9150509250929050565b60006104b482610297565b9050919050565b6104c4816104a9565b82525050565b60006020820190506104df60008301846104bb565b92915050565b600061ffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061052d826104e5565b9150610538836104e5565b9250828203905061ffff811115610552576105516104f3565b5b92915050565b6000819050919050565b600061056d82610558565b915061057883610558565b92508282019050808211156105905761058f6104f3565b5b9291505056fea264697066735822122015c089ac91547935a32ea5c13920c6c01e4ab99450eb5a453e3d3ffbb1297e3b64736f6c63430008140033",
108
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630f94cc501461007157806329e9b2261461008f578063a4dc7d86146100ad578063d92bb60d146100de578063da3fe412146100fc578063f48016ce1461011a575b600080fd5b61007961014a565b60405161008691906102b0565b60405180910390f35b610097610174565b6040516100a491906102e7565b60405180910390f35b6100c760048036038101906100c29190610333565b610179565b6040516100d59291906103e8565b60405180910390f35b6100e66101ff565b6040516100f391906102b0565b60405180910390f35b61010461022a565b60405161011191906102e7565b60405180910390f35b610134600480360381019061012f9190610469565b61023f565b60405161014191906104ca565b60405180910390f35b60ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681565b60f881565b600080600083905060f860ff1660ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916821660001c901c925060f860ff166101006101c89190610522565b60ff1660ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916198216901b915050915091565b60ff60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161981565b60f860ff1661010061023c9190610522565b81565b6000808360ff16905060008360081c7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905060008160f860ff1684901b6102869190610562565b90508060001b935050505092915050565b6000819050919050565b6102aa81610297565b82525050565b60006020820190506102c560008301846102a1565b92915050565b600060ff82169050919050565b6102e1816102cb565b82525050565b60006020820190506102fc60008301846102d8565b92915050565b600080fd5b61031081610297565b811461031b57600080fd5b50565b60008135905061032d81610307565b92915050565b60006020828403121561034957610348610302565b5b60006103578482850161031e565b91505092915050565b6000819050919050565b600061038561038061037b846102cb565b610360565b6102cb565b9050919050565b6103958161036a565b82525050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082169050919050565b60006103d28261039b565b9050919050565b6103e2816103c7565b82525050565b60006040820190506103fd600083018561038c565b61040a60208301846103d9565b9392505050565b61041a816102cb565b811461042557600080fd5b50565b60008135905061043781610411565b92915050565b6104468161039b565b811461045157600080fd5b50565b6000813590506104638161043d565b92915050565b600080604083850312156104805761047f610302565b5b600061048e85828601610428565b925050602061049f85828601610454565b9150509250929050565b60006104b482610297565b9050919050565b6104c4816104a9565b82525050565b60006020820190506104df60008301846104bb565b92915050565b600061ffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061052d826104e5565b9150610538836104e5565b9250828203905061ffff811115610552576105516104f3565b5b92915050565b6000819050919050565b600061056d82610558565b915061057883610558565b92508282019050808211156105905761058f6104f3565b5b9291505056fea264697066735822122015c089ac91547935a32ea5c13920c6c01e4ab99450eb5a453e3d3ffbb1297e3b64736f6c63430008140033",
109
+ "linkReferences": {},
110
+ "deployedLinkReferences": {}
111
+ }