@etherisc/gif-next 0.0.2-bcecc4c-647 → 0.0.2-bd1522a-487

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 (529) hide show
  1. package/README.md +46 -8
  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 +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +495 -254
  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 +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +273 -16
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +391 -199
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +139 -15
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +140 -479
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +261 -27
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +81 -385
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +378 -355
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +133 -119
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +83 -197
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +248 -122
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +222 -38
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +140 -95
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +241 -126
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +733 -323
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +205 -90
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1030 -302
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +168 -280
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +96 -96
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +665 -518
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +108 -355
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +243 -29
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -323
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +113 -402
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +261 -27
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +193 -415
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +113 -135
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +105 -141
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +113 -229
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +348 -323
  136. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  137. package/artifacts/contracts/pool/Pool.sol/Pool.json +103 -409
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +518 -564
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +148 -102
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +100 -90
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +234 -412
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +261 -27
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +365 -104
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +224 -212
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  167. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +459 -309
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -313
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  178. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  179. package/artifacts/contracts/product/Product.sol/Product.json +232 -410
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +334 -34
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  194. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/Registry.sol/Registry.json +540 -95
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +639 -367
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +423 -245
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  215. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +500 -640
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +132 -128
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +445 -282
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  250. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  252. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +83 -322
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  254. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  256. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  258. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  262. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  264. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  266. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  267. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  268. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  274. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  276. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +187 -134
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
  279. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  280. package/artifacts/contracts/staking/Staking.sol/Staking.json +264 -381
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  282. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +126 -95
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +185 -130
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +65 -24
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  336. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  341. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  346. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
  348. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  350. package/contracts/accounting/AccountingService.sol +262 -0
  351. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  352. package/contracts/accounting/IAccountingService.sol +45 -0
  353. package/contracts/authorization/AccessAdmin.sol +338 -225
  354. package/contracts/authorization/AccessAdminLib.sol +183 -0
  355. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  356. package/contracts/authorization/Authorization.sol +350 -203
  357. package/contracts/authorization/IAccess.sol +1 -0
  358. package/contracts/authorization/IAccessAdmin.sol +69 -35
  359. package/contracts/authorization/IAuthorization.sol +33 -7
  360. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  361. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  362. package/contracts/distribution/BasicDistribution.sol +20 -17
  363. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  364. package/contracts/distribution/Distribution.sol +37 -88
  365. package/contracts/distribution/DistributionService.sol +152 -104
  366. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  367. package/contracts/distribution/IDistributionComponent.sol +1 -10
  368. package/contracts/distribution/IDistributionService.sol +31 -25
  369. package/contracts/examples/fire/DamageLevel.sol +59 -0
  370. package/contracts/examples/fire/FirePool.sol +86 -0
  371. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  372. package/contracts/examples/fire/FireProduct.sol +433 -0
  373. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  374. package/contracts/examples/fire/FireUSD.sol +26 -0
  375. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  376. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  377. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  378. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  379. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  380. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  381. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  382. package/contracts/instance/BundleSet.sol +42 -38
  383. package/contracts/instance/IInstance.sol +63 -44
  384. package/contracts/instance/IInstanceService.sol +22 -30
  385. package/contracts/instance/Instance.sol +113 -71
  386. package/contracts/instance/InstanceAdmin.sol +287 -103
  387. package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
  388. package/contracts/instance/InstanceReader.sol +288 -43
  389. package/contracts/instance/InstanceService.sol +208 -189
  390. package/contracts/instance/InstanceServiceManager.sol +6 -7
  391. package/contracts/instance/InstanceStore.sol +23 -2
  392. package/contracts/instance/RiskSet.sol +118 -0
  393. package/contracts/instance/base/ObjectCounter.sol +1 -2
  394. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  395. package/contracts/instance/base/ObjectSet.sol +31 -33
  396. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  397. package/contracts/instance/module/IComponents.sol +14 -15
  398. package/contracts/instance/module/IDistribution.sol +5 -2
  399. package/contracts/instance/module/IPolicy.sol +26 -25
  400. package/contracts/instance/module/IRisk.sol +3 -0
  401. package/contracts/mock/Dip.sol +1 -1
  402. package/contracts/oracle/BasicOracle.sol +1 -4
  403. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  404. package/contracts/oracle/IOracleService.sol +2 -1
  405. package/contracts/oracle/Oracle.sol +7 -19
  406. package/contracts/oracle/OracleService.sol +113 -81
  407. package/contracts/oracle/OracleServiceManager.sol +6 -6
  408. package/contracts/pool/BasicPool.sol +37 -28
  409. package/contracts/pool/BasicPoolAuthorization.sol +32 -11
  410. package/contracts/pool/BundleService.sol +131 -160
  411. package/contracts/pool/BundleServiceManager.sol +6 -6
  412. package/contracts/pool/IBundleService.sol +22 -35
  413. package/contracts/pool/IPoolComponent.sol +19 -15
  414. package/contracts/pool/IPoolService.sol +90 -80
  415. package/contracts/pool/Pool.sol +140 -129
  416. package/contracts/pool/PoolLib.sol +216 -0
  417. package/contracts/pool/PoolService.sol +514 -301
  418. package/contracts/pool/PoolServiceManager.sol +4 -4
  419. package/contracts/product/ApplicationService.sol +87 -43
  420. package/contracts/product/ApplicationServiceManager.sol +4 -4
  421. package/contracts/product/BasicProduct.sol +12 -45
  422. package/contracts/product/BasicProductAuthorization.sol +24 -11
  423. package/contracts/product/ClaimService.sol +368 -153
  424. package/contracts/product/ClaimServiceManager.sol +4 -4
  425. package/contracts/product/IApplicationService.sol +9 -2
  426. package/contracts/product/IClaimService.sol +44 -8
  427. package/contracts/product/IPolicyService.sol +53 -36
  428. package/contracts/product/IPricingService.sol +11 -10
  429. package/contracts/product/IProductComponent.sol +27 -5
  430. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  431. package/contracts/product/PolicyService.sol +458 -270
  432. package/contracts/product/PolicyServiceLib.sol +65 -0
  433. package/contracts/product/PolicyServiceManager.sol +4 -4
  434. package/contracts/product/PricingService.sol +71 -62
  435. package/contracts/product/PricingServiceManager.sol +4 -4
  436. package/contracts/product/Product.sol +168 -93
  437. package/contracts/product/RiskService.sol +154 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +60 -28
  441. package/contracts/registry/IRegistryService.sol +5 -12
  442. package/contracts/registry/IRelease.sol +26 -0
  443. package/contracts/registry/ITransferInterceptor.sol +1 -2
  444. package/contracts/registry/Registry.sol +357 -203
  445. package/contracts/registry/RegistryAdmin.sol +162 -269
  446. package/contracts/registry/RegistryAuthorization.sol +267 -0
  447. package/contracts/registry/RegistryService.sol +37 -48
  448. package/contracts/registry/RegistryServiceManager.sol +3 -3
  449. package/contracts/registry/ReleaseAdmin.sol +253 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  451. package/contracts/registry/ReleaseRegistry.sol +272 -240
  452. package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
  453. package/contracts/registry/TokenRegistry.sol +6 -8
  454. package/contracts/shared/Component.sol +65 -135
  455. package/contracts/shared/ComponentService.sol +436 -378
  456. package/contracts/shared/ComponentServiceManager.sol +8 -5
  457. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  458. package/contracts/shared/ContractLib.sol +281 -0
  459. package/contracts/shared/IComponent.sol +5 -17
  460. package/contracts/shared/IComponentService.sol +42 -38
  461. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  462. package/contracts/shared/ILifecycle.sol +3 -1
  463. package/contracts/shared/INftOwnable.sol +2 -0
  464. package/contracts/shared/IPolicyHolder.sol +12 -22
  465. package/contracts/shared/IRegisterable.sol +23 -1
  466. package/contracts/shared/IService.sol +3 -5
  467. package/contracts/shared/InitializableERC165.sol +10 -2
  468. package/contracts/shared/InstanceLinkedComponent.sol +73 -50
  469. package/contracts/shared/KeyValueStore.sol +1 -1
  470. package/contracts/shared/Lifecycle.sol +15 -4
  471. package/contracts/shared/NftOwnable.sol +29 -9
  472. package/contracts/shared/PolicyHolder.sol +15 -52
  473. package/contracts/shared/Registerable.sol +52 -21
  474. package/contracts/shared/RegistryLinked.sol +9 -14
  475. package/contracts/shared/Service.sol +15 -32
  476. package/contracts/shared/TokenHandler.sol +310 -26
  477. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  478. package/contracts/staking/IStaking.sol +19 -11
  479. package/contracts/staking/IStakingService.sol +16 -4
  480. package/contracts/staking/Staking.sol +103 -73
  481. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  482. package/contracts/staking/StakingManager.sol +8 -6
  483. package/contracts/staking/StakingReader.sol +18 -21
  484. package/contracts/staking/StakingService.sol +90 -37
  485. package/contracts/staking/StakingServiceManager.sol +6 -5
  486. package/contracts/staking/StakingStore.sol +2 -1
  487. package/contracts/staking/TargetManagerLib.sol +7 -3
  488. package/contracts/type/Amount.sol +15 -0
  489. package/contracts/type/Blocknumber.sol +7 -1
  490. package/contracts/type/ClaimId.sol +6 -1
  491. package/contracts/type/Key32.sol +2 -2
  492. package/contracts/type/Key32Set.sol +62 -0
  493. package/contracts/type/NftId.sol +7 -0
  494. package/contracts/type/ObjectType.sol +57 -34
  495. package/contracts/type/PayoutId.sol +10 -10
  496. package/contracts/type/RiskId.sol +38 -6
  497. package/contracts/type/RoleId.sol +23 -15
  498. package/contracts/type/Seconds.sol +8 -0
  499. package/contracts/type/Selector.sol +5 -0
  500. package/contracts/type/StateId.sol +15 -1
  501. package/contracts/type/Timestamp.sol +10 -5
  502. package/contracts/type/UFixed.sol +13 -119
  503. package/contracts/type/Version.sol +54 -5
  504. package/contracts/upgradeability/ProxyManager.sol +68 -34
  505. package/contracts/upgradeability/Versionable.sol +2 -2
  506. package/package.json +5 -4
  507. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  508. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  509. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  510. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  511. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  512. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  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/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  519. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  520. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  521. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  522. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  523. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  524. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  525. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  526. package/contracts/instance/module/IAccess.sol +0 -46
  527. package/contracts/product/ProductService.sol +0 -99
  528. package/contracts/product/ProductServiceManager.sol +0 -39
  529. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {VersionPart} from "./Version.sol";
5
+
4
6
  type ObjectType is uint8;
5
7
 
6
8
  // type bindings
@@ -9,6 +11,7 @@ using {
9
11
  neObjectType as !=,
10
12
  ObjectTypeLib.toInt,
11
13
  ObjectTypeLib.eqz,
14
+ ObjectTypeLib.eq,
12
15
  ObjectTypeLib.gtz
13
16
  } for ObjectType global;
14
17
 
@@ -43,10 +46,16 @@ function INSTANCE() pure returns (ObjectType) {
43
46
  return ObjectType.wrap(10);
44
47
  }
45
48
 
49
+ /// @dev Generic component object type.
50
+ /// Component role id range is 11-19.
51
+ /// Stick to this range for new component object types.
46
52
  function COMPONENT() pure returns (ObjectType) {
47
53
  return ObjectType.wrap(11);
48
54
  }
49
55
 
56
+ /// @dev Product object type.
57
+ /// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol).
58
+ /// Do not change this value without updating the corresponding role id calculation.
50
59
  function PRODUCT() pure returns (ObjectType) {
51
60
  return ObjectType.wrap(12);
52
61
  }
@@ -63,6 +72,8 @@ function POOL() pure returns (ObjectType) {
63
72
  return ObjectType.wrap(15);
64
73
  }
65
74
 
75
+ /// @dev Application object type.
76
+ /// Range for NFT objects created thorugh components is 20-29.
66
77
  function APPLICATION() pure returns (ObjectType) {
67
78
  return ObjectType.wrap(20);
68
79
  }
@@ -71,50 +82,69 @@ function POLICY() pure returns (ObjectType) {
71
82
  return ObjectType.wrap(21);
72
83
  }
73
84
 
74
- function CLAIM() pure returns (ObjectType) {
85
+ function BUNDLE() pure returns (ObjectType) {
75
86
  return ObjectType.wrap(22);
76
87
  }
77
88
 
78
- function PAYOUT() pure returns (ObjectType) {
79
- return ObjectType.wrap(23);
89
+ function DISTRIBUTOR() pure returns (ObjectType) {
90
+ return ObjectType.wrap(23);
80
91
  }
81
92
 
82
- function RISK() pure returns (ObjectType) {
83
- return ObjectType.wrap(24);
93
+ /// @dev Stake object type.
94
+ /// NFT object type is 30
95
+ function STAKE() pure returns (ObjectType) {
96
+ return ObjectType.wrap(30);
97
+ }
98
+
99
+ /// @dev Staking target object type.
100
+ function TARGET() pure returns (ObjectType) {
101
+ return ObjectType.wrap(31);
102
+ }
103
+
104
+ /// @dev Accounting object type.
105
+ /// Range for non-NFT types created through components is 40+
106
+ function ACCOUNTING() pure returns (ObjectType) {
107
+ return ObjectType.wrap(40);
108
+ }
109
+
110
+ function FEE() pure returns (ObjectType) {
111
+ return ObjectType.wrap(41);
84
112
  }
85
113
 
86
114
  function PRICE() pure returns (ObjectType) {
87
- return ObjectType.wrap(25);
115
+ return ObjectType.wrap(42);
88
116
  }
89
117
 
90
- function REQUEST() pure returns (ObjectType) {
91
- return ObjectType.wrap(26);
118
+ function PREMIUM() pure returns (ObjectType) {
119
+ return ObjectType.wrap(43);
92
120
  }
93
121
 
94
- function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
95
- return ObjectType.wrap(27);
122
+ function RISK() pure returns (ObjectType) {
123
+ return ObjectType.wrap(44);
96
124
  }
97
125
 
98
- function DISTRIBUTOR() pure returns (ObjectType) {
99
- return ObjectType.wrap(28);
126
+ function CLAIM() pure returns (ObjectType) {
127
+ return ObjectType.wrap(45);
100
128
  }
101
129
 
102
- function REFERRAL() pure returns (ObjectType) {
103
- return ObjectType.wrap(29);
130
+ function PAYOUT() pure returns (ObjectType) {
131
+ return ObjectType.wrap(46);
104
132
  }
105
133
 
106
- function BUNDLE() pure returns (ObjectType) {
107
- return ObjectType.wrap(30);
134
+ function REQUEST() pure returns (ObjectType) {
135
+ return ObjectType.wrap(47);
108
136
  }
109
137
 
110
- function TARGET() pure returns (ObjectType) {
111
- return ObjectType.wrap(31);
138
+ function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
139
+ return ObjectType.wrap(48);
112
140
  }
113
141
 
114
- function STAKE() pure returns (ObjectType) {
115
- return ObjectType.wrap(32);
142
+ function REFERRAL() pure returns (ObjectType) {
143
+ return ObjectType.wrap(49);
116
144
  }
117
145
 
146
+
147
+
118
148
  /// @dev Object type that includes any other object type.
119
149
  /// Note that eq()/'==' does not take this property into account.
120
150
  function ALL() pure returns (ObjectType) {
@@ -133,8 +163,6 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
133
163
  // library functions that operate on user defined type
134
164
  library ObjectTypeLib {
135
165
 
136
- error ErrorVersionTooBig(uint256 version);
137
-
138
166
  function zero() public pure returns (ObjectType) {
139
167
  return ObjectType.wrap(0);
140
168
  }
@@ -197,6 +225,10 @@ library ObjectTypeLib {
197
225
  return "Price";
198
226
  } else if (objectType == BUNDLE()) {
199
227
  return "Bundle";
228
+ } else if (objectType == RISK()) {
229
+ return "Risk";
230
+ } else if (objectType == ACCOUNTING()) {
231
+ return "Accounting";
200
232
  }
201
233
 
202
234
  // fallback: ObjectType<obect-type-int>
@@ -210,19 +242,15 @@ library ObjectTypeLib {
210
242
  function toVersionedName(
211
243
  string memory name,
212
244
  string memory suffix,
213
- uint256 version
245
+ VersionPart release
214
246
  )
215
247
  external
216
248
  pure
217
249
  returns (string memory versionedName)
218
250
  {
219
- if (version > maxNumReleases()) {
220
- revert ErrorVersionTooBig(version);
221
- }
222
-
223
251
  string memory versionName = "_v0";
224
252
 
225
- if (version >= 10) {
253
+ if (release.toInt() >= 10) {
226
254
  versionName = "_v";
227
255
  }
228
256
 
@@ -231,12 +259,7 @@ library ObjectTypeLib {
231
259
  name,
232
260
  suffix,
233
261
  versionName,
234
- toString(version)));
235
- }
236
-
237
- /// @dev returns the max number of releases (major versions) this gif setup can handle.
238
- function maxNumReleases() public pure returns (uint8) {
239
- return 99;
262
+ release.toString()));
240
263
  }
241
264
 
242
265
  /// @dev returns the provied int as a string
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- // uint24 allows for 65'535 claims with 255 payouts each per policy
5
- type PayoutId is uint24;
4
+ // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
5
+ type PayoutId is uint40;
6
6
 
7
7
  import {ClaimId} from "./ClaimId.sol";
8
8
  import {PAYOUT} from "./ObjectType.sol";
@@ -39,21 +39,21 @@ library PayoutIdLib {
39
39
  }
40
40
 
41
41
  /// @dev Converts an uint into a PayoutId.
42
- function toPayoutId(ClaimId claimId, uint8 payoutNo) public pure returns (PayoutId) {
43
- return PayoutId.wrap((ClaimId.unwrap(claimId) << 8) + payoutNo);
42
+ function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
44
44
  }
45
45
 
46
46
  function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
- return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 8));
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
48
48
  }
49
49
 
50
- function toPayoutNo(PayoutId payoutId) public pure returns (uint8) {
51
- return uint8(PayoutId.unwrap(payoutId) & 255);
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
51
+ return uint24(PayoutId.unwrap(payoutId) & 16777215);
52
52
  }
53
53
 
54
54
  /// @dev Converts the PayoutId to a uint.
55
- function toInt(PayoutId a) public pure returns (uint24) {
56
- return uint24(PayoutId.unwrap(a));
55
+ function toInt(PayoutId a) public pure returns (uint40) {
56
+ return PayoutId.unwrap(a);
57
57
  }
58
58
 
59
59
  /// @dev Returns true if the value is non-zero (> 0).
@@ -77,6 +77,6 @@ library PayoutIdLib {
77
77
  bytes31(
78
78
  bytes15(
79
79
  uint120(
80
- (NftId.unwrap(policyNftId) << 24) + PayoutId.unwrap(payoutId)))));
80
+ (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
81
81
  }
82
82
  }
@@ -2,6 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {NftId} from "./NftId.sol";
5
6
  import {RISK} from "./ObjectType.sol";
6
7
 
7
8
  type RiskId is bytes8;
@@ -10,6 +11,11 @@ type RiskId is bytes8;
10
11
  using {
11
12
  eqRiskId as ==,
12
13
  neRiskId as !=,
14
+ RiskIdLib.eq,
15
+ RiskIdLib.eqz,
16
+ RiskIdLib.gtz,
17
+ RiskIdLib.toInt,
18
+ RiskIdLib.toKeyId,
13
19
  RiskIdLib.toKey32
14
20
  } for RiskId global;
15
21
 
@@ -26,18 +32,44 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
26
32
  }
27
33
 
28
34
  library RiskIdLib {
29
- // @dev Converts a role string into a role id.
30
- function toRiskId(string memory risk) public pure returns (RiskId) {
31
- return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
35
+ function zero() public pure returns (RiskId) {
36
+ return RiskId.wrap(bytes8(0));
32
37
  }
33
38
 
34
- /// @dev Returns the key32 value for the specified nft id and object type.
35
- function toKey32(RiskId id) public pure returns (Key32 key) {
36
- return Key32Lib.toKey32(RISK(), toKeyId(id));
39
+ // @dev Converts a risk id into a uint256.
40
+ function toInt(RiskId riskId) public pure returns (uint256) {
41
+ return uint64(RiskId.unwrap(riskId));
42
+ }
43
+
44
+ // @dev Converts a risk id string with a product NftId into a risk id.
45
+ function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) {
46
+ return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk))));
47
+ }
48
+
49
+ /// @dev Returns the key32 value for the specified risk id.
50
+ function toKey32(RiskId riskId) public pure returns (Key32 key) {
51
+ return Key32Lib.toKey32(RISK(), toKeyId(riskId));
37
52
  }
38
53
 
39
54
  /// @dev Returns the key id value for the specified nft id
40
55
  function toKeyId(RiskId id) public pure returns (KeyId keyId) {
41
56
  return KeyId.wrap(bytes31(RiskId.unwrap(id)));
42
57
  }
58
+
59
+ function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
60
+ riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
61
+ assert(toInt(riskId) < 2**64);
62
+ }
63
+
64
+ function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
65
+ return eqRiskId(a, b);
66
+ }
67
+
68
+ function eqz(RiskId a) public pure returns (bool isZero) {
69
+ return eqRiskId(a, zero());
70
+ }
71
+
72
+ function gtz(RiskId a) public pure returns (bool isZero) {
73
+ return uint64(RiskId.unwrap(a)) > 0;
74
+ }
43
75
  }
@@ -11,9 +11,11 @@ type RoleId is uint64;
11
11
  using {
12
12
  eqRoleId as ==,
13
13
  neRoleId as !=,
14
+ RoleIdLib.toInt,
14
15
  RoleIdLib.eqz,
15
16
  RoleIdLib.gtz,
16
- RoleIdLib.toInt
17
+ RoleIdLib.isComponentRole,
18
+ RoleIdLib.isCustomRole
17
19
  // RoleIdLib.toKey32
18
20
  } for RoleId global;
19
21
 
@@ -54,17 +56,8 @@ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2)
54
56
  /// @dev role for registering remote staking targets and reporting remote total value locked amounts.
55
57
  function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
56
58
 
57
- /// @dev instance specific role to register/own a product component
58
- function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11); }
59
-
60
- /// @dev instance specific role to register/own an oracle component
61
- function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(12); }
62
-
63
- /// @dev instance specific role to register/own a distribution component
64
- function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(13); }
65
-
66
- /// @dev instance specific role to register/own a pool component
67
- function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
59
+ /// @dev role assigned to release registry, release specfic to lock/unlock a release
60
+ function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
68
61
 
69
62
  //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
70
63
  // created and assigned during initial deployment for registry and staking
@@ -84,6 +77,8 @@ function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14)
84
77
  // - application service role (version 3): 2003
85
78
 
86
79
  //--- GIF component contract roles (range 12'001 - 19'099) ------------------//
80
+ // the min value of 12'001 is based on the following calculation:
81
+ // object type * 1000 + 1 where the lowest object type is 12 (product)
87
82
  // assigned at component registration time
88
83
  // object type * 1000 + instane specific component counter
89
84
  // on any instance a maximum number of 999 components may be deployed
@@ -104,8 +99,10 @@ library RoleIdLib {
104
99
 
105
100
  uint64 public constant ALL_VERSIONS = 99;
106
101
  uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
107
- uint64 public constant COMPONENT_ROLE_FACTOR = 100;
108
- uint64 public constant CUSTOM_ROLE_MIN = 1000000;
102
+ uint64 public constant COMPONENT_ROLE_FACTOR = 1000;
103
+ uint64 public constant COMPONENT_ROLE_MIN_INT = 12000;
104
+ uint64 public constant COMPONENT_ROLE_MAX_INT = 19000;
105
+ uint64 public constant CUSTOM_ROLE_MIN_INT = 1000000;
109
106
 
110
107
  /// @dev Converts the RoleId to a uint.
111
108
  function zero() public pure returns (RoleId) {
@@ -124,7 +121,7 @@ library RoleIdLib {
124
121
 
125
122
  /// @dev Converts an uint into a custom role id.
126
123
  function toCustomRoleId(uint64 index) public pure returns (RoleId) {
127
- return toRoleId(CUSTOM_ROLE_MIN + index);
124
+ return toRoleId(CUSTOM_ROLE_MIN_INT + index);
128
125
  }
129
126
 
130
127
  /// @dev Converts the role id to a uint.
@@ -162,6 +159,17 @@ library RoleIdLib {
162
159
  return RoleId.unwrap(a) == 0;
163
160
  }
164
161
 
162
+ /// @dev Returns true iff the role id is a component role.
163
+ function isComponentRole(RoleId roleId) public pure returns (bool) {
164
+ uint64 roleIdInt = RoleId.unwrap(roleId);
165
+ return roleIdInt >= COMPONENT_ROLE_MIN_INT && roleIdInt <= COMPONENT_ROLE_MAX_INT;
166
+ }
167
+
168
+ /// @dev Returns true iff the role id is a custom role.
169
+ function isCustomRole(RoleId roleId) public pure returns (bool) {
170
+ return RoleId.unwrap(roleId) >= CUSTOM_ROLE_MIN_INT;
171
+ }
172
+
165
173
  /// @dev Returns the key32 value for the specified id and object type.
166
174
  function toKey32(RoleId a) public pure returns (Key32 key) {
167
175
  return Key32Lib.toKey32(ROLE(), toKeyId(a));
@@ -9,6 +9,9 @@ using {
9
9
  SecondsAdd as +,
10
10
  SecondsLib.eqz,
11
11
  SecondsLib.gtz,
12
+ SecondsLib.eq,
13
+ SecondsLib.gt,
14
+ SecondsLib.lt,
12
15
  SecondsLib.toInt,
13
16
  SecondsLib.add
14
17
  } for Seconds global;
@@ -77,6 +80,11 @@ library SecondsLib {
77
80
  return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
78
81
  }
79
82
 
83
+ /// @dev return true if duration1 is smaller than duration2
84
+ function lt(Seconds duration1, Seconds duration2) public pure returns (bool) {
85
+ return Seconds.unwrap(duration1) < Seconds.unwrap(duration2);
86
+ }
87
+
80
88
  /// @dev return add duration1 and duration2
81
89
  function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
82
90
  return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
@@ -8,6 +8,7 @@ using {
8
8
  eqSelector as ==,
9
9
  neSelector as !=,
10
10
  SelectorLib.toBytes4,
11
+ SelectorLib.toString,
11
12
  SelectorLib.eqz
12
13
  } for Selector global;
13
14
 
@@ -46,6 +47,10 @@ library SelectorLib {
46
47
  function toBytes4(Selector s) public pure returns (bytes4) {
47
48
  return Selector.unwrap(s);
48
49
  }
50
+
51
+ function toString(Selector s) public pure returns (string memory) {
52
+ return string(abi.encode(Selector.unwrap(s)));
53
+ }
49
54
  }
50
55
 
51
56
  // selector specific set library
@@ -9,6 +9,7 @@ using {
9
9
  eqStateId as ==,
10
10
  neStateId as !=,
11
11
  StateIdLib.eqz,
12
+ StateIdLib.eq,
12
13
  StateIdLib.gtz,
13
14
  StateIdLib.toInt
14
15
  } for StateId global;
@@ -27,10 +28,18 @@ function DEPLOYING() pure returns (StateId) {
27
28
  return toStateId(3);
28
29
  }
29
30
 
30
- function ACTIVE() pure returns (StateId) {
31
+ function DEPLOYED() pure returns (StateId) {
31
32
  return toStateId(4);
32
33
  }
33
34
 
35
+ function ACTIVE() pure returns (StateId) {
36
+ return toStateId(5);
37
+ }
38
+
39
+ function SKIPPED() pure returns (StateId) {
40
+ return toStateId(6);
41
+ }
42
+
34
43
  function APPLIED() pure returns (StateId) {
35
44
  return toStateId(10);
36
45
  }
@@ -113,6 +122,11 @@ function neStateId(StateId a, StateId b) pure returns (bool isDifferent) {
113
122
 
114
123
  // library functions that operate on user defined type
115
124
  library StateIdLib {
125
+
126
+ function zero() public pure returns (StateId) {
127
+ return StateId.wrap(0);
128
+ }
129
+
116
130
  /// @dev Converts the NftId to a uint256.
117
131
  function toInt(StateId stateId) public pure returns (uint96) {
118
132
  return uint96(StateId.unwrap(stateId));
@@ -12,6 +12,12 @@ using {
12
12
  lteTimestamp as <=,
13
13
  eqTimestamp as ==,
14
14
  neTimestamp as !=,
15
+ TimestampLib.eq,
16
+ TimestampLib.ne,
17
+ TimestampLib.gt,
18
+ TimestampLib.gte,
19
+ TimestampLib.lt,
20
+ TimestampLib.lte,
15
21
  TimestampLib.gtz,
16
22
  TimestampLib.eqz,
17
23
  TimestampLib.addSeconds,
@@ -48,11 +54,6 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
48
54
  return Timestamp.unwrap(a) != Timestamp.unwrap(b);
49
55
  }
50
56
 
51
- /// @dev Converts the uint256 to a Timestamp.
52
- function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
53
- return Timestamp.wrap(uint40(timestamp));
54
- }
55
-
56
57
  // TODO move to TimestampLib and rename to zero()
57
58
  /// @dev Return the Timestamp zero (0)
58
59
  function zeroTimestamp() pure returns (Timestamp) {
@@ -72,6 +73,10 @@ library TimestampLib {
72
73
  function blockTimestamp() public view returns (Timestamp) {
73
74
  return Timestamp.wrap(uint40(block.timestamp));
74
75
  }
76
+
77
+ function toTimestamp(uint256 timestamp) public pure returns (Timestamp) {
78
+ return Timestamp.wrap(uint40(timestamp));
79
+ }
75
80
 
76
81
  /// @dev return true if Timestamp a is after Timestamp b
77
82
  function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {