@etherisc/gif-next 0.0.2-7d65090-351 → 0.0.2-7d7c399-079

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 (568) hide show
  1. package/README.md +75 -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 +1341 -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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +181 -278
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +48 -10
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +144 -544
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +368 -245
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -109
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +201 -261
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +230 -49
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +134 -78
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +116 -126
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +162 -215
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1354 -262
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +966 -328
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +135 -330
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +97 -111
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +651 -531
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  97. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +141 -126
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -398
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +435 -202
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +163 -97
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +270 -27
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +448 -217
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -396
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -91
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +435 -212
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +145 -107
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +318 -8
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -113
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +260 -237
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +455 -318
  167. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  169. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -312
  171. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  173. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  174. package/artifacts/contracts/product/Product.sol/Product.json +258 -536
  175. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  176. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  177. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  179. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  180. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  181. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  182. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +340 -55
  183. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
  185. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  186. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  187. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  188. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  189. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/Registry.sol/Registry.json +566 -112
  191. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  192. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +396 -436
  193. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  195. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  197. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  198. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  199. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  200. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  201. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1325 -0
  203. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +101 -16
  205. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
  207. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  208. package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
  209. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  210. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +578 -492
  211. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -113
  213. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  215. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  223. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  225. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +550 -209
  227. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
  229. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  231. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  232. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  233. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  235. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  237. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  239. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  242. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  243. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  244. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -351
  246. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  247. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  248. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  249. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  250. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  251. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  252. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  254. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  255. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  256. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  258. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  259. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  260. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  261. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  262. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  266. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  268. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  269. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
  270. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  272. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +85 -105
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +210 -366
  276. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  278. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +122 -95
  280. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  282. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +100 -171
  284. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +98 -84
  286. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +186 -164
  288. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  289. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  290. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  291. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  292. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  294. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  296. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  298. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  300. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  302. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  304. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  305. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  306. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  308. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  309. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  310. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +55 -2
  312. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  314. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  316. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  318. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
  320. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +117 -14
  322. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  324. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  326. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  328. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  330. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  332. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  334. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  336. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  338. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +66 -2
  340. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  341. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  342. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  343. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  344. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  345. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  346. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  347. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  348. package/contracts/accounting/AccountingService.sol +262 -0
  349. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  350. package/contracts/accounting/IAccountingService.sol +45 -0
  351. package/contracts/{shared → authorization}/AccessAdmin.sol +271 -371
  352. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  353. package/contracts/authorization/Authorization.sol +289 -0
  354. package/contracts/authorization/IAccess.sol +49 -0
  355. package/contracts/{shared → authorization}/IAccessAdmin.sol +31 -59
  356. package/contracts/authorization/IAuthorization.sol +60 -0
  357. package/contracts/{registry → authorization}/IServiceAuthorization.sol +11 -6
  358. package/contracts/{registry → authorization}/ServiceAuthorization.sol +45 -25
  359. package/contracts/distribution/BasicDistribution.sol +139 -0
  360. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  361. package/contracts/distribution/Distribution.sol +147 -121
  362. package/contracts/distribution/DistributionService.sol +160 -100
  363. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  364. package/contracts/distribution/IDistributionComponent.sol +26 -40
  365. package/contracts/distribution/IDistributionService.sol +28 -9
  366. package/contracts/examples/fire/DamageLevel.sol +59 -0
  367. package/contracts/examples/fire/FirePool.sol +90 -0
  368. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  369. package/contracts/examples/fire/FireProduct.sol +438 -0
  370. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  371. package/contracts/examples/fire/FireUSD.sol +26 -0
  372. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  373. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  374. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  375. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  376. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  377. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  378. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  379. package/contracts/instance/BundleSet.sol +130 -0
  380. package/contracts/instance/IInstance.sol +23 -44
  381. package/contracts/instance/IInstanceService.sol +16 -41
  382. package/contracts/instance/Instance.sol +92 -120
  383. package/contracts/instance/InstanceAdmin.sol +250 -255
  384. package/contracts/instance/InstanceAuthorizationV3.sol +225 -0
  385. package/contracts/instance/InstanceReader.sol +238 -34
  386. package/contracts/instance/InstanceService.sol +145 -180
  387. package/contracts/instance/InstanceServiceManager.sol +8 -13
  388. package/contracts/instance/InstanceStore.sol +35 -6
  389. package/contracts/instance/RiskSet.sol +117 -0
  390. package/contracts/instance/base/ObjectCounter.sol +1 -2
  391. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  392. package/contracts/instance/base/ObjectSet.sol +78 -0
  393. package/contracts/instance/module/IBundle.sol +1 -1
  394. package/contracts/instance/module/IComponents.sol +14 -15
  395. package/contracts/instance/module/IDistribution.sol +0 -1
  396. package/contracts/instance/module/IPolicy.sol +26 -25
  397. package/contracts/instance/module/IRisk.sol +3 -0
  398. package/contracts/mock/Dip.sol +1 -1
  399. package/contracts/oracle/BasicOracle.sol +47 -0
  400. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  401. package/contracts/oracle/IOracle.sol +16 -0
  402. package/contracts/oracle/IOracleComponent.sol +2 -1
  403. package/contracts/oracle/IOracleService.sol +2 -1
  404. package/contracts/oracle/Oracle.sol +64 -53
  405. package/contracts/oracle/OracleService.sol +113 -81
  406. package/contracts/oracle/OracleServiceManager.sol +8 -11
  407. package/contracts/pool/BasicPool.sol +175 -0
  408. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  409. package/contracts/pool/BundleService.sol +231 -102
  410. package/contracts/pool/BundleServiceManager.sol +8 -11
  411. package/contracts/pool/IBundleService.sol +33 -18
  412. package/contracts/pool/IPoolComponent.sol +20 -70
  413. package/contracts/pool/IPoolService.sol +53 -50
  414. package/contracts/pool/Pool.sol +208 -162
  415. package/contracts/pool/PoolService.sol +343 -180
  416. package/contracts/pool/PoolServiceManager.sol +6 -9
  417. package/contracts/product/ApplicationService.sol +83 -78
  418. package/contracts/product/ApplicationServiceManager.sol +6 -6
  419. package/contracts/product/BasicProduct.sol +51 -0
  420. package/contracts/product/BasicProductAuthorization.sol +41 -0
  421. package/contracts/product/ClaimService.sol +425 -159
  422. package/contracts/product/ClaimServiceManager.sol +6 -6
  423. package/contracts/product/IApplicationService.sol +6 -2
  424. package/contracts/product/IClaimService.sol +44 -7
  425. package/contracts/product/IPolicyService.sol +46 -34
  426. package/contracts/product/IPricingService.sol +10 -10
  427. package/contracts/product/IProductComponent.sol +29 -9
  428. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  429. package/contracts/product/PolicyService.sol +520 -259
  430. package/contracts/product/PolicyServiceManager.sol +6 -9
  431. package/contracts/product/PricingService.sol +66 -62
  432. package/contracts/product/PricingServiceManager.sol +6 -9
  433. package/contracts/product/Product.sol +220 -134
  434. package/contracts/product/RiskService.sol +151 -0
  435. package/contracts/product/RiskServiceManager.sol +39 -0
  436. package/contracts/registry/ChainNft.sol +72 -40
  437. package/contracts/registry/IRegistry.sol +72 -32
  438. package/contracts/registry/IRegistryService.sol +3 -10
  439. package/contracts/registry/IRelease.sol +26 -0
  440. package/contracts/registry/ITransferInterceptor.sol +1 -2
  441. package/contracts/registry/Registry.sol +364 -220
  442. package/contracts/registry/RegistryAdmin.sol +228 -217
  443. package/contracts/registry/RegistryService.sol +41 -66
  444. package/contracts/registry/RegistryServiceManager.sol +5 -5
  445. package/contracts/registry/ReleaseAdmin.sol +245 -0
  446. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  447. package/contracts/registry/ReleaseRegistry.sol +511 -0
  448. package/contracts/registry/ServiceAuthorizationV3.sol +102 -60
  449. package/contracts/registry/TokenRegistry.sol +8 -10
  450. package/contracts/shared/Component.sol +71 -126
  451. package/contracts/shared/ComponentService.sol +463 -380
  452. package/contracts/shared/ComponentServiceManager.sol +10 -7
  453. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  454. package/contracts/shared/ContractLib.sol +252 -0
  455. package/contracts/shared/IComponent.sol +8 -17
  456. package/contracts/shared/IComponentService.sol +53 -39
  457. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  458. package/contracts/shared/IKeyValueStore.sol +1 -0
  459. package/contracts/shared/ILifecycle.sol +3 -2
  460. package/contracts/shared/INftOwnable.sol +2 -0
  461. package/contracts/shared/IPolicyHolder.sol +12 -22
  462. package/contracts/shared/IRegisterable.sol +23 -1
  463. package/contracts/shared/IService.sol +4 -6
  464. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  465. package/contracts/shared/InstanceLinkedComponent.sol +95 -42
  466. package/contracts/shared/KeyValueStore.sol +7 -3
  467. package/contracts/shared/Lifecycle.sol +30 -72
  468. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  469. package/contracts/shared/NftOwnable.sol +31 -11
  470. package/contracts/shared/PolicyHolder.sol +17 -57
  471. package/contracts/shared/Registerable.sol +55 -21
  472. package/contracts/shared/RegistryLinked.sol +9 -14
  473. package/contracts/shared/Service.sol +18 -36
  474. package/contracts/shared/TokenHandler.sol +357 -26
  475. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  476. package/contracts/staking/IStaking.sol +12 -7
  477. package/contracts/staking/IStakingService.sol +12 -8
  478. package/contracts/staking/StakeManagerLib.sol +18 -25
  479. package/contracts/staking/Staking.sol +86 -73
  480. package/contracts/staking/StakingLifecycle.sol +23 -0
  481. package/contracts/staking/StakingManager.sol +10 -12
  482. package/contracts/staking/StakingReader.sol +23 -20
  483. package/contracts/staking/StakingService.sol +64 -36
  484. package/contracts/staking/StakingServiceManager.sol +4 -4
  485. package/contracts/staking/StakingStore.sol +15 -23
  486. package/contracts/staking/TargetManagerLib.sol +7 -3
  487. package/contracts/type/Amount.sol +27 -5
  488. package/contracts/type/Blocknumber.sol +7 -1
  489. package/contracts/type/ClaimId.sol +6 -1
  490. package/contracts/type/Key32.sol +2 -2
  491. package/contracts/type/Key32Set.sol +62 -0
  492. package/contracts/type/NftId.sol +7 -0
  493. package/contracts/type/ObjectType.sol +73 -24
  494. package/contracts/type/PayoutId.sol +10 -10
  495. package/contracts/type/Referral.sol +1 -0
  496. package/contracts/type/RiskId.sol +35 -4
  497. package/contracts/type/RoleId.sol +57 -93
  498. package/contracts/type/Seconds.sol +21 -1
  499. package/contracts/type/StateId.sol +15 -1
  500. package/contracts/type/Timestamp.sol +10 -5
  501. package/contracts/type/UFixed.sol +40 -121
  502. package/contracts/type/Version.sol +18 -6
  503. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  504. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  505. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  506. package/package.json +9 -5
  507. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  508. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  509. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  510. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  511. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  513. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  514. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  515. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  516. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  517. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  518. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  519. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  520. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1218
  521. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  523. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  524. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  525. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  526. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  527. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  528. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  529. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  530. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  531. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  532. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  533. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  534. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  535. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  536. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  537. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  538. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  539. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  540. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  541. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  542. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  543. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  544. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  545. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  546. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  547. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  548. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  549. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  550. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  551. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  552. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  553. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  554. package/contracts/instance/BundleManager.sol +0 -126
  555. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  556. package/contracts/instance/base/ObjectManager.sol +0 -80
  557. package/contracts/product/ProductService.sol +0 -124
  558. package/contracts/product/ProductServiceManager.sol +0 -42
  559. package/contracts/registry/ReleaseManager.sol +0 -527
  560. package/contracts/shared/AccessManagerCustom.sol +0 -741
  561. package/contracts/shared/AccessManagerExtended.sol +0 -481
  562. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  563. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  564. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  565. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  566. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  567. package/contracts/shared/InitializableCustom.sol +0 -177
  568. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -0,0 +1,60 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAccess} from "../authorization/IAccess.sol";
5
+ import {ObjectType} from "../type/ObjectType.sol";
6
+ import {RoleId} from "../type/RoleId.sol";
7
+ import {Str} from "../type/String.sol";
8
+ import {VersionPart} from "../type/Version.sol";
9
+
10
+ interface IAuthorization is
11
+ IAccess
12
+ {
13
+
14
+ /// @dev Returns the list of service targets.
15
+ function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
16
+
17
+ /// @dev Returns the service role for the specified service domain.
18
+ function getServiceRole(ObjectType serviceDomain) external pure returns (RoleId serviceRoleId);
19
+
20
+ /// @dev Returns the service target for the specified domain.
21
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
22
+
23
+ /// @dev Returns the list of involved roles.
24
+ function getRoles() external view returns(RoleId[] memory roles);
25
+
26
+ /// @dev Returns the name for the provided role id.
27
+ function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
28
+
29
+ /// @dev Returns true iff the specified role id exists.
30
+ function roleExists(RoleId roleId) external view returns(bool exists);
31
+
32
+ /// @dev Returns the main target id name as string.
33
+ /// This name is used to derive the target id and a corresponding target role name
34
+ /// Overwrite this function to change the basic pool target name.
35
+ function getTargetName() external view returns (string memory name);
36
+
37
+ /// @dev Returns the main target.
38
+ function getMainTarget() external view returns(Str target);
39
+
40
+ /// @dev Returns the complete list of targets.
41
+ function getTargets() external view returns(Str[] memory targets);
42
+
43
+ /// @dev Returns true iff the specified target exists.
44
+ function targetExists(Str target) external view returns(bool exists);
45
+
46
+ /// @dev Returns the role id associated with the target.
47
+ /// If no role is associated with the target the zero role id is returned.
48
+ function getTargetRole(Str target) external view returns(RoleId roleId);
49
+
50
+ /// @dev For the given target the list of authorized role ids is returned
51
+ function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
52
+
53
+ /// @dev For the given target and role id the list of authorized functions is returned
54
+ function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
55
+
56
+ /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
57
+ /// Matches with the release returned by the linked service authorization.
58
+ function getRelease() external view returns(VersionPart release);
59
+ }
60
+
@@ -1,11 +1,13 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccessAdmin} from "../shared/IAccessAdmin.sol";
5
- import {ObjectType} from "../../contracts/type/ObjectType.sol";
6
- import {VersionPart} from "../../contracts/type/Version.sol";
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
7
5
 
8
- interface IServiceAuthorization {
6
+ import {IAccess} from "../authorization/IAccess.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
8
+ import {VersionPart} from "../type/Version.sol";
9
+
10
+ interface IServiceAuthorization is IERC165 {
9
11
 
10
12
  /// @dev Returns the commit hash representing the deployed release
11
13
  function getCommitHash()
@@ -17,7 +19,10 @@ interface IServiceAuthorization {
17
19
  function getRelease()
18
20
  external
19
21
  view
20
- returns(VersionPart release, uint domainsCount);
22
+ returns(VersionPart release);
23
+
24
+ /// @dev Returns the service domain for the provided index.
25
+ function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain);
21
26
 
22
27
  /// @dev Returns the full list of service domains for this release.
23
28
  /// Services need to be registered for the release in revers order of this list.
@@ -30,6 +35,6 @@ interface IServiceAuthorization {
30
35
  function getAuthorizedDomains(ObjectType serviceDomain) external view returns(ObjectType[] memory authorizatedDomains);
31
36
 
32
37
  /// @dev For the given service domain and authorized domain the function returns the list of authorized functions
33
- function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccessAdmin.Function[] memory authorizatedFunctions);
38
+ function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions);
34
39
  }
35
40
 
@@ -1,47 +1,57 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccessAdmin} from "../shared/IAccessAdmin.sol";
5
- import {ObjectType} from "../../contracts/type/ObjectType.sol";
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
6
+ import {IAccess} from "../authorization/IAccess.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
6
8
  import {IServiceAuthorization} from "./IServiceAuthorization.sol";
7
- import {SelectorLib} from "../../contracts/type/Selector.sol";
8
- import {StrLib} from "../../contracts/type/String.sol";
9
- import {VersionPart, VersionPartLib} from "../../contracts/type/Version.sol";
9
+ import {SelectorLib} from "../type/Selector.sol";
10
+ import {StrLib} from "../type/String.sol";
11
+ import {TimestampLib} from "../type/Timestamp.sol";
12
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
10
13
 
11
14
  /// @dev Base contract for release specific service authorization contracts.
12
- contract ServiceAuthorization
13
- is IServiceAuthorization
15
+ contract ServiceAuthorization is
16
+ IServiceAuthorization
14
17
  {
15
- uint256 public constant GIF_VERSION = 3;
18
+ uint256 public constant COMMIT_HASH_LENGTH = 40;
19
+ uint256 public constant GIF_INITIAL_VERSION = 3;
16
20
 
17
- string private _commitHash;
21
+ uint256 public immutable VERSION;
22
+ string public COMMIT_HASH;
18
23
 
19
24
  ObjectType[] internal _serviceDomains;
20
25
  mapping(ObjectType domain => address service) internal _serviceAddress;
21
26
  mapping(ObjectType domain => ObjectType[] authorizedDomains) internal _authorizedDomains;
22
- mapping(ObjectType domain => mapping(ObjectType authorizedDomain => IAccessAdmin.Function[] functions)) internal _authorizedFunctions;
27
+ mapping(ObjectType domain => mapping(ObjectType authorizedDomain => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
28
+
29
+ constructor(string memory commitHash, uint256 version) {
30
+ assert(bytes(commitHash).length == COMMIT_HASH_LENGTH);
31
+ assert(version >= GIF_INITIAL_VERSION);
23
32
 
24
- constructor(string memory commitHash) {
25
- _commitHash = commitHash;
33
+ COMMIT_HASH = commitHash;
34
+ VERSION = version;
26
35
  _setupDomains();
27
36
  _setupDomainAuthorizations();
28
37
  }
29
38
 
30
39
  function getCommitHash() external view returns(string memory commitHash) {
31
- return _commitHash;
40
+ return COMMIT_HASH;
32
41
  }
33
42
 
34
- function getRelease() external view returns(VersionPart release, uint domainsCount) {
35
- return (
36
- VersionPartLib.toVersionPart(GIF_VERSION),
37
- _serviceDomains.length
38
- );
43
+ function getRelease() external view returns(VersionPart release) {
44
+ return VersionPartLib.toVersionPart(VERSION);
39
45
  }
40
46
 
41
47
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
42
48
  return _serviceDomains;
43
49
  }
44
50
 
51
+ function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain) {
52
+ return _serviceDomains[idx];
53
+ }
54
+
45
55
  function getServiceAddress(ObjectType serviceDomain) external view returns(address service) {
46
56
  return _serviceAddress[serviceDomain];
47
57
  }
@@ -50,10 +60,19 @@ contract ServiceAuthorization
50
60
  return _authorizedDomains[serviceDomain];
51
61
  }
52
62
 
53
- function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccessAdmin.Function[] memory authorizatedFunctions) {
63
+ function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions) {
54
64
  return _authorizedFunctions[serviceDomain][authorizedDomain];
55
65
  }
56
66
 
67
+ // ERC165
68
+ function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
69
+ return (
70
+ interfaceId == type(IServiceAuthorization).interfaceId ||
71
+ interfaceId == type(IERC165).interfaceId
72
+ );
73
+ }
74
+
75
+
57
76
  /// @dev Overwrite this function for a specific realease.
58
77
  function _setupDomains() internal virtual {}
59
78
 
@@ -67,20 +86,21 @@ contract ServiceAuthorization
67
86
  _serviceAddress[serviceDomain] = serviceAddress;
68
87
  }
69
88
 
89
+ /// @dev Use this method to authorize the specified domain to access the service domain.
70
90
  function _authorizeForService(ObjectType serviceDomain, ObjectType authorizedDomain)
71
91
  internal
72
- returns (IAccessAdmin.Function[] storage authorizatedFunctions)
92
+ returns (IAccess.FunctionInfo[] storage authorizatedFunctions)
73
93
  {
74
94
  _authorizedDomains[serviceDomain].push(authorizedDomain);
75
95
  return _authorizedFunctions[serviceDomain][authorizedDomain];
76
96
  }
77
97
 
78
98
  /// @dev Use this method to authorize a specific function authorization
79
- function _authorize(IAccessAdmin.Function[] storage functions, bytes4 selector, string memory name) internal {
99
+ function _authorize(IAccess.FunctionInfo[] storage functions, bytes4 selector, string memory name) internal {
80
100
  functions.push(
81
- IAccessAdmin.Function({
101
+ IAccess.FunctionInfo({
82
102
  selector: SelectorLib.toSelector(selector),
83
- name: StrLib.toStr(name)}));
103
+ name: StrLib.toStr(name),
104
+ createdAt: TimestampLib.blockTimestamp()}));
84
105
  }
85
- }
86
-
106
+ }
@@ -0,0 +1,139 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Distribution} from "./Distribution.sol";
5
+ import {DISTRIBUTOR} from "../type/ObjectType.sol";
6
+ import {IAuthorization} from "../authorization/IAuthorization.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {ReferralId} from "../type/Referral.sol";
9
+ import {Fee} from "../type/Fee.sol";
10
+ import {UFixed} from "../type/UFixed.sol";
11
+ import {DistributorType} from "../type/DistributorType.sol";
12
+ import {Timestamp} from "../type/Timestamp.sol";
13
+
14
+
15
+ contract BasicDistribution is
16
+ Distribution
17
+ {
18
+
19
+ function setFees(
20
+ Fee memory distributionFee,
21
+ Fee memory minDistributionOwnerFee
22
+ )
23
+ external
24
+ virtual
25
+ onlyOwner()
26
+ restricted()
27
+ {
28
+ _setFees(
29
+ distributionFee,
30
+ minDistributionOwnerFee);
31
+ }
32
+
33
+
34
+ function createDistributorType(
35
+ string memory name,
36
+ UFixed minDiscountPercentage,
37
+ UFixed maxDiscountPercentage,
38
+ UFixed commissionPercentage,
39
+ uint32 maxReferralCount,
40
+ uint32 maxReferralLifetime,
41
+ bool allowSelfReferrals,
42
+ bool allowRenewals,
43
+ bytes memory data
44
+ )
45
+ external
46
+ virtual
47
+ restricted()
48
+ onlyOwner()
49
+ returns (DistributorType distributorType)
50
+ {
51
+ return _createDistributorType(
52
+ name,
53
+ minDiscountPercentage,
54
+ maxDiscountPercentage,
55
+ commissionPercentage,
56
+ maxReferralCount,
57
+ maxReferralLifetime,
58
+ allowSelfReferrals,
59
+ allowRenewals,
60
+ data);
61
+ }
62
+
63
+ function createDistributor(
64
+ address distributor,
65
+ DistributorType distributorType,
66
+ bytes memory data
67
+ )
68
+ external
69
+ virtual
70
+ restricted()
71
+ onlyOwner()
72
+ returns(NftId distributorNftId)
73
+ {
74
+ return _createDistributor(distributor, distributorType, data);
75
+ }
76
+
77
+ function changeDistributorType(
78
+ NftId distributorNftId,
79
+ DistributorType distributorType,
80
+ bytes memory data
81
+ )
82
+ external
83
+ virtual
84
+ restricted()
85
+ onlyOwner()
86
+ onlyNftOfType(distributorNftId, DISTRIBUTOR())
87
+ {
88
+ _changeDistributorType(distributorNftId, distributorType, data);
89
+ }
90
+
91
+ /**
92
+ * @dev lets distributors create referral codes.
93
+ * referral codes need to be unique
94
+ */
95
+ function createReferral(
96
+ string memory code,
97
+ UFixed discountPercentage,
98
+ uint32 maxReferrals,
99
+ Timestamp expiryAt,
100
+ bytes memory data
101
+ )
102
+ external
103
+ virtual
104
+ restricted()
105
+ onlyDistributor()
106
+ returns (ReferralId referralId)
107
+ {
108
+ NftId distributorNftId = getDistributorNftId(msg.sender);
109
+ return _createReferral(
110
+ distributorNftId,
111
+ code,
112
+ discountPercentage,
113
+ maxReferrals,
114
+ expiryAt,
115
+ data); // data
116
+ }
117
+
118
+ function _initializeBasicDistribution(
119
+ address registry,
120
+ NftId instanceNftId,
121
+ IAuthorization authorization,
122
+ address initialOwner,
123
+ string memory name,
124
+ address token
125
+ )
126
+ internal
127
+ virtual
128
+ onlyInitializing()
129
+ {
130
+ _initializeDistribution(
131
+ registry,
132
+ instanceNftId,
133
+ authorization,
134
+ initialOwner,
135
+ name,
136
+ token,
137
+ ""); // component specifc data
138
+ }
139
+ }
@@ -0,0 +1,47 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Authorization} from "../authorization/Authorization.sol";
5
+ import {BasicDistribution} from "./BasicDistribution.sol";
6
+ import {Distribution} from "./Distribution.sol";
7
+ import {DISTRIBUTION} from "../type/ObjectType.sol";
8
+ import {IAccess} from "../authorization/IAccess.sol";
9
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
10
+ import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
11
+
12
+
13
+ contract BasicDistributionAuthorization
14
+ is Authorization
15
+ {
16
+
17
+ constructor(string memory distributionlName)
18
+ Authorization(distributionlName)
19
+ {}
20
+
21
+ function _setupTargets()
22
+ internal
23
+ virtual override
24
+ {
25
+ _addComponentTargetWithRole(DISTRIBUTION()); // basic target
26
+ }
27
+
28
+
29
+ function _setupTargetAuthorizations()
30
+ internal
31
+ virtual override
32
+ {
33
+ IAccess.FunctionInfo[] storage functions;
34
+
35
+ // authorize public role (open access to any account, only allows to lock target)
36
+ functions = _authorizeForTarget(getTargetName(), PUBLIC_ROLE());
37
+ _authorize(functions, BasicDistribution.setFees.selector, "setFees");
38
+ _authorize(functions, BasicDistribution.createDistributorType.selector, "createDistributorType");
39
+ _authorize(functions, BasicDistribution.createDistributor.selector, "createDistributor");
40
+ _authorize(functions, BasicDistribution.changeDistributorType.selector, "changeDistributorType");
41
+ _authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
42
+
43
+ _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
44
+ _authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
45
+ }
46
+ }
47
+