@etherisc/gif-next 0.0.2-eadf4ad-726 → 0.0.2-eae5e95-691

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 (527) hide show
  1. package/README.md +51 -5
  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/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  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 +1415 -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 +1 -1
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +230 -545
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +315 -432
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +120 -109
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +214 -290
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +215 -94
  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 +1551 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2090 -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 +1484 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1244 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1605 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2108 -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 +113 -97
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +171 -85
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +120 -207
  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 +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +850 -366
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +245 -229
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -79
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1212 -381
  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 +1 -1
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  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 +1 -1
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  92. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  94. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1052 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  96. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  100. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +783 -0
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  102. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  104. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +920 -0
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  106. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  110. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1312 -0
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +494 -317
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +186 -87
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  118. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +256 -31
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  120. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +235 -375
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  122. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -254
  123. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  124. package/artifacts/contracts/pool/Pool.sol/Pool.json +269 -565
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +572 -569
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +112 -93
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  130. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +117 -264
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +99 -76
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  134. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1186 -0
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  136. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  138. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +329 -284
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +141 -90
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +54 -1
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  144. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +196 -7
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  146. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +354 -80
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  148. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +154 -86
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  150. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +355 -209
  151. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  152. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -57
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  154. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +418 -397
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +124 -121
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  158. package/artifacts/contracts/product/PricingService.sol/PricingService.json +233 -330
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +128 -93
  161. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  162. package/artifacts/contracts/product/Product.sol/Product.json +377 -431
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  166. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  168. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  170. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +391 -45
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  172. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +123 -64
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  174. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +0 -18
  175. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  176. package/artifacts/contracts/registry/Registry.sol/Registry.json +789 -60
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  178. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1886 -0
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  180. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +179 -185
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  182. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +86 -74
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  184. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  186. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -138
  191. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  192. package/artifacts/contracts/shared/Component.sol/Component.json +136 -271
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  194. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1335 -198
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  196. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +814 -0
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  198. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +474 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  200. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +105 -114
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  204. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1335 -0
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  206. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  208. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +46 -14
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  212. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  216. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +36 -1
  217. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IService.sol/IService.json +49 -1
  220. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  221. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  222. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  223. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +842 -0
  224. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  225. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  226. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  227. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  228. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  229. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  230. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +26 -55
  232. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  233. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  235. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +68 -85
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  237. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  238. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  239. package/artifacts/contracts/shared/Service.sol/Service.json +55 -101
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  241. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
  242. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  243. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  244. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  245. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1460 -0
  246. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  247. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +573 -53
  248. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  250. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/Staking.sol/Staking.json +1901 -0
  252. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  254. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +776 -0
  256. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  258. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  259. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +658 -176
  260. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  261. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +109 -66
  262. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  264. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  265. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  266. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  267. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  268. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  269. package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
  270. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  272. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  274. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  276. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
  278. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  279. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  280. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  282. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  283. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  284. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  286. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  288. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  290. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  292. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  294. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  296. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
  298. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  300. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  302. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  304. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  306. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  308. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  310. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  312. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  314. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  316. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  317. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  318. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  319. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  320. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  321. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  322. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  323. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  324. package/contracts/authorization/AccessAdmin.sol +596 -0
  325. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  326. package/contracts/authorization/Authorization.sol +289 -0
  327. package/contracts/authorization/IAccess.sol +49 -0
  328. package/contracts/authorization/IAccessAdmin.sol +137 -0
  329. package/contracts/authorization/IAuthorization.sol +60 -0
  330. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  331. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  332. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  333. package/contracts/distribution/BasicDistribution.sol +139 -0
  334. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  335. package/contracts/distribution/Distribution.sol +154 -154
  336. package/contracts/distribution/DistributionService.sol +175 -172
  337. package/contracts/distribution/DistributionServiceManager.sol +8 -23
  338. package/contracts/distribution/IDistributionComponent.sol +28 -47
  339. package/contracts/distribution/IDistributionService.sol +24 -10
  340. package/contracts/examples/fire/DamageLevel.sol +59 -0
  341. package/contracts/examples/fire/FirePool.sol +75 -0
  342. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  343. package/contracts/examples/fire/FireProduct.sol +412 -0
  344. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  345. package/contracts/examples/fire/FireUSD.sol +26 -0
  346. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  347. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  348. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  349. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  350. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  351. package/contracts/instance/IInstance.sol +33 -44
  352. package/contracts/instance/IInstanceService.sol +32 -33
  353. package/contracts/instance/Instance.sol +131 -122
  354. package/contracts/instance/InstanceAdmin.sol +277 -0
  355. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  356. package/contracts/instance/InstanceReader.sol +194 -67
  357. package/contracts/instance/InstanceService.sol +243 -134
  358. package/contracts/instance/InstanceServiceManager.sol +8 -13
  359. package/contracts/instance/InstanceStore.sol +142 -66
  360. package/contracts/instance/base/BalanceStore.sol +123 -0
  361. package/contracts/instance/base/Cloneable.sol +2 -25
  362. package/contracts/instance/base/ObjectCounter.sol +21 -0
  363. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  364. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  365. package/contracts/instance/module/IAccess.sol +2 -10
  366. package/contracts/instance/module/IBundle.sol +1 -4
  367. package/contracts/instance/module/IComponents.sol +21 -11
  368. package/contracts/instance/module/IDistribution.sol +0 -1
  369. package/contracts/instance/module/IPolicy.sol +31 -25
  370. package/contracts/mock/Dip.sol +26 -0
  371. package/contracts/oracle/BasicOracle.sol +47 -0
  372. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  373. package/contracts/oracle/IOracle.sol +36 -0
  374. package/contracts/oracle/IOracleComponent.sol +33 -0
  375. package/contracts/oracle/IOracleService.sol +66 -0
  376. package/contracts/oracle/Oracle.sol +156 -0
  377. package/contracts/oracle/OracleService.sol +291 -0
  378. package/contracts/oracle/OracleServiceManager.sol +39 -0
  379. package/contracts/pool/BasicPool.sol +154 -0
  380. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  381. package/contracts/pool/BundleService.sol +278 -201
  382. package/contracts/pool/BundleServiceManager.sol +8 -11
  383. package/contracts/pool/IBundleService.sol +44 -19
  384. package/contracts/pool/IPoolComponent.sol +27 -73
  385. package/contracts/pool/IPoolService.sol +93 -40
  386. package/contracts/pool/Pool.sol +186 -153
  387. package/contracts/pool/PoolService.sol +357 -236
  388. package/contracts/pool/PoolServiceManager.sol +6 -9
  389. package/contracts/product/ApplicationService.sol +148 -84
  390. package/contracts/product/ApplicationServiceManager.sol +6 -6
  391. package/contracts/product/BasicProduct.sol +53 -0
  392. package/contracts/product/BasicProductAuthorization.sol +42 -0
  393. package/contracts/product/ClaimService.sol +293 -145
  394. package/contracts/product/ClaimServiceManager.sol +6 -6
  395. package/contracts/product/IApplicationService.sol +2 -1
  396. package/contracts/product/IClaimService.sol +35 -5
  397. package/contracts/product/IPolicyService.sol +38 -38
  398. package/contracts/product/IPricingService.sol +13 -11
  399. package/contracts/product/IProductComponent.sol +28 -10
  400. package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
  401. package/contracts/product/PolicyService.sol +504 -199
  402. package/contracts/product/PolicyServiceManager.sol +6 -9
  403. package/contracts/product/PricingService.sol +103 -82
  404. package/contracts/product/PricingServiceManager.sol +5 -8
  405. package/contracts/product/Product.sol +222 -146
  406. package/contracts/product/RiskService.sol +96 -0
  407. package/contracts/product/RiskServiceManager.sol +39 -0
  408. package/contracts/registry/ChainNft.sol +72 -36
  409. package/contracts/registry/IRegistry.sol +85 -22
  410. package/contracts/registry/IRegistryService.sol +10 -6
  411. package/contracts/registry/ITransferInterceptor.sol +0 -1
  412. package/contracts/registry/Registry.sol +433 -187
  413. package/contracts/registry/RegistryAdmin.sol +448 -0
  414. package/contracts/registry/RegistryService.sol +76 -66
  415. package/contracts/registry/RegistryServiceManager.sol +6 -25
  416. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  417. package/contracts/registry/ReleaseRegistry.sol +501 -0
  418. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  419. package/contracts/registry/TokenRegistry.sol +261 -62
  420. package/contracts/shared/Component.sol +153 -148
  421. package/contracts/shared/ComponentService.sol +688 -94
  422. package/contracts/shared/ComponentServiceManager.sol +38 -0
  423. package/contracts/shared/ComponentVerifyingService.sol +126 -0
  424. package/contracts/shared/ContractLib.sol +38 -0
  425. package/contracts/shared/IComponent.sol +25 -41
  426. package/contracts/shared/IComponentService.sol +120 -0
  427. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  428. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  429. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  430. package/contracts/shared/INftOwnable.sol +3 -1
  431. package/contracts/shared/IPolicyHolder.sol +12 -17
  432. package/contracts/shared/IRegisterable.sol +11 -0
  433. package/contracts/shared/IService.sol +9 -2
  434. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  435. package/contracts/shared/InstanceLinkedComponent.sol +213 -0
  436. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  437. package/contracts/shared/Lifecycle.sol +88 -0
  438. package/contracts/shared/NftIdSet.sol +65 -0
  439. package/contracts/shared/NftOwnable.sol +27 -22
  440. package/contracts/shared/PolicyHolder.sol +18 -50
  441. package/contracts/shared/Registerable.sol +21 -11
  442. package/contracts/shared/RegistryLinked.sol +3 -2
  443. package/contracts/shared/Service.sol +48 -36
  444. package/contracts/shared/TokenHandler.sol +112 -8
  445. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  446. package/contracts/staking/IStaking.sol +168 -0
  447. package/contracts/staking/IStakingService.sol +103 -48
  448. package/contracts/staking/StakeManagerLib.sol +224 -0
  449. package/contracts/staking/Staking.sol +497 -0
  450. package/contracts/staking/StakingLifecycle.sol +23 -0
  451. package/contracts/staking/StakingManager.sol +52 -0
  452. package/contracts/staking/StakingReader.sol +190 -0
  453. package/contracts/staking/StakingService.sol +273 -49
  454. package/contracts/staking/StakingServiceManager.sol +11 -7
  455. package/contracts/staking/StakingStore.sol +605 -0
  456. package/contracts/staking/TargetManagerLib.sol +211 -0
  457. package/contracts/type/AddressSet.sol +1 -1
  458. package/contracts/type/Amount.sol +44 -3
  459. package/contracts/type/Blocknumber.sol +26 -3
  460. package/contracts/type/ClaimId.sol +6 -1
  461. package/contracts/type/Fee.sol +17 -16
  462. package/contracts/type/NftId.sol +15 -16
  463. package/contracts/type/NftIdSet.sol +1 -1
  464. package/contracts/type/ObjectType.sol +176 -62
  465. package/contracts/type/PayoutId.sol +10 -10
  466. package/contracts/type/Referral.sol +2 -1
  467. package/contracts/type/RequestId.sol +75 -0
  468. package/contracts/type/RiskId.sol +16 -2
  469. package/contracts/type/RoleId.sol +98 -75
  470. package/contracts/type/Seconds.sol +48 -1
  471. package/contracts/type/Selector.sol +102 -0
  472. package/contracts/type/StateId.sol +41 -2
  473. package/contracts/type/String.sol +53 -0
  474. package/contracts/type/Timestamp.sol +17 -3
  475. package/contracts/type/UFixed.sol +38 -9
  476. package/contracts/type/Version.sol +4 -2
  477. package/contracts/{shared → upgradeability}/ProxyManager.sol +76 -39
  478. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  479. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  480. package/package.json +9 -5
  481. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  482. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  483. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  485. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  486. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
  487. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  488. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  489. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  490. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  491. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  492. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  493. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  494. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  495. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  496. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  497. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  498. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  499. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  500. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -864
  501. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  502. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -679
  503. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  504. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -238
  505. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  506. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -846
  507. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  508. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  509. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  510. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  511. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  512. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  513. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -598
  514. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  515. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  516. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  517. package/contracts/instance/InstanceAccessManager.sol +0 -543
  518. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
  519. package/contracts/instance/base/Lifecycle.sol +0 -121
  520. package/contracts/instance/module/ISetup.sol +0 -33
  521. package/contracts/instance/module/ITreasury.sol +0 -23
  522. package/contracts/product/ProductService.sol +0 -212
  523. package/contracts/product/ProductServiceManager.sol +0 -42
  524. package/contracts/registry/RegistryAccessManager.sol +0 -132
  525. package/contracts/registry/ReleaseManager.sol +0 -382
  526. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  527. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,543 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
6
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
7
-
8
- import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE, INSTANCE_SERVICE_ROLE, INSTANCE_OWNER_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
9
- import {TimestampLib} from "../type/Timestamp.sol";
10
- import {NftId} from "../type/NftId.sol";
11
-
12
- import {AccessManagerUpgradeableInitializeable} from "../shared/AccessManagerUpgradeableInitializeable.sol";
13
-
14
- import {IRegistry} from "../registry/IRegistry.sol";
15
-
16
- import {IInstance} from "./IInstance.sol";
17
- import {IAccess} from "./module/IAccess.sol";
18
-
19
- contract InstanceAccessManager is
20
- AccessManagedUpgradeable
21
- {
22
- event LogRoleCreation(RoleId roleId, ShortString name, IAccess.Type rtype);
23
- event LogTargetCreation(address target, ShortString name, IAccess.Type ttype, bool isLocked);
24
-
25
- using RoleIdLib for RoleId;
26
-
27
- string public constant ADMIN_ROLE_NAME = "AdminRole";
28
- string public constant PUBLIC_ROLE_NAME = "PublicRole";
29
- string public constant INSTANCE_ROLE_NAME = "InstanceRole";
30
- string public constant INSTANCE_OWNER_ROLE_NAME = "InstanceOwnerRole";
31
-
32
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
33
- uint32 public constant EXECUTION_DELAY = 0;
34
-
35
- // role specific state
36
- mapping(RoleId roleId => IAccess.RoleInfo info) internal _roleInfo;
37
- mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
38
- mapping(ShortString name => RoleId roleId) internal _roleIdForName;
39
- RoleId [] internal _roleIds;
40
- uint64 _idNext;
41
-
42
- // target specific state
43
- mapping(address target => IAccess.TargetInfo info) internal _targetInfo;
44
- mapping(ShortString name => address target) internal _targetAddressForName;
45
- address [] internal _targets;
46
-
47
- AccessManagerUpgradeableInitializeable internal _accessManager;
48
- IRegistry internal _registry;
49
-
50
- modifier restrictedToRoleAdmin(RoleId roleId) {
51
- RoleId admin = getRoleAdmin(roleId);
52
- (bool inRole, uint32 executionDelay) = _accessManager.hasRole(admin.toInt(), _msgSender());
53
- assert(executionDelay == 0); // to be sure no delayed execution functionality is used
54
- if (!inRole) {
55
- revert IAccess.ErrorIAccessCallerIsNotRoleAdmin(_msgSender(), roleId);
56
- }
57
- _;
58
- }
59
-
60
- // instance owner is granted upon instance nft minting in callback function
61
- function initialize(address instanceAddress) external initializer
62
- {
63
- IInstance instance = IInstance(instanceAddress);
64
- IRegistry registry = instance.getRegistry();
65
- address authority = instance.authority();
66
-
67
- __AccessManaged_init(authority);
68
-
69
- _accessManager = AccessManagerUpgradeableInitializeable(authority);
70
- _registry = registry;
71
- _idNext = CUSTOM_ROLE_ID_MIN;
72
-
73
- _createRole(ADMIN_ROLE(), ADMIN_ROLE_NAME, IAccess.Type.Core);
74
- _createRole(PUBLIC_ROLE(), PUBLIC_ROLE_NAME, IAccess.Type.Core);
75
- _createRole(INSTANCE_ROLE(), INSTANCE_ROLE_NAME, IAccess.Type.Core);
76
- _createRole(INSTANCE_OWNER_ROLE(), INSTANCE_OWNER_ROLE_NAME, IAccess.Type.Gif);// TODO should be of core type
77
-
78
- // assume `this` is already a member of ADMIN_ROLE
79
- EnumerableSet.add(_roleMembers[ADMIN_ROLE()], address(this));
80
-
81
- // grant instance role to instance contract address
82
- grantRole(INSTANCE_ROLE(), instanceAddress);
83
- setRoleAdmin(INSTANCE_OWNER_ROLE(), INSTANCE_ROLE());
84
- }
85
-
86
- //--- Role ------------------------------------------------------//
87
- // ADMIN_ROLE
88
- // assume all core roles are know at deployment time
89
- // assume core roles are set and granted only during instance cloning
90
- // assume core roles are never revoked -> core roles admin is never active after intialization
91
- function createCoreRole(RoleId roleId, string memory name)
92
- external
93
- restricted()
94
- {
95
- _createRole(roleId, name, IAccess.Type.Core);
96
- }
97
-
98
- // ADMIN_ROLE
99
- // assume gif roles can be revoked
100
- // assume admin is INSTANCE_OWNER_ROLE or INSTANCE_ROLE
101
- function createGifRole(RoleId roleId, string memory name, RoleId admin)
102
- external
103
- restricted()
104
- {
105
- _createRole(roleId, name, IAccess.Type.Gif);
106
- setRoleAdmin(roleId, admin);
107
- }
108
-
109
- // INSTANCE_OWNER_ROLE
110
- // TODO specify how many owners role can have -> many roles MUST have exactly 1 member?
111
- function createRole(string memory roleName, string memory adminName)
112
- external
113
- restricted()
114
- returns(RoleId roleId, RoleId admin)
115
- {
116
- (roleId, admin) = _getNextCustomRoleId();
117
-
118
- _createRole(roleId, roleName, IAccess.Type.Custom);
119
- _createRole(admin, adminName, IAccess.Type.Custom);
120
-
121
- // TODO works without this -> why?
122
- setRoleAdmin(roleId, admin);
123
- setRoleAdmin(admin, INSTANCE_OWNER_ROLE());
124
- }
125
-
126
- // ADMIN_ROLE
127
- // assume used by instance service only during instance cloning
128
- // assume used only by this.createRole(), this.createGifRole() afterwards
129
- function setRoleAdmin(RoleId roleId, RoleId admin)
130
- public
131
- restricted()
132
- {
133
- if (!roleExists(roleId)) {
134
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(roleId);
135
- }
136
-
137
- if(_roleInfo[roleId].rtype == IAccess.Type.Core) {
138
- revert IAccess.ErrorIAccessRoleTypeInvalid(roleId, IAccess.Type.Core);
139
- }
140
-
141
- if (!roleExists(admin)) {
142
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(admin);
143
- }
144
-
145
- _roleInfo[roleId].admin = admin;
146
- }
147
-
148
- // TODO core role can be granted only to 1 member
149
- function grantRole(RoleId roleId, address member)
150
- public
151
- restrictedToRoleAdmin(roleId)
152
- returns (bool granted)
153
- {
154
- if (!roleExists(roleId)) {
155
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(roleId);
156
- }
157
-
158
- granted = EnumerableSet.add(_roleMembers[roleId], member);
159
- if(granted) {
160
- _accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
161
- }
162
- }
163
-
164
- function revokeRole(RoleId roleId, address member)
165
- external
166
- restrictedToRoleAdmin(roleId)
167
- returns (bool)
168
- {
169
- return _revokeRole(roleId, member);
170
- }
171
-
172
- // INSTANCE_OWNER_ROLE
173
- // IMPORTANT: unbounded function, revoke all or revert
174
- // Instance owner role decides what to do in case of custom role admin bening revoked, e.g.:
175
- // 1) revoke custom role from ALL members
176
- // 2) revoke custom role admin from ALL members
177
- // 3) 1) + 2)
178
- // 4) revoke only 1 member of custom role admin
179
- function revokeRoleAllMembers(RoleId roleId)
180
- external
181
- restrictedToRoleAdmin(roleId)
182
- returns (bool revoked)
183
- {
184
- if (!roleExists(roleId)) {
185
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(roleId);
186
- }
187
-
188
- uint memberCount = EnumerableSet.length(_roleMembers[roleId]);
189
- for(uint memberIdx = 0; memberIdx < memberCount; memberIdx++)
190
- {
191
- address member = EnumerableSet.at(_roleMembers[roleId], memberIdx);
192
- EnumerableSet.remove(_roleMembers[roleId], member);
193
- _accessManager.revokeRole(roleId.toInt(), member);
194
- }
195
- }
196
-
197
- /// @dev not restricted function by intention
198
- /// the restriction to role members is already enforced by the call to the access manager
199
- function renounceRole(RoleId roleId)
200
- external
201
- returns (bool)
202
- {
203
- IAccess.Type rtype = _roleInfo[roleId].rtype;
204
- if(rtype == IAccess.Type.Core || rtype == IAccess.Type.Gif) {
205
- revert IAccess.ErrorIAccessRoleTypeInvalid(roleId, rtype);
206
- }
207
-
208
- address member = msg.sender;
209
- // cannot use accessManger.renounce as it directly checks against msg.sender
210
- return _revokeRole(roleId, member);
211
- }
212
-
213
- function roleExists(RoleId roleId) public view returns (bool exists) {
214
- return _roleInfo[roleId].createdAt.gtz();
215
- }
216
- // TODO returns ADMIN_ROLE id for non existent roleId
217
- function getRoleAdmin(RoleId roleId) public view returns(RoleId admin) {
218
- return _roleInfo[roleId].admin;
219
- }
220
-
221
- function getRoleInfo(RoleId roleId) external view returns (IAccess.RoleInfo memory info) {
222
- return _roleInfo[roleId];
223
- }
224
-
225
- function roleMembers(RoleId roleId) public view returns (uint256 numberOfMembers) {
226
- return EnumerableSet.length(_roleMembers[roleId]);
227
- }
228
-
229
- function getRoleId(uint256 idx) external view returns (RoleId roleId) {
230
- return _roleIds[idx];
231
- }
232
-
233
- // TODO returns ADMIN_ROLE id for non existent name
234
- function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
235
- return _roleIdForName[ShortStrings.toShortString(name)];
236
- }
237
-
238
- function roleMember(RoleId roleId, uint256 idx) external view returns (address member) {
239
- return EnumerableSet.at(_roleMembers[roleId], idx);
240
- }
241
-
242
- function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
243
- (accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
244
- }
245
-
246
- function roles() external view returns (uint256 numberOfRoles) {
247
- return _roleIds.length;
248
- }
249
-
250
- //--- Target ------------------------------------------------------//
251
- // ADMIN_ROLE
252
- // assume some core targets are registred (instance) while others are not (instance accesss manager, instance reader, bundle manager)
253
- function createCoreTarget(address target, string memory name) external restricted() {
254
- _createTarget(target, name, IAccess.Type.Core);
255
- }
256
- // INSTANCE_SERVICE_ROLE
257
- // TODO check for instance mismatch?
258
- function createGifTarget(address target, string memory name) external restricted()
259
- {
260
- if(!_registry.isRegistered(target)) {
261
- revert IAccess.ErrorIAccessTargetNotRegistered(target);
262
- }
263
-
264
- _createTarget(target, name, IAccess.Type.Gif);
265
- }
266
- // INSTANCE_OWNER_ROLE
267
- // assume custom target.authority() is constant -> target MUST not be used with different instance access manager
268
- // assume custom target can not be registered as component -> each service which is doing component registration MUST register a gif target
269
- // assume custom target can not be registered as instance or service -> why?
270
- // TODO check target associated with instance owner or instance or instance components or components helpers
271
- function createTarget(address target, string memory name) external restricted()
272
- {
273
- _createTarget(target, name, IAccess.Type.Custom);
274
- }
275
-
276
- // TODO instance owner locks component instead of revoking it access to the instance...
277
- function setTargetLockedByService(address target, bool locked)
278
- external
279
- restricted // INSTANCE_SERVICE_ROLE
280
- {
281
- _setTargetLocked(target, locked);
282
- }
283
-
284
- function setTargetLockedByInstance(address target, bool locked)
285
- external
286
- restricted // INSTANCE_ROLE
287
- {
288
- _setTargetLocked(target, locked);
289
- }
290
-
291
-
292
- // allowed combinations of roles and targets:
293
- //1) set core role for core target
294
- //2) set gif role for gif target
295
- //3) set custom role for gif target
296
- //4) set custom role for custom target
297
-
298
- // ADMIN_ROLE if used only during initialization, works with:
299
- // any roles for any targets
300
- // INSTANCE_SERVICE_ROLE if used not only during initilization, works with:
301
- // core roles for core targets
302
- // gif roles for gif targets
303
- function setCoreTargetFunctionRole(
304
- string memory targetName,
305
- bytes4[] calldata selectors,
306
- RoleId roleId
307
- )
308
- public
309
- virtual
310
- restricted()
311
- {
312
- ShortString nameShort = ShortStrings.toShortString(targetName);
313
- address target = _targetAddressForName[nameShort];
314
-
315
- // not custom target
316
- if(_targetInfo[target].ttype == IAccess.Type.Custom) {
317
- revert IAccess.ErrorIAccessTargetTypeInvalid(target, IAccess.Type.Custom);
318
- }
319
-
320
- // not custom role
321
- if(_roleInfo[roleId].rtype == IAccess.Type.Custom) {
322
- revert IAccess.ErrorIAccessRoleTypeInvalid(roleId, IAccess.Type.Custom);
323
- }
324
-
325
- _setTargetFunctionRole(target, nameShort, selectors, roleId);
326
- }
327
-
328
- // INSTANCE_OWNER_ROLE
329
- // gif role for gif target
330
- // gif role for custom target
331
- // custom role for gif target
332
- // custom role for custom target
333
- // TODO instance owner can mess with gif target (component) -> e.g. set custom role for function intendent to work with gif role
334
- function setTargetFunctionRole(
335
- string memory targetName,
336
- bytes4[] calldata selectors,
337
- RoleId roleId
338
- )
339
- public
340
- virtual
341
- restricted()
342
- {
343
- ShortString nameShort = ShortStrings.toShortString(targetName);
344
- address target = _targetAddressForName[nameShort];
345
-
346
- // not core target
347
- if(_targetInfo[target].ttype == IAccess.Type.Core) {
348
- revert IAccess.ErrorIAccessTargetTypeInvalid(target, IAccess.Type.Core);
349
- }
350
-
351
- // not core role
352
- if(_roleInfo[roleId].rtype == IAccess.Type.Core) {
353
- revert IAccess.ErrorIAccessRoleTypeInvalid(roleId, IAccess.Type.Core);
354
- }
355
-
356
- _setTargetFunctionRole(target, nameShort, selectors, roleId);
357
- }
358
-
359
- function getTargetAddress(string memory targetName) public view returns(address targetAddress) {
360
- ShortString nameShort = ShortStrings.toShortString(targetName);
361
- return _targetAddressForName[nameShort];
362
- }
363
-
364
- function isTargetLocked(address target) public view returns (bool locked) {
365
- return _targetInfo[target].isLocked;
366
- }
367
-
368
- function targetExists(address target) public view returns (bool exists) {
369
- return _targetInfo[target].createdAt.gtz();
370
- }
371
-
372
- function getTargetInfo(address target) public view returns (IAccess.TargetInfo memory) {
373
- return _targetInfo[target];
374
- }
375
-
376
- //--- Role internal view/pure functions --------------------------------------//
377
- function _createRole(RoleId roleId, string memory roleName, IAccess.Type rtype)
378
- internal
379
- {
380
- ShortString name = ShortStrings.toShortString(roleName);
381
- _validateRole(roleId, name, rtype);
382
-
383
- if(roleExists(roleId)) {
384
- revert IAccess.ErrorIAccessRoleIdExists(roleId);
385
- }
386
-
387
- if (_roleIdForName[name].gtz()) {
388
- revert IAccess.ErrorIAccessRoleNameExists(roleId, _roleIdForName[name], name);
389
- }
390
-
391
- _roleInfo[roleId] = IAccess.RoleInfo(
392
- name,
393
- rtype,
394
- ADMIN_ROLE(),
395
- TimestampLib.blockTimestamp(),
396
- TimestampLib.blockTimestamp()
397
- );
398
- _roleIdForName[name] = roleId;
399
- _roleIds.push(roleId);
400
-
401
- emit LogRoleCreation(roleId, name, rtype);
402
- }
403
-
404
- function _validateRole(RoleId roleId, ShortString name, IAccess.Type rtype)
405
- internal
406
- view
407
- {
408
- uint roleIdInt = roleId.toInt();
409
- if(rtype == IAccess.Type.Custom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
410
- revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
411
- }
412
-
413
- if(
414
- rtype != IAccess.Type.Custom &&
415
- roleIdInt >= CUSTOM_ROLE_ID_MIN &&
416
- roleIdInt != PUBLIC_ROLE().toInt())
417
- {
418
- revert IAccess.ErrorIAccessRoleIdTooBig(roleId);
419
- }
420
-
421
- // role name checks
422
- if (ShortStrings.byteLength(name) == 0) {
423
- revert IAccess.ErrorIAccessRoleNameEmpty(roleId);
424
- }
425
- }
426
-
427
- function _revokeRole(RoleId roleId, address member)
428
- internal
429
- returns(bool revoked)
430
- {
431
- if (!roleExists(roleId)) {
432
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(roleId);
433
- }
434
-
435
- revoked = EnumerableSet.remove(_roleMembers[roleId], member);
436
- if(revoked) {
437
- _accessManager.revokeRole(roleId.toInt(), member);
438
- }
439
- }
440
-
441
- function _getNextCustomRoleId()
442
- internal
443
- returns(RoleId roleId, RoleId admin)
444
- {
445
- uint64 roleIdInt = _idNext;
446
- uint64 adminInt = roleIdInt + 1;
447
-
448
- _idNext = roleIdInt + 2;
449
-
450
- roleId = RoleIdLib.toRoleId(roleIdInt);
451
- admin = RoleIdLib.toRoleId(adminInt);
452
- }
453
-
454
- //--- Target internal view/pure functions --------------------------------------//
455
- function _createTarget(address target, string memory targetName, IAccess.Type ttype)
456
- internal
457
- {
458
- ShortString name = ShortStrings.toShortString(targetName);
459
- _validateTarget(target, name, ttype);
460
-
461
- if (_targetInfo[target].createdAt.gtz()) {
462
- revert IAccess.ErrorIAccessTargetExists(target, _targetInfo[target].name);
463
- }
464
-
465
- if (_targetAddressForName[name] != address(0)) {
466
- revert IAccess.ErrorIAccessTargetNameExists(
467
- target,
468
- _targetAddressForName[name],
469
- name);
470
- }
471
-
472
- bool isLocked = _accessManager.isTargetClosed(target);// sync with state in access manager
473
- _targetInfo[target] = IAccess.TargetInfo(
474
- name,
475
- ttype,
476
- isLocked,
477
- TimestampLib.blockTimestamp(),
478
- TimestampLib.blockTimestamp()
479
- );
480
- _targetAddressForName[name] = target;
481
- _targets.push(target);
482
-
483
- emit LogTargetCreation(target, name, ttype, isLocked);
484
- }
485
-
486
- function _validateTarget(address target, ShortString name, IAccess.Type ttype)
487
- internal
488
- view
489
- {
490
- address targetAuthority = AccessManagedUpgradeable(target).authority();
491
- if(targetAuthority != authority()) {
492
- revert IAccess.ErrorIAccessTargetAuthorityInvalid(target, targetAuthority);
493
- }
494
-
495
- if (ShortStrings.byteLength(name) == 0) {
496
- revert IAccess.ErrorIAccessTargetNameEmpty(target);
497
- }
498
- }
499
-
500
- // IMPORTANT: instance access manager MUST be of Core type -> otherwise can be locked forever
501
- function _setTargetLocked(address target, bool locked) internal
502
- {
503
- IAccess.Type targetType = _targetInfo[target].ttype;
504
- if(target == address(0) || targetType == IAccess.Type.NotInitialized) {
505
- revert IAccess.ErrorIAccessTargetDoesNotExist(target);
506
- }
507
-
508
- if(targetType == IAccess.Type.Core) {
509
- revert IAccess.ErrorIAccessTargetTypeInvalid(target, targetType);
510
- }
511
-
512
- _targetInfo[target].isLocked = locked;
513
- _accessManager.setTargetClosed(target, locked);
514
- }
515
-
516
- function _setTargetFunctionRole(
517
- address target,
518
- ShortString name,
519
- bytes4[] calldata selectors,
520
- RoleId roleId
521
- )
522
- internal
523
- {
524
- if (target == address(0)) {
525
- revert IAccess.ErrorIAccessTargetDoesNotExist(target);
526
- }
527
-
528
- if (!roleExists(roleId)) {
529
- revert IAccess.ErrorIAccessRoleIdDoesNotExist(roleId);
530
- }
531
-
532
- uint64 roleIdInt = RoleId.unwrap(roleId);
533
- _accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
534
- }
535
-
536
- function canCall(
537
- address caller,
538
- address target,
539
- bytes4 selector
540
- ) public view virtual returns (bool immediate, uint32 delay) {
541
- return _accessManager.canCall(caller, target, selector);
542
- }
543
- }