@etherisc/gif-next 0.0.2-8b116c2-371 → 0.0.2-8bc5066-981

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 +49 -4
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1304 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1325 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/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 +1055 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  18. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  19. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1402 -0
  20. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  22. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +133 -501
  24. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +335 -229
  26. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +123 -103
  28. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -210
  30. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +194 -47
  32. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  33. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  34. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  36. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  38. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2072 -0
  40. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  42. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  44. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  52. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  53. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  54. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  55. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +105 -103
  56. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +163 -111
  58. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  59. package/artifacts/contracts/instance/Instance.sol/Instance.json +108 -243
  60. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1269 -267
  62. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  64. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  65. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +511 -154
  66. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +212 -262
  68. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +84 -92
  70. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +324 -288
  72. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  74. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  76. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  77. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  78. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  80. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  82. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  88. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  89. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  90. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
  92. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  94. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  95. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  96. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  97. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +109 -80
  98. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -9
  100. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +119 -358
  102. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +110 -141
  104. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +82 -78
  106. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  108. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  110. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  111. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +517 -157
  112. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -88
  114. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  115. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +271 -1
  116. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  117. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +125 -319
  118. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +410 -192
  120. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -632
  122. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  123. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +524 -331
  124. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -83
  126. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  127. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +95 -158
  128. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +79 -91
  130. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  131. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  132. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  133. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  134. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  135. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +322 -169
  136. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +126 -98
  138. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  139. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +47 -0
  140. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +189 -6
  142. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +336 -118
  144. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  145. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +127 -85
  146. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  147. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +154 -137
  148. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  149. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -2
  150. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  151. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -295
  152. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +123 -95
  154. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  155. package/artifacts/contracts/product/PricingService.sol/PricingService.json +207 -283
  156. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -112
  158. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  159. package/artifacts/contracts/product/Product.sol/Product.json +168 -434
  160. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  161. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  162. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  164. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  165. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  166. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  167. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +314 -53
  168. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  169. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +55 -146
  170. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  171. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  172. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/Registry.sol/Registry.json +536 -111
  174. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  175. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1550 -164
  176. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  177. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +96 -265
  178. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +74 -70
  180. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1696 -0
  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 +1295 -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 +541 -263
  194. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -114
  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 -19
  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 -17
  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 +136 -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 +1 -1
  290. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  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 +23 -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 +601 -0
  324. package/contracts/authorization/AccessManagerCloneable.sol +80 -0
  325. package/contracts/authorization/Authorization.sol +289 -0
  326. package/contracts/authorization/IAccess.sol +49 -0
  327. package/contracts/authorization/IAccessAdmin.sol +136 -0
  328. package/contracts/authorization/IAuthorization.sol +60 -0
  329. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  330. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  331. package/contracts/distribution/BasicDistribution.sol +139 -0
  332. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  333. package/contracts/distribution/Distribution.sol +140 -116
  334. package/contracts/distribution/DistributionService.sol +141 -84
  335. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  336. package/contracts/distribution/IDistributionComponent.sol +26 -40
  337. package/contracts/distribution/IDistributionService.sol +23 -3
  338. package/contracts/examples/fire/DamageLevel.sol +59 -0
  339. package/contracts/examples/fire/FirePool.sol +73 -0
  340. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  341. package/contracts/examples/fire/FireProduct.sol +415 -0
  342. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  343. package/contracts/examples/fire/FireUSD.sol +26 -0
  344. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  345. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  346. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  347. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  348. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  349. package/contracts/instance/IInstance.sol +24 -40
  350. package/contracts/instance/IInstanceService.sol +27 -36
  351. package/contracts/instance/Instance.sol +123 -127
  352. package/contracts/instance/InstanceAdmin.sol +227 -263
  353. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  354. package/contracts/instance/InstanceReader.sol +139 -34
  355. package/contracts/instance/InstanceService.sol +178 -128
  356. package/contracts/instance/InstanceServiceManager.sol +8 -13
  357. package/contracts/instance/InstanceStore.sol +26 -20
  358. package/contracts/instance/base/BalanceStore.sol +11 -6
  359. package/contracts/instance/base/Cloneable.sol +2 -25
  360. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  361. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  362. package/contracts/instance/module/IBundle.sol +1 -1
  363. package/contracts/instance/module/IComponents.sol +10 -11
  364. package/contracts/instance/module/IDistribution.sol +0 -1
  365. package/contracts/instance/module/IPolicy.sol +24 -24
  366. package/contracts/mock/Dip.sol +1 -1
  367. package/contracts/oracle/BasicOracle.sol +47 -0
  368. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  369. package/contracts/oracle/IOracle.sol +16 -0
  370. package/contracts/oracle/IOracleComponent.sol +2 -1
  371. package/contracts/oracle/IOracleService.sol +2 -1
  372. package/contracts/oracle/Oracle.sol +64 -53
  373. package/contracts/oracle/OracleService.sol +51 -37
  374. package/contracts/oracle/OracleServiceManager.sol +8 -11
  375. package/contracts/pool/BasicPool.sol +154 -0
  376. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  377. package/contracts/pool/BundleService.sol +284 -87
  378. package/contracts/pool/BundleServiceManager.sol +8 -11
  379. package/contracts/pool/IBundleService.sol +42 -5
  380. package/contracts/pool/IPoolComponent.sol +24 -68
  381. package/contracts/pool/IPoolService.sol +56 -39
  382. package/contracts/pool/Pool.sol +184 -148
  383. package/contracts/pool/PoolService.sol +262 -171
  384. package/contracts/pool/PoolServiceManager.sol +6 -9
  385. package/contracts/product/ApplicationService.sol +75 -70
  386. package/contracts/product/ApplicationServiceManager.sol +6 -6
  387. package/contracts/product/BasicProduct.sol +53 -0
  388. package/contracts/product/BasicProductAuthorization.sol +42 -0
  389. package/contracts/product/ClaimService.sol +321 -151
  390. package/contracts/product/ClaimServiceManager.sol +6 -6
  391. package/contracts/product/IApplicationService.sol +1 -0
  392. package/contracts/product/IClaimService.sol +31 -7
  393. package/contracts/product/IPolicyService.sol +34 -32
  394. package/contracts/product/IPricingService.sol +10 -10
  395. package/contracts/product/IProductComponent.sol +26 -9
  396. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  397. package/contracts/product/PolicyService.sol +424 -208
  398. package/contracts/product/PolicyServiceManager.sol +6 -9
  399. package/contracts/product/PricingService.sol +58 -59
  400. package/contracts/product/PricingServiceManager.sol +5 -8
  401. package/contracts/product/Product.sol +211 -133
  402. package/contracts/product/{ProductService.sol → RiskService.sol} +18 -46
  403. package/contracts/product/RiskServiceManager.sol +39 -0
  404. package/contracts/registry/ChainNft.sol +68 -38
  405. package/contracts/registry/IRegistry.sol +71 -22
  406. package/contracts/registry/IRegistryService.sol +3 -10
  407. package/contracts/registry/ITransferInterceptor.sol +1 -2
  408. package/contracts/registry/Registry.sol +354 -213
  409. package/contracts/registry/RegistryAdmin.sol +267 -171
  410. package/contracts/registry/RegistryService.sol +44 -69
  411. package/contracts/registry/RegistryServiceManager.sol +4 -9
  412. package/contracts/registry/ReleaseAdmin.sol +248 -0
  413. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  414. package/contracts/registry/ReleaseRegistry.sol +507 -0
  415. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  416. package/contracts/registry/TokenRegistry.sol +2 -2
  417. package/contracts/shared/Component.sol +47 -63
  418. package/contracts/shared/ComponentService.sol +316 -189
  419. package/contracts/shared/ComponentServiceManager.sol +10 -7
  420. package/contracts/shared/ComponentVerifyingService.sol +24 -15
  421. package/contracts/shared/ContractLib.sol +38 -0
  422. package/contracts/shared/IComponent.sol +10 -6
  423. package/contracts/shared/IComponentService.sol +38 -20
  424. package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
  425. package/contracts/shared/IKeyValueStore.sol +1 -0
  426. package/contracts/shared/ILifecycle.sol +3 -2
  427. package/contracts/shared/INftOwnable.sol +2 -0
  428. package/contracts/shared/IPolicyHolder.sol +12 -22
  429. package/contracts/shared/IRegisterable.sol +11 -0
  430. package/contracts/shared/IService.sol +8 -1
  431. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  432. package/contracts/shared/InstanceLinkedComponent.sol +106 -37
  433. package/contracts/shared/KeyValueStore.sol +7 -3
  434. package/contracts/shared/Lifecycle.sol +30 -72
  435. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  436. package/contracts/shared/NftOwnable.sol +29 -9
  437. package/contracts/shared/PolicyHolder.sol +17 -57
  438. package/contracts/shared/Registerable.sol +19 -9
  439. package/contracts/shared/RegistryLinked.sol +3 -2
  440. package/contracts/shared/Service.sol +43 -36
  441. package/contracts/shared/TokenHandler.sol +100 -19
  442. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  443. package/contracts/staking/IStaking.sol +3 -3
  444. package/contracts/staking/IStakingService.sol +22 -14
  445. package/contracts/staking/StakeManagerLib.sol +70 -25
  446. package/contracts/staking/Staking.sol +86 -140
  447. package/contracts/staking/StakingLifecycle.sol +23 -0
  448. package/contracts/staking/StakingManager.sol +10 -12
  449. package/contracts/staking/StakingReader.sol +23 -20
  450. package/contracts/staking/StakingService.sol +83 -82
  451. package/contracts/staking/StakingServiceManager.sol +4 -5
  452. package/contracts/staking/StakingStore.sol +93 -60
  453. package/contracts/staking/TargetManagerLib.sol +7 -3
  454. package/contracts/type/Amount.sol +27 -5
  455. package/contracts/type/Blocknumber.sol +7 -1
  456. package/contracts/type/ClaimId.sol +6 -1
  457. package/contracts/type/NftId.sol +1 -0
  458. package/contracts/type/ObjectType.sol +172 -64
  459. package/contracts/type/PayoutId.sol +10 -10
  460. package/contracts/type/Referral.sol +1 -0
  461. package/contracts/type/RiskId.sol +15 -1
  462. package/contracts/type/RoleId.sol +100 -81
  463. package/contracts/type/Seconds.sol +21 -1
  464. package/contracts/type/Selector.sol +102 -0
  465. package/contracts/type/StateId.sol +15 -1
  466. package/contracts/type/String.sol +53 -0
  467. package/contracts/type/Timestamp.sol +11 -1
  468. package/contracts/type/UFixed.sol +38 -9
  469. package/contracts/type/Version.sol +3 -1
  470. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  471. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  472. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  473. package/package.json +7 -4
  474. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  475. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  476. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  477. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  478. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  479. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  480. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  481. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  482. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  483. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  485. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  486. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  487. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  488. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  489. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  490. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  491. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  492. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  493. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  494. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  495. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  496. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  497. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  498. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  499. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  500. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  501. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  502. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  503. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  504. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  505. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  506. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  507. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  508. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  509. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  510. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  511. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  512. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  513. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  514. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  515. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  516. package/contracts/product/ProductServiceManager.sol +0 -42
  517. package/contracts/registry/ReleaseManager.sol +0 -600
  518. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  519. package/contracts/shared/AccessManagerCustom.sol +0 -736
  520. package/contracts/shared/AccessManagerExtended.sol +0 -470
  521. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  522. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  523. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  524. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  525. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  526. package/contracts/shared/InitializableCustom.sol +0 -177
  527. /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,25 +1,20 @@
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, 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";
15
12
  import {RequestId} from "../type/RequestId.sol";
16
13
  import {RiskId} from "../type/RiskId.sol";
17
14
  import {RoleId} from "../type/RoleId.sol";
18
15
  import {StateId} from "../type/StateId.sol";
19
- import {UFixed, MathLib, UFixedLib} from "../type/UFixed.sol";
20
- import {Version} from "../type/Version.sol";
16
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
21
17
 
22
- import {IRegistry} from "../registry/IRegistry.sol";
23
18
  import {IBundle} from "../instance/module/IBundle.sol";
24
19
  import {IComponents} from "../instance/module/IComponents.sol";
25
20
  import {IDistribution} from "../instance/module/IDistribution.sol";
@@ -31,6 +26,7 @@ import {IRisk} from "../instance/module/IRisk.sol";
31
26
  import {TimestampLib} from "../type/Timestamp.sol";
32
27
 
33
28
  import {InstanceStore} from "./InstanceStore.sol";
29
+ import {BundleSet} from "./BundleSet.sol";
34
30
 
35
31
 
36
32
  contract InstanceReader {
@@ -38,24 +34,31 @@ contract InstanceReader {
38
34
  error ErrorInstanceReaderAlreadyInitialized();
39
35
  error ErrorInstanceReaderInstanceAddressZero();
40
36
 
41
- bool private _initialized;
37
+ bool private _initialized = false;
42
38
 
43
39
  IInstance internal _instance;
44
40
  InstanceStore internal _store;
41
+ BundleSet internal _bundleSet;
45
42
 
46
- function initialize(address instance) public {
43
+ /// @dev This initializer needs to be called from the instance itself.
44
+ function initialize() public {
47
45
  if(_initialized) {
48
46
  revert ErrorInstanceReaderAlreadyInitialized();
49
47
  }
50
48
 
51
- if(instance == address(0)) {
52
- revert ErrorInstanceReaderInstanceAddressZero();
53
- }
49
+ initializeWithInstance(msg.sender);
50
+ }
54
51
 
55
- _instance = IInstance(instance);
56
- _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
+ }
57
57
 
58
58
  _initialized = true;
59
+ _instance = IInstance(instanceAddress);
60
+ _store = _instance.getInstanceStore();
61
+ _bundleSet = _instance.getBundleSet();
59
62
  }
60
63
 
61
64
 
@@ -80,14 +83,51 @@ contract InstanceReader {
80
83
  return _store.getState(toPolicyKey(policyNftId));
81
84
  }
82
85
 
83
- /// @dev returns true iff policy may be closed
84
- /// a policy can be closed all conditions below are met
85
- /// - policy exists
86
- /// - has been activated
87
- /// - is not yet closed
88
- /// - has no open claims
89
- /// - claim amount matches sum insured amount or is expired
90
- 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)
91
131
  public
92
132
  view
93
133
  returns (bool isCloseable)
@@ -96,17 +136,27 @@ contract InstanceReader {
96
136
 
97
137
  if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
98
138
  if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
99
- if (info.closedAt.gtz()) { return false; } // not closeable: already closed
100
- 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
141
+
142
+ return true;
143
+ }
101
144
 
102
- // closeable: if sum of claims matches sum insured a policy may be closed prior to the expiry date
103
- if (info.claimAmount == info.sumInsuredAmount) { return true; }
145
+ function claims(NftId policyNftId)
146
+ public
147
+ view
148
+ returns (uint16 claims)
149
+ {
150
+ return getPolicyInfo(policyNftId).claimsCount;
151
+ }
104
152
 
105
- // not closeable: not yet expired
106
- if (TimestampLib.blockTimestamp() < info.expiredAt) { return false; }
107
153
 
108
- // all conditionsl to close the policy are met
109
- return true;
154
+ function getClaimId(uint idx)
155
+ public
156
+ view
157
+ returns (ClaimId claimId)
158
+ {
159
+ return ClaimIdLib.toClaimId(idx + 1);
110
160
  }
111
161
 
112
162
  function getClaimInfo(NftId policyNftId, ClaimId claimId)
@@ -120,6 +170,7 @@ contract InstanceReader {
120
170
  }
121
171
  }
122
172
 
173
+
123
174
  function getClaimState(NftId policyNftId, ClaimId claimId)
124
175
  public
125
176
  view
@@ -128,6 +179,34 @@ contract InstanceReader {
128
179
  return _store.getState(claimId.toKey32(policyNftId));
129
180
  }
130
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
+
131
210
  function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
132
211
  public
133
212
  view
@@ -158,6 +237,19 @@ contract InstanceReader {
158
237
  }
159
238
  }
160
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
+
161
253
  function getTokenHandler(NftId componentNftId)
162
254
  public
163
255
  view
@@ -337,15 +429,28 @@ contract InstanceReader {
337
429
  );
338
430
  }
339
431
 
432
+
340
433
  function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
341
- (isMember, ) = _instance.getInstanceAccessManager().hasRole(
342
- roleId.toInt(), account);
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);
343
445
  }
344
446
 
345
447
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
346
448
  return policyNftId.toKey32(POLICY());
347
449
  }
348
450
 
451
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
452
+ return policyNftId.toKey32(PREMIUM());
453
+ }
349
454
 
350
455
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
351
456
  return distributorNftId.toKey32(DISTRIBUTOR());