@etherisc/gif-next 0.0.2-b3a9c97-695 → 0.0.2-b3b68b6-318

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 (519) hide show
  1. package/README.md +32 -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 +203 -77
  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 +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +200 -16
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +142 -44
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +107 -15
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +177 -373
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +206 -27
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +115 -295
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +320 -368
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +129 -119
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +115 -143
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +197 -103
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +158 -57
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +194 -154
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +446 -143
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +150 -90
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +988 -252
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +131 -266
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -92
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +689 -440
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +127 -323
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +180 -29
  108. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +102 -130
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +103 -283
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +121 -301
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +206 -27
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +155 -415
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +106 -136
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +84 -111
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +123 -162
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +317 -269
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +121 -312
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +465 -535
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +143 -105
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +131 -170
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +96 -90
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +238 -357
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +206 -27
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +400 -290
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -118
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +89 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -64
  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 +235 -202
  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 +327 -349
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +119 -117
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +227 -314
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +236 -355
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +334 -34
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +540 -95
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +349 -167
  195. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  197. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  199. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  200. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
  201. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  202. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  203. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +420 -246
  205. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  207. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  209. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  210. package/artifacts/contracts/shared/Component.sol/Component.json +89 -240
  211. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  212. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +473 -653
  213. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +132 -136
  215. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +446 -276
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +102 -130
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -282
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +544 -18
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +137 -139
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +130 -16
  274. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +86 -89
  276. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  277. package/artifacts/contracts/staking/Staking.sol/Staking.json +223 -368
  278. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +122 -103
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -63
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +183 -164
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +149 -108
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +55 -24
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  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 +2 -2
  300. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  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 +2 -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 +2 -2
  316. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  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 +79 -15
  322. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  324. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -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/Timestamp.sol/TimestampLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  333. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  335. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  337. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  339. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  340. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  341. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
  342. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  343. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  344. package/contracts/accounting/AccountingService.sol +262 -0
  345. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  346. package/contracts/accounting/IAccountingService.sol +45 -0
  347. package/contracts/authorization/AccessAdmin.sol +232 -134
  348. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  349. package/contracts/authorization/Authorization.sol +321 -202
  350. package/contracts/authorization/IAccess.sol +1 -0
  351. package/contracts/authorization/IAccessAdmin.sol +17 -10
  352. package/contracts/authorization/IAuthorization.sol +27 -7
  353. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  354. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  355. package/contracts/distribution/BasicDistribution.sol +15 -12
  356. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  357. package/contracts/distribution/Distribution.sol +42 -48
  358. package/contracts/distribution/DistributionService.sol +124 -89
  359. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  360. package/contracts/distribution/IDistributionComponent.sol +1 -1
  361. package/contracts/distribution/IDistributionService.sol +27 -21
  362. package/contracts/examples/fire/DamageLevel.sol +59 -0
  363. package/contracts/examples/fire/FirePool.sol +90 -0
  364. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  365. package/contracts/examples/fire/FireProduct.sol +438 -0
  366. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  367. package/contracts/examples/fire/FireUSD.sol +26 -0
  368. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  369. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  370. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  371. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  372. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  373. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  374. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  375. package/contracts/instance/BundleSet.sol +42 -38
  376. package/contracts/instance/IInstance.sol +21 -37
  377. package/contracts/instance/IInstanceService.sol +9 -29
  378. package/contracts/instance/Instance.sol +59 -66
  379. package/contracts/instance/InstanceAdmin.sol +256 -85
  380. package/contracts/instance/InstanceAuthorizationV3.sol +56 -47
  381. package/contracts/instance/InstanceReader.sol +268 -39
  382. package/contracts/instance/InstanceService.sol +93 -156
  383. package/contracts/instance/InstanceServiceManager.sol +6 -7
  384. package/contracts/instance/InstanceStore.sol +23 -2
  385. package/contracts/instance/RiskSet.sol +118 -0
  386. package/contracts/instance/base/ObjectCounter.sol +1 -2
  387. package/contracts/instance/base/ObjectLifecycle.sol +10 -2
  388. package/contracts/instance/base/ObjectSet.sol +31 -33
  389. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  390. package/contracts/instance/module/IComponents.sol +13 -8
  391. package/contracts/instance/module/IDistribution.sol +2 -1
  392. package/contracts/instance/module/IPolicy.sol +25 -24
  393. package/contracts/instance/module/IRisk.sol +3 -0
  394. package/contracts/oracle/BasicOracle.sol +0 -1
  395. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  396. package/contracts/oracle/IOracleService.sol +2 -1
  397. package/contracts/oracle/Oracle.sol +7 -17
  398. package/contracts/oracle/OracleService.sol +113 -81
  399. package/contracts/oracle/OracleServiceManager.sol +6 -6
  400. package/contracts/pool/BasicPool.sol +33 -24
  401. package/contracts/pool/BasicPoolAuthorization.sol +27 -9
  402. package/contracts/pool/BundleService.sol +93 -135
  403. package/contracts/pool/BundleServiceManager.sol +6 -6
  404. package/contracts/pool/IBundleService.sol +15 -33
  405. package/contracts/pool/IPoolComponent.sol +19 -15
  406. package/contracts/pool/IPoolService.sol +86 -68
  407. package/contracts/pool/Pool.sol +139 -122
  408. package/contracts/pool/PoolLib.sol +216 -0
  409. package/contracts/pool/PoolService.sol +502 -269
  410. package/contracts/pool/PoolServiceManager.sol +4 -4
  411. package/contracts/product/ApplicationService.sol +35 -26
  412. package/contracts/product/ApplicationServiceManager.sol +4 -4
  413. package/contracts/product/BasicProduct.sol +11 -12
  414. package/contracts/product/BasicProductAuthorization.sol +24 -11
  415. package/contracts/product/ClaimService.sol +365 -150
  416. package/contracts/product/ClaimServiceManager.sol +4 -4
  417. package/contracts/product/IApplicationService.sol +5 -2
  418. package/contracts/product/IClaimService.sol +43 -8
  419. package/contracts/product/IPolicyService.sol +39 -28
  420. package/contracts/product/IPricingService.sol +10 -10
  421. package/contracts/product/IProductComponent.sol +27 -5
  422. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  423. package/contracts/product/PolicyService.sol +374 -287
  424. package/contracts/product/PolicyServiceLib.sol +65 -0
  425. package/contracts/product/PolicyServiceManager.sol +4 -4
  426. package/contracts/product/PricingService.sol +61 -61
  427. package/contracts/product/PricingServiceManager.sol +4 -4
  428. package/contracts/product/Product.sol +150 -85
  429. package/contracts/product/RiskService.sol +145 -0
  430. package/contracts/product/RiskServiceManager.sol +39 -0
  431. package/contracts/registry/ChainNft.sol +72 -40
  432. package/contracts/registry/IRegistry.sol +60 -28
  433. package/contracts/registry/IRegistryService.sol +5 -12
  434. package/contracts/registry/IRelease.sol +26 -0
  435. package/contracts/registry/ITransferInterceptor.sol +1 -2
  436. package/contracts/registry/Registry.sol +357 -203
  437. package/contracts/registry/RegistryAdmin.sol +171 -182
  438. package/contracts/registry/RegistryService.sol +37 -48
  439. package/contracts/registry/RegistryServiceManager.sol +3 -3
  440. package/contracts/registry/ReleaseAdmin.sol +245 -0
  441. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  442. package/contracts/registry/ReleaseRegistry.sol +258 -232
  443. package/contracts/registry/ServiceAuthorizationV3.sol +99 -52
  444. package/contracts/registry/TokenRegistry.sol +6 -8
  445. package/contracts/shared/Component.sol +74 -128
  446. package/contracts/shared/ComponentService.sol +428 -376
  447. package/contracts/shared/ComponentServiceManager.sol +8 -5
  448. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  449. package/contracts/shared/ContractLib.sol +253 -0
  450. package/contracts/shared/IComponent.sol +8 -18
  451. package/contracts/shared/IComponentService.sol +41 -37
  452. package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
  453. package/contracts/shared/ILifecycle.sol +3 -1
  454. package/contracts/shared/INftOwnable.sol +2 -0
  455. package/contracts/shared/IPolicyHolder.sol +12 -22
  456. package/contracts/shared/IRegisterable.sol +23 -1
  457. package/contracts/shared/IService.sol +3 -5
  458. package/contracts/shared/InitializableERC165.sol +2 -2
  459. package/contracts/shared/InstanceLinkedComponent.sol +73 -48
  460. package/contracts/shared/KeyValueStore.sol +1 -1
  461. package/contracts/shared/Lifecycle.sol +15 -4
  462. package/contracts/shared/NftOwnable.sol +29 -9
  463. package/contracts/shared/PolicyHolder.sol +15 -52
  464. package/contracts/shared/Registerable.sol +55 -21
  465. package/contracts/shared/RegistryLinked.sol +9 -14
  466. package/contracts/shared/Service.sol +15 -32
  467. package/contracts/shared/TokenHandler.sol +308 -29
  468. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  469. package/contracts/staking/IStaking.sol +8 -11
  470. package/contracts/staking/IStakingService.sol +12 -4
  471. package/contracts/staking/StakeManagerLib.sol +87 -42
  472. package/contracts/staking/Staking.sol +81 -67
  473. package/contracts/staking/StakingManager.sol +8 -6
  474. package/contracts/staking/StakingReader.sol +13 -21
  475. package/contracts/staking/StakingService.sol +71 -25
  476. package/contracts/staking/StakingServiceManager.sol +6 -5
  477. package/contracts/staking/TargetManagerLib.sol +7 -3
  478. package/contracts/type/Amount.sol +15 -0
  479. package/contracts/type/ClaimId.sol +6 -1
  480. package/contracts/type/Key32.sol +2 -2
  481. package/contracts/type/Key32Set.sol +62 -0
  482. package/contracts/type/NftId.sol +7 -0
  483. package/contracts/type/ObjectType.sol +52 -20
  484. package/contracts/type/PayoutId.sol +10 -10
  485. package/contracts/type/RiskId.sol +35 -4
  486. package/contracts/type/RoleId.sol +23 -15
  487. package/contracts/type/Seconds.sol +8 -0
  488. package/contracts/type/Selector.sol +5 -0
  489. package/contracts/type/StateId.sol +15 -1
  490. package/contracts/type/Timestamp.sol +0 -5
  491. package/contracts/type/UFixed.sol +13 -119
  492. package/contracts/type/Version.sol +15 -5
  493. package/contracts/upgradeability/ProxyManager.sol +68 -34
  494. package/contracts/upgradeability/Versionable.sol +2 -2
  495. package/package.json +4 -3
  496. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  497. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  498. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  499. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  500. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  501. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  502. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  503. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  504. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  505. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  506. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  507. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  508. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  509. package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.dbg.json +0 -4
  510. package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.json +0 -42
  511. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  512. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  513. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  514. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  515. package/contracts/instance/module/IAccess.sol +0 -46
  516. package/contracts/product/ProductService.sol +0 -99
  517. package/contracts/product/ProductServiceManager.sol +0 -39
  518. package/contracts/shared/InitializableCustom.sol +0 -177
  519. package/contracts/shared/TokenTransferLib.sol +0 -60
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e268515300da1a737ff92056198d0f0a.json"
4
- }
@@ -1,39 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "InitializableCustom",
4
- "sourceName": "contracts/shared/InitializableCustom.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "name": "InvalidInitialization",
9
- "type": "error"
10
- },
11
- {
12
- "inputs": [],
13
- "name": "InvalidInitializationCaller",
14
- "type": "error"
15
- },
16
- {
17
- "inputs": [],
18
- "name": "NotInitializing",
19
- "type": "error"
20
- },
21
- {
22
- "anonymous": false,
23
- "inputs": [
24
- {
25
- "indexed": false,
26
- "internalType": "uint64",
27
- "name": "version",
28
- "type": "uint64"
29
- }
30
- ],
31
- "name": "Initialized",
32
- "type": "event"
33
- }
34
- ],
35
- "bytecode": "0x",
36
- "deployedBytecode": "0x",
37
- "linkReferences": {},
38
- "deployedLinkReferences": {}
39
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e268515300da1a737ff92056198d0f0a.json"
4
- }
@@ -1,42 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "TokenTransferLib",
4
- "sourceName": "contracts/shared/TokenTransferLib.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "from",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "spender",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "uint256",
20
- "name": "allowance",
21
- "type": "uint256"
22
- },
23
- {
24
- "internalType": "uint256",
25
- "name": "amount",
26
- "type": "uint256"
27
- }
28
- ],
29
- "name": "ErrorTokenTransferLibAllowanceTooSmall",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "ErrorTokenTransferLibAmountIsZero",
35
- "type": "error"
36
- }
37
- ],
38
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122092973e81588f438940e3c3494d143a5ef6406adc61e900f40e01d605fb219eb464736f6c634300081a0033",
39
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122092973e81588f438940e3c3494d143a5ef6406adc61e900f40e01d605fb219eb464736f6c634300081a0033",
40
- "linkReferences": {},
41
- "deployedLinkReferences": {}
42
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e268515300da1a737ff92056198d0f0a.json"
4
- }
@@ -1,16 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "MathLib",
4
- "sourceName": "contracts/type/UFixed.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "name": "MathLigMulDivOverflow",
9
- "type": "error"
10
- }
11
- ],
12
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
13
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
14
- "linkReferences": {},
15
- "deployedLinkReferences": {}
16
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IAccess} from "./IAccess.sol";
5
- import {IAuthorization} from "./IAuthorization.sol";
6
- import {ObjectType} from "../type/ObjectType.sol";
7
- import {RoleId} from "../type/RoleId.sol";
8
- import {Str} from "../type/String.sol";
9
-
10
- interface IModuleAuthorization is
11
- IAccess,
12
- IAuthorization
13
- {
14
-
15
- /// @dev Returns the list of service targets.
16
- function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
17
-
18
- /// @dev Returns the service target for the specified domain.
19
- function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
20
- }
21
-
@@ -1,78 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Authorization} from "./Authorization.sol";
5
- import {IAccess} from "./IAccess.sol";
6
- import {IModuleAuthorization} from "./IModuleAuthorization.sol";
7
- import {ObjectType, ObjectTypeLib} from "../type/ObjectType.sol";
8
- import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
9
- import {SelectorLib} from "../type/Selector.sol";
10
- import {Str, StrLib} from "../type/String.sol";
11
- import {TimestampLib} from "../type/Timestamp.sol";
12
- import {VersionPart} from "../type/Version.sol";
13
-
14
- contract ModuleAuthorization is
15
- Authorization,
16
- IModuleAuthorization
17
- {
18
-
19
- ObjectType[] internal _serviceDomains;
20
- mapping(ObjectType domain => Str target) internal _serviceTarget;
21
-
22
- constructor(string memory moduleName)
23
- Authorization(moduleName)
24
- { }
25
-
26
- function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
27
- return _serviceDomains;
28
- }
29
-
30
- function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget) {
31
- return _serviceTarget[serviceDomain];
32
- }
33
-
34
- /// @dev Add a GIF role for the provided role id and name.
35
- function _addGifRole(RoleId roleId, string memory name) internal returns (RoleInfo memory info) {
36
- _addRole(
37
- roleId,
38
- _toRoleInfo(
39
- ADMIN_ROLE(),
40
- RoleType.Gif,
41
- type(uint32).max,
42
- name));
43
- }
44
-
45
- /// @dev Add the service target role for the specified service domain
46
- function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
47
- // add service domain
48
- _serviceDomains.push(serviceDomain);
49
-
50
- // get versioned target name
51
- string memory serviceTargetName = ObjectTypeLib.toVersionedName(
52
- ObjectTypeLib.toName(serviceDomain),
53
- "Service",
54
- getRelease().toInt());
55
-
56
- _serviceTarget[serviceDomain] = StrLib.toStr(serviceTargetName);
57
-
58
- RoleId serviceRoleId = getServiceRole(serviceDomain);
59
- string memory serviceRoleName = ObjectTypeLib.toVersionedName(
60
- ObjectTypeLib.toName(serviceDomain),
61
- "ServiceRole",
62
- getRelease().toInt());
63
-
64
- _addTargetWithRole(
65
- serviceTargetName,
66
- serviceRoleId,
67
- serviceRoleName);
68
- }
69
-
70
- /// @dev role id for targets registry, staking and instance
71
- function _getTargetRoleId(ObjectType targetDomain)
72
- internal
73
- returns (RoleId targetRoleId)
74
- {
75
- return RoleIdLib.roleForType(targetDomain);
76
- }
77
- }
78
-
@@ -1,46 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
-
6
- import {NftId} from "../../type/NftId.sol";
7
- import {RoleId} from "../../type/RoleId.sol";
8
- import {Timestamp} from "../../type/Timestamp.sol";
9
-
10
- interface IAccess {
11
-
12
- enum Type {
13
- NotInitialized,
14
- Core,
15
- Gif,
16
- Custom
17
- }
18
-
19
- struct RoleInfo {
20
- ShortString name;
21
- Type rtype;
22
- //bool isLocked;
23
- RoleId admin;
24
- Timestamp createdAt;
25
- Timestamp updatedAt;
26
- }
27
-
28
- struct TargetInfo {
29
- ShortString name;
30
- Type ttype;
31
- bool isLocked;
32
- Timestamp createdAt;
33
- Timestamp updatedAt;
34
- }
35
-
36
- error ErrorIAccessRoleIdTooBig(RoleId roleId);
37
- error ErrorIAccessRoleIdTooSmall(RoleId roleId);
38
- error ErrorIAccessRoleTypeInvalid(RoleId roleId, Type rtype);
39
-
40
- error ErrorIAccessTargetAddressZero();
41
- error ErrorIAccessTargetTypeInvalid(address target, Type ttype);
42
- error ErrorIAccessTargetLocked(address target);
43
- error ErrorIAccessTargetNotRegistered(address target);
44
- error ErrorIAccessTargetAuthorityInvalid(address target, address targetAuthority);
45
- error ErrorIAccessTargetInstanceMismatch(address target, NftId targetParentNftId, NftId instanceNftId);
46
- }
@@ -1,99 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IInstance} from "../instance/IInstance.sol";
5
- import {IInstanceService} from "../instance/IInstanceService.sol";
6
- import {IPoolService} from "../pool/PoolService.sol";
7
- import {IProductService} from "./IProductService.sol";
8
- import {IRegistryService} from "../registry/IRegistryService.sol";
9
- import {IRisk} from "../instance/module/IRisk.sol";
10
-
11
- import {InstanceReader} from "../instance/InstanceReader.sol";
12
- import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY} from "../type/ObjectType.sol";
13
- import {KEEP_STATE} from "../type/StateId.sol";
14
- import {NftId} from "../type/NftId.sol";
15
- import {RiskId} from "../type/RiskId.sol";
16
- import {StateId} from "../type/StateId.sol";
17
- import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
18
-
19
- contract ProductService is
20
- ComponentVerifyingService,
21
- IProductService
22
- {
23
- IInstanceService private _instanceService;
24
- IPoolService internal _poolService;
25
- IRegistryService private _registryService;
26
-
27
- event LogProductServiceSender(address sender);
28
-
29
- function _initialize(
30
- address owner,
31
- bytes memory data
32
- )
33
- internal
34
- initializer
35
- virtual override
36
- {
37
- (
38
- address registryAddress,,
39
- //address managerAddress
40
- address authority
41
- ) = abi.decode(data, (address, address, address));
42
-
43
- initializeService(registryAddress, authority, owner);
44
-
45
- _instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
46
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
47
- _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
48
-
49
- registerInterface(type(IProductService).interfaceId);
50
- }
51
-
52
-
53
- function createRisk(
54
- RiskId riskId,
55
- bytes memory data
56
- )
57
- external
58
- override
59
- {
60
- (NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
61
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
62
-
63
- instance.getInstanceStore().createRisk(
64
- riskId,
65
- riskInfo
66
- );
67
- }
68
-
69
-
70
- function updateRisk(
71
- RiskId riskId,
72
- bytes memory data
73
- )
74
- external
75
- {
76
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
77
- InstanceReader instanceReader = instance.getInstanceReader();
78
-
79
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
80
- riskInfo.data = data;
81
- instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
82
- }
83
-
84
-
85
- function updateRiskState(
86
- RiskId riskId,
87
- StateId state
88
- )
89
- external
90
- {
91
- (,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
92
- instance.getInstanceStore().updateRiskState(riskId, state);
93
- }
94
-
95
-
96
- function _getDomain() internal pure override returns(ObjectType) {
97
- return PRODUCT();
98
- }
99
- }
@@ -1,39 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
5
- import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
-
8
- contract ProductServiceManager is ProxyManager {
9
-
10
- ProductService private _productService;
11
-
12
- /// @dev initializes proxy manager with product service implementation
13
- constructor(
14
- address authority,
15
- address registryAddress,
16
- bytes32 salt
17
- )
18
- ProxyManager(registryAddress)
19
- {
20
- ProductService svc = new ProductService{salt: salt}();
21
- bytes memory data = abi.encode(registryAddress, address(this), authority);
22
- IVersionable versionable = deployDetermenistic(
23
- address(svc),
24
- data,
25
- salt);
26
-
27
- _productService = ProductService(address(versionable));
28
- }
29
-
30
- //--- view functions ----------------------------------------------------//
31
- function getProductService()
32
- external
33
- view
34
- returns (ProductService productService)
35
- {
36
- return _productService;
37
- }
38
-
39
- }
@@ -1,177 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
-
3
- pragma solidity ^0.8.20;
4
-
5
- /**
6
- * @dev This is copy of OpenZeppelin's Contracts (last updated v5.0.0) (proxy/utils/Initializable.sol)
7
- * Changes:
8
- * 1. name is InitializableCustom
9
- * 2. no longer abstract
10
- * 3. have $._initializeOwner
11
- * 4. have constructor where sets _initializeOwner
12
- * 5. initializer() in addition checks for _initializeOwner
13
- * 6. reinitializer() is deleted
14
- */
15
- abstract contract InitializableCustom {
16
- /**
17
- * @dev Storage of the initializable contract.
18
- *
19
- * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions
20
- * when using with upgradeable contracts.
21
- *
22
- * @custom:storage-location erc7201:openzeppelin.storage.Initializable
23
- */
24
- struct InitializableCustomStorage {
25
- /**
26
- * @dev Indicates that the contract has been initialized.
27
- */
28
- uint64 _initialized;
29
- /**
30
- * @dev Indicates that the contract is in the process of being initialized.
31
- */
32
- bool _initializing;
33
- /**
34
- * @dev Indicates address that can call function with initializer() modifier.
35
- */
36
- address _initializeOwner;
37
- }
38
-
39
- // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.InitializableCustom")) - 1)) & ~bytes32(uint256(0xff))
40
- bytes32 private constant INITIALIZABLE_CUSTOM_STORAGE = 0x46cd1d813423aaf613c34c7f348d15b2b5e71215e9145b09467e257ea2805a00;
41
-
42
- /**
43
- * @dev The contract is already initialized.
44
- */
45
- error InvalidInitialization();
46
-
47
- /**
48
- * @dev The contract initialization function caller is not authorized.
49
- */
50
- error InvalidInitializationCaller();
51
-
52
- /**
53
- * @dev The contract is not initializing.
54
- */
55
- error NotInitializing();
56
-
57
- /**
58
- * @dev Triggered when the contract has been initialized or reinitialized.
59
- */
60
- event Initialized(uint64 version);
61
-
62
- /**
63
- * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,
64
- * `onlyInitializing` functions can be used to initialize parent contracts.
65
- *
66
- * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any
67
- * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in
68
- * production.
69
- *
70
- * Emits an {Initialized} event.
71
- */
72
- modifier initializer() virtual {
73
- // solhint-disable-next-line var-name-mixedcase
74
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
75
-
76
- if($._initializeOwner != msg.sender) {
77
- revert InvalidInitializationCaller();
78
- }
79
-
80
- // Cache values to avoid duplicated sloads
81
- bool isTopLevelCall = !$._initializing;
82
- uint64 initialized = $._initialized;
83
-
84
- // Allowed calls:
85
- // - initialSetup: the contract is not in the initializing state and no previous version was
86
- // initialized
87
- // - construction: the contract is initialized at version 1 (no reininitialization) and the
88
- // current contract is just being deployed
89
- bool initialSetup = initialized == 0 && isTopLevelCall;
90
- bool construction = initialized == 1 && address(this).code.length == 0;
91
-
92
- if (!initialSetup && !construction) {
93
- revert InvalidInitialization();
94
- }
95
- $._initialized = 1;
96
- if (isTopLevelCall) {
97
- $._initializing = true;
98
- }
99
- _;
100
- if (isTopLevelCall) {
101
- $._initializing = false;
102
- emit Initialized(1);
103
- }
104
- }
105
-
106
- /**
107
- * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the
108
- * {initializer} and {reinitializer} modifiers, directly or indirectly.
109
- */
110
- modifier onlyInitializing() {
111
- _checkInitializing();
112
- _;
113
- }
114
-
115
- /**
116
- * @dev Constructor sets the caller of protected initializer function.
117
- */
118
- constructor() {
119
- // solhint-disable-previous-line var-name-mixedcase
120
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
121
- $._initializeOwner = msg.sender;
122
- }
123
-
124
- /**
125
- * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}.
126
- */
127
- function _checkInitializing() internal view virtual {
128
- if (!_isInitializing()) {
129
- revert NotInitializing();
130
- }
131
- }
132
-
133
- /**
134
- * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.
135
- * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized
136
- * to any version. It is recommended to use this to lock implementation contracts that are designed to be called
137
- * through proxies.
138
- *
139
- * Emits an {Initialized} event the first time it is successfully executed.
140
- */
141
- function _disableInitializers() internal virtual {
142
- // solhint-disable-next-line var-name-mixedcase
143
- InitializableCustomStorage storage $ = _getInitializableCustomStorage();
144
-
145
- if ($._initializing) {
146
- revert InvalidInitialization();
147
- }
148
- if ($._initialized != type(uint64).max) {
149
- $._initialized = type(uint64).max;
150
- emit Initialized(type(uint64).max);
151
- }
152
- }
153
-
154
- /**
155
- * @dev Returns the highest version that has been initialized. See {reinitializer}.
156
- */
157
- function _getInitializedVersion() internal view returns (uint64) {
158
- return _getInitializableCustomStorage()._initialized;
159
- }
160
-
161
- /**
162
- * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.
163
- */
164
- function _isInitializing() internal view returns (bool) {
165
- return _getInitializableCustomStorage()._initializing;
166
- }
167
-
168
- /**
169
- * @dev Returns a pointer to the storage namespace.
170
- */
171
- // solhint-disable-next-line var-name-mixedcase
172
- function _getInitializableCustomStorage() private pure returns (InitializableCustomStorage storage $) {
173
- assembly {
174
- $.slot := INITIALIZABLE_CUSTOM_STORAGE
175
- }
176
- }
177
- }
@@ -1,60 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Amount} from "../type/Amount.sol";
5
- import {TokenHandler} from "../shared/TokenHandler.sol";
6
-
7
- // library
8
- library TokenTransferLib {
9
-
10
- error ErrorTokenTransferLibAmountIsZero();
11
- error ErrorTokenTransferLibAllowanceTooSmall(address from, address spender, uint256 allowance, uint256 amount);
12
-
13
- /// @dev collect tokens from outside of the gif and transfer them to a wallet within the scope of gif
14
- function collectTokens(
15
- address from,
16
- address to,
17
- Amount amount,
18
- TokenHandler tokenHandler
19
- )
20
- internal
21
- {
22
- _transfer(from, to, amount, tokenHandler);
23
- }
24
-
25
- /// @dev distribute tokens from a wallet within the scope of gif to an external address
26
- function distributeTokens(
27
- address from,
28
- address to,
29
- Amount amount,
30
- TokenHandler tokenHandler
31
- )
32
- internal
33
- {
34
- _transfer(from, to, amount, tokenHandler);
35
- }
36
-
37
- function _transfer(
38
- address from,
39
- address to,
40
- Amount amount,
41
- TokenHandler tokenHandler
42
- )
43
- internal
44
- {
45
- if (amount.eqz()) {
46
- revert ErrorTokenTransferLibAmountIsZero();
47
- }
48
-
49
- uint256 allowance = tokenHandler.getToken().allowance(from, address(tokenHandler));
50
- if (allowance < amount.toInt()) {
51
- revert ErrorTokenTransferLibAllowanceTooSmall(from, address(tokenHandler), allowance, amount.toInt());
52
- }
53
-
54
- tokenHandler.transfer(
55
- from,
56
- to,
57
- amount);
58
- }
59
-
60
- }