@etherisc/gif-next 0.0.2-8bdd2eb-413 → 0.0.2-8c1d8cd-727

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 (528) hide show
  1. package/README.md +49 -4
  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/authorization/IAccess.sol/IAccess.json +10 -0
  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/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
  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 +1402 -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 +133 -501
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +319 -229
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -103
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -210
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +194 -47
  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 +1538 -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 +2077 -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 +1471 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -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 +105 -103
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +163 -111
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +108 -243
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1210 -265
  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 +682 -189
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +210 -268
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -95
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +502 -282
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  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/IBundle.sol/IBundle.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  90. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  92. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
  94. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  96. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  98. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +788 -0
  100. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  102. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +907 -0
  104. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  106. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  108. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  110. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  112. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +517 -157
  114. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -88
  116. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +271 -1
  118. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +125 -319
  120. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +410 -192
  122. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -632
  124. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +524 -331
  126. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -83
  128. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +95 -158
  130. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +79 -91
  132. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  134. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  136. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +322 -169
  138. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +126 -98
  140. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +47 -0
  142. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +189 -6
  144. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +336 -118
  146. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +127 -85
  148. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +154 -137
  150. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  151. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -2
  152. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -295
  154. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +123 -95
  156. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.json +207 -283
  158. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -112
  160. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  161. package/artifacts/contracts/product/Product.sol/Product.json +168 -434
  162. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  164. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  166. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  168. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +311 -55
  170. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +55 -146
  172. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  174. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/Registry.sol/Registry.json +537 -112
  176. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1640 -161
  178. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +96 -265
  180. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +74 -70
  182. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  184. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  186. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  188. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  190. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  191. package/artifacts/contracts/shared/Component.sol/Component.json +65 -236
  192. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +532 -239
  194. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -110
  196. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +51 -103
  198. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  200. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
  202. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +487 -12
  204. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -80
  206. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  208. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  210. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  212. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  214. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
  216. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IService.sol/IService.json +42 -0
  219. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  220. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  221. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +111 -318
  223. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  224. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  225. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  226. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  227. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  228. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  229. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  230. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  231. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  232. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  233. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  237. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Service.sol/Service.json +51 -103
  239. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
  241. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  242. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  243. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  244. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
  245. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  246. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +78 -28
  247. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +97 -101
  249. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  250. package/artifacts/contracts/staking/Staking.sol/Staking.json +168 -325
  251. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  252. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  253. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +103 -104
  255. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  256. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  257. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  258. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +123 -198
  259. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  260. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +76 -92
  261. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  262. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +241 -147
  263. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  264. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  265. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  266. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  267. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  269. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  271. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  273. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  275. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  277. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  278. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  279. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  281. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  282. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  285. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  290. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  291. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  295. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  297. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  301. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  303. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  305. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  307. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  309. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  311. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  313. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  315. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  316. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  317. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  318. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  319. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  320. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  321. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  322. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  323. package/contracts/authorization/AccessAdmin.sol +596 -0
  324. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  325. package/contracts/authorization/Authorization.sol +289 -0
  326. package/contracts/authorization/IAccess.sol +49 -0
  327. package/contracts/authorization/IAccessAdmin.sol +137 -0
  328. package/contracts/authorization/IAuthorization.sol +60 -0
  329. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  330. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  331. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  332. package/contracts/distribution/BasicDistribution.sol +139 -0
  333. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  334. package/contracts/distribution/Distribution.sol +140 -116
  335. package/contracts/distribution/DistributionService.sol +140 -83
  336. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  337. package/contracts/distribution/IDistributionComponent.sol +26 -40
  338. package/contracts/distribution/IDistributionService.sol +23 -3
  339. package/contracts/examples/fire/DamageLevel.sol +59 -0
  340. package/contracts/examples/fire/FirePool.sol +75 -0
  341. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  342. package/contracts/examples/fire/FireProduct.sol +418 -0
  343. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  344. package/contracts/examples/fire/FireUSD.sol +26 -0
  345. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  346. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  347. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  348. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  349. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  350. package/contracts/instance/IInstance.sol +28 -41
  351. package/contracts/instance/IInstanceService.sol +27 -36
  352. package/contracts/instance/Instance.sol +124 -127
  353. package/contracts/instance/InstanceAdmin.sol +216 -270
  354. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  355. package/contracts/instance/InstanceReader.sol +162 -32
  356. package/contracts/instance/InstanceService.sol +177 -128
  357. package/contracts/instance/InstanceServiceManager.sol +8 -13
  358. package/contracts/instance/InstanceStore.sol +49 -22
  359. package/contracts/instance/base/BalanceStore.sol +11 -6
  360. package/contracts/instance/base/Cloneable.sol +2 -25
  361. package/contracts/instance/base/ObjectCounter.sol +21 -0
  362. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  363. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  364. package/contracts/instance/module/IBundle.sol +1 -1
  365. package/contracts/instance/module/IComponents.sol +10 -11
  366. package/contracts/instance/module/IDistribution.sol +0 -1
  367. package/contracts/instance/module/IPolicy.sol +24 -24
  368. package/contracts/mock/Dip.sol +1 -1
  369. package/contracts/oracle/BasicOracle.sol +47 -0
  370. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  371. package/contracts/oracle/IOracle.sol +36 -0
  372. package/contracts/oracle/IOracleComponent.sol +33 -0
  373. package/contracts/oracle/IOracleService.sol +66 -0
  374. package/contracts/oracle/Oracle.sol +156 -0
  375. package/contracts/oracle/OracleService.sol +291 -0
  376. package/contracts/oracle/OracleServiceManager.sol +39 -0
  377. package/contracts/pool/BasicPool.sol +154 -0
  378. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  379. package/contracts/pool/BundleService.sol +284 -87
  380. package/contracts/pool/BundleServiceManager.sol +8 -11
  381. package/contracts/pool/IBundleService.sol +42 -5
  382. package/contracts/pool/IPoolComponent.sol +24 -68
  383. package/contracts/pool/IPoolService.sol +56 -39
  384. package/contracts/pool/Pool.sol +184 -148
  385. package/contracts/pool/PoolService.sol +262 -171
  386. package/contracts/pool/PoolServiceManager.sol +6 -9
  387. package/contracts/product/ApplicationService.sol +75 -70
  388. package/contracts/product/ApplicationServiceManager.sol +6 -6
  389. package/contracts/product/BasicProduct.sol +53 -0
  390. package/contracts/product/BasicProductAuthorization.sol +42 -0
  391. package/contracts/product/ClaimService.sol +321 -151
  392. package/contracts/product/ClaimServiceManager.sol +6 -6
  393. package/contracts/product/IApplicationService.sol +1 -0
  394. package/contracts/product/IClaimService.sol +34 -4
  395. package/contracts/product/IPolicyService.sol +34 -32
  396. package/contracts/product/IPricingService.sol +10 -10
  397. package/contracts/product/IProductComponent.sol +26 -9
  398. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  399. package/contracts/product/PolicyService.sol +424 -202
  400. package/contracts/product/PolicyServiceManager.sol +6 -9
  401. package/contracts/product/PricingService.sol +59 -60
  402. package/contracts/product/PricingServiceManager.sol +5 -8
  403. package/contracts/product/Product.sol +211 -133
  404. package/contracts/product/{ProductService.sol → RiskService.sol} +18 -46
  405. package/contracts/product/RiskServiceManager.sol +39 -0
  406. package/contracts/registry/ChainNft.sol +68 -38
  407. package/contracts/registry/IRegistry.sol +69 -22
  408. package/contracts/registry/IRegistryService.sol +3 -10
  409. package/contracts/registry/ITransferInterceptor.sol +1 -2
  410. package/contracts/registry/Registry.sol +354 -213
  411. package/contracts/registry/RegistryAdmin.sol +360 -149
  412. package/contracts/registry/RegistryService.sol +44 -69
  413. package/contracts/registry/RegistryServiceManager.sol +4 -9
  414. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  415. package/contracts/registry/ReleaseRegistry.sol +501 -0
  416. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  417. package/contracts/registry/TokenRegistry.sol +2 -2
  418. package/contracts/shared/Component.sol +48 -61
  419. package/contracts/shared/ComponentService.sol +322 -173
  420. package/contracts/shared/ComponentServiceManager.sol +10 -7
  421. package/contracts/shared/ComponentVerifyingService.sol +36 -21
  422. package/contracts/shared/ContractLib.sol +38 -0
  423. package/contracts/shared/IComponent.sol +10 -6
  424. package/contracts/shared/IComponentService.sol +40 -11
  425. package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
  426. package/contracts/shared/IKeyValueStore.sol +1 -0
  427. package/contracts/shared/ILifecycle.sol +3 -2
  428. package/contracts/shared/INftOwnable.sol +2 -0
  429. package/contracts/shared/IPolicyHolder.sol +12 -22
  430. package/contracts/shared/IRegisterable.sol +11 -0
  431. package/contracts/shared/IService.sol +8 -1
  432. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  433. package/contracts/shared/InstanceLinkedComponent.sol +106 -37
  434. package/contracts/shared/KeyValueStore.sol +7 -3
  435. package/contracts/shared/Lifecycle.sol +30 -63
  436. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  437. package/contracts/shared/NftOwnable.sol +29 -9
  438. package/contracts/shared/PolicyHolder.sol +17 -57
  439. package/contracts/shared/Registerable.sol +19 -9
  440. package/contracts/shared/RegistryLinked.sol +3 -2
  441. package/contracts/shared/Service.sol +43 -36
  442. package/contracts/shared/TokenHandler.sol +100 -19
  443. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  444. package/contracts/staking/IStaking.sol +3 -3
  445. package/contracts/staking/IStakingService.sol +22 -14
  446. package/contracts/staking/StakeManagerLib.sol +70 -25
  447. package/contracts/staking/Staking.sol +86 -140
  448. package/contracts/staking/StakingLifecycle.sol +23 -0
  449. package/contracts/staking/StakingManager.sol +10 -12
  450. package/contracts/staking/StakingReader.sol +23 -20
  451. package/contracts/staking/StakingService.sol +69 -82
  452. package/contracts/staking/StakingServiceManager.sol +4 -5
  453. package/contracts/staking/StakingStore.sol +93 -60
  454. package/contracts/staking/TargetManagerLib.sol +7 -3
  455. package/contracts/type/Amount.sol +27 -5
  456. package/contracts/type/Blocknumber.sol +7 -1
  457. package/contracts/type/ClaimId.sol +6 -1
  458. package/contracts/type/NftId.sol +1 -0
  459. package/contracts/type/ObjectType.sol +175 -68
  460. package/contracts/type/PayoutId.sol +10 -10
  461. package/contracts/type/Referral.sol +1 -0
  462. package/contracts/type/RequestId.sol +75 -0
  463. package/contracts/type/RiskId.sol +15 -1
  464. package/contracts/type/RoleId.sol +97 -78
  465. package/contracts/type/Seconds.sol +21 -1
  466. package/contracts/type/Selector.sol +102 -0
  467. package/contracts/type/StateId.sol +27 -1
  468. package/contracts/type/String.sol +53 -0
  469. package/contracts/type/Timestamp.sol +17 -3
  470. package/contracts/type/UFixed.sol +38 -9
  471. package/contracts/type/Version.sol +3 -1
  472. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  473. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  474. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  475. package/package.json +9 -5
  476. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  477. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  478. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  479. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -204
  480. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  481. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  482. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  483. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  484. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  485. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  486. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  487. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  488. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  489. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  490. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  491. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  492. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  493. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  494. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  495. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  496. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  497. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  498. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  499. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  500. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  501. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  502. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  503. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  504. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  505. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  506. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  507. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  508. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  509. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  510. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  511. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  512. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  513. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  514. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  515. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  516. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -349
  517. package/contracts/product/ProductServiceManager.sol +0 -42
  518. package/contracts/registry/ReleaseManager.sol +0 -599
  519. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  520. package/contracts/shared/AccessManagerCustom.sol +0 -736
  521. package/contracts/shared/AccessManagerExtended.sol +0 -470
  522. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  523. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  524. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  525. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  526. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  527. package/contracts/shared/InitializableCustom.sol +0 -177
  528. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -0,0 +1,194 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {
5
+ PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE
6
+ } from "../../contracts/type/ObjectType.sol";
7
+
8
+ import {BundleSet} from "../instance/BundleSet.sol";
9
+ import {IAccess} from "../authorization/IAccess.sol";
10
+ import {Instance} from "../instance/Instance.sol";
11
+ import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
12
+ import {InstanceStore} from "../instance/InstanceStore.sol";
13
+ import {Authorization} from "../authorization/Authorization.sol";
14
+
15
+
16
+ contract InstanceAuthorizationV3
17
+ is Authorization
18
+ {
19
+
20
+ string public constant INSTANCE_ROLE_NAME = "InstanceRole";
21
+
22
+ string public constant INSTANCE_TARGET_NAME = "Instance";
23
+ string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
24
+ string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
25
+ string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
26
+
27
+ constructor() Authorization(INSTANCE_TARGET_NAME) {}
28
+
29
+
30
+ function _setupRoles()
31
+ internal
32
+ override
33
+ {
34
+ // empty implementation
35
+ }
36
+
37
+
38
+ function _setupTargets()
39
+ internal
40
+ override
41
+ {
42
+ // instance target
43
+ _addTargetWithRole(
44
+ INSTANCE_TARGET_NAME,
45
+ _toTargetRoleId(INSTANCE()),
46
+ INSTANCE_ROLE_NAME);
47
+
48
+ // instance supporting targets
49
+ _addTarget(INSTANCE_STORE_TARGET_NAME);
50
+ _addTarget(INSTANCE_ADMIN_TARGET_NAME);
51
+ _addTarget(BUNDLE_SET_TARGET_NAME);
52
+
53
+ // service targets relevant to instance
54
+ _addServiceTargetWithRole(INSTANCE());
55
+ _addServiceTargetWithRole(COMPONENT());
56
+ _addServiceTargetWithRole(DISTRIBUTION());
57
+ _addServiceTargetWithRole(ORACLE());
58
+ _addServiceTargetWithRole(POOL());
59
+ _addServiceTargetWithRole(BUNDLE());
60
+ _addServiceTargetWithRole(PRODUCT());
61
+ _addServiceTargetWithRole(APPLICATION());
62
+ _addServiceTargetWithRole(POLICY());
63
+ _addServiceTargetWithRole(CLAIM());
64
+ }
65
+
66
+
67
+ function _setupTargetAuthorizations()
68
+ internal
69
+ override
70
+ {
71
+ _setupInstanceAuthorization();
72
+ _setupInstanceAdminAuthorization();
73
+ _setupInstanceStoreAuthorization();
74
+ _setupBundleSetAuthorization();
75
+
76
+ }
77
+
78
+
79
+ function _setupBundleSetAuthorization()
80
+ internal
81
+ {
82
+ IAccess.FunctionInfo[] storage functions;
83
+
84
+ // authorize bundle service role
85
+ functions = _authorizeForTarget(BUNDLE_SET_TARGET_NAME, getServiceRole(BUNDLE()));
86
+ _authorize(functions, BundleSet.linkPolicy.selector, "linkPolicy");
87
+ _authorize(functions, BundleSet.unlinkPolicy.selector, "unlinkPolicy");
88
+ _authorize(functions, BundleSet.add.selector, "add");
89
+ _authorize(functions, BundleSet.lock.selector, "lock");
90
+ _authorize(functions, BundleSet.unlock.selector, "unlock");
91
+ }
92
+
93
+
94
+ function _setupInstanceAuthorization()
95
+ internal
96
+ {
97
+ IAccess.FunctionInfo[] storage functions;
98
+
99
+ // authorize instance service role
100
+ functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
101
+ _authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
102
+ }
103
+
104
+
105
+ function _setupInstanceAdminAuthorization()
106
+ internal
107
+ {
108
+ IAccess.FunctionInfo[] storage functions;
109
+
110
+ // authorize instance role
111
+ functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, _toTargetRoleId(INSTANCE()));
112
+ _authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
113
+
114
+ // authorize instance service role
115
+ // functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
116
+ }
117
+
118
+
119
+ function _setupInstanceStoreAuthorization()
120
+ internal
121
+ {
122
+ IAccess.FunctionInfo[] storage functions;
123
+
124
+ // authorize component service role
125
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(COMPONENT()));
126
+ _authorize(functions, InstanceStore.createComponent.selector, "createComponent");
127
+ _authorize(functions, InstanceStore.updateComponent.selector, "updateComponent");
128
+ _authorize(functions, InstanceStore.createPool.selector, "createPool");
129
+ _authorize(functions, InstanceStore.createProduct.selector, "createProduct");
130
+ _authorize(functions, InstanceStore.updateProduct.selector, "updateProduct");
131
+ _authorize(functions, InstanceStore.increaseBalance.selector, "increaseBalance");
132
+ _authorize(functions, InstanceStore.decreaseBalance.selector, "decreaseBalance");
133
+ _authorize(functions, InstanceStore.increaseFees.selector, "increaseFees");
134
+ _authorize(functions, InstanceStore.decreaseFees.selector, "decreaseFees");
135
+
136
+ // authorize distribution service role
137
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(DISTRIBUTION()));
138
+ _authorize(functions, InstanceStore.createDistributorType.selector, "createDistributorType");
139
+ _authorize(functions, InstanceStore.updateDistributorType.selector, "updateDistributorType");
140
+ _authorize(functions, InstanceStore.updateDistributorTypeState.selector, "updateDistributorTypeState");
141
+ _authorize(functions, InstanceStore.createDistributor.selector, "createDistributor");
142
+ _authorize(functions, InstanceStore.updateDistributor.selector, "updateDistributor");
143
+ _authorize(functions, InstanceStore.updateDistributorState.selector, "updateDistributorState");
144
+ _authorize(functions, InstanceStore.createReferral.selector, "createReferral");
145
+ _authorize(functions, InstanceStore.updateReferral.selector, "updateReferral");
146
+ _authorize(functions, InstanceStore.updateReferralState.selector, "updateReferralState");
147
+
148
+ // authorize oracle service role
149
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(ORACLE()));
150
+ _authorize(functions, InstanceStore.createRequest.selector, "createRequest");
151
+ _authorize(functions, InstanceStore.updateRequest.selector, "updateRequest");
152
+ _authorize(functions, InstanceStore.updateRequestState.selector, "updateRequestState");
153
+
154
+ // authorize pool service role
155
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(POOL()));
156
+ _authorize(functions, InstanceStore.updatePool.selector, "updatePool");
157
+
158
+ // authorize bundle service role
159
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(BUNDLE()));
160
+ _authorize(functions, InstanceStore.createBundle.selector, "createBundle");
161
+ _authorize(functions, InstanceStore.updateBundle.selector, "updateBundle");
162
+ _authorize(functions, InstanceStore.updateBundleState.selector, "updateBundleState");
163
+ _authorize(functions, InstanceStore.increaseLocked.selector, "increaseLocked");
164
+ _authorize(functions, InstanceStore.decreaseLocked.selector, "decreaseLocked");
165
+
166
+ // authorize product service role
167
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(PRODUCT()));
168
+ _authorize(functions, InstanceStore.createRisk.selector, "createRisk");
169
+ _authorize(functions, InstanceStore.updateRisk.selector, "updateRisk");
170
+ _authorize(functions, InstanceStore.updateRiskState.selector, "updateRiskState");
171
+
172
+ // authorize application service role
173
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(APPLICATION()));
174
+ _authorize(functions, InstanceStore.createApplication.selector, "createApplication");
175
+ _authorize(functions, InstanceStore.updateApplication.selector, "updateApplication");
176
+ _authorize(functions, InstanceStore.updateApplicationState.selector, "updateApplicationState");
177
+
178
+ // authorize policy service role
179
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(POLICY()));
180
+ _authorize(functions, InstanceStore.updatePolicy.selector, "updatePolicy");
181
+ _authorize(functions, InstanceStore.updatePolicyState.selector, "updatePolicyState");
182
+ _authorize(functions, InstanceStore.createPremium.selector, "createPremium");
183
+ _authorize(functions, InstanceStore.updatePremiumState.selector, "updatePremiumState");
184
+
185
+ // authorize claim service role
186
+ functions = _authorizeForTarget(INSTANCE_STORE_TARGET_NAME, getServiceRole(CLAIM()));
187
+ _authorize(functions, InstanceStore.updatePolicyClaims.selector, "updatePolicyClaims");
188
+ _authorize(functions, InstanceStore.createClaim.selector, "createClaim");
189
+ _authorize(functions, InstanceStore.updateClaim.selector, "updateClaim");
190
+ _authorize(functions, InstanceStore.createPayout.selector, "createPayout");
191
+ _authorize(functions, InstanceStore.updatePayout.selector, "updatePayout");
192
+ }
193
+ }
194
+
@@ -1,33 +1,32 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
4
  import {Amount} from "../type/Amount.sol";
7
- import {ClaimId} from "../type/ClaimId.sol";
5
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
8
6
  import {DistributorType} from "../type/DistributorType.sol";
9
- import {Fee, FeeLib} from "../type/Fee.sol";
10
7
  import {Key32} from "../type/Key32.sol";
11
8
  import {NftId} from "../type/NftId.sol";
12
- import {ObjectType, COMPONENT, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, FEE, BUNDLE} from "../type/ObjectType.sol";
13
- import {PayoutId} from "../type/PayoutId.sol";
9
+ import {COMPONENT, DISTRIBUTOR, DISTRIBUTION, PREMIUM, PRODUCT, POLICY, POOL, BUNDLE} from "../type/ObjectType.sol";
10
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
14
11
  import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
12
+ import {RequestId} from "../type/RequestId.sol";
15
13
  import {RiskId} from "../type/RiskId.sol";
16
- import {UFixed, MathLib, UFixedLib} from "../type/UFixed.sol";
17
- import {Version} from "../type/Version.sol";
14
+ import {RoleId} from "../type/RoleId.sol";
18
15
  import {StateId} from "../type/StateId.sol";
16
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
19
17
 
20
- import {IRegistry} from "../registry/IRegistry.sol";
21
18
  import {IBundle} from "../instance/module/IBundle.sol";
22
19
  import {IComponents} from "../instance/module/IComponents.sol";
23
20
  import {IDistribution} from "../instance/module/IDistribution.sol";
24
21
  import {IInstance} from "./IInstance.sol";
25
22
  import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
23
+ import {IOracle} from "../oracle/IOracle.sol";
26
24
  import {IPolicy} from "../instance/module/IPolicy.sol";
27
25
  import {IRisk} from "../instance/module/IRisk.sol";
28
26
  import {TimestampLib} from "../type/Timestamp.sol";
29
27
 
30
28
  import {InstanceStore} from "./InstanceStore.sol";
29
+ import {BundleSet} from "./BundleSet.sol";
31
30
 
32
31
 
33
32
  contract InstanceReader {
@@ -35,24 +34,31 @@ contract InstanceReader {
35
34
  error ErrorInstanceReaderAlreadyInitialized();
36
35
  error ErrorInstanceReaderInstanceAddressZero();
37
36
 
38
- bool private _initialized;
37
+ bool private _initialized = false;
39
38
 
40
39
  IInstance internal _instance;
41
40
  InstanceStore internal _store;
41
+ BundleSet internal _bundleSet;
42
42
 
43
- function initialize(address instance) public {
43
+ /// @dev This initializer needs to be called from the instance itself.
44
+ function initialize() public {
44
45
  if(_initialized) {
45
46
  revert ErrorInstanceReaderAlreadyInitialized();
46
47
  }
47
48
 
48
- if(instance == address(0)) {
49
- revert ErrorInstanceReaderInstanceAddressZero();
50
- }
49
+ initializeWithInstance(msg.sender);
50
+ }
51
51
 
52
- _instance = IInstance(instance);
53
- _store = _instance.getInstanceStore();
52
+ /// @dev This initializer needs to be called from the instance itself.
53
+ function initializeWithInstance(address instanceAddress) public {
54
+ if(_initialized) {
55
+ revert ErrorInstanceReaderAlreadyInitialized();
56
+ }
54
57
 
55
58
  _initialized = true;
59
+ _instance = IInstance(instanceAddress);
60
+ _store = _instance.getInstanceStore();
61
+ _bundleSet = _instance.getBundleSet();
56
62
  }
57
63
 
58
64
 
@@ -77,14 +83,51 @@ contract InstanceReader {
77
83
  return _store.getState(toPolicyKey(policyNftId));
78
84
  }
79
85
 
80
- /// @dev returns true iff policy may be closed
81
- /// a policy can be closed all conditions below are met
82
- /// - policy exists
83
- /// - has been activated
84
- /// - is not yet closed
85
- /// - has no open claims
86
- /// - claim amount matches sum insured amount or is expired
87
- function policyIsCloseable(NftId policyNftId)
86
+ function getPremiumInfo(NftId policyNftId)
87
+ public
88
+ view
89
+ returns (IPolicy.PremiumInfo memory info)
90
+ {
91
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
92
+ if (data.length > 0) {
93
+ return abi.decode(data, (IPolicy.PremiumInfo));
94
+ }
95
+ }
96
+
97
+ function getPremiumInfoState(NftId policyNftId)
98
+ public
99
+ view
100
+ returns (StateId state)
101
+ {
102
+ return _store.getState(toPremiumKey(policyNftId));
103
+ }
104
+
105
+ function activeBundles(NftId poolNftId)
106
+ public
107
+ view
108
+ returns (uint256 bundles)
109
+ {
110
+ return _bundleSet.activeBundles(poolNftId);
111
+ }
112
+
113
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
114
+ public
115
+ view
116
+ returns (NftId bundleNftId)
117
+ {
118
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
119
+ }
120
+
121
+ function getBundleState(NftId bundleNftId)
122
+ public
123
+ view
124
+ returns (StateId state)
125
+ {
126
+ return _store.getState(toBundleKey(bundleNftId));
127
+ }
128
+
129
+ /// @dev Returns true iff policy is active.
130
+ function policyIsActive(NftId policyNftId)
88
131
  public
89
132
  view
90
133
  returns (bool isCloseable)
@@ -93,17 +136,27 @@ contract InstanceReader {
93
136
 
94
137
  if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
95
138
  if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
96
- if (info.closedAt.gtz()) { return false; } // not closeable: already closed
97
- if (info.openClaimsCount > 0) { return false; } // not closeable: has open claims
139
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
140
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
98
141
 
99
- // closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
100
- if (info.claimAmount == info.sumInsuredAmount) { return true; }
142
+ return true;
143
+ }
144
+
145
+ function claims(NftId policyNftId)
146
+ public
147
+ view
148
+ returns (uint16 claims)
149
+ {
150
+ return getPolicyInfo(policyNftId).claimsCount;
151
+ }
101
152
 
102
- // not closeable: not yet expired
103
- if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
104
153
 
105
- // all conditionsl to close the policy are met
106
- return true;
154
+ function getClaimId(uint idx)
155
+ public
156
+ view
157
+ returns (ClaimId claimId)
158
+ {
159
+ return ClaimIdLib.toClaimId(idx + 1);
107
160
  }
108
161
 
109
162
  function getClaimInfo(NftId policyNftId, ClaimId claimId)
@@ -117,6 +170,7 @@ contract InstanceReader {
117
170
  }
118
171
  }
119
172
 
173
+
120
174
  function getClaimState(NftId policyNftId, ClaimId claimId)
121
175
  public
122
176
  view
@@ -125,6 +179,34 @@ contract InstanceReader {
125
179
  return _store.getState(claimId.toKey32(policyNftId));
126
180
  }
127
181
 
182
+
183
+ function payouts(NftId policyNftId, ClaimId claimId)
184
+ public
185
+ view
186
+ returns (uint24 payouts)
187
+ {
188
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
189
+ }
190
+
191
+
192
+ function getPayoutId(ClaimId claimId, uint24 idx)
193
+ public
194
+ view
195
+ returns (PayoutId payoutId)
196
+ {
197
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
198
+ }
199
+
200
+
201
+ function getRemainingClaimableAmount(NftId policyNftId)
202
+ public
203
+ view
204
+ returns (Amount remainingClaimableAmount)
205
+ {
206
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
207
+ return info.sumInsuredAmount - info.claimAmount;
208
+ }
209
+
128
210
  function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
129
211
  public
130
212
  view
@@ -155,6 +237,19 @@ contract InstanceReader {
155
237
  }
156
238
  }
157
239
 
240
+ function getWallet(NftId componentNftId)
241
+ public
242
+ view
243
+ returns (address tokenHandler)
244
+ {
245
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
246
+
247
+ if (data.length > 0) {
248
+ IComponents.ComponentInfo memory info = abi.decode(data, (IComponents.ComponentInfo));
249
+ return info.wallet;
250
+ }
251
+ }
252
+
158
253
  function getTokenHandler(NftId componentNftId)
159
254
  public
160
255
  view
@@ -257,6 +352,16 @@ contract InstanceReader {
257
352
  }
258
353
  }
259
354
 
355
+ function getRequestInfo(RequestId requestId)
356
+ public
357
+ view
358
+ returns (IOracle.RequestInfo memory requestInfo)
359
+ {
360
+ bytes memory data = _store.getData(requestId.toKey32());
361
+ if (data.length > 0) {
362
+ return abi.decode(data, (IOracle.RequestInfo));
363
+ }
364
+ }
260
365
 
261
366
  function getMetadata(Key32 key)
262
367
  public
@@ -266,6 +371,14 @@ contract InstanceReader {
266
371
  return _store.getMetadata(key);
267
372
  }
268
373
 
374
+ function getState(Key32 key)
375
+ public
376
+ view
377
+ returns (StateId state)
378
+ {
379
+ return _store.getMetadata(key).state;
380
+ }
381
+
269
382
 
270
383
  function toReferralId(
271
384
  NftId distributionNftId,
@@ -317,10 +430,27 @@ contract InstanceReader {
317
430
  }
318
431
 
319
432
 
433
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
434
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
435
+ }
436
+
437
+
438
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
439
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
440
+ }
441
+
442
+
443
+ function isTargetLocked(address target) public view returns (bool) {
444
+ return _instance.getInstanceAdmin().isTargetLocked(target);
445
+ }
446
+
320
447
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
321
448
  return policyNftId.toKey32(POLICY());
322
449
  }
323
450
 
451
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
452
+ return policyNftId.toKey32(PREMIUM());
453
+ }
324
454
 
325
455
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
326
456
  return distributorNftId.toKey32(DISTRIBUTOR());