@etherisc/gif-next 0.0.2-9bfd86b-310 → 0.0.2-9c4663e-693

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 (591) hide show
  1. package/README.md +128 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +404 -369
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +48 -10
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1209 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +119 -605
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +471 -269
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +161 -119
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +133 -279
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +311 -67
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +239 -55
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +155 -116
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +254 -182
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1581 -253
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1153 -396
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -341
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -128
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +882 -752
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  101. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -136
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +121 -413
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +337 -210
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +153 -107
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +212 -35
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +128 -396
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -308
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +125 -684
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +673 -552
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +173 -107
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -100
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +365 -104
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -268
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +459 -309
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +151 -109
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +232 -333
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -141
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  181. package/artifacts/contracts/product/Product.sol/Product.json +268 -567
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +367 -63
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +600 -127
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +666 -549
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +101 -16
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  216. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  217. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +591 -546
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +148 -128
  222. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  224. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  232. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +568 -252
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -133
  238. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  240. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  242. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  244. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  246. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  248. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -366
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  269. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  270. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
  281. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/Staking.sol/Staking.json +280 -397
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +136 -105
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +218 -182
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +94 -48
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +59 -4
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +181 -14
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  339. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  350. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  356. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  357. package/contracts/accounting/AccountingService.sol +262 -0
  358. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  359. package/contracts/accounting/IAccountingService.sol +45 -0
  360. package/contracts/authorization/AccessAdmin.sol +704 -0
  361. package/contracts/authorization/AccessAdminLib.sol +183 -0
  362. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  363. package/contracts/authorization/Authorization.sol +365 -0
  364. package/contracts/authorization/IAccess.sol +57 -0
  365. package/contracts/authorization/IAccessAdmin.sol +170 -0
  366. package/contracts/authorization/IAuthorization.sol +80 -0
  367. package/contracts/{registry → authorization}/IServiceAuthorization.sol +11 -6
  368. package/contracts/{registry → authorization}/ServiceAuthorization.sol +45 -25
  369. package/contracts/distribution/BasicDistribution.sol +141 -0
  370. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  371. package/contracts/distribution/Distribution.sol +122 -139
  372. package/contracts/distribution/DistributionService.sol +214 -126
  373. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  374. package/contracts/distribution/IDistributionComponent.sol +19 -42
  375. package/contracts/distribution/IDistributionService.sol +44 -22
  376. package/contracts/examples/fire/DamageLevel.sol +59 -0
  377. package/contracts/examples/fire/FirePool.sol +86 -0
  378. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  379. package/contracts/examples/fire/FireProduct.sol +433 -0
  380. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  381. package/contracts/examples/fire/FireUSD.sol +26 -0
  382. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  383. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  385. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  386. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  388. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  389. package/contracts/instance/BundleSet.sol +130 -0
  390. package/contracts/instance/IInstance.sol +68 -49
  391. package/contracts/instance/IInstanceService.sol +34 -43
  392. package/contracts/instance/Instance.sol +163 -122
  393. package/contracts/instance/InstanceAdmin.sol +363 -244
  394. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  395. package/contracts/instance/InstanceReader.sol +306 -48
  396. package/contracts/instance/InstanceService.sol +221 -201
  397. package/contracts/instance/InstanceServiceManager.sol +8 -13
  398. package/contracts/instance/InstanceStore.sol +35 -6
  399. package/contracts/instance/RiskSet.sol +118 -0
  400. package/contracts/instance/base/ObjectCounter.sol +1 -2
  401. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  402. package/contracts/instance/base/ObjectSet.sol +77 -0
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +6 -5
  405. package/contracts/instance/module/IComponents.sol +30 -20
  406. package/contracts/instance/module/IDistribution.sol +21 -9
  407. package/contracts/instance/module/IPolicy.sol +50 -29
  408. package/contracts/instance/module/IRisk.sol +5 -0
  409. package/contracts/mock/Dip.sol +1 -1
  410. package/contracts/oracle/BasicOracle.sol +45 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  412. package/contracts/oracle/IOracle.sol +25 -4
  413. package/contracts/oracle/IOracleComponent.sol +2 -1
  414. package/contracts/oracle/IOracleService.sol +2 -1
  415. package/contracts/oracle/Oracle.sol +62 -53
  416. package/contracts/oracle/OracleService.sol +113 -81
  417. package/contracts/oracle/OracleServiceManager.sol +8 -11
  418. package/contracts/pool/BasicPool.sol +173 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  420. package/contracts/pool/BundleService.sol +204 -105
  421. package/contracts/pool/BundleServiceManager.sol +8 -11
  422. package/contracts/pool/IBundleService.sol +31 -22
  423. package/contracts/pool/IPoolComponent.sol +20 -70
  424. package/contracts/pool/IPoolService.sol +90 -75
  425. package/contracts/pool/Pool.sol +207 -163
  426. package/contracts/pool/PoolLib.sol +216 -0
  427. package/contracts/pool/PoolService.sol +544 -241
  428. package/contracts/pool/PoolServiceManager.sol +6 -9
  429. package/contracts/product/ApplicationService.sol +98 -78
  430. package/contracts/product/ApplicationServiceManager.sol +6 -6
  431. package/contracts/product/BasicProduct.sol +49 -0
  432. package/contracts/product/BasicProductAuthorization.sol +56 -0
  433. package/contracts/product/ClaimService.sol +365 -175
  434. package/contracts/product/ClaimServiceManager.sol +6 -6
  435. package/contracts/product/IApplicationService.sol +9 -2
  436. package/contracts/product/IClaimService.sol +44 -8
  437. package/contracts/product/IPolicyService.sol +53 -36
  438. package/contracts/product/IPricingService.sol +11 -10
  439. package/contracts/product/IProductComponent.sol +29 -9
  440. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  441. package/contracts/product/PolicyService.sol +458 -269
  442. package/contracts/product/PolicyServiceLib.sol +65 -0
  443. package/contracts/product/PolicyServiceManager.sol +6 -9
  444. package/contracts/product/PricingService.sol +69 -60
  445. package/contracts/product/PricingServiceManager.sol +6 -9
  446. package/contracts/product/Product.sol +230 -140
  447. package/contracts/product/RiskService.sol +154 -0
  448. package/contracts/product/RiskServiceManager.sol +39 -0
  449. package/contracts/registry/ChainNft.sol +72 -40
  450. package/contracts/registry/IRegistry.sol +78 -32
  451. package/contracts/registry/IRegistryService.sol +3 -10
  452. package/contracts/registry/IRelease.sol +29 -0
  453. package/contracts/registry/ITransferInterceptor.sol +1 -2
  454. package/contracts/registry/Registry.sol +368 -220
  455. package/contracts/registry/RegistryAdmin.sol +174 -249
  456. package/contracts/registry/RegistryAuthorization.sol +267 -0
  457. package/contracts/registry/RegistryService.sol +41 -66
  458. package/contracts/registry/RegistryServiceManager.sol +5 -5
  459. package/contracts/registry/ReleaseAdmin.sol +253 -0
  460. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  461. package/contracts/registry/ReleaseRegistry.sol +517 -0
  462. package/contracts/registry/ServiceAuthorizationV3.sol +191 -60
  463. package/contracts/registry/TokenRegistry.sol +12 -11
  464. package/contracts/shared/Component.sol +65 -136
  465. package/contracts/shared/ComponentService.sol +464 -373
  466. package/contracts/shared/ComponentServiceManager.sol +10 -7
  467. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  468. package/contracts/shared/ContractLib.sol +281 -0
  469. package/contracts/shared/IComponent.sol +5 -17
  470. package/contracts/shared/IComponentService.sol +51 -41
  471. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  472. package/contracts/shared/IKeyValueStore.sol +1 -0
  473. package/contracts/shared/ILifecycle.sol +3 -2
  474. package/contracts/shared/INftOwnable.sol +2 -0
  475. package/contracts/shared/IPolicyHolder.sol +12 -22
  476. package/contracts/shared/IRegisterable.sol +23 -1
  477. package/contracts/shared/IService.sol +4 -6
  478. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  479. package/contracts/shared/InstanceLinkedComponent.sol +96 -45
  480. package/contracts/shared/KeyValueStore.sol +7 -3
  481. package/contracts/shared/Lifecycle.sol +30 -72
  482. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  483. package/contracts/shared/NftOwnable.sol +31 -11
  484. package/contracts/shared/PolicyHolder.sol +17 -57
  485. package/contracts/shared/Registerable.sol +52 -21
  486. package/contracts/shared/RegistryLinked.sol +9 -14
  487. package/contracts/shared/Service.sol +18 -36
  488. package/contracts/shared/TokenHandler.sol +310 -26
  489. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  490. package/contracts/staking/IStaking.sol +26 -15
  491. package/contracts/staking/IStakingService.sol +28 -9
  492. package/contracts/staking/Staking.sol +118 -85
  493. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  494. package/contracts/staking/StakingLifecycle.sol +23 -0
  495. package/contracts/staking/StakingManager.sol +10 -12
  496. package/contracts/staking/StakingReader.sol +26 -33
  497. package/contracts/staking/StakingService.sol +90 -37
  498. package/contracts/staking/StakingServiceManager.sol +8 -7
  499. package/contracts/staking/StakingStore.sol +17 -24
  500. package/contracts/staking/TargetManagerLib.sol +7 -3
  501. package/contracts/type/Amount.sol +27 -5
  502. package/contracts/type/Blocknumber.sol +7 -1
  503. package/contracts/type/ClaimId.sol +6 -1
  504. package/contracts/type/Fee.sol +8 -8
  505. package/contracts/type/Key32.sol +2 -2
  506. package/contracts/type/Key32Set.sol +62 -0
  507. package/contracts/type/NftId.sol +7 -0
  508. package/contracts/type/ObjectType.sol +80 -27
  509. package/contracts/type/PayoutId.sol +10 -10
  510. package/contracts/type/Referral.sol +1 -0
  511. package/contracts/type/RiskId.sol +38 -6
  512. package/contracts/type/RoleId.sol +75 -94
  513. package/contracts/type/Seconds.sol +21 -1
  514. package/contracts/type/Selector.sol +5 -0
  515. package/contracts/type/StateId.sol +15 -1
  516. package/contracts/type/Timestamp.sol +10 -5
  517. package/contracts/type/UFixed.sol +61 -125
  518. package/contracts/type/Version.sol +57 -6
  519. package/contracts/{shared → upgradeability}/ProxyManager.sol +82 -47
  520. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  521. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  522. package/package.json +10 -6
  523. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  525. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  526. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  527. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  529. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  531. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  532. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  534. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  535. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  536. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  537. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  538. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1218
  539. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  540. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  541. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  542. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  543. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  544. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  545. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  546. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  547. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  548. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  549. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  550. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  551. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  552. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  553. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  554. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  555. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  556. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  557. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  558. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  559. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  560. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  561. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  562. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  563. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  564. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  565. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  566. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  567. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  568. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  569. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  570. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  571. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  572. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  573. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  574. package/contracts/instance/BundleManager.sol +0 -126
  575. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  576. package/contracts/instance/base/ObjectManager.sol +0 -80
  577. package/contracts/instance/module/IAccess.sol +0 -46
  578. package/contracts/product/ProductService.sol +0 -124
  579. package/contracts/product/ProductServiceManager.sol +0 -42
  580. package/contracts/registry/ReleaseManager.sol +0 -527
  581. package/contracts/shared/AccessAdmin.sol +0 -759
  582. package/contracts/shared/AccessManagerCustom.sol +0 -741
  583. package/contracts/shared/AccessManagerExtended.sol +0 -481
  584. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  585. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  586. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  587. package/contracts/shared/IAccessAdmin.sol +0 -168
  588. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  589. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  590. package/contracts/shared/InitializableCustom.sol +0 -177
  591. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,10 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "MathLib",
4
- "sourceName": "contracts/type/UFixed.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204121b2b7c82b5a0ebe4e6caa829cbd500c88b21adac1785c28cd4e5ea0eb3e0c64736f6c63430008140033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204121b2b7c82b5a0ebe4e6caa829cbd500c88b21adac1785c28cd4e5ea0eb3e0c64736f6c63430008140033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
10
- }
@@ -1,126 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IInstance} from "./IInstance.sol";
5
- import {INSTANCE} from "../type/ObjectType.sol";
6
- import {InstanceReader} from "./InstanceReader.sol";
7
- import {IPolicy} from "../instance/module/IPolicy.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {LibNftIdSet} from "../type/NftIdSet.sol";
10
- import {NftId} from "../type/NftId.sol";
11
- import {TimestampLib} from "../type/Timestamp.sol";
12
-
13
- import {ObjectManager} from "./base/ObjectManager.sol";
14
-
15
- contract BundleManager is
16
- ObjectManager
17
- {
18
-
19
- event LogBundleManagerPolicyLinked(NftId bundleNftId, NftId policyNftId);
20
- event LogBundleManagerPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
21
-
22
- event LogBundleManagerBundleAdded(NftId poolNftId, NftId bundleNftId);
23
- event LogBundleManagerBundleUnlocked(NftId poolNftId, NftId bundleNftId);
24
- event LogBundleManagerBundleLocked(NftId poolNftId, NftId bundleNftId);
25
- event LogBundleManagerBundleClosed(NftId poolNftId, NftId bundleNftId);
26
-
27
- error ErrorBundleManagerPolicyAlreadyActivated(NftId policyNftId);
28
- error ErrorBundleManagerBundleLocked(NftId bundleNftId, NftId policyNftId);
29
- error ErrorBundleManagerPolicyWithOpenClaims(NftId policyNftId, uint256 openClaimsCount);
30
- error ErrorBundleManagerPolicyNotCloseable(NftId policyNftId);
31
- error ErrorBundleManagerBundleUnknown(NftId bundleNftId);
32
- error ErrorBundleManagerBundleNotRegistered(NftId bundleNftId);
33
-
34
- mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
35
-
36
- /// @dev links a policy to its bundle
37
- // to link a policy it MUST NOT yet have been linked
38
- function linkPolicy(NftId policyNftId) external restricted() {
39
- NftId bundleNftId = _instance.getInstanceReader().getPolicyInfo(policyNftId).bundleNftId;
40
- // decision will likely depend on the decision what to check here and what in the service
41
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
42
-
43
- // ensure bundle is unlocked (in active set) and registered with this instance
44
- if (!_isActive(poolNftId, bundleNftId)) {
45
- revert ErrorBundleManagerBundleLocked(bundleNftId, policyNftId);
46
- }
47
-
48
- LibNftIdSet.add(_activePolicies[bundleNftId], policyNftId);
49
- emit LogBundleManagerPolicyLinked(bundleNftId, policyNftId);
50
- }
51
-
52
-
53
- /// @dev unlinks a policy from its bundle
54
- // to unlink a policy it must closable, ie. meet one of the following criterias
55
- // - the policy MUST be past its expiry period and it MUST NOT have any open claims
56
- // - the policy's payoutAmount MUST be equal to its sumInsuredAmount and MUST NOT have any open claims
57
- function unlinkPolicy(NftId policyNftId) external restricted() {
58
- IPolicy.PolicyInfo memory policyInfo = _instance.getInstanceReader().getPolicyInfo(policyNftId);
59
-
60
- NftId bundleNftId = policyInfo.bundleNftId;
61
- // decision will likely depend on the decision what to check here and what in the service
62
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
63
-
64
- // ensure bundle is registered with this instance
65
- if (!_contains(poolNftId, bundleNftId)) {
66
- revert ErrorBundleManagerBundleUnknown(bundleNftId);
67
- }
68
-
69
- LibNftIdSet.remove(_activePolicies[bundleNftId], policyNftId);
70
- emit LogBundleManagerPolicyUnlinked(policyInfo.bundleNftId, policyNftId);
71
- }
72
-
73
-
74
- /// @dev add a new bundle to a pool registerd with this instance
75
- // the corresponding pool is fetched via instance reader
76
- function add(NftId bundleNftId) external restricted() {
77
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
78
-
79
- // ensure pool is registered with instance
80
- if(poolNftId.eqz()) {
81
- revert ErrorBundleManagerBundleNotRegistered(bundleNftId);
82
- }
83
-
84
- _add(poolNftId, bundleNftId);
85
- emit LogBundleManagerBundleAdded(poolNftId, bundleNftId);
86
- }
87
-
88
-
89
- /// @dev unlocked (active) bundles are available to collateralize new policies
90
- function unlock(NftId bundleNftId) external restricted() {
91
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
92
- _activate(poolNftId, bundleNftId);
93
- emit LogBundleManagerBundleUnlocked(poolNftId, bundleNftId);
94
- }
95
-
96
- /// @dev locked (deactivated) bundles may not collateralize any new policies
97
- function lock(NftId bundleNftId) external restricted() {
98
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
99
- _deactivate(poolNftId, bundleNftId);
100
- emit LogBundleManagerBundleLocked(poolNftId, bundleNftId);
101
- }
102
-
103
- function bundles(NftId poolNftId) external view returns(uint256) {
104
- return _objects(poolNftId);
105
- }
106
-
107
- function getBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId bundleNftId) {
108
- return _getObject(poolNftId, idx);
109
- }
110
-
111
- function activeBundles(NftId poolNftId) external view returns(uint256) {
112
- return _activeObjs(poolNftId);
113
- }
114
-
115
- function getActiveBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId bundleNftId) {
116
- return _getActiveObject(poolNftId, idx);
117
- }
118
-
119
- function activePolicies(NftId bundleNftId) external view returns(uint256) {
120
- return LibNftIdSet.size(_activePolicies[bundleNftId]);
121
- }
122
-
123
- function getActivePolicy(NftId bundleNftId, uint256 idx) external view returns(NftId policyNftId) {
124
- return LibNftIdSet.getElementAt(_activePolicies[bundleNftId], idx);
125
- }
126
- }
@@ -1,377 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, ORACLE_SERVICE_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, ORACLE_OWNER_ROLE, INSTANCE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, APPLICATION_SERVICE_ROLE, POLICY_SERVICE_ROLE, CLAIM_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
5
- import {APPLICATION, BUNDLE, CLAIM, COMPONENT, DISTRIBUTION, INSTANCE, ORACLE, POLICY, POOL, PRODUCT, REGISTRY} from "../type/ObjectType.sol";
6
- import {VersionPart} from "../type/Version.sol";
7
-
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
-
10
- import {Instance} from "./Instance.sol";
11
- import {InstanceAdmin} from "./InstanceAdmin.sol";
12
- import {InstanceReader} from "./InstanceReader.sol";
13
- import {BundleManager} from "./BundleManager.sol";
14
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
15
- import {InstanceStore} from "./InstanceStore.sol";
16
-
17
-
18
- library InstanceAuthorizationsLib
19
- {
20
- function grantInitialAuthorizations(
21
- AccessManagerExtendedInitializeable accessManager,
22
- InstanceAdmin instanceAdmin,
23
- Instance instance,
24
- BundleManager bundleManager,
25
- InstanceStore instanceStore,
26
- address instanceOwner,
27
- IRegistry registry,
28
- VersionPart majorVersion)
29
- external
30
- {
31
- _createRoles(instanceAdmin);
32
- _createTargets(instanceAdmin, instance, bundleManager, instanceStore);
33
- _grantComponentServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
34
- _grantOracleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
35
- _grantDistributionServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
36
- _grantPoolServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
37
- _grantProductServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
38
- _grantApplicationServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
39
- _grantPolicyServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
40
- _grantClaimServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
41
- _grantBundleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, bundleManager, registry, majorVersion);
42
- _grantInstanceServiceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
43
- _grantInstanceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
44
- _grantInstanceOwnerAuthorizations(instanceAdmin, instance, registry, majorVersion);
45
- }
46
-
47
- function _createRoles(InstanceAdmin instanceAdmin) private {
48
- // default roles controlled by ADMIN_ROLE -> core roles
49
- // all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
50
- instanceAdmin.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
51
- instanceAdmin.createCoreRole(COMPONENT_SERVICE_ROLE(), "ComponentServiceRole");
52
- instanceAdmin.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
53
- instanceAdmin.createCoreRole(ORACLE_SERVICE_ROLE(), "OracleServiceRole");
54
- instanceAdmin.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
55
- instanceAdmin.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
56
- instanceAdmin.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
57
- instanceAdmin.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
58
- instanceAdmin.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
59
- instanceAdmin.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
60
-
61
- // default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
62
- instanceAdmin.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
63
- instanceAdmin.createGifRole(ORACLE_OWNER_ROLE(), "OracleOwnerRole", INSTANCE_OWNER_ROLE());
64
- instanceAdmin.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
65
- instanceAdmin.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
66
- }
67
-
68
- function _createTargets(
69
- InstanceAdmin instanceAdmin,
70
- Instance instance,
71
- BundleManager bundleManager,
72
- InstanceStore instanceStore)
73
- private
74
- {
75
- instanceAdmin.createCoreTarget(address(instance), "Instance");
76
- //instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
77
- instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
78
- instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
79
- }
80
-
81
- function _grantComponentServiceAuthorizations(
82
- AccessManagerExtendedInitializeable accessManager,
83
- InstanceAdmin instanceAdmin,
84
- InstanceStore instanceStore,
85
- IRegistry registry,
86
- VersionPart majorVersion)
87
- private
88
- {
89
- // configure authorization for component service on instance store
90
- address componentServiceAddress = registry.getServiceAddress(COMPONENT(), majorVersion);
91
- accessManager.grantRole(COMPONENT_SERVICE_ROLE().toInt(), componentServiceAddress, 0);
92
-
93
- bytes4[] memory serviceSelectors = new bytes4[](8);
94
- serviceSelectors[0] = instanceStore.createComponent.selector;
95
- serviceSelectors[1] = instanceStore.updateComponent.selector;
96
- serviceSelectors[2] = instanceStore.createPool.selector;
97
- serviceSelectors[3] = instanceStore.createProduct.selector;
98
- serviceSelectors[5] = instanceStore.updateProduct.selector;
99
- serviceSelectors[6] = instanceStore.increaseBalance.selector;
100
- serviceSelectors[7] = instanceStore.increaseFees.selector;
101
-
102
- instanceAdmin.setTargetFunctionRoleByService(
103
- "InstanceStore",
104
- serviceSelectors,
105
- COMPONENT_SERVICE_ROLE());
106
- }
107
-
108
- function _grantOracleServiceAuthorizations(
109
- AccessManagerExtendedInitializeable accessManager,
110
- InstanceAdmin instanceAdmin,
111
- InstanceStore instanceStore,
112
- IRegistry registry,
113
- VersionPart majorVersion
114
- )
115
- private
116
- {
117
- // configure authorization for distribution service on instance
118
- address oracleServiceAddress = registry.getServiceAddress(ORACLE(), majorVersion);
119
- accessManager.grantRole(ORACLE_SERVICE_ROLE().toInt(), oracleServiceAddress, 0);
120
-
121
- bytes4[] memory instanceOracleServiceSelectors = new bytes4[](3);
122
- instanceOracleServiceSelectors[0] = instanceStore.createRequest.selector;
123
- instanceOracleServiceSelectors[1] = instanceStore.updateRequest.selector;
124
- instanceOracleServiceSelectors[2] = instanceStore.updateRequestState.selector;
125
-
126
- instanceAdmin.setTargetFunctionRoleByService(
127
- "InstanceStore",
128
- instanceOracleServiceSelectors,
129
- ORACLE_SERVICE_ROLE());
130
- }
131
-
132
- function _grantDistributionServiceAuthorizations(
133
- AccessManagerExtendedInitializeable accessManager,
134
- InstanceAdmin instanceAdmin,
135
- InstanceStore instanceStore,
136
- IRegistry registry,
137
- VersionPart majorVersion
138
- )
139
- private
140
- {
141
- // configure authorization for distribution service on instance
142
- address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
143
- accessManager.grantRole(DISTRIBUTION_SERVICE_ROLE().toInt(), distributionServiceAddress, 0);
144
- bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](9);
145
- //instanceDistributionServiceSelectors[0] = instanceStore.createDistributionSetup.selector;
146
- //instanceDistributionServiceSelectors[1] = instanceStore.updateDistributionSetup.selector;
147
- instanceDistributionServiceSelectors[0] = instanceStore.createDistributorType.selector;
148
- instanceDistributionServiceSelectors[1] = instanceStore.updateDistributorType.selector;
149
- instanceDistributionServiceSelectors[2] = instanceStore.updateDistributorTypeState.selector;
150
- instanceDistributionServiceSelectors[3] = instanceStore.createDistributor.selector;
151
- instanceDistributionServiceSelectors[4] = instanceStore.updateDistributor.selector;
152
- instanceDistributionServiceSelectors[5] = instanceStore.updateDistributorState.selector;
153
- instanceDistributionServiceSelectors[6] = instanceStore.createReferral.selector;
154
- instanceDistributionServiceSelectors[7] = instanceStore.updateReferral.selector;
155
- instanceDistributionServiceSelectors[8] = instanceStore.updateReferralState.selector;
156
- instanceAdmin.setTargetFunctionRoleByService(
157
- "InstanceStore",
158
- instanceDistributionServiceSelectors,
159
- DISTRIBUTION_SERVICE_ROLE());
160
- }
161
-
162
- function _grantPoolServiceAuthorizations(
163
- AccessManagerExtendedInitializeable accessManager,
164
- InstanceAdmin instanceAdmin,
165
- InstanceStore instanceStore,
166
- IRegistry registry,
167
- VersionPart majorVersion)
168
- private
169
- {
170
- // configure authorization for pool service on instance
171
- address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
172
- accessManager.grantRole(POOL_SERVICE_ROLE().toInt(), address(poolServiceAddress), 0);
173
- bytes4[] memory instancePoolServiceSelectors = new bytes4[](1); // TODO works with (4)
174
- instancePoolServiceSelectors[0] = instanceStore.updatePool.selector;
175
- instanceAdmin.setTargetFunctionRoleByService(
176
- "InstanceStore",
177
- instancePoolServiceSelectors,
178
- POOL_SERVICE_ROLE());
179
- }
180
-
181
- function _grantProductServiceAuthorizations(
182
- AccessManagerExtendedInitializeable accessManager,
183
- InstanceAdmin instanceAdmin,
184
- InstanceStore instanceStore,
185
- IRegistry registry,
186
- VersionPart majorVersion)
187
- private
188
- {
189
- // configure authorization for product service on instance
190
- address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
191
- accessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), productServiceAddress, 0);
192
- bytes4[] memory instanceProductServiceSelectors = new bytes4[](3);
193
- instanceProductServiceSelectors[0] = instanceStore.createRisk.selector;
194
- instanceProductServiceSelectors[1] = instanceStore.updateRisk.selector;
195
- instanceProductServiceSelectors[2] = instanceStore.updateRiskState.selector;
196
- instanceAdmin.setTargetFunctionRoleByService(
197
- "InstanceStore",
198
- instanceProductServiceSelectors,
199
- PRODUCT_SERVICE_ROLE());
200
- }
201
-
202
- function _grantApplicationServiceAuthorizations(
203
- AccessManagerExtendedInitializeable accessManager,
204
- InstanceAdmin instanceAdmin,
205
- InstanceStore instanceStore,
206
- IRegistry registry,
207
- VersionPart majorVersion)
208
- private
209
- {
210
- // configure authorization for application services on instance
211
- address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
212
- accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
213
- bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
214
- instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
215
- instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
216
- instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
217
- instanceAdmin.setTargetFunctionRoleByService(
218
- "InstanceStore",
219
- instanceApplicationServiceSelectors,
220
- APPLICATION_SERVICE_ROLE());
221
- }
222
-
223
- function _grantPolicyServiceAuthorizations(
224
- AccessManagerExtendedInitializeable accessManager,
225
- InstanceAdmin instanceAdmin,
226
- InstanceStore instanceStore,
227
- IRegistry registry,
228
- VersionPart majorVersion)
229
- private
230
- {
231
- // configure authorization for policy services on instance
232
- address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
233
- accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
234
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
235
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
236
- instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
237
- instanceAdmin.setTargetFunctionRoleByService(
238
- "InstanceStore",
239
- instancePolicyServiceSelectors,
240
- POLICY_SERVICE_ROLE());
241
- }
242
-
243
- function _grantClaimServiceAuthorizations(
244
- AccessManagerExtendedInitializeable accessManager,
245
- InstanceAdmin instanceAdmin,
246
- InstanceStore instanceStore,
247
- IRegistry registry,
248
- VersionPart majorVersion)
249
- private
250
- {
251
- // configure authorization for claim/payout services on instance
252
- address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
253
- accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
254
-
255
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
256
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
257
- instanceAdmin.setTargetFunctionRoleByService(
258
- "InstanceStore",
259
- instancePolicyServiceSelectors,
260
- CLAIM_SERVICE_ROLE());
261
-
262
- bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
263
- instanceClaimServiceSelectors[0] = instanceStore.createClaim.selector;
264
- instanceClaimServiceSelectors[1] = instanceStore.updateClaim.selector;
265
- instanceClaimServiceSelectors[2] = instanceStore.createPayout.selector;
266
- instanceClaimServiceSelectors[3] = instanceStore.updatePayout.selector;
267
- instanceAdmin.setTargetFunctionRoleByService(
268
- "InstanceStore",
269
- instanceClaimServiceSelectors,
270
- CLAIM_SERVICE_ROLE());
271
- }
272
-
273
- function _grantBundleServiceAuthorizations(
274
- AccessManagerExtendedInitializeable accessManager,
275
- InstanceAdmin instanceAdmin,
276
- InstanceStore instanceStore,
277
- BundleManager bundleManager,
278
- IRegistry registry,
279
- VersionPart majorVersion)
280
- private
281
- {
282
- // configure authorization for bundle service on instance
283
- address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
284
- accessManager.grantRole(BUNDLE_SERVICE_ROLE().toInt(), bundleServiceAddress, 0);
285
- bytes4[] memory instanceBundleServiceSelectors = new bytes4[](5);
286
- instanceBundleServiceSelectors[0] = instanceStore.createBundle.selector;
287
- instanceBundleServiceSelectors[1] = instanceStore.updateBundle.selector;
288
- instanceBundleServiceSelectors[2] = instanceStore.updateBundleState.selector;
289
- instanceBundleServiceSelectors[3] = instanceStore.increaseLocked.selector;
290
- instanceBundleServiceSelectors[4] = instanceStore.decreaseLocked.selector;
291
- instanceAdmin.setTargetFunctionRoleByService(
292
- "InstanceStore",
293
- instanceBundleServiceSelectors,
294
- BUNDLE_SERVICE_ROLE());
295
-
296
- // configure authorization for bundle service on bundle manager
297
- bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
298
- bundleManagerBundleServiceSelectors[0] = bundleManager.linkPolicy.selector;
299
- bundleManagerBundleServiceSelectors[1] = bundleManager.unlinkPolicy.selector;
300
- bundleManagerBundleServiceSelectors[2] = bundleManager.add.selector;
301
- bundleManagerBundleServiceSelectors[3] = bundleManager.lock.selector;
302
- bundleManagerBundleServiceSelectors[4] = bundleManager.unlock.selector;
303
- instanceAdmin.setTargetFunctionRoleByService(
304
- "BundleManager",
305
- bundleManagerBundleServiceSelectors,
306
- BUNDLE_SERVICE_ROLE());
307
- }
308
-
309
- function _grantInstanceServiceAuthorizations(
310
- AccessManagerExtendedInitializeable accessManager,
311
- InstanceAdmin instanceAdmin,
312
- Instance instance,
313
- IRegistry registry,
314
- VersionPart majorVersion)
315
- private
316
- {
317
- // configure authorization for instance service on instance
318
- address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
319
- accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
320
- bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
321
- instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
322
- instanceAdmin.setTargetFunctionRoleByService(
323
- "Instance",
324
- instanceInstanceServiceSelectors,
325
- INSTANCE_SERVICE_ROLE());
326
-
327
- // configure authorizations for instance service on instance access manager
328
- bytes4[] memory instanceAdminInstanceServiceSelectors = new bytes4[](3);
329
- instanceAdminInstanceServiceSelectors[0] = instanceAdmin.createGifTarget.selector;
330
- instanceAdminInstanceServiceSelectors[1] = instanceAdmin.setTargetLockedByService.selector;
331
- instanceAdminInstanceServiceSelectors[2] = instanceAdmin.setTargetFunctionRoleByService.selector;
332
- instanceAdmin.setTargetFunctionRoleByService(
333
- "InstanceAdmin",
334
- instanceAdminInstanceServiceSelectors,
335
- INSTANCE_SERVICE_ROLE());
336
- }
337
-
338
- function _grantInstanceAuthorizations(
339
- AccessManagerExtendedInitializeable accessManager,
340
- InstanceAdmin instanceAdmin,
341
- Instance instance,
342
- IRegistry registry,
343
- VersionPart majorVersion)
344
- private
345
- {
346
- // configure authorizations for instance on instance admin
347
- bytes4[] memory instanceAdminInstanceSelectors = new bytes4[](4);
348
- instanceAdminInstanceSelectors[0] = instanceAdmin.createRole.selector;
349
- instanceAdminInstanceSelectors[1] = instanceAdmin.createTarget.selector;
350
- instanceAdminInstanceSelectors[2] = instanceAdmin.setTargetFunctionRoleByInstance.selector;
351
- instanceAdminInstanceSelectors[3] = instanceAdmin.setTargetLockedByInstance.selector;
352
- instanceAdmin.setTargetFunctionRoleByService(
353
- "InstanceAdmin",
354
- instanceAdminInstanceSelectors,
355
- INSTANCE_ROLE());
356
- }
357
-
358
- function _grantInstanceOwnerAuthorizations(
359
- InstanceAdmin instanceAdmin,
360
- Instance instance,
361
- IRegistry registry,
362
- VersionPart majorVersion)
363
- private
364
- {
365
- // configure authorization for instance owner on instance access manager
366
- // instance owner role is granted/revoked ONLY by INSTANCE_ROLE
367
- bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
368
- instanceInstanceOwnerSelectors[0] = instance.createRole.selector;
369
- instanceInstanceOwnerSelectors[1] = instance.createTarget.selector;
370
- instanceInstanceOwnerSelectors[2] = instance.setTargetFunctionRole.selector;
371
- instanceInstanceOwnerSelectors[3] = instance.setTargetLocked.selector;
372
- instanceAdmin.setTargetFunctionRoleByService(
373
- "Instance",
374
- instanceInstanceOwnerSelectors,
375
- INSTANCE_OWNER_ROLE());
376
- }
377
- }
@@ -1,80 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Cloneable} from "./Cloneable.sol";
5
-
6
- import {IInstance} from "../IInstance.sol";
7
- import {INSTANCE} from "../../type/ObjectType.sol";
8
- import {InstanceReader} from "../InstanceReader.sol";
9
- import {IRegistry} from "../../registry/IRegistry.sol";
10
- import {LibNftIdSet} from "../../type/NftIdSet.sol";
11
- import {NftId} from "../../type/NftId.sol";
12
-
13
- contract ObjectManager is
14
- Cloneable
15
- {
16
-
17
- event LogObjectManagerInitialized(address instance);
18
-
19
- error ErrorObjectManagerNftIdInvalid(NftId instanceNftId);
20
-
21
- mapping(NftId compnentNftId => LibNftIdSet.Set objects) internal _activeObjects;
22
- mapping(NftId compnentNftId => LibNftIdSet.Set objects) internal _allObjects;
23
- IInstance internal _instance; // store instance address -> more flexible, instance may not be registered during ObjectManager initialization
24
-
25
- /// @dev call to initialize MUST be made in the same transaction as cloning of the contract
26
- function initialize(address instanceAddress)
27
- initializer
28
- external
29
- {
30
- IInstance instance = IInstance(instanceAddress);
31
- __Cloneable_init(instance.authority(), address(instance.getRegistry()));
32
- _instance = instance;
33
-
34
- emit LogObjectManagerInitialized(instanceAddress);
35
- }
36
-
37
- function getInstance() external view returns (IInstance) {
38
- return _instance;
39
- }
40
-
41
- function _add(NftId componentNftId, NftId objectNftId) internal {
42
- LibNftIdSet.Set storage allSet = _allObjects[componentNftId];
43
- LibNftIdSet.Set storage activeSet = _activeObjects[componentNftId];
44
-
45
- LibNftIdSet.add(allSet, objectNftId);
46
- LibNftIdSet.add(activeSet, objectNftId);
47
- }
48
-
49
- function _activate(NftId componentNftId, NftId objectNftId) internal {
50
- LibNftIdSet.add(_activeObjects[componentNftId], objectNftId);
51
- }
52
-
53
- function _deactivate(NftId componentNftId, NftId objectNftId) internal {
54
- LibNftIdSet.remove(_activeObjects[componentNftId], objectNftId);
55
- }
56
-
57
- function _objects(NftId componentNftId) internal view returns (uint256) {
58
- return LibNftIdSet.size(_allObjects[componentNftId]);
59
- }
60
-
61
- function _contains(NftId componentNftId, NftId objectNftId) internal view returns (bool) {
62
- return LibNftIdSet.contains(_allObjects[componentNftId], objectNftId);
63
- }
64
-
65
- function _getObject(NftId componentNftId, uint256 idx) internal view returns (NftId) {
66
- return LibNftIdSet.getElementAt(_allObjects[componentNftId], idx);
67
- }
68
-
69
- function _activeObjs(NftId componentNftId) internal view returns (uint256) {
70
- return LibNftIdSet.size(_activeObjects[componentNftId]);
71
- }
72
-
73
- function _isActive(NftId componentNftId, NftId objectNftId) internal view returns (bool) {
74
- return LibNftIdSet.contains(_activeObjects[componentNftId], objectNftId);
75
- }
76
-
77
- function _getActiveObject(NftId componentNftId, uint256 idx) internal view returns (NftId) {
78
- return LibNftIdSet.getElementAt(_activeObjects[componentNftId], idx);
79
- }
80
- }
@@ -1,46 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
-
6
- import {NftId} from "../../type/NftId.sol";
7
- import {RoleId} from "../../type/RoleId.sol";
8
- import {Timestamp} from "../../type/Timestamp.sol";
9
-
10
- interface IAccess {
11
-
12
- enum Type {
13
- NotInitialized,
14
- Core,
15
- Gif,
16
- Custom
17
- }
18
-
19
- struct RoleInfo {
20
- ShortString name;
21
- Type rtype;
22
- //bool isLocked;
23
- RoleId admin;
24
- Timestamp createdAt;
25
- Timestamp updatedAt;
26
- }
27
-
28
- struct TargetInfo {
29
- ShortString name;
30
- Type ttype;
31
- bool isLocked;
32
- Timestamp createdAt;
33
- Timestamp updatedAt;
34
- }
35
-
36
- error ErrorIAccessRoleIdTooBig(RoleId roleId);
37
- error ErrorIAccessRoleIdTooSmall(RoleId roleId);
38
- error ErrorIAccessRoleTypeInvalid(RoleId roleId, Type rtype);
39
-
40
- error ErrorIAccessTargetAddressZero();
41
- error ErrorIAccessTargetTypeInvalid(address target, Type ttype);
42
- error ErrorIAccessTargetLocked(address target);
43
- error ErrorIAccessTargetNotRegistered(address target);
44
- error ErrorIAccessTargetAuthorityInvalid(address target, address targetAuthority);
45
- error ErrorIAccessTargetInstanceMismatch(address target, NftId targetParentNftId, NftId instanceNftId);
46
- }