@etherisc/gif-next 0.0.2-719a8f1-103 → 0.0.2-71cf987-554

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/README.md +227 -17
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1304 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1325 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1055 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1402 -0
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1048 -0
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1455 -0
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +838 -0
  28. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +929 -0
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +961 -0
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  33. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2072 -0
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  42. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  52. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  53. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  54. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +311 -1809
  56. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  57. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +702 -0
  58. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/Instance.sol/Instance.json +466 -2208
  60. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  61. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1710 -0
  62. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  64. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2058 -0
  66. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1003 -0
  68. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +726 -0
  70. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3678 -0
  72. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  74. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  76. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  78. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  80. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  82. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  83. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  84. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  86. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  87. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  88. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  90. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  92. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  94. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  95. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  96. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
  98. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  100. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  102. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +788 -0
  104. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  106. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +907 -0
  108. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  110. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  112. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  114. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  116. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1465 -0
  118. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +834 -0
  120. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +960 -0
  122. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +960 -0
  124. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1283 -0
  126. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  127. package/artifacts/contracts/pool/Pool.sol/Pool.json +1098 -0
  128. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  129. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1625 -0
  130. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +766 -0
  132. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  133. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +771 -0
  134. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +710 -0
  136. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  137. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  138. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  140. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  141. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1431 -0
  142. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +838 -0
  144. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  145. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +223 -351
  146. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  148. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +925 -0
  150. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  152. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  153. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1012 -0
  154. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → product/IRiskService.sol/IRiskService.json} +202 -153
  156. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  157. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1302 -0
  158. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +782 -0
  160. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  161. package/artifacts/contracts/product/PricingService.sol/PricingService.json +907 -0
  162. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +762 -0
  164. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  165. package/artifacts/contracts/product/Product.sol/Product.json +1131 -0
  166. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  167. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  168. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  170. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  171. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +103 -2
  172. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +774 -165
  174. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +539 -188
  176. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  178. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/Registry.sol/Registry.json +967 -142
  180. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1799 -0
  182. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  183. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +580 -219
  184. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +365 -112
  186. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1696 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1301 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/shared/Component.sol/Component.json +725 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1768 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +814 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +223 -205
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  208. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1335 -0
  210. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +723 -0
  212. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  214. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  216. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  217. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +82 -52
  218. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  220. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +94 -8
  222. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  223. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  224. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +168 -182
  226. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  227. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  228. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  229. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +829 -0
  230. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  231. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  232. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  234. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  235. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  236. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +101 -24
  238. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  239. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  240. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +174 -12
  242. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  243. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  244. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  245. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Service.sol/Service.json} +215 -166
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -0
  248. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  250. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1465 -0
  252. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  254. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  256. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  257. package/artifacts/contracts/staking/Staking.sol/Staking.json +1888 -0
  258. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  260. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +776 -0
  262. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  264. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1249 -0
  266. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +710 -0
  268. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  270. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  271. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  272. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  273. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  274. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  276. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  278. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  280. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  282. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  284. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  286. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  288. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  290. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  292. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  294. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  296. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  298. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  300. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  302. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  304. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  308. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  310. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  312. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  314. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  316. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  318. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  320. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  322. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  324. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  326. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  328. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  330. package/contracts/authorization/AccessAdmin.sol +601 -0
  331. package/contracts/authorization/AccessManagerCloneable.sol +80 -0
  332. package/contracts/authorization/Authorization.sol +289 -0
  333. package/contracts/authorization/IAccess.sol +49 -0
  334. package/contracts/authorization/IAccessAdmin.sol +136 -0
  335. package/contracts/authorization/IAuthorization.sol +60 -0
  336. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  337. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  338. package/contracts/distribution/BasicDistribution.sol +139 -0
  339. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  340. package/contracts/distribution/Distribution.sol +285 -0
  341. package/contracts/distribution/DistributionService.sol +355 -0
  342. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  343. package/contracts/distribution/IDistributionComponent.sol +52 -0
  344. package/contracts/distribution/IDistributionService.sol +101 -0
  345. package/contracts/examples/fire/DamageLevel.sol +59 -0
  346. package/contracts/examples/fire/FirePool.sol +73 -0
  347. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  348. package/contracts/examples/fire/FireProduct.sol +415 -0
  349. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  350. package/contracts/examples/fire/FireUSD.sol +26 -0
  351. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  352. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  353. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  354. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  355. package/contracts/instance/BundleSet.sol +126 -0
  356. package/contracts/instance/IInstance.sol +58 -46
  357. package/contracts/instance/IInstanceService.sol +72 -0
  358. package/contracts/instance/Instance.sol +217 -70
  359. package/contracts/instance/InstanceAdmin.sol +295 -0
  360. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  361. package/contracts/instance/InstanceReader.sol +495 -0
  362. package/contracts/instance/InstanceService.sol +412 -0
  363. package/contracts/instance/InstanceServiceManager.sol +39 -0
  364. package/contracts/instance/InstanceStore.sol +287 -0
  365. package/contracts/instance/base/BalanceStore.sol +123 -0
  366. package/contracts/instance/base/Cloneable.sol +28 -0
  367. package/contracts/instance/base/ObjectCounter.sol +21 -0
  368. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  369. package/contracts/instance/base/ObjectSet.sol +79 -0
  370. package/contracts/instance/module/IAccess.sol +46 -0
  371. package/contracts/instance/module/IBundle.sol +20 -0
  372. package/contracts/instance/module/IComponents.sol +51 -0
  373. package/contracts/instance/module/IDistribution.sol +41 -0
  374. package/contracts/instance/module/IPolicy.sol +84 -0
  375. package/contracts/instance/module/IRisk.sol +11 -0
  376. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  377. package/contracts/oracle/BasicOracle.sol +47 -0
  378. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  379. package/contracts/oracle/IOracle.sol +36 -0
  380. package/contracts/oracle/IOracleComponent.sol +33 -0
  381. package/contracts/oracle/IOracleService.sol +66 -0
  382. package/contracts/oracle/Oracle.sol +156 -0
  383. package/contracts/oracle/OracleService.sol +291 -0
  384. package/contracts/oracle/OracleServiceManager.sol +39 -0
  385. package/contracts/pool/BasicPool.sol +154 -0
  386. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  387. package/contracts/pool/BundleService.sol +493 -0
  388. package/contracts/pool/BundleServiceManager.sol +39 -0
  389. package/contracts/pool/IBundleService.sol +143 -0
  390. package/contracts/pool/IPoolComponent.sol +68 -0
  391. package/contracts/pool/IPoolService.sol +167 -0
  392. package/contracts/pool/Pool.sol +335 -0
  393. package/contracts/pool/PoolService.sol +544 -0
  394. package/contracts/pool/PoolServiceManager.sol +39 -0
  395. package/contracts/product/ApplicationService.sol +259 -0
  396. package/contracts/product/ApplicationServiceManager.sol +38 -0
  397. package/contracts/product/BasicProduct.sol +53 -0
  398. package/contracts/product/BasicProductAuthorization.sol +42 -0
  399. package/contracts/product/ClaimService.sol +612 -0
  400. package/contracts/product/ClaimServiceManager.sol +38 -0
  401. package/contracts/product/IApplicationService.sol +63 -0
  402. package/contracts/product/IClaimService.sol +123 -0
  403. package/contracts/product/IPolicyService.sol +80 -0
  404. package/contracts/product/IPricingService.sol +39 -0
  405. package/contracts/product/IProductComponent.sol +59 -0
  406. package/contracts/product/IRiskService.sol +33 -0
  407. package/contracts/product/PolicyService.sol +691 -0
  408. package/contracts/product/PolicyServiceManager.sol +39 -0
  409. package/contracts/product/PricingService.sol +300 -0
  410. package/contracts/product/PricingServiceManager.sol +39 -0
  411. package/contracts/product/Product.sol +455 -0
  412. package/contracts/product/RiskService.sol +96 -0
  413. package/contracts/product/RiskServiceManager.sol +39 -0
  414. package/contracts/registry/ChainNft.sol +95 -35
  415. package/contracts/registry/IRegistry.sol +139 -39
  416. package/contracts/registry/IRegistryService.sol +49 -16
  417. package/contracts/registry/ITransferInterceptor.sol +1 -1
  418. package/contracts/registry/Registry.sol +560 -333
  419. package/contracts/registry/RegistryAdmin.sol +333 -0
  420. package/contracts/registry/RegistryService.sol +144 -278
  421. package/contracts/registry/RegistryServiceManager.sol +28 -27
  422. package/contracts/registry/ReleaseAdmin.sol +248 -0
  423. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  424. package/contracts/registry/ReleaseRegistry.sol +505 -0
  425. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  426. package/contracts/registry/TokenRegistry.sol +315 -0
  427. package/contracts/shared/Component.sol +265 -0
  428. package/contracts/shared/ComponentService.sol +745 -0
  429. package/contracts/shared/ComponentServiceManager.sol +38 -0
  430. package/contracts/shared/ComponentVerifyingService.sol +126 -0
  431. package/contracts/shared/ContractLib.sol +38 -0
  432. package/contracts/shared/IComponent.sol +74 -0
  433. package/contracts/shared/IComponentService.sol +120 -0
  434. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  435. package/contracts/shared/IKeyValueStore.sol +54 -0
  436. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  437. package/contracts/shared/INftOwnable.sol +25 -0
  438. package/contracts/shared/IPolicyHolder.sol +35 -0
  439. package/contracts/shared/IRegisterable.sol +16 -12
  440. package/contracts/shared/IRegistryLinked.sol +11 -0
  441. package/contracts/shared/IService.sol +25 -0
  442. package/contracts/shared/InitializableERC165.sol +27 -0
  443. package/contracts/shared/InstanceLinkedComponent.sol +213 -0
  444. package/contracts/shared/KeyValueStore.sol +131 -0
  445. package/contracts/shared/Lifecycle.sol +88 -0
  446. package/contracts/shared/NftIdSet.sol +65 -0
  447. package/contracts/shared/NftOwnable.sol +90 -50
  448. package/contracts/shared/PolicyHolder.sol +62 -0
  449. package/contracts/shared/Registerable.sol +38 -70
  450. package/contracts/shared/RegistryLinked.sol +44 -0
  451. package/contracts/shared/Service.sol +84 -0
  452. package/contracts/shared/TokenHandler.sol +139 -0
  453. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  454. package/contracts/staking/IStaking.sol +168 -0
  455. package/contracts/staking/IStakingService.sol +157 -0
  456. package/contracts/staking/StakeManagerLib.sol +224 -0
  457. package/contracts/staking/Staking.sol +497 -0
  458. package/contracts/staking/StakingLifecycle.sol +23 -0
  459. package/contracts/staking/StakingManager.sol +52 -0
  460. package/contracts/staking/StakingReader.sol +190 -0
  461. package/contracts/staking/StakingService.sol +407 -0
  462. package/contracts/staking/StakingServiceManager.sol +44 -0
  463. package/contracts/staking/StakingStore.sol +605 -0
  464. package/contracts/staking/TargetManagerLib.sol +211 -0
  465. package/contracts/{types → type}/AddressSet.sol +1 -1
  466. package/contracts/type/Amount.sol +150 -0
  467. package/contracts/{types → type}/Blocknumber.sol +27 -3
  468. package/contracts/type/ClaimId.sol +80 -0
  469. package/contracts/type/DistributorType.sol +55 -0
  470. package/contracts/type/Fee.sol +66 -0
  471. package/contracts/{types → type}/Key32.sol +8 -3
  472. package/contracts/{types → type}/NftId.sol +22 -15
  473. package/contracts/type/NftIdSet.sol +62 -0
  474. package/contracts/type/ObjectType.sol +276 -0
  475. package/contracts/type/PayoutId.sol +82 -0
  476. package/contracts/type/Referral.sol +90 -0
  477. package/contracts/type/RequestId.sol +75 -0
  478. package/contracts/{types → type}/RiskId.sol +16 -2
  479. package/contracts/type/RoleId.sol +165 -0
  480. package/contracts/type/Seconds.sol +101 -0
  481. package/contracts/type/Selector.sol +102 -0
  482. package/contracts/{types → type}/StateId.sol +53 -5
  483. package/contracts/type/String.sol +53 -0
  484. package/contracts/{types → type}/Timestamp.sol +38 -15
  485. package/contracts/type/UFixed.sol +355 -0
  486. package/contracts/{types → type}/Version.sol +8 -2
  487. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  488. package/contracts/upgradeability/ProxyManager.sol +232 -0
  489. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +2 -4
  490. package/contracts/upgradeability/Versionable.sol +59 -0
  491. package/package.json +12 -7
  492. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  493. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  494. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  495. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  496. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  498. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  499. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -177
  500. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  501. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -308
  502. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  503. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -207
  504. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  505. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  506. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  507. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  508. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  510. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  512. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  514. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  516. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  518. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  521. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  522. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  523. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  525. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  527. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  531. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  533. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  535. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  537. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  539. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  541. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  542. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  543. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  546. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -344
  550. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  551. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  553. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  554. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  555. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  556. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  558. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  559. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  560. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  562. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  564. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  567. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  570. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  572. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  574. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  576. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  577. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  580. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  582. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  583. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  584. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  585. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  586. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  587. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  588. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  589. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  591. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  593. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  594. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  595. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  597. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  598. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  599. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  600. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  601. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  602. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  603. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  604. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  605. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  606. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  608. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -484
  610. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  611. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  613. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  615. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  616. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  617. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  618. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  619. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  620. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  621. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  622. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  623. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  624. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  625. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  626. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -344
  627. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  628. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  629. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  630. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  631. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  632. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  633. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  634. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  635. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  636. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  637. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  638. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  639. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  640. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  641. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  642. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  643. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  644. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  645. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  646. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  647. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  648. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  649. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  650. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  651. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  652. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  653. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  654. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  655. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  656. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  657. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  659. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  661. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  662. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  663. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  665. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  666. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  667. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  669. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  671. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  673. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  674. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  675. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  677. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  679. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  680. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  681. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  682. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  683. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  684. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  685. package/contracts/components/BaseComponent.sol +0 -79
  686. package/contracts/components/Distribution.sol +0 -155
  687. package/contracts/components/IBaseComponent.sol +0 -19
  688. package/contracts/components/IDistributionComponent.sol +0 -46
  689. package/contracts/components/IPoolComponent.sol +0 -64
  690. package/contracts/components/IProductComponent.sol +0 -37
  691. package/contracts/components/Pool.sol +0 -246
  692. package/contracts/components/Product.sol +0 -299
  693. package/contracts/experiment/errors/Require.sol +0 -38
  694. package/contracts/experiment/errors/Revert.sol +0 -44
  695. package/contracts/experiment/inheritance/A.sol +0 -53
  696. package/contracts/experiment/inheritance/B.sol +0 -28
  697. package/contracts/experiment/inheritance/C.sol +0 -34
  698. package/contracts/experiment/inheritance/IA.sol +0 -13
  699. package/contracts/experiment/inheritance/IB.sol +0 -10
  700. package/contracts/experiment/inheritance/IC.sol +0 -12
  701. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  702. package/contracts/experiment/statemachine/ISM.sol +0 -25
  703. package/contracts/experiment/statemachine/SM.sol +0 -57
  704. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  705. package/contracts/experiment/types/TypeA.sol +0 -47
  706. package/contracts/experiment/types/TypeB.sol +0 -29
  707. package/contracts/instance/IInstanceLinked.sol +0 -8
  708. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  709. package/contracts/instance/base/IInstanceBase.sol +0 -23
  710. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  711. package/contracts/instance/base/IService.sol +0 -15
  712. package/contracts/instance/base/InstanceBase.sol +0 -89
  713. package/contracts/instance/base/KeyValueStore.sol +0 -161
  714. package/contracts/instance/base/Lifecycle.sol +0 -100
  715. package/contracts/instance/base/ModuleBase.sol +0 -57
  716. package/contracts/instance/base/ServiceBase.sol +0 -43
  717. package/contracts/instance/module/access/Access.sol +0 -149
  718. package/contracts/instance/module/access/IAccess.sol +0 -53
  719. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  720. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  721. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  722. package/contracts/instance/module/component/IComponent.sol +0 -28
  723. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  724. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  725. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  726. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  727. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  728. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  729. package/contracts/instance/module/risk/IRisk.sol +0 -26
  730. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  731. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  732. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  733. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  734. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  735. package/contracts/instance/service/DistributionService.sol +0 -54
  736. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  737. package/contracts/instance/service/IDistributionService.sol +0 -12
  738. package/contracts/instance/service/IPoolService.sol +0 -37
  739. package/contracts/instance/service/IProductService.sol +0 -107
  740. package/contracts/instance/service/PoolService.sol +0 -149
  741. package/contracts/instance/service/ProductService.sol +0 -510
  742. package/contracts/registry/IChainNft.sol +0 -22
  743. package/contracts/shared/ContractDeployerLib.sol +0 -72
  744. package/contracts/shared/ERC165.sol +0 -21
  745. package/contracts/shared/IOwnable.sol +0 -6
  746. package/contracts/shared/ProxyManager.sol +0 -103
  747. package/contracts/shared/Versionable.sol +0 -147
  748. package/contracts/test/TestDistribution.sol +0 -22
  749. package/contracts/test/TestFee.sol +0 -25
  750. package/contracts/test/TestPool.sol +0 -27
  751. package/contracts/test/TestProduct.sol +0 -74
  752. package/contracts/test/TestRegisterable.sol +0 -18
  753. package/contracts/test/TestRoleId.sol +0 -14
  754. package/contracts/test/TestService.sol +0 -26
  755. package/contracts/test/TestVersion.sol +0 -44
  756. package/contracts/test/TestVersionable.sol +0 -17
  757. package/contracts/test/Usdc.sol +0 -26
  758. package/contracts/types/ChainId.sol +0 -38
  759. package/contracts/types/Fee.sol +0 -56
  760. package/contracts/types/NftIdSet.sol +0 -60
  761. package/contracts/types/ObjectType.sol +0 -131
  762. package/contracts/types/ReferralId.sol +0 -48
  763. package/contracts/types/RoleId.sol +0 -38
  764. package/contracts/types/UFixed.sol +0 -209
@@ -0,0 +1,165 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {ObjectType, ROLE} from "./ObjectType.sol";
6
+ import {VersionPart} from "./Version.sol";
7
+
8
+ type RoleId is uint64;
9
+
10
+ // type bindings
11
+ using {
12
+ eqRoleId as ==,
13
+ neRoleId as !=,
14
+ RoleIdLib.eqz,
15
+ RoleIdLib.gtz,
16
+ RoleIdLib.toInt
17
+ // RoleIdLib.toKey32
18
+ } for RoleId global;
19
+
20
+ // general pure free functions
21
+
22
+ // @dev Returns true iff role ids a and b are identical
23
+ function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
24
+ return RoleId.unwrap(a) == RoleId.unwrap(b);
25
+ }
26
+
27
+ // @dev Returns true iff role ids a and b are different
28
+ function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
29
+ return RoleId.unwrap(a) != RoleId.unwrap(b);
30
+ }
31
+
32
+ //--- OpenZeppelin provided roles -------------------------------------------//
33
+
34
+ /// @dev Role ID needs to match with oz AccessManager.ADMIN_ROLE
35
+ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).min); }
36
+
37
+ /// @dev Role ID needs to match with oz AccessManager.PUBLIC_ROLE
38
+ function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
39
+
40
+ //--- GIF roles (range: 1-99) ----------------------------------------------//
41
+
42
+ /// @dev cental role for gif release management.
43
+ /// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
44
+ /// the actual deployment of a release requires the GIF_MANAGER_ROLE.
45
+ /// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
46
+ /// only a single holder may hold this role at any time
47
+ function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1); }
48
+
49
+ /// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
50
+ /// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
51
+ /// token white/blacklisting is possible for any active release
52
+ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); }
53
+
54
+ /// @dev role for registering remote staking targets and reporting remote total value locked amounts.
55
+ function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
56
+
57
+ /// @dev role assigned to release registry, release specfic to lock/unlock a release
58
+ function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
59
+
60
+ //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
61
+ // created and assigned during initial deployment for registry and staking
62
+ // granting for instances and components in instance service
63
+ // object type * 100 + 0, examples:
64
+ // - registry contract role: 200
65
+ // - staking contract role: 300
66
+ // - instance contract role: 1000
67
+
68
+ //--- GIF service roles (range 201 - 9'9xx) ---------------------------------//
69
+ // created and assigned by release manager contract
70
+ // object type * 100 + 1/major version, examples:
71
+ // - registry service role (any version): 299
72
+ // - registry service role (version 3): 203
73
+ // - registry service role (any version): 399
74
+ // - staking service role: (version 3): 303
75
+ // - application service role (version 3): 2003
76
+
77
+ //--- GIF component contract roles (range 12'001 - 19'099) ------------------//
78
+ // assigned at component registration time
79
+ // object type * 1000 + instane specific component counter
80
+ // on any instance a maximum number of 999 components may be deployed
81
+ // examples:
82
+ // - 1st pool on instance: 15001
83
+ // - 1st distribution on instance: 14002
84
+ // - 1st product on instance: 12003
85
+ // - 2nd pool on instance: 15004
86
+ // - 2nd distribution on instance: 14005
87
+ // - 2nd product on instance: 12006
88
+
89
+
90
+ //--- Custom roles (range >= 1'000'000) -------------------------------------//
91
+
92
+ function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
93
+
94
+ library RoleIdLib {
95
+
96
+ uint64 public constant ALL_VERSIONS = 99;
97
+ uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
98
+ uint64 public constant COMPONENT_ROLE_FACTOR = 100;
99
+ uint64 public constant CUSTOM_ROLE_MIN = 1000000;
100
+
101
+ /// @dev Converts the RoleId to a uint.
102
+ function zero() public pure returns (RoleId) {
103
+ return RoleId.wrap(0);
104
+ }
105
+
106
+ /// @dev Converts an uint into a role id.
107
+ function toRoleId(uint64 a) public pure returns (RoleId) {
108
+ return RoleId.wrap(a);
109
+ }
110
+
111
+ /// @dev Converts an uint into a component role id.
112
+ function toComponentRoleId(ObjectType objectType, uint64 index) public pure returns (RoleId) {
113
+ return toRoleId(COMPONENT_ROLE_FACTOR * uint64(objectType.toInt()) + index);
114
+ }
115
+
116
+ /// @dev Converts an uint into a custom role id.
117
+ function toCustomRoleId(uint64 index) public pure returns (RoleId) {
118
+ return toRoleId(CUSTOM_ROLE_MIN + index);
119
+ }
120
+
121
+ /// @dev Converts the role id to a uint.
122
+ function toInt(RoleId a) public pure returns (uint64) {
123
+ return uint64(RoleId.unwrap(a));
124
+ }
125
+
126
+ /// @dev Converts an uint into a role id.
127
+ /// Used for GIF core contracts.
128
+ function roleForType(ObjectType objectType) public pure returns (RoleId) {
129
+ return RoleId.wrap(SERVICE_DOMAIN_ROLE_FACTOR * uint64(objectType.toInt()));
130
+ }
131
+
132
+ /// @dev Converts an uint into a RoleId.
133
+ /// Used for GIF core contracts.
134
+ function roleForTypeAndVersion(ObjectType objectType, VersionPart majorVersion) public pure returns (RoleId) {
135
+ return RoleId.wrap(
136
+ uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + majorVersion.toInt()));
137
+ }
138
+
139
+ /// @dev Converts an uint into a RoleId.
140
+ /// Used for GIF core contracts.
141
+ function roleForTypeAndAllVersions(ObjectType objectType) public pure returns (RoleId) {
142
+ return RoleId.wrap(
143
+ uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
144
+ }
145
+
146
+ /// @dev Returns true if the value is non-zero (> 0).
147
+ function gtz(RoleId a) public pure returns (bool) {
148
+ return RoleId.unwrap(a) > 0;
149
+ }
150
+
151
+ /// @dev Returns true if the value is zero (== 0).
152
+ function eqz(RoleId a) public pure returns (bool) {
153
+ return RoleId.unwrap(a) == 0;
154
+ }
155
+
156
+ /// @dev Returns the key32 value for the specified id and object type.
157
+ function toKey32(RoleId a) public pure returns (Key32 key) {
158
+ return Key32Lib.toKey32(ROLE(), toKeyId(a));
159
+ }
160
+
161
+ /// @dev Returns the key id value for the specified id
162
+ function toKeyId(RoleId a) public pure returns (KeyId keyId) {
163
+ return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
164
+ }
165
+ }
@@ -0,0 +1,101 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Seconds is uint40;
5
+
6
+ using {
7
+ SecondsEq as ==,
8
+ SecondsGt as >,
9
+ SecondsAdd as +,
10
+ SecondsLib.eqz,
11
+ SecondsLib.gtz,
12
+ SecondsLib.eq,
13
+ SecondsLib.gt,
14
+ SecondsLib.lt,
15
+ SecondsLib.toInt,
16
+ SecondsLib.add
17
+ } for Seconds global;
18
+
19
+ function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
20
+ return SecondsLib.eq(duration1, duration2);
21
+ }
22
+
23
+ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
24
+ return SecondsLib.gt(duration1, duration2);
25
+ }
26
+
27
+ function SecondsAdd(Seconds duration1, Seconds duration2) pure returns (Seconds) {
28
+ return SecondsLib.add(duration1, duration2);
29
+ }
30
+
31
+
32
+ library SecondsLib {
33
+
34
+ error ErrorSecondsLibDurationTooBig(uint256 duration);
35
+
36
+ function zero() public pure returns (Seconds) {
37
+ return Seconds.wrap(0);
38
+ }
39
+
40
+ function max() public pure returns (Seconds) {
41
+ return Seconds.wrap(_max());
42
+ }
43
+
44
+ function oneDay() public pure returns (Seconds duration) {
45
+ return Seconds.wrap(24 * 3600);
46
+ }
47
+
48
+ function oneYear() public pure returns (Seconds duration) {
49
+ return Seconds.wrap(365 * 24 * 3600);
50
+ }
51
+
52
+ /// @dev converts the uint duration into Seconds
53
+ /// function reverts if duration is exceeding max Seconds value
54
+ function toSeconds(uint256 duration) public pure returns (Seconds) {
55
+ // if(duration > type(uint40).max) {
56
+ if(duration > _max()) {
57
+ revert ErrorSecondsLibDurationTooBig(duration);
58
+ }
59
+
60
+ return Seconds.wrap(uint40(duration));
61
+ }
62
+
63
+ /// @dev return true if duration equals 0
64
+ function eqz(Seconds duration) public pure returns (bool) {
65
+ return Seconds.unwrap(duration) == 0;
66
+ }
67
+
68
+ /// @dev return true if duration is larger than 0
69
+ function gtz(Seconds duration) public pure returns (bool) {
70
+ return Seconds.unwrap(duration) > 0;
71
+ }
72
+
73
+ /// @dev return true iff duration1 and duration2 are the same
74
+ function eq(Seconds duration1, Seconds duration2) public pure returns (bool) {
75
+ return Seconds.unwrap(duration1) == Seconds.unwrap(duration2);
76
+ }
77
+
78
+ /// @dev return true if duration1 is larger than duration2
79
+ function gt(Seconds duration1, Seconds duration2) public pure returns (bool) {
80
+ return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
81
+ }
82
+
83
+ /// @dev return true if duration1 is smaller than duration2
84
+ function lt(Seconds duration1, Seconds duration2) public pure returns (bool) {
85
+ return Seconds.unwrap(duration1) < Seconds.unwrap(duration2);
86
+ }
87
+
88
+ /// @dev return add duration1 and duration2
89
+ function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
90
+ return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
91
+ }
92
+
93
+ function toInt(Seconds duration) public pure returns (uint256) {
94
+ return uint256(uint40(Seconds.unwrap(duration)));
95
+ }
96
+
97
+ function _max() internal pure returns (uint40) {
98
+ // IMPORTANT: type nees to match with actual definition for Seconds
99
+ return type(uint40).max;
100
+ }
101
+ }
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Selector is bytes4;
5
+
6
+ // type bindings
7
+ using {
8
+ eqSelector as ==,
9
+ neSelector as !=,
10
+ SelectorLib.toBytes4,
11
+ SelectorLib.eqz
12
+ } for Selector global;
13
+
14
+ // pure free functions for operators
15
+ function eqSelector(Selector s1, Selector s2) pure returns (bool isSame) {
16
+ return SelectorLib.eq(s1, s2);
17
+ }
18
+
19
+ function neSelector(Selector s1, Selector s2) pure returns (bool isDifferent) {
20
+ return SelectorLib.ne(s1, s2);
21
+ }
22
+
23
+ // library functions that operate on user defined type
24
+ library SelectorLib {
25
+
26
+ function zero() public pure returns (Selector) {
27
+ return Selector.wrap("");
28
+ }
29
+
30
+ function eqz(Selector s) public pure returns (bool) {
31
+ return Selector.unwrap(s) == "";
32
+ }
33
+
34
+ function eq(Selector s1, Selector s2) public pure returns (bool isSame) {
35
+ return Selector.unwrap(s1) == Selector.unwrap(s2);
36
+ }
37
+
38
+ function ne(Selector s1, Selector s2) public pure returns (bool isDifferent) {
39
+ return Selector.unwrap(s1) != Selector.unwrap(s2);
40
+ }
41
+
42
+ function toSelector(bytes4 selector) public pure returns (Selector) {
43
+ return Selector.wrap(selector);
44
+ }
45
+
46
+ function toBytes4(Selector s) public pure returns (bytes4) {
47
+ return Selector.unwrap(s);
48
+ }
49
+ }
50
+
51
+ // selector specific set library
52
+ // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
53
+ library SelectorSetLib {
54
+
55
+ struct Set {
56
+ Selector[] selectors;
57
+ mapping(Selector selector => uint256 index) at;
58
+ }
59
+
60
+ function add(Set storage set, Selector selector) external {
61
+ // selector already in set
62
+ if (set.at[selector] > 0) { return; }
63
+
64
+ set.selectors.push(selector);
65
+ set.at[selector] = set.selectors.length;
66
+ }
67
+
68
+ function remove(Set storage set, Selector selector) external {
69
+ uint256 selectorIndex = set.at[selector];
70
+
71
+ // selector not in set
72
+ if (selectorIndex == 0) {return; }
73
+
74
+ uint256 toDeleteIndex = selectorIndex - 1;
75
+ uint256 lastIndex = set.selectors.length - 1;
76
+
77
+ if (lastIndex != toDeleteIndex) {
78
+ Selector lastSelector = set.selectors[lastIndex];
79
+ set.selectors[toDeleteIndex] = lastSelector;
80
+ set.at[lastSelector] = selectorIndex; // Replace lastValue's index to valueIndex
81
+ }
82
+
83
+ set.selectors.pop();
84
+ delete set.at[selector];
85
+ }
86
+
87
+ function isEmpty(Set storage set) external view returns(bool empty) {
88
+ return set.selectors.length == 0;
89
+ }
90
+
91
+ function contains(Set storage set, Selector selector) external view returns(bool inSet) {
92
+ return set.at[selector] > 0;
93
+ }
94
+
95
+ function size(Set storage set) external view returns(uint256 length) {
96
+ return set.selectors.length;
97
+ }
98
+
99
+ function at(Set storage set, uint256 index) external view returns(Selector selector) {
100
+ return set.selectors[index];
101
+ }
102
+ }
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  // uint96 allows for chain ids up to 13 digits
5
5
  type StateId is uint8;
@@ -9,11 +9,37 @@ using {
9
9
  eqStateId as ==,
10
10
  neStateId as !=,
11
11
  StateIdLib.eqz,
12
+ StateIdLib.eq,
12
13
  StateIdLib.gtz,
13
14
  StateIdLib.toInt
14
15
  } for StateId global;
15
16
 
16
17
  // general pure free functions
18
+
19
+ function INITIAL() pure returns (StateId) {
20
+ return toStateId(1);
21
+ }
22
+
23
+ function SCHEDULED() pure returns (StateId) {
24
+ return toStateId(2);
25
+ }
26
+
27
+ function DEPLOYING() pure returns (StateId) {
28
+ return toStateId(3);
29
+ }
30
+
31
+ function DEPLOYED() pure returns (StateId) {
32
+ return toStateId(4);
33
+ }
34
+
35
+ function ACTIVE() pure returns (StateId) {
36
+ return toStateId(5);
37
+ }
38
+
39
+ function SKIPPED() pure returns (StateId) {
40
+ return toStateId(6);
41
+ }
42
+
17
43
  function APPLIED() pure returns (StateId) {
18
44
  return toStateId(10);
19
45
  }
@@ -26,20 +52,32 @@ function DECLINED() pure returns (StateId) {
26
52
  return toStateId(30);
27
53
  }
28
54
 
29
- function UNDERWRITTEN() pure returns (StateId) {
55
+ function COLLATERALIZED() pure returns (StateId) {
30
56
  return toStateId(40);
31
57
  }
32
58
 
33
- function CONFIRMED() pure returns (StateId) {
59
+ function SUBMITTED() pure returns (StateId) {
34
60
  return toStateId(50);
35
61
  }
36
62
 
63
+ function CONFIRMED() pure returns (StateId) {
64
+ return toStateId(51);
65
+ }
66
+
37
67
  function EXPECTED() pure returns (StateId) {
38
68
  return toStateId(60);
39
69
  }
40
70
 
41
- function ACTIVE() pure returns (StateId) {
42
- return toStateId(100);
71
+ function FULFILLED() pure returns (StateId) {
72
+ return toStateId(70);
73
+ }
74
+
75
+ function FAILED() pure returns (StateId) {
76
+ return toStateId(7);
77
+ }
78
+
79
+ function CANCELLED() pure returns (StateId) {
80
+ return toStateId(72);
43
81
  }
44
82
 
45
83
  function PAUSED() pure returns (StateId) {
@@ -58,11 +96,16 @@ function PAID() pure returns (StateId) {
58
96
  return toStateId(220);
59
97
  }
60
98
 
99
+ function KEEP_STATE() pure returns (StateId) {
100
+ return toStateId(type(uint8).max);
101
+ }
102
+
61
103
  /// @dev Converts the uint8 to a StateId.
62
104
  function toStateId(uint256 id) pure returns (StateId) {
63
105
  return StateId.wrap(uint8(id));
64
106
  }
65
107
 
108
+ // TODO move to StateIdLib and rename to zero()
66
109
  /// @dev Return the StateId zero (0)
67
110
  function zeroStateId() pure returns (StateId) {
68
111
  return StateId.wrap(0);
@@ -79,6 +122,11 @@ function neStateId(StateId a, StateId b) pure returns (bool isDifferent) {
79
122
 
80
123
  // library functions that operate on user defined type
81
124
  library StateIdLib {
125
+
126
+ function zero() public pure returns (StateId) {
127
+ return StateId.wrap(0);
128
+ }
129
+
82
130
  /// @dev Converts the NftId to a uint256.
83
131
  function toInt(StateId stateId) public pure returns (uint96) {
84
132
  return uint96(StateId.unwrap(stateId));
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
+
6
+ type Str is bytes32;
7
+
8
+ using {
9
+ StrEq as ==,
10
+ StrNe as !=,
11
+ StrLib.toString,
12
+ StrLib.length
13
+ } for Str global;
14
+
15
+ function StrEq(Str s1, Str s2) pure returns (bool) {
16
+ return StrLib.eq(s1, s2);
17
+ }
18
+
19
+ function StrNe(Str s1, Str s2) pure returns (bool) {
20
+ return StrLib.ne(s1, s2);
21
+ }
22
+
23
+ library StrLib {
24
+
25
+
26
+ /// @dev converts the provided string into a short string.
27
+ /// uses ShortStrings.toShortString
28
+ function toStr(string memory str) public pure returns (Str) {
29
+ return Str.wrap(ShortString.unwrap(ShortStrings.toShortString(str)));
30
+ }
31
+
32
+ /// @dev return true iff s1 equals s2
33
+ function eq(Str s1, Str s2) public pure returns (bool) {
34
+ return Str.unwrap(s1) == Str.unwrap(s2);
35
+ }
36
+
37
+ /// @dev return true iff s1 differs from s2
38
+ function ne(Str s1, Str s2) public pure returns (bool) {
39
+ return Str.unwrap(s1) != Str.unwrap(s2);
40
+ }
41
+
42
+ /// @dev converts the provided short string into a string.
43
+ /// uses ShortStrings.toString
44
+ function toString(Str str) public pure returns (string memory) {
45
+ return ShortStrings.toString(ShortString.wrap(Str.unwrap(str)));
46
+ }
47
+
48
+ /// @dev converts the provided short string into a string.
49
+ /// uses ShortStrings.byteLength
50
+ function length(Str str) public pure returns (uint256 byteLength) {
51
+ return ShortStrings.byteLength(ShortString.wrap(Str.unwrap(str)));
52
+ }
53
+ }
@@ -1,5 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "./Seconds.sol";
3
5
 
4
6
  type Timestamp is uint40;
5
7
 
@@ -10,9 +12,16 @@ using {
10
12
  lteTimestamp as <=,
11
13
  eqTimestamp as ==,
12
14
  neTimestamp as !=,
15
+ TimestampLib.eq,
16
+ TimestampLib.ne,
17
+ TimestampLib.gt,
18
+ TimestampLib.gte,
19
+ TimestampLib.lt,
20
+ TimestampLib.lte,
13
21
  TimestampLib.gtz,
14
22
  TimestampLib.eqz,
15
- TimestampLib.addSeconds
23
+ TimestampLib.addSeconds,
24
+ TimestampLib.toInt
16
25
  } for Timestamp global;
17
26
 
18
27
  /// @dev return true if Timestamp a is after Timestamp b
@@ -47,19 +56,33 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
47
56
 
48
57
  /// @dev Converts the uint256 to a Timestamp.
49
58
  function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
50
- return Timestamp.wrap(uint40(timestamp));
51
- }
52
-
53
- function blockTimestamp() view returns (Timestamp) {
54
- return toTimestamp(block.timestamp);
59
+ return TimestampLib.toTimestamp(timestamp);
55
60
  }
56
61
 
62
+ // TODO move to TimestampLib and rename to zero()
57
63
  /// @dev Return the Timestamp zero (0)
58
64
  function zeroTimestamp() pure returns (Timestamp) {
59
- return toTimestamp(0);
65
+ return Timestamp.wrap(0);
60
66
  }
61
67
 
62
68
  library TimestampLib {
69
+
70
+ function zero() public pure returns (Timestamp) {
71
+ return Timestamp.wrap(0);
72
+ }
73
+
74
+ function max() public pure returns (Timestamp) {
75
+ return Timestamp.wrap(type(uint40).max);
76
+ }
77
+
78
+ function blockTimestamp() public view returns (Timestamp) {
79
+ return Timestamp.wrap(uint40(block.timestamp));
80
+ }
81
+
82
+ function toTimestamp(uint256 timestamp) public pure returns (Timestamp) {
83
+ return Timestamp.wrap(uint40(timestamp));
84
+ }
85
+
63
86
  /// @dev return true if Timestamp a is after Timestamp b
64
87
  function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {
65
88
  return gtTimestamp(a, b);
@@ -99,22 +122,22 @@ library TimestampLib {
99
122
  return neTimestamp(a, b);
100
123
  }
101
124
 
102
- /// @dev return true if Timestamp is larger than 0
103
- function gtz(Timestamp timestamp) public pure returns (bool) {
104
- return Timestamp.unwrap(timestamp) > 0;
105
- }
106
-
107
125
  /// @dev return true if Timestamp equals 0
108
126
  function eqz(Timestamp timestamp) public pure returns (bool) {
109
127
  return Timestamp.unwrap(timestamp) == 0;
110
128
  }
111
129
 
130
+ /// @dev return true if Timestamp is larger than 0
131
+ function gtz(Timestamp timestamp) public pure returns (bool) {
132
+ return Timestamp.unwrap(timestamp) > 0;
133
+ }
134
+
112
135
  /// @dev return true if Timestamp a is not equal to Timestamp b
113
136
  function addSeconds(
114
137
  Timestamp timestamp,
115
- uint256 timeDelta
138
+ Seconds duration
116
139
  ) public pure returns (Timestamp) {
117
- return toTimestamp(Timestamp.unwrap(timestamp) + uint40(timeDelta));
140
+ return toTimestamp(Timestamp.unwrap(timestamp) + duration.toInt());
118
141
  }
119
142
 
120
143
  function toInt(Timestamp timestamp) public pure returns (uint256) {