@etherisc/gif-next 0.0.2-f626d92-602 → 0.0.2-f634e5c-828

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 (687) hide show
  1. package/README.md +77 -10
  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/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  6. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  8. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  10. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  12. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  14. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  18. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1310 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → distribution/Distribution.sol/Distribution.json} +348 -313
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1494 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +903 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +221 -327
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1415 -0
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1965 -0
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1163 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2267 -0
  56. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  57. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  58. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +350 -1997
  60. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +189 -113
  62. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/Instance.sol/Instance.json +406 -2791
  64. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1684 -0
  66. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  68. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1328 -331
  70. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +264 -425
  72. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +156 -151
  74. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
  76. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  77. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  78. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  80. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  81. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  82. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  84. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  85. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  86. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  88. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  90. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  92. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  95. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  96. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  97. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  99. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  101. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  103. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  106. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +282 -179
  107. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  108. package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +274 -253
  109. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
  111. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
  113. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  114. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +321 -457
  115. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  117. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1360 -0
  119. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
  121. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  122. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +323 -60
  123. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  124. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → pool/IPoolComponent.sol/IPoolComponent.json} +346 -281
  125. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
  127. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  128. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → pool/Pool.sol/Pool.json} +387 -436
  129. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1619 -0
  131. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +794 -0
  133. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +806 -0
  135. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  137. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  138. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +409 -442
  139. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  141. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
  143. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
  145. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  146. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +117 -166
  147. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  149. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  150. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPolicyService.sol/IPolicyService.json} +485 -385
  151. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  153. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +991 -0
  155. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  156. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +41 -62
  157. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1313 -0
  159. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +810 -0
  161. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
  163. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  165. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  166. package/artifacts/contracts/product/Product.sol/Product.json +1092 -0
  167. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  169. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  171. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  173. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +457 -27
  175. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +263 -110
  177. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  179. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  180. package/artifacts/contracts/registry/Registry.sol/Registry.json +949 -128
  181. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
  183. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +349 -245
  185. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +161 -94
  187. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  189. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  191. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  193. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  195. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  196. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/Component.sol/Component.json} +292 -204
  197. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1908 -0
  199. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +850 -0
  201. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  202. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +124 -125
  203. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  206. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  207. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  208. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  209. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  210. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +146 -131
  211. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  212. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1467 -0
  213. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  214. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  215. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  216. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  217. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  218. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  219. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  220. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
  221. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  223. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +28 -6
  225. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  227. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IService.sol/IService.json +46 -6
  229. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  230. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  231. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  232. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  233. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  234. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  235. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  236. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  237. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  238. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  239. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
  241. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  243. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +69 -99
  245. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  247. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  248. package/artifacts/contracts/shared/Service.sol/Service.json +58 -112
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  250. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
  251. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  252. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  253. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  254. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  255. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  256. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → staking/IStaking.sol/IStaking.json} +708 -602
  257. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  258. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  259. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  260. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  261. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  262. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  263. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  264. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  265. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  266. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  267. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  268. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  269. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  270. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
  271. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  272. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
  273. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  274. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  275. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  276. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  277. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  278. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  279. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  280. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  281. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  282. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  283. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  284. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  285. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  286. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  287. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  288. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  289. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  290. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  291. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  292. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  293. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  294. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  295. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  296. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  297. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  299. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  301. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  303. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  305. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  306. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +180 -0
  307. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  308. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  309. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  310. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  311. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  312. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  313. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  314. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  315. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  316. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  317. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  318. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  319. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  320. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  321. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  322. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  323. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  324. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  325. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  326. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  327. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  328. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  329. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  330. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  331. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  332. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  333. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  334. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  335. package/contracts/authorization/AccessAdmin.sol +615 -0
  336. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  337. package/contracts/authorization/Authorization.sol +289 -0
  338. package/contracts/authorization/IAccess.sol +49 -0
  339. package/contracts/authorization/IAccessAdmin.sol +137 -0
  340. package/contracts/authorization/IAuthorization.sol +60 -0
  341. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  342. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  343. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  344. package/contracts/distribution/BasicDistribution.sol +139 -0
  345. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  346. package/contracts/{components → distribution}/Distribution.sol +166 -162
  347. package/contracts/distribution/DistributionService.sol +354 -0
  348. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  349. package/contracts/distribution/IDistributionComponent.sol +52 -0
  350. package/contracts/{instance/service → distribution}/IDistributionService.sol +35 -34
  351. package/contracts/examples/fire/DamageLevel.sol +59 -0
  352. package/contracts/examples/fire/FirePool.sol +86 -0
  353. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  354. package/contracts/examples/fire/FireProduct.sol +431 -0
  355. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  356. package/contracts/examples/fire/FireUSD.sol +26 -0
  357. package/contracts/examples/unpermissioned/SimpleDistribution.sol +65 -0
  358. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  359. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  360. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  361. package/contracts/instance/BundleSet.sol +130 -0
  362. package/contracts/instance/IInstance.sol +45 -72
  363. package/contracts/instance/IInstanceService.sol +37 -39
  364. package/contracts/instance/Instance.sol +162 -250
  365. package/contracts/instance/InstanceAdmin.sol +288 -0
  366. package/contracts/instance/InstanceAuthorizationV3.sol +218 -0
  367. package/contracts/instance/InstanceReader.sol +351 -61
  368. package/contracts/instance/InstanceService.sol +250 -353
  369. package/contracts/instance/InstanceServiceManager.sol +14 -29
  370. package/contracts/instance/InstanceStore.sol +287 -0
  371. package/contracts/instance/RiskSet.sol +119 -0
  372. package/contracts/instance/base/BalanceStore.sol +123 -0
  373. package/contracts/instance/base/Cloneable.sol +28 -0
  374. package/contracts/instance/base/ObjectCounter.sol +20 -0
  375. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  376. package/contracts/instance/base/ObjectSet.sol +78 -0
  377. package/contracts/instance/module/IAccess.sol +4 -12
  378. package/contracts/instance/module/IBundle.sol +6 -9
  379. package/contracts/instance/module/IComponents.sol +27 -18
  380. package/contracts/instance/module/IDistribution.sol +6 -6
  381. package/contracts/instance/module/IPolicy.sol +48 -35
  382. package/contracts/instance/module/IRisk.sol +2 -1
  383. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  384. package/contracts/oracle/BasicOracle.sol +47 -0
  385. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  386. package/contracts/oracle/IOracle.sol +36 -0
  387. package/contracts/oracle/IOracleComponent.sol +33 -0
  388. package/contracts/oracle/IOracleService.sol +66 -0
  389. package/contracts/oracle/Oracle.sol +156 -0
  390. package/contracts/oracle/OracleService.sol +309 -0
  391. package/contracts/oracle/OracleServiceManager.sol +39 -0
  392. package/contracts/pool/BasicPool.sol +175 -0
  393. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  394. package/contracts/pool/BundleService.sol +423 -0
  395. package/contracts/pool/BundleServiceManager.sol +39 -0
  396. package/contracts/pool/IBundleService.sol +122 -0
  397. package/contracts/pool/IPoolComponent.sol +62 -0
  398. package/contracts/pool/IPoolService.sol +153 -0
  399. package/contracts/pool/Pool.sol +345 -0
  400. package/contracts/pool/PoolService.sol +612 -0
  401. package/contracts/pool/PoolServiceManager.sol +39 -0
  402. package/contracts/product/ApplicationService.sol +259 -0
  403. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  404. package/contracts/product/BasicProduct.sol +49 -0
  405. package/contracts/product/BasicProductAuthorization.sol +42 -0
  406. package/contracts/product/ClaimService.sol +614 -0
  407. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  408. package/contracts/{instance/service → product}/IApplicationService.sol +19 -35
  409. package/contracts/product/IClaimService.sol +123 -0
  410. package/contracts/product/IPolicyService.sol +90 -0
  411. package/contracts/product/IPricingService.sol +39 -0
  412. package/contracts/product/IProductComponent.sol +59 -0
  413. package/contracts/product/IRiskService.sol +33 -0
  414. package/contracts/product/PolicyService.sol +733 -0
  415. package/contracts/product/PolicyServiceManager.sol +39 -0
  416. package/contracts/product/PricingService.sol +300 -0
  417. package/contracts/product/PricingServiceManager.sol +39 -0
  418. package/contracts/product/Product.sol +427 -0
  419. package/contracts/product/RiskService.sol +107 -0
  420. package/contracts/product/RiskServiceManager.sol +39 -0
  421. package/contracts/registry/ChainNft.sol +79 -40
  422. package/contracts/registry/IRegistry.sol +98 -26
  423. package/contracts/registry/IRegistryService.sol +34 -40
  424. package/contracts/registry/ITransferInterceptor.sol +1 -2
  425. package/contracts/registry/Registry.sol +453 -195
  426. package/contracts/registry/RegistryAdmin.sol +451 -0
  427. package/contracts/registry/RegistryService.sol +87 -128
  428. package/contracts/registry/RegistryServiceManager.sol +23 -32
  429. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  430. package/contracts/registry/ReleaseRegistry.sol +486 -0
  431. package/contracts/registry/ServiceAuthorizationV3.sol +176 -0
  432. package/contracts/registry/TokenRegistry.sol +261 -62
  433. package/contracts/shared/Component.sol +222 -0
  434. package/contracts/shared/ComponentService.sol +869 -0
  435. package/contracts/shared/ComponentServiceManager.sol +38 -0
  436. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  437. package/contracts/shared/ContractLib.sol +224 -0
  438. package/contracts/shared/IComponent.sol +67 -0
  439. package/contracts/shared/IComponentService.sol +134 -0
  440. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  441. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  442. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  443. package/contracts/shared/INftOwnable.sol +4 -2
  444. package/contracts/shared/IPolicyHolder.sol +23 -14
  445. package/contracts/shared/IRegisterable.sol +11 -0
  446. package/contracts/shared/IRegistryLinked.sol +0 -1
  447. package/contracts/shared/IService.sol +12 -3
  448. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  449. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  450. package/contracts/shared/KeyValueStore.sol +131 -0
  451. package/contracts/shared/Lifecycle.sol +88 -0
  452. package/contracts/shared/NftIdSet.sol +65 -0
  453. package/contracts/shared/NftOwnable.sol +32 -25
  454. package/contracts/shared/PolicyHolder.sol +22 -41
  455. package/contracts/shared/Registerable.sol +32 -23
  456. package/contracts/shared/RegistryLinked.sol +9 -19
  457. package/contracts/shared/Service.sol +48 -36
  458. package/contracts/shared/TokenHandler.sol +368 -12
  459. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  460. package/contracts/staking/IStaking.sol +173 -0
  461. package/contracts/staking/IStakingService.sol +157 -0
  462. package/contracts/staking/StakeManagerLib.sol +224 -0
  463. package/contracts/staking/Staking.sol +505 -0
  464. package/contracts/staking/StakingLifecycle.sol +23 -0
  465. package/contracts/staking/StakingManager.sol +52 -0
  466. package/contracts/staking/StakingReader.sol +190 -0
  467. package/contracts/staking/StakingService.sol +440 -0
  468. package/contracts/staking/StakingServiceManager.sol +44 -0
  469. package/contracts/staking/StakingStore.sol +605 -0
  470. package/contracts/staking/TargetManagerLib.sol +211 -0
  471. package/contracts/{types → type}/AddressSet.sol +1 -1
  472. package/contracts/type/Amount.sol +150 -0
  473. package/contracts/{types → type}/Blocknumber.sol +26 -3
  474. package/contracts/{types → type}/ClaimId.sol +31 -3
  475. package/contracts/{types → type}/Fee.sol +24 -22
  476. package/contracts/{types → type}/Key32.sol +2 -2
  477. package/contracts/type/Key32Set.sol +62 -0
  478. package/contracts/{types → type}/NftId.sol +21 -16
  479. package/contracts/{types → type}/NftIdSet.sol +2 -2
  480. package/contracts/type/ObjectType.sol +278 -0
  481. package/contracts/type/PayoutId.sol +82 -0
  482. package/contracts/{types → type}/Referral.sol +2 -1
  483. package/contracts/type/RequestId.sol +75 -0
  484. package/contracts/{types → type}/RiskId.sol +31 -5
  485. package/contracts/type/RoleId.sol +162 -0
  486. package/contracts/type/Seconds.sol +101 -0
  487. package/contracts/type/Selector.sol +102 -0
  488. package/contracts/{types → type}/StateId.sol +47 -4
  489. package/contracts/type/String.sol +53 -0
  490. package/contracts/{types → type}/Timestamp.sol +21 -2
  491. package/contracts/{types → type}/UFixed.sol +40 -121
  492. package/contracts/{types → type}/Version.sol +4 -2
  493. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  494. package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
  495. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  496. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  497. package/package.json +11 -7
  498. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  499. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  500. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  501. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  502. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  503. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  504. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  505. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  506. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  507. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  508. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  509. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  510. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  511. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  513. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  514. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  515. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  516. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  517. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  518. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  519. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  520. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  521. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  522. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  523. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  525. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
  527. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
  529. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
  531. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
  533. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  534. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
  535. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
  537. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
  539. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  540. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  541. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  543. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  545. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  546. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  547. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  548. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  549. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
  550. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  551. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
  552. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  553. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  554. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  556. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  557. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  558. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  559. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  560. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  561. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  562. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  563. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
  564. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  566. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  567. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  568. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  569. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  570. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  571. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  572. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  573. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  574. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  575. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  576. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  577. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  578. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  579. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  580. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  581. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  582. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  583. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  584. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  585. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  586. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  587. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  588. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  589. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  590. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  591. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  592. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  593. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
  594. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  595. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  596. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  598. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  600. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  602. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  604. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  605. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  606. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  607. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  608. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  609. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  610. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  611. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  612. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  613. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  614. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  615. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  616. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  617. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  618. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  619. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  620. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  621. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  622. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  623. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  624. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  625. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  626. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  627. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
  628. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  629. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  630. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  631. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  632. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  633. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  634. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  636. package/contracts/components/Component.sol +0 -253
  637. package/contracts/components/IComponent.sol +0 -76
  638. package/contracts/components/IDistributionComponent.sol +0 -71
  639. package/contracts/components/IPoolComponent.sol +0 -113
  640. package/contracts/components/IProductComponent.sol +0 -40
  641. package/contracts/components/Pool.sol +0 -303
  642. package/contracts/components/Product.sol +0 -293
  643. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  644. package/contracts/instance/BundleManager.sol +0 -127
  645. package/contracts/instance/Cloneable.sol +0 -51
  646. package/contracts/instance/InstanceAccessManager.sol +0 -527
  647. package/contracts/instance/ObjectManager.sol +0 -82
  648. package/contracts/instance/base/ComponentService.sol +0 -121
  649. package/contracts/instance/base/KeyValueStore.sol +0 -180
  650. package/contracts/instance/base/Lifecycle.sol +0 -109
  651. package/contracts/instance/module/ISetup.sol +0 -33
  652. package/contracts/instance/module/ITreasury.sol +0 -23
  653. package/contracts/instance/service/ApplicationService.sol +0 -350
  654. package/contracts/instance/service/BundleService.sol +0 -431
  655. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  656. package/contracts/instance/service/ClaimService.sol +0 -151
  657. package/contracts/instance/service/DistributionService.sol +0 -435
  658. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  659. package/contracts/instance/service/IBundleService.sol +0 -93
  660. package/contracts/instance/service/IClaimService.sol +0 -61
  661. package/contracts/instance/service/IPolicyService.sol +0 -72
  662. package/contracts/instance/service/IPoolService.sol +0 -99
  663. package/contracts/instance/service/IProductService.sol +0 -40
  664. package/contracts/instance/service/PolicyService.sol +0 -362
  665. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  666. package/contracts/instance/service/PoolService.sol +0 -303
  667. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  668. package/contracts/instance/service/ProductService.sol +0 -210
  669. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  670. package/contracts/registry/RegistryAccessManager.sol +0 -216
  671. package/contracts/registry/ReleaseManager.sol +0 -324
  672. package/contracts/shared/ContractDeployerLib.sol +0 -72
  673. package/contracts/test/TestFee.sol +0 -25
  674. package/contracts/test/TestRegisterable.sol +0 -18
  675. package/contracts/test/TestRoleId.sol +0 -14
  676. package/contracts/test/TestService.sol +0 -25
  677. package/contracts/test/TestToken.sol +0 -26
  678. package/contracts/test/TestVersion.sol +0 -44
  679. package/contracts/test/TestVersionable.sol +0 -17
  680. package/contracts/types/Amount.sol +0 -60
  681. package/contracts/types/ChainId.sol +0 -38
  682. package/contracts/types/NumberId.sol +0 -52
  683. package/contracts/types/ObjectType.sol +0 -157
  684. package/contracts/types/PayoutId.sol +0 -54
  685. package/contracts/types/RoleId.sol +0 -97
  686. package/contracts/types/Seconds.sol +0 -54
  687. /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -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
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {ObjectType} from "./ObjectType.sol";
@@ -14,29 +14,18 @@ using {
14
14
  NftIdLib.toInt,
15
15
  NftIdLib.gtz,
16
16
  NftIdLib.eqz,
17
+ NftIdLib.eq,
17
18
  NftIdLib.toKeyId,
18
19
  NftIdLib.toKey32
19
20
  } for NftId global;
20
21
 
21
- // general pure free functions
22
- /// @dev Converts the uint256 to a NftId.
23
- function toNftId(uint256 id) pure returns (NftId) {
24
- return NftId.wrap(uint96(id));
25
- }
26
-
27
- // TODO move to NftIdLib and rename to zero()
28
- /// @dev Return the NftId zero (0)
29
- function zeroNftId() pure returns (NftId) {
30
- return NftId.wrap(0);
31
- }
32
-
33
22
  // pure free functions for operators
34
23
  function eqNftId(NftId a, NftId b) pure returns (bool isSame) {
35
- return NftId.unwrap(a) == NftId.unwrap(b);
24
+ return NftIdLib.eq(a, b);
36
25
  }
37
26
 
38
27
  function neNftId(NftId a, NftId b) pure returns (bool isDifferent) {
39
- return NftId.unwrap(a) != NftId.unwrap(b);
28
+ return NftIdLib.ne(a, b);
40
29
  }
41
30
 
42
31
  // library functions that operate on user defined type
@@ -48,6 +37,11 @@ library NftIdLib {
48
37
  return NftId.wrap(0);
49
38
  }
50
39
 
40
+ /// @dev Converts the uint256 to a NftId.
41
+ function toNftId(uint256 id) public pure returns (NftId) {
42
+ return NftId.wrap(uint96(id));
43
+ }
44
+
51
45
  /// @dev Converts the NftId to a uint256.
52
46
  function toInt(NftId nftId) public pure returns (uint96) {
53
47
  return uint96(NftId.unwrap(nftId));
@@ -65,7 +59,12 @@ library NftIdLib {
65
59
 
66
60
  /// @dev Returns true if the values are equal (==).
67
61
  function eq(NftId a, NftId b) public pure returns (bool isSame) {
68
- return eqNftId(a, b);
62
+ return NftId.unwrap(a) == NftId.unwrap(b);
63
+ }
64
+
65
+ /// @dev Returns true if the values are not equal (!=).
66
+ function ne(NftId a, NftId b) public pure returns (bool isSame) {
67
+ return NftId.unwrap(a) != NftId.unwrap(b);
69
68
  }
70
69
 
71
70
  /// @dev Returns the key32 value for the specified nft id and object type.
@@ -77,4 +76,10 @@ library NftIdLib {
77
76
  function toKeyId(NftId id) public pure returns (KeyId keyId) {
78
77
  return KeyId.wrap(bytes31(uint248(NftId.unwrap(id))));
79
78
  }
79
+
80
+ function toNftId(KeyId keyId) public pure returns (NftId nftId) {
81
+ uint248 keyIdInt = uint248(bytes31(KeyId.unwrap(keyId)));
82
+ assert(keyIdInt < type(uint96).max);
83
+ return NftId.wrap(uint96(keyIdInt));
84
+ }
80
85
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../types/NftId.sol";
4
+ import {NftId} from "../type/NftId.sol";
5
5
 
6
6
  // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
7
7
  library LibNftIdSet {
@@ -0,0 +1,278 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type ObjectType is uint8;
5
+
6
+ // type bindings
7
+ using {
8
+ eqObjectType as ==,
9
+ neObjectType as !=,
10
+ ObjectTypeLib.toInt,
11
+ ObjectTypeLib.eqz,
12
+ ObjectTypeLib.eq,
13
+ ObjectTypeLib.gtz
14
+ } for ObjectType global;
15
+
16
+
17
+ //--- GIF object types/domains (rage: 1 - 99) -------------------------------//
18
+
19
+ function PROTOCOL() pure returns (ObjectType) {
20
+ return ObjectType.wrap(1);
21
+ }
22
+
23
+ function REGISTRY() pure returns (ObjectType) {
24
+ return ObjectType.wrap(2);
25
+ }
26
+
27
+ function STAKING() pure returns (ObjectType) {
28
+ return ObjectType.wrap(3);
29
+ }
30
+
31
+ function RELEASE() pure returns (ObjectType) {
32
+ return ObjectType.wrap(6);
33
+ }
34
+
35
+ function ROLE() pure returns (ObjectType) {
36
+ return ObjectType.wrap(7);
37
+ }
38
+
39
+ function SERVICE() pure returns (ObjectType) {
40
+ return ObjectType.wrap(8);
41
+ }
42
+
43
+ function INSTANCE() pure returns (ObjectType) {
44
+ return ObjectType.wrap(10);
45
+ }
46
+
47
+ function COMPONENT() pure returns (ObjectType) {
48
+ return ObjectType.wrap(11);
49
+ }
50
+
51
+ function PRODUCT() pure returns (ObjectType) {
52
+ return ObjectType.wrap(12);
53
+ }
54
+
55
+ function ORACLE() pure returns (ObjectType) {
56
+ return ObjectType.wrap(13);
57
+ }
58
+
59
+ function DISTRIBUTION() pure returns (ObjectType) {
60
+ return ObjectType.wrap(14);
61
+ }
62
+
63
+ function POOL() pure returns (ObjectType) {
64
+ return ObjectType.wrap(15);
65
+ }
66
+
67
+ function APPLICATION() pure returns (ObjectType) {
68
+ return ObjectType.wrap(20);
69
+ }
70
+
71
+ function POLICY() pure returns (ObjectType) {
72
+ return ObjectType.wrap(21);
73
+ }
74
+
75
+ function PREMIUM() pure returns (ObjectType) {
76
+ return ObjectType.wrap(22);
77
+ }
78
+
79
+ function CLAIM() pure returns (ObjectType) {
80
+ return ObjectType.wrap(23);
81
+ }
82
+
83
+ function PAYOUT() pure returns (ObjectType) {
84
+ return ObjectType.wrap(24);
85
+ }
86
+
87
+ function RISK() pure returns (ObjectType) {
88
+ return ObjectType.wrap(25);
89
+ }
90
+
91
+ function PRICE() pure returns (ObjectType) {
92
+ return ObjectType.wrap(26);
93
+ }
94
+
95
+ function REQUEST() pure returns (ObjectType) {
96
+ return ObjectType.wrap(27);
97
+ }
98
+
99
+ function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
100
+ return ObjectType.wrap(28);
101
+ }
102
+
103
+ function DISTRIBUTOR() pure returns (ObjectType) {
104
+ return ObjectType.wrap(29);
105
+ }
106
+
107
+ function REFERRAL() pure returns (ObjectType) {
108
+ return ObjectType.wrap(30);
109
+ }
110
+
111
+ function BUNDLE() pure returns (ObjectType) {
112
+ return ObjectType.wrap(31);
113
+ }
114
+
115
+ function TARGET() pure returns (ObjectType) {
116
+ return ObjectType.wrap(32);
117
+ }
118
+
119
+ function STAKE() pure returns (ObjectType) {
120
+ return ObjectType.wrap(33);
121
+ }
122
+
123
+ /// @dev Object type that includes any other object type.
124
+ /// Note that eq()/'==' does not take this property into account.
125
+ function ALL() pure returns (ObjectType) {
126
+ return ObjectType.wrap(99);
127
+ }
128
+
129
+ // other pure free functions for operators
130
+ function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
131
+ return ObjectType.unwrap(a) == ObjectType.unwrap(b);
132
+ }
133
+
134
+ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
135
+ return ObjectType.unwrap(a) != ObjectType.unwrap(b);
136
+ }
137
+
138
+ // library functions that operate on user defined type
139
+ library ObjectTypeLib {
140
+
141
+ error ErrorVersionTooBig(uint256 version);
142
+
143
+ function zero() public pure returns (ObjectType) {
144
+ return ObjectType.wrap(0);
145
+ }
146
+
147
+ /// @dev Converts the uint256 into ObjectType.
148
+ function toObjectType(uint256 objectType) public pure returns (ObjectType) {
149
+ return ObjectType.wrap(uint8(objectType));
150
+ }
151
+
152
+ /// @dev Converts the NftId to a uint256.
153
+ function toInt(ObjectType objectType) public pure returns (uint96) {
154
+ return uint96(ObjectType.unwrap(objectType));
155
+ }
156
+
157
+ /// @dev Returns true if the value is non-zero (> 0).
158
+ function gtz(ObjectType a) public pure returns (bool) {
159
+ return ObjectType.unwrap(a) > 0;
160
+ }
161
+
162
+ /// @dev Returns true if the value is zero (== 0).
163
+ function eqz(ObjectType a) public pure returns (bool) {
164
+ return ObjectType.unwrap(a) == 0;
165
+ }
166
+
167
+ /// @dev Returns true if the values are equal (==).
168
+ function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
169
+ return ObjectType.unwrap(a) == ObjectType.unwrap(b);
170
+ }
171
+
172
+ /// @dev Returns true if the values are not equal (!=).
173
+ function ne(ObjectType a, ObjectType b) public pure returns (bool isSame) {
174
+ return ObjectType.unwrap(a) != ObjectType.unwrap(b);
175
+ }
176
+
177
+ /// @dev Returns the type/domain name for the provided object type
178
+ function toName(ObjectType objectType) public pure returns (string memory name) {
179
+ if (objectType == REGISTRY()) {
180
+ return "Registry";
181
+ } else if (objectType == STAKING()) {
182
+ return "Staking";
183
+ } else if (objectType == INSTANCE()) {
184
+ return "Instance";
185
+ } else if (objectType == COMPONENT()) {
186
+ return "Component";
187
+ } else if (objectType == PRODUCT()) {
188
+ return "Product";
189
+ } else if (objectType == ORACLE()) {
190
+ return "Oracle";
191
+ } else if (objectType == DISTRIBUTION()) {
192
+ return "Distribution";
193
+ } else if (objectType == POOL()) {
194
+ return "Pool";
195
+ } else if (objectType == APPLICATION()) {
196
+ return "Application";
197
+ } else if (objectType == POLICY()) {
198
+ return "Policy";
199
+ } else if (objectType == CLAIM()) {
200
+ return "Claim";
201
+ } else if (objectType == PRICE()) {
202
+ return "Price";
203
+ } else if (objectType == BUNDLE()) {
204
+ return "Bundle";
205
+ } else if (objectType == RISK()) {
206
+ return "Risk";
207
+ }
208
+
209
+ // fallback: ObjectType<obect-type-int>
210
+ return string(
211
+ abi.encodePacked(
212
+ "ObjectType",
213
+ toString(
214
+ toInt(objectType))));
215
+ }
216
+
217
+ function toVersionedName(
218
+ string memory name,
219
+ string memory suffix,
220
+ uint256 version
221
+ )
222
+ external
223
+ pure
224
+ returns (string memory versionedName)
225
+ {
226
+ if (version > maxNumReleases()) {
227
+ revert ErrorVersionTooBig(version);
228
+ }
229
+
230
+ string memory versionName = "_v0";
231
+
232
+ if (version >= 10) {
233
+ versionName = "_v";
234
+ }
235
+
236
+ versionedName = string(
237
+ abi.encodePacked(
238
+ name,
239
+ suffix,
240
+ versionName,
241
+ toString(version)));
242
+ }
243
+
244
+ /// @dev returns the max number of releases (major versions) this gif setup can handle.
245
+ function maxNumReleases() public pure returns (uint8) {
246
+ return 99;
247
+ }
248
+
249
+ /// @dev returns the provied int as a string
250
+ function toString(uint256 value) public pure returns (string memory name) {
251
+
252
+ if (value == 0) {
253
+ return "0";
254
+ }
255
+
256
+ uint256 temp = value;
257
+ uint256 digits = 0;
258
+ while (temp != 0) {
259
+ digits++;
260
+ temp /= 10;
261
+ }
262
+
263
+ bytes memory buffer = new bytes(digits);
264
+ uint index = digits - 1;
265
+
266
+ temp = value;
267
+ while (temp != 0) {
268
+ buffer[index] = bytes1(uint8(48 + temp % 10));
269
+ temp /= 10;
270
+
271
+ if (index > 0) {
272
+ index--;
273
+ }
274
+ }
275
+
276
+ return string(buffer);
277
+ }
278
+ }
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
5
+ type PayoutId is uint40;
6
+
7
+ import {ClaimId} from "./ClaimId.sol";
8
+ import {PAYOUT} from "./ObjectType.sol";
9
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
10
+ import {NftId} from "./NftId.sol";
11
+
12
+ // type bindings
13
+ using {
14
+ eqPayoutId as ==,
15
+ nePayoutId as !=,
16
+ PayoutIdLib.eqz,
17
+ PayoutIdLib.gtz,
18
+ PayoutIdLib.toInt,
19
+ PayoutIdLib.toClaimId,
20
+ PayoutIdLib.toPayoutNo,
21
+ PayoutIdLib.toKey32
22
+ } for PayoutId global;
23
+
24
+
25
+ // pure free functions for operators
26
+ function eqPayoutId(PayoutId a, PayoutId b) pure returns (bool isSame) {
27
+ return PayoutId.unwrap(a) == PayoutId.unwrap(b);
28
+ }
29
+
30
+ function nePayoutId(PayoutId a, PayoutId b) pure returns (bool isDifferent) {
31
+ return PayoutId.unwrap(a) != PayoutId.unwrap(b);
32
+ }
33
+
34
+ // library functions that operate on user defined type
35
+ library PayoutIdLib {
36
+ /// @dev Converts the PayoutId to a uint.
37
+ function zero() public pure returns (PayoutId) {
38
+ return PayoutId.wrap(0);
39
+ }
40
+
41
+ /// @dev Converts an uint into a PayoutId.
42
+ function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
44
+ }
45
+
46
+ function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
48
+ }
49
+
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
51
+ return uint24(PayoutId.unwrap(payoutId) & 16777215);
52
+ }
53
+
54
+ /// @dev Converts the PayoutId to a uint.
55
+ function toInt(PayoutId a) public pure returns (uint40) {
56
+ return PayoutId.unwrap(a);
57
+ }
58
+
59
+ /// @dev Returns true if the value is non-zero (> 0).
60
+ function gtz(PayoutId a) public pure returns (bool) {
61
+ return PayoutId.unwrap(a) > 0;
62
+ }
63
+
64
+ /// @dev Returns true if the value is zero (== 0).
65
+ function eqz(PayoutId a) public pure returns (bool) {
66
+ return PayoutId.unwrap(a) == 0;
67
+ }
68
+
69
+ /// @dev Converts the PayoutId and NftId to a Key32.
70
+ function toKey32(PayoutId payoutId, NftId policyNftId) public pure returns (Key32) {
71
+ return Key32Lib.toKey32(PAYOUT(), toKeyId(payoutId, policyNftId));
72
+ }
73
+
74
+ /// @dev Converts the PayoutId and NftId to a Key32.
75
+ function toKeyId(PayoutId payoutId, NftId policyNftId) public pure returns (KeyId) {
76
+ return KeyId.wrap(
77
+ bytes31(
78
+ bytes15(
79
+ uint120(
80
+ (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
81
+ }
82
+ }
@@ -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
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {NftId} from "./NftId.sol";
@@ -12,6 +12,7 @@ type ReferralStatus is uint8;
12
12
  using {
13
13
  eqReferralId as ==,
14
14
  neReferralId as !=,
15
+ ReferralLib.eqz,
15
16
  ReferralLib.toKey32
16
17
  } for ReferralId global;
17
18
 
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {REQUEST} from "./ObjectType.sol";
6
+
7
+ type RequestId is uint64;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRequestId as ==,
12
+ neRequestId as !=,
13
+ RequestIdLib.eqz,
14
+ RequestIdLib.gtz,
15
+ RequestIdLib.toInt,
16
+ RequestIdLib.toKey32
17
+ } for RequestId global;
18
+
19
+ // general pure free functions
20
+
21
+ function eqRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
22
+ return RequestIdLib.eq(a, b);
23
+ }
24
+
25
+ function neRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
26
+ return RequestIdLib.ne(a, b);
27
+ }
28
+
29
+ library RequestIdLib {
30
+
31
+ // @dev zero element to refer to a non existing/initialized request
32
+ function zero() public pure returns (RequestId) {
33
+ return RequestId.wrap(0);
34
+ }
35
+
36
+ // @dev Converts an int id into a request id.
37
+ function toRequestId(uint256 id) public pure returns (RequestId) {
38
+ return RequestId.wrap(uint64(id));
39
+ }
40
+
41
+ // @dev Converts a request id back to an int value.
42
+ function toInt(RequestId requestId) public pure returns (uint256) {
43
+ return RequestId.unwrap(requestId);
44
+ }
45
+
46
+ // @dev Returns true iff request id a == 0
47
+ function eqz(RequestId a) public pure returns (bool) {
48
+ return RequestId.unwrap(a) == 0;
49
+ }
50
+
51
+ // @dev Returns true iff request id a > 0
52
+ function gtz(RequestId a) public pure returns (bool) {
53
+ return RequestId.unwrap(a) > 0;
54
+ }
55
+
56
+ // @dev Returns true iff risk ids a and b are identical
57
+ function eq(RequestId a, RequestId b) public pure returns (bool isSame) {
58
+ return RequestId.unwrap(a) == RequestId.unwrap(b);
59
+ }
60
+
61
+ // @dev Returns true iff risk ids a and b are different
62
+ function ne(RequestId a, RequestId b) public pure returns (bool isSame) {
63
+ return RequestId.unwrap(a) != RequestId.unwrap(b);
64
+ }
65
+
66
+ /// @dev Returns the key32 value for the specified nft id and object type.
67
+ function toKey32(RequestId id) public pure returns (Key32 key) {
68
+ return Key32Lib.toKey32(REQUEST(), toKeyId(id));
69
+ }
70
+
71
+ /// @dev Returns the key id value for the specified nft id
72
+ function toKeyId(RequestId id) public pure returns (KeyId keyId) {
73
+ return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
74
+ }
75
+ }
@@ -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
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {RISK} from "./ObjectType.sol";
@@ -10,6 +10,10 @@ type RiskId is bytes8;
10
10
  using {
11
11
  eqRiskId as ==,
12
12
  neRiskId as !=,
13
+ RiskIdLib.eq,
14
+ RiskIdLib.eqz,
15
+ RiskIdLib.toInt,
16
+ RiskIdLib.toKeyId,
13
17
  RiskIdLib.toKey32
14
18
  } for RiskId global;
15
19
 
@@ -26,18 +30,40 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
26
30
  }
27
31
 
28
32
  library RiskIdLib {
29
- // @dev Converts a role string into a role id.
33
+ function zero() public pure returns (RiskId) {
34
+ return RiskId.wrap(bytes8(0));
35
+ }
36
+
37
+ // @dev Converts a risk id into a uint256.
38
+ function toInt(RiskId riskId) public pure returns (uint256) {
39
+ return uint64(RiskId.unwrap(riskId));
40
+ }
41
+
42
+ // @dev Converts a risk id string into a risk id.
30
43
  function toRiskId(string memory risk) public pure returns (RiskId) {
31
44
  return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
32
45
  }
33
46
 
34
- /// @dev Returns the key32 value for the specified nft id and object type.
35
- function toKey32(RiskId id) public pure returns (Key32 key) {
36
- return Key32Lib.toKey32(RISK(), toKeyId(id));
47
+ /// @dev Returns the key32 value for the specified risk id.
48
+ function toKey32(RiskId riskId) public pure returns (Key32 key) {
49
+ return Key32Lib.toKey32(RISK(), toKeyId(riskId));
37
50
  }
38
51
 
39
52
  /// @dev Returns the key id value for the specified nft id
40
53
  function toKeyId(RiskId id) public pure returns (KeyId keyId) {
41
54
  return KeyId.wrap(bytes31(RiskId.unwrap(id)));
42
55
  }
56
+
57
+ function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
58
+ riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
59
+ assert(toInt(riskId) < 2**64);
60
+ }
61
+
62
+ function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
63
+ return eqRiskId(a, b);
64
+ }
65
+
66
+ function eqz(RiskId a) public pure returns (bool isZero) {
67
+ return eqRiskId(a, zero());
68
+ }
43
69
  }