@etherisc/gif-next 0.0.2-f0d86c2-077 → 0.0.2-f12cf4d-104

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 (746) hide show
  1. package/README.md +297 -26
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -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 +1060 -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/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1471 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +917 -0
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +961 -0
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +290 -1482
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +702 -0
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +418 -1761
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1653 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2053 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1011 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +746 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  88. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  90. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  92. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1469 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +850 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +964 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1635 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +786 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +787 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +734 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +546 -0
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +931 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1005 -0
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +429 -0
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1316 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +802 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1000 -119
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1019 -0
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +1427 -220
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1262 -0
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +737 -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 +1067 -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 +695 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1843 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +232 -235
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +620 -0
  208. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  210. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  212. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +140 -141
  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/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +47 -74
  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 +113 -24
  222. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  223. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  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} +182 -171
  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 +799 -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 +4 -0
  237. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  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 +224 -23
  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/service/IPoolService.sol/IPoolService.json → shared/Service.sol/Service.json} +239 -173
  246. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  247. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +822 -0
  248. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  250. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  251. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  252. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  256. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  258. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  259. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  260. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  262. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  264. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  266. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  268. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  270. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  272. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  273. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  274. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  276. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  278. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  280. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  282. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  284. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  286. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  288. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  290. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  291. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  292. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  294. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  296. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  298. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  300. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  302. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  304. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  308. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  310. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  312. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  314. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  316. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  318. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  320. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  322. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  324. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  326. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  328. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  330. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  331. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  332. package/contracts/authorization/AccessAdmin.sol +596 -0
  333. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  334. package/contracts/authorization/Authorization.sol +289 -0
  335. package/contracts/authorization/IAccess.sol +49 -0
  336. package/contracts/authorization/IAccessAdmin.sol +137 -0
  337. package/contracts/authorization/IAuthorization.sol +60 -0
  338. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  339. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  340. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  341. package/contracts/distribution/BasicDistribution.sol +139 -0
  342. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  343. package/contracts/distribution/Distribution.sol +285 -0
  344. package/contracts/distribution/DistributionService.sol +355 -0
  345. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  346. package/contracts/distribution/IDistributionComponent.sol +52 -0
  347. package/contracts/distribution/IDistributionService.sol +101 -0
  348. package/contracts/examples/fire/DamageLevel.sol +59 -0
  349. package/contracts/examples/fire/FirePool.sol +86 -0
  350. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  351. package/contracts/examples/fire/FireProduct.sol +431 -0
  352. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  353. package/contracts/examples/fire/FireUSD.sol +26 -0
  354. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  355. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  356. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  357. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  358. package/contracts/instance/BundleSet.sol +126 -0
  359. package/contracts/instance/IInstance.sol +58 -44
  360. package/contracts/instance/IInstanceService.sol +71 -0
  361. package/contracts/instance/Instance.sol +218 -54
  362. package/contracts/instance/InstanceAdmin.sol +277 -0
  363. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  364. package/contracts/instance/InstanceReader.sol +495 -0
  365. package/contracts/instance/InstanceService.sol +414 -0
  366. package/contracts/instance/InstanceServiceManager.sol +39 -0
  367. package/contracts/instance/InstanceStore.sol +287 -0
  368. package/contracts/instance/base/BalanceStore.sol +123 -0
  369. package/contracts/instance/base/Cloneable.sol +28 -0
  370. package/contracts/instance/base/ObjectCounter.sol +21 -0
  371. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  372. package/contracts/instance/base/ObjectSet.sol +79 -0
  373. package/contracts/instance/module/IAccess.sol +46 -0
  374. package/contracts/instance/module/IBundle.sol +20 -0
  375. package/contracts/instance/module/IComponents.sol +50 -0
  376. package/contracts/instance/module/IDistribution.sol +41 -0
  377. package/contracts/instance/module/IPolicy.sol +85 -0
  378. package/contracts/instance/module/IRisk.sol +11 -0
  379. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  380. package/contracts/oracle/BasicOracle.sol +47 -0
  381. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  382. package/contracts/oracle/IOracle.sol +36 -0
  383. package/contracts/oracle/IOracleComponent.sol +33 -0
  384. package/contracts/oracle/IOracleService.sol +66 -0
  385. package/contracts/oracle/Oracle.sol +156 -0
  386. package/contracts/oracle/OracleService.sol +292 -0
  387. package/contracts/oracle/OracleServiceManager.sol +39 -0
  388. package/contracts/pool/BasicPool.sol +175 -0
  389. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  390. package/contracts/pool/BundleService.sol +485 -0
  391. package/contracts/pool/BundleServiceManager.sol +39 -0
  392. package/contracts/pool/IBundleService.sol +140 -0
  393. package/contracts/pool/IPoolComponent.sol +62 -0
  394. package/contracts/pool/IPoolService.sol +172 -0
  395. package/contracts/pool/Pool.sol +345 -0
  396. package/contracts/pool/PoolService.sol +620 -0
  397. package/contracts/pool/PoolServiceManager.sol +39 -0
  398. package/contracts/product/ApplicationService.sol +259 -0
  399. package/contracts/product/ApplicationServiceManager.sol +38 -0
  400. package/contracts/product/BasicProduct.sol +49 -0
  401. package/contracts/product/BasicProductAuthorization.sol +42 -0
  402. package/contracts/product/ClaimService.sol +614 -0
  403. package/contracts/product/ClaimServiceManager.sol +38 -0
  404. package/contracts/product/IApplicationService.sol +63 -0
  405. package/contracts/product/IClaimService.sol +123 -0
  406. package/contracts/product/IPolicyService.sol +82 -0
  407. package/contracts/product/IPricingService.sol +39 -0
  408. package/contracts/product/IProductComponent.sol +59 -0
  409. package/contracts/product/IRiskService.sol +33 -0
  410. package/contracts/product/PolicyService.sol +695 -0
  411. package/contracts/product/PolicyServiceManager.sol +39 -0
  412. package/contracts/product/PricingService.sol +300 -0
  413. package/contracts/product/PricingServiceManager.sol +39 -0
  414. package/contracts/product/Product.sol +432 -0
  415. package/contracts/product/RiskService.sol +96 -0
  416. package/contracts/product/RiskServiceManager.sol +39 -0
  417. package/contracts/registry/ChainNft.sol +128 -40
  418. package/contracts/registry/IRegistry.sol +144 -28
  419. package/contracts/registry/IRegistryService.sol +62 -0
  420. package/contracts/registry/ITransferInterceptor.sol +6 -0
  421. package/contracts/registry/Registry.sol +626 -282
  422. package/contracts/registry/RegistryAdmin.sol +462 -0
  423. package/contracts/registry/RegistryService.sol +241 -0
  424. package/contracts/registry/RegistryServiceManager.sol +53 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  426. package/contracts/registry/ReleaseRegistry.sol +485 -0
  427. package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
  428. package/contracts/registry/TokenRegistry.sol +315 -0
  429. package/contracts/shared/Component.sol +229 -0
  430. package/contracts/shared/ComponentService.sol +779 -0
  431. package/contracts/shared/ComponentServiceManager.sol +38 -0
  432. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  433. package/contracts/shared/ContractLib.sol +54 -0
  434. package/contracts/shared/IComponent.sol +67 -0
  435. package/contracts/shared/IComponentService.sol +130 -0
  436. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  437. package/contracts/shared/IKeyValueStore.sol +54 -0
  438. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  439. package/contracts/shared/INftOwnable.sol +25 -0
  440. package/contracts/shared/IPolicyHolder.sol +35 -0
  441. package/contracts/shared/IRegisterable.sol +23 -21
  442. package/contracts/shared/IRegistryLinked.sol +11 -0
  443. package/contracts/shared/IService.sol +25 -0
  444. package/contracts/shared/InitializableERC165.sol +27 -0
  445. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  446. package/contracts/shared/KeyValueStore.sol +131 -0
  447. package/contracts/shared/Lifecycle.sol +88 -0
  448. package/contracts/shared/NftIdSet.sol +65 -0
  449. package/contracts/shared/NftOwnable.sol +127 -0
  450. package/contracts/shared/PolicyHolder.sol +62 -0
  451. package/contracts/shared/Registerable.sol +60 -63
  452. package/contracts/shared/RegistryLinked.sol +38 -0
  453. package/contracts/shared/Service.sol +84 -0
  454. package/contracts/shared/TokenHandler.sol +397 -0
  455. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  456. package/contracts/staking/IStaking.sol +173 -0
  457. package/contracts/staking/IStakingService.sol +157 -0
  458. package/contracts/staking/StakeManagerLib.sol +224 -0
  459. package/contracts/staking/Staking.sol +505 -0
  460. package/contracts/staking/StakingLifecycle.sol +23 -0
  461. package/contracts/staking/StakingManager.sol +52 -0
  462. package/contracts/staking/StakingReader.sol +190 -0
  463. package/contracts/staking/StakingService.sol +453 -0
  464. package/contracts/staking/StakingServiceManager.sol +44 -0
  465. package/contracts/staking/StakingStore.sol +605 -0
  466. package/contracts/staking/TargetManagerLib.sol +211 -0
  467. package/contracts/{types → type}/AddressSet.sol +1 -1
  468. package/contracts/type/Amount.sol +150 -0
  469. package/contracts/{types → type}/Blocknumber.sol +27 -3
  470. package/contracts/type/ClaimId.sol +80 -0
  471. package/contracts/type/DistributorType.sol +55 -0
  472. package/contracts/type/Fee.sol +66 -0
  473. package/contracts/{types → type}/Key32.sol +8 -3
  474. package/contracts/{types → type}/NftId.sol +22 -15
  475. package/contracts/type/NftIdSet.sol +62 -0
  476. package/contracts/type/ObjectType.sol +276 -0
  477. package/contracts/type/PayoutId.sol +82 -0
  478. package/contracts/type/Referral.sol +90 -0
  479. package/contracts/type/RequestId.sol +75 -0
  480. package/contracts/type/RiskId.sol +57 -0
  481. package/contracts/type/RoleId.sol +162 -0
  482. package/contracts/type/Seconds.sol +101 -0
  483. package/contracts/type/Selector.sol +102 -0
  484. package/contracts/{types → type}/StateId.sol +53 -5
  485. package/contracts/type/String.sol +53 -0
  486. package/contracts/{types → type}/Timestamp.sol +38 -15
  487. package/contracts/type/UFixed.sol +355 -0
  488. package/contracts/{types → type}/Version.sol +17 -2
  489. package/contracts/upgradeability/IVersionable.sol +53 -0
  490. package/contracts/upgradeability/ProxyManager.sol +232 -0
  491. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  492. package/contracts/upgradeability/Versionable.sol +59 -0
  493. package/package.json +12 -7
  494. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  495. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  496. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  497. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  498. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  499. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  500. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  501. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  502. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  503. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  504. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  505. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  506. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  507. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  508. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  509. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  510. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  511. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  512. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  513. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  514. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  515. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  516. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  517. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  518. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  519. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  521. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  522. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  523. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  524. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  525. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  526. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  527. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  528. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  531. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  533. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  535. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  537. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  539. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  540. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  541. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  542. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  543. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  544. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
  545. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  546. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  547. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  549. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  550. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -326
  551. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  552. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -692
  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/base/ServiceBase.sol/ServiceBase.json +0 -300
  558. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  560. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  563. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
  565. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
  568. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  569. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  570. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  571. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  572. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  574. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  576. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  577. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  578. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  580. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  583. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  585. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  586. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  587. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  588. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  589. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  591. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  594. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  595. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  596. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  597. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  598. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  599. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  600. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  602. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  604. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  606. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  608. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  611. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  613. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  614. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  615. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  616. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  617. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  618. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  619. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  620. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  621. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  622. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  623. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  624. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  625. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  626. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  627. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  628. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  629. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  630. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  632. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  633. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  634. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  635. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  636. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  637. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  638. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  639. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  640. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  641. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  642. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  643. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  644. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  645. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  646. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  648. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  650. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  652. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  653. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  654. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  656. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  657. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  658. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  659. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  660. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  662. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  664. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  665. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  666. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  667. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  668. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  669. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  670. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  671. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  672. package/contracts/components/BaseComponent.sol +0 -88
  673. package/contracts/components/IBaseComponent.sol +0 -19
  674. package/contracts/components/IPoolComponent.sol +0 -57
  675. package/contracts/components/IProductComponent.sol +0 -19
  676. package/contracts/components/Pool.sol +0 -174
  677. package/contracts/components/Product.sol +0 -117
  678. package/contracts/experiment/errors/Require.sol +0 -38
  679. package/contracts/experiment/errors/Revert.sol +0 -44
  680. package/contracts/experiment/inheritance/A.sol +0 -53
  681. package/contracts/experiment/inheritance/B.sol +0 -28
  682. package/contracts/experiment/inheritance/C.sol +0 -34
  683. package/contracts/experiment/inheritance/IA.sol +0 -13
  684. package/contracts/experiment/inheritance/IB.sol +0 -10
  685. package/contracts/experiment/inheritance/IC.sol +0 -12
  686. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  687. package/contracts/experiment/statemachine/ISM.sol +0 -25
  688. package/contracts/experiment/statemachine/README.md +0 -112
  689. package/contracts/experiment/statemachine/SM.sol +0 -57
  690. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  691. package/contracts/experiment/types/TypeA.sol +0 -47
  692. package/contracts/experiment/types/TypeB.sol +0 -29
  693. package/contracts/instance/IInstanceLinked.sol +0 -8
  694. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  695. package/contracts/instance/base/IInstanceBase.sol +0 -14
  696. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  697. package/contracts/instance/base/IService.sol +0 -15
  698. package/contracts/instance/base/InstanceBase.sol +0 -80
  699. package/contracts/instance/base/KeyValueStore.sol +0 -156
  700. package/contracts/instance/base/Lifecycle.sol +0 -95
  701. package/contracts/instance/base/ModuleBase.sol +0 -52
  702. package/contracts/instance/base/ServiceBase.sol +0 -37
  703. package/contracts/instance/module/access/Access.sol +0 -149
  704. package/contracts/instance/module/access/IAccess.sol +0 -53
  705. package/contracts/instance/module/bundle/BundleModule.sol +0 -136
  706. package/contracts/instance/module/bundle/IBundle.sol +0 -58
  707. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  708. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  709. package/contracts/instance/module/component/ComponentModule.sol +0 -95
  710. package/contracts/instance/module/component/IComponent.sol +0 -53
  711. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  712. package/contracts/instance/module/policy/PolicyModule.sol +0 -76
  713. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  714. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  715. package/contracts/instance/module/risk/IRisk.sol +0 -10
  716. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  717. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  718. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  719. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  720. package/contracts/instance/service/ComponentOwnerService.sol +0 -170
  721. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  722. package/contracts/instance/service/IPoolService.sol +0 -30
  723. package/contracts/instance/service/IProductService.sol +0 -58
  724. package/contracts/instance/service/PoolService.sol +0 -123
  725. package/contracts/instance/service/ProductService.sol +0 -354
  726. package/contracts/registry/IChainNft.sol +0 -21
  727. package/contracts/registry/IRegistryLinked.sol +0 -8
  728. package/contracts/shared/ERC165.sol +0 -21
  729. package/contracts/shared/IOwnable.sol +0 -6
  730. package/contracts/shared/IVersionable.sol +0 -52
  731. package/contracts/shared/Versionable.sol +0 -89
  732. package/contracts/test/TestFee.sol +0 -25
  733. package/contracts/test/TestPool.sol +0 -22
  734. package/contracts/test/TestProduct.sol +0 -44
  735. package/contracts/test/TestRegisterable.sol +0 -19
  736. package/contracts/test/TestRoleId.sol +0 -14
  737. package/contracts/test/TestService.sol +0 -32
  738. package/contracts/test/TestToken.sol +0 -26
  739. package/contracts/test/TestVersion.sol +0 -44
  740. package/contracts/test/TestVersionable.sol +0 -17
  741. package/contracts/types/ChainId.sol +0 -38
  742. package/contracts/types/Fee.sol +0 -51
  743. package/contracts/types/NftIdSet.sol +0 -60
  744. package/contracts/types/ObjectType.sol +0 -115
  745. package/contracts/types/RoleId.sol +0 -38
  746. package/contracts/types/UFixed.sol +0 -209
@@ -0,0 +1,57 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {RISK} from "./ObjectType.sol";
6
+
7
+ type RiskId is bytes8;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRiskId as ==,
12
+ neRiskId as !=,
13
+ RiskIdLib.toKey32,
14
+ RiskIdLib.eq,
15
+ RiskIdLib.eqz
16
+ } for RiskId global;
17
+
18
+ // general pure free functions
19
+
20
+ // @dev Returns true iff risk ids a and b are identical
21
+ function eqRiskId(RiskId a, RiskId b) pure returns (bool isSame) {
22
+ return RiskId.unwrap(a) == RiskId.unwrap(b);
23
+ }
24
+
25
+ // @dev Returns true iff risk ids a and b are different
26
+ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
27
+ return RiskId.unwrap(a) != RiskId.unwrap(b);
28
+ }
29
+
30
+ library RiskIdLib {
31
+ function zero() public pure returns (RiskId) {
32
+ return RiskId.wrap(bytes8(0));
33
+ }
34
+
35
+ // @dev Converts a string into a risk id.
36
+ function toRiskId(string memory risk) public pure returns (RiskId) {
37
+ return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
38
+ }
39
+
40
+ /// @dev Returns the key32 value for the specified nft id and object type.
41
+ function toKey32(RiskId id) public pure returns (Key32 key) {
42
+ return Key32Lib.toKey32(RISK(), toKeyId(id));
43
+ }
44
+
45
+ /// @dev Returns the key id value for the specified nft id
46
+ function toKeyId(RiskId id) public pure returns (KeyId keyId) {
47
+ return KeyId.wrap(bytes31(RiskId.unwrap(id)));
48
+ }
49
+
50
+ function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
51
+ return eqRiskId(a, b);
52
+ }
53
+
54
+ function eqz(RiskId a) public pure returns (bool isZero) {
55
+ return eqRiskId(a, zero());
56
+ }
57
+ }
@@ -0,0 +1,162 @@
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
+ //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
58
+ // created and assigned during initial deployment for registry and staking
59
+ // granting for instances and components in instance service
60
+ // object type * 100 + 0, examples:
61
+ // - registry contract role: 200
62
+ // - staking contract role: 300
63
+ // - instance contract role: 1000
64
+
65
+ //--- GIF service roles (range 201 - 9'9xx) ---------------------------------//
66
+ // created and assigned by release manager contract
67
+ // object type * 100 + 1/major version, examples:
68
+ // - registry service role (any version): 299
69
+ // - registry service role (version 3): 203
70
+ // - registry service role (any version): 399
71
+ // - staking service role: (version 3): 303
72
+ // - application service role (version 3): 2003
73
+
74
+ //--- GIF component contract roles (range 12'001 - 19'099) ------------------//
75
+ // assigned at component registration time
76
+ // object type * 1000 + instane specific component counter
77
+ // on any instance a maximum number of 999 components may be deployed
78
+ // examples:
79
+ // - 1st pool on instance: 15001
80
+ // - 1st distribution on instance: 14002
81
+ // - 1st product on instance: 12003
82
+ // - 2nd pool on instance: 15004
83
+ // - 2nd distribution on instance: 14005
84
+ // - 2nd product on instance: 12006
85
+
86
+
87
+ //--- Custom roles (range >= 1'000'000) -------------------------------------//
88
+
89
+ function CUSTOM_ROLE_MIN() pure returns (RoleId) { return RoleIdLib.toRoleId(1000000); }
90
+
91
+ library RoleIdLib {
92
+
93
+ uint64 public constant ALL_VERSIONS = 99;
94
+ uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
95
+ uint64 public constant COMPONENT_ROLE_FACTOR = 100;
96
+ uint64 public constant CUSTOM_ROLE_MIN = 1000000;
97
+
98
+ /// @dev Converts the RoleId to a uint.
99
+ function zero() public pure returns (RoleId) {
100
+ return RoleId.wrap(0);
101
+ }
102
+
103
+ /// @dev Converts an uint into a role id.
104
+ function toRoleId(uint64 a) public pure returns (RoleId) {
105
+ return RoleId.wrap(a);
106
+ }
107
+
108
+ /// @dev Converts an uint into a component role id.
109
+ function toComponentRoleId(ObjectType objectType, uint64 index) public pure returns (RoleId) {
110
+ return toRoleId(COMPONENT_ROLE_FACTOR * uint64(objectType.toInt()) + index);
111
+ }
112
+
113
+ /// @dev Converts an uint into a custom role id.
114
+ function toCustomRoleId(uint64 index) public pure returns (RoleId) {
115
+ return toRoleId(CUSTOM_ROLE_MIN + index);
116
+ }
117
+
118
+ /// @dev Converts the role id to a uint.
119
+ function toInt(RoleId a) public pure returns (uint64) {
120
+ return uint64(RoleId.unwrap(a));
121
+ }
122
+
123
+ /// @dev Converts an uint into a role id.
124
+ /// Used for GIF core contracts.
125
+ function roleForType(ObjectType objectType) public pure returns (RoleId) {
126
+ return RoleId.wrap(SERVICE_DOMAIN_ROLE_FACTOR * uint64(objectType.toInt()));
127
+ }
128
+
129
+ /// @dev Converts an uint into a RoleId.
130
+ /// Used for GIF core contracts.
131
+ function roleForTypeAndVersion(ObjectType objectType, VersionPart majorVersion) public pure returns (RoleId) {
132
+ return RoleId.wrap(
133
+ uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + majorVersion.toInt()));
134
+ }
135
+
136
+ /// @dev Converts an uint into a RoleId.
137
+ /// Used for GIF core contracts.
138
+ function roleForTypeAndAllVersions(ObjectType objectType) public pure returns (RoleId) {
139
+ return RoleId.wrap(
140
+ uint64(SERVICE_DOMAIN_ROLE_FACTOR * objectType.toInt() + ALL_VERSIONS));
141
+ }
142
+
143
+ /// @dev Returns true if the value is non-zero (> 0).
144
+ function gtz(RoleId a) public pure returns (bool) {
145
+ return RoleId.unwrap(a) > 0;
146
+ }
147
+
148
+ /// @dev Returns true if the value is zero (== 0).
149
+ function eqz(RoleId a) public pure returns (bool) {
150
+ return RoleId.unwrap(a) == 0;
151
+ }
152
+
153
+ /// @dev Returns the key32 value for the specified id and object type.
154
+ function toKey32(RoleId a) public pure returns (Key32 key) {
155
+ return Key32Lib.toKey32(ROLE(), toKeyId(a));
156
+ }
157
+
158
+ /// @dev Returns the key id value for the specified id
159
+ function toKeyId(RoleId a) public pure returns (KeyId keyId) {
160
+ return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
161
+ }
162
+ }
@@ -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) {