@etherisc/gif-next 0.0.2-750c7cb-311 → 0.0.2-754ba48-078

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 (525) 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 +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 +177 -373
  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 +115 -295
  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 +115 -143
  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 +1475 -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 +2032 -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 +1523 -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 +1195 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -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 +2432 -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 +218 -39
  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 +236 -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 +1040 -270
  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 +707 -438
  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/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +127 -323
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +243 -29
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +102 -130
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +103 -283
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +121 -301
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +261 -27
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +158 -418
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +106 -136
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +84 -142
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +123 -162
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +305 -288
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +121 -312
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +420 -546
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +124 -114
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +100 -90
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +238 -357
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +261 -27
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +403 -246
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +137 -115
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +248 -83
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +235 -202
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +316 -318
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +120 -106
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -313
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +236 -355
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +334 -34
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +540 -95
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +639 -367
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +423 -245
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  213. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  214. package/artifacts/contracts/shared/Component.sol/Component.json +89 -240
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +473 -653
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +131 -139
  219. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +431 -284
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +102 -130
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -282
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +544 -18
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -122
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +286 -360
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +125 -102
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +185 -130
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +65 -24
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  348. package/contracts/accounting/AccountingService.sol +262 -0
  349. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  350. package/contracts/accounting/IAccountingService.sol +45 -0
  351. package/contracts/authorization/AccessAdmin.sol +338 -225
  352. package/contracts/authorization/AccessAdminLib.sol +183 -0
  353. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  354. package/contracts/authorization/Authorization.sol +350 -203
  355. package/contracts/authorization/IAccess.sol +1 -0
  356. package/contracts/authorization/IAccessAdmin.sol +69 -35
  357. package/contracts/authorization/IAuthorization.sol +33 -7
  358. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  359. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  360. package/contracts/distribution/BasicDistribution.sol +15 -12
  361. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  362. package/contracts/distribution/Distribution.sol +42 -48
  363. package/contracts/distribution/DistributionService.sol +152 -103
  364. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  365. package/contracts/distribution/IDistributionComponent.sol +1 -1
  366. package/contracts/distribution/IDistributionService.sol +31 -25
  367. package/contracts/examples/fire/DamageLevel.sol +59 -0
  368. package/contracts/examples/fire/FirePool.sol +90 -0
  369. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  370. package/contracts/examples/fire/FireProduct.sol +437 -0
  371. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  372. package/contracts/examples/fire/FireUSD.sol +26 -0
  373. package/contracts/examples/unpermissioned/SimpleDistribution.sol +85 -0
  374. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  376. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  377. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  378. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  379. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  380. package/contracts/instance/BundleSet.sol +42 -38
  381. package/contracts/instance/IInstance.sol +63 -44
  382. package/contracts/instance/IInstanceService.sol +22 -30
  383. package/contracts/instance/Instance.sol +113 -71
  384. package/contracts/instance/InstanceAdmin.sol +287 -103
  385. package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
  386. package/contracts/instance/InstanceReader.sol +281 -39
  387. package/contracts/instance/InstanceService.sol +208 -189
  388. package/contracts/instance/InstanceServiceManager.sol +6 -7
  389. package/contracts/instance/InstanceStore.sol +23 -2
  390. package/contracts/instance/RiskSet.sol +118 -0
  391. package/contracts/instance/base/ObjectCounter.sol +1 -2
  392. package/contracts/instance/base/ObjectLifecycle.sol +10 -1
  393. package/contracts/instance/base/ObjectSet.sol +31 -33
  394. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  395. package/contracts/instance/module/IComponents.sol +13 -8
  396. package/contracts/instance/module/IDistribution.sol +5 -2
  397. package/contracts/instance/module/IPolicy.sol +25 -24
  398. package/contracts/instance/module/IRisk.sol +3 -0
  399. package/contracts/oracle/BasicOracle.sol +0 -1
  400. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  401. package/contracts/oracle/IOracleService.sol +2 -1
  402. package/contracts/oracle/Oracle.sol +7 -17
  403. package/contracts/oracle/OracleService.sol +113 -81
  404. package/contracts/oracle/OracleServiceManager.sol +6 -6
  405. package/contracts/pool/BasicPool.sol +33 -24
  406. package/contracts/pool/BasicPoolAuthorization.sol +27 -9
  407. package/contracts/pool/BundleService.sol +93 -148
  408. package/contracts/pool/BundleServiceManager.sol +6 -6
  409. package/contracts/pool/IBundleService.sol +16 -36
  410. package/contracts/pool/IPoolComponent.sol +19 -15
  411. package/contracts/pool/IPoolService.sol +86 -70
  412. package/contracts/pool/Pool.sol +139 -122
  413. package/contracts/pool/PoolLib.sol +216 -0
  414. package/contracts/pool/PoolService.sol +499 -301
  415. package/contracts/pool/PoolServiceManager.sol +4 -4
  416. package/contracts/product/ApplicationService.sol +87 -43
  417. package/contracts/product/ApplicationServiceManager.sol +4 -4
  418. package/contracts/product/BasicProduct.sol +11 -12
  419. package/contracts/product/BasicProductAuthorization.sol +24 -11
  420. package/contracts/product/ClaimService.sol +364 -156
  421. package/contracts/product/ClaimServiceManager.sol +4 -4
  422. package/contracts/product/IApplicationService.sol +9 -2
  423. package/contracts/product/IClaimService.sol +43 -8
  424. package/contracts/product/IPolicyService.sol +44 -34
  425. package/contracts/product/IPricingService.sol +11 -10
  426. package/contracts/product/IProductComponent.sol +27 -5
  427. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  428. package/contracts/product/PolicyService.sol +408 -300
  429. package/contracts/product/PolicyServiceLib.sol +65 -0
  430. package/contracts/product/PolicyServiceManager.sol +4 -4
  431. package/contracts/product/PricingService.sol +71 -62
  432. package/contracts/product/PricingServiceManager.sol +4 -4
  433. package/contracts/product/Product.sol +154 -96
  434. package/contracts/product/RiskService.sol +154 -0
  435. package/contracts/product/RiskServiceManager.sol +39 -0
  436. package/contracts/registry/ChainNft.sol +72 -40
  437. package/contracts/registry/IRegistry.sol +60 -28
  438. package/contracts/registry/IRegistryService.sol +5 -12
  439. package/contracts/registry/IRelease.sol +26 -0
  440. package/contracts/registry/ITransferInterceptor.sol +1 -2
  441. package/contracts/registry/Registry.sol +357 -203
  442. package/contracts/registry/RegistryAdmin.sol +162 -269
  443. package/contracts/registry/RegistryAuthorization.sol +267 -0
  444. package/contracts/registry/RegistryService.sol +37 -48
  445. package/contracts/registry/RegistryServiceManager.sol +3 -3
  446. package/contracts/registry/ReleaseAdmin.sol +253 -0
  447. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  448. package/contracts/registry/ReleaseRegistry.sol +272 -240
  449. package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
  450. package/contracts/registry/TokenRegistry.sol +6 -8
  451. package/contracts/shared/Component.sol +74 -128
  452. package/contracts/shared/ComponentService.sol +425 -386
  453. package/contracts/shared/ComponentServiceManager.sol +8 -5
  454. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  455. package/contracts/shared/ContractLib.sol +281 -0
  456. package/contracts/shared/IComponent.sol +8 -18
  457. package/contracts/shared/IComponentService.sol +40 -38
  458. package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
  459. package/contracts/shared/ILifecycle.sol +3 -1
  460. package/contracts/shared/INftOwnable.sol +2 -0
  461. package/contracts/shared/IPolicyHolder.sol +12 -22
  462. package/contracts/shared/IRegisterable.sol +23 -1
  463. package/contracts/shared/IService.sol +3 -5
  464. package/contracts/shared/InitializableERC165.sol +10 -2
  465. package/contracts/shared/InstanceLinkedComponent.sol +73 -48
  466. package/contracts/shared/KeyValueStore.sol +1 -1
  467. package/contracts/shared/Lifecycle.sol +15 -4
  468. package/contracts/shared/NftOwnable.sol +29 -9
  469. package/contracts/shared/PolicyHolder.sol +15 -52
  470. package/contracts/shared/Registerable.sol +52 -21
  471. package/contracts/shared/RegistryLinked.sol +9 -14
  472. package/contracts/shared/Service.sol +15 -32
  473. package/contracts/shared/TokenHandler.sol +309 -29
  474. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  475. package/contracts/staking/IStaking.sol +19 -11
  476. package/contracts/staking/IStakingService.sol +16 -4
  477. package/contracts/staking/Staking.sol +102 -72
  478. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  479. package/contracts/staking/StakingManager.sol +8 -6
  480. package/contracts/staking/StakingReader.sol +18 -21
  481. package/contracts/staking/StakingService.sol +82 -25
  482. package/contracts/staking/StakingServiceManager.sol +6 -5
  483. package/contracts/staking/StakingStore.sol +2 -1
  484. package/contracts/staking/TargetManagerLib.sol +7 -3
  485. package/contracts/type/Amount.sol +15 -0
  486. package/contracts/type/ClaimId.sol +6 -1
  487. package/contracts/type/Key32.sol +2 -2
  488. package/contracts/type/Key32Set.sol +62 -0
  489. package/contracts/type/NftId.sol +7 -0
  490. package/contracts/type/ObjectType.sol +57 -34
  491. package/contracts/type/PayoutId.sol +10 -10
  492. package/contracts/type/RiskId.sol +38 -6
  493. package/contracts/type/RoleId.sol +23 -15
  494. package/contracts/type/Seconds.sol +8 -0
  495. package/contracts/type/Selector.sol +5 -0
  496. package/contracts/type/StateId.sol +15 -1
  497. package/contracts/type/Timestamp.sol +0 -5
  498. package/contracts/type/UFixed.sol +13 -119
  499. package/contracts/type/Version.sol +54 -5
  500. package/contracts/upgradeability/ProxyManager.sol +68 -34
  501. package/contracts/upgradeability/Versionable.sol +2 -2
  502. package/package.json +5 -4
  503. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  504. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  505. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  506. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  507. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  508. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  509. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  510. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  511. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  512. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  513. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  514. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  515. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  516. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  517. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  518. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  519. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  520. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  521. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  522. package/contracts/instance/module/IAccess.sol +0 -46
  523. package/contracts/product/ProductService.sol +0 -99
  524. package/contracts/product/ProductServiceManager.sol +0 -39
  525. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -0,0 +1,377 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ import {Amount, AmountLib} from "../../type/Amount.sol";
7
+ import {BasicProduct} from "../../product/BasicProduct.sol";
8
+ import {ClaimId} from "../../type/ClaimId.sol";
9
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
10
+ import {IComponents} from "../../instance/module/IComponents.sol";
11
+ import {IOracleService} from "../../oracle/IOracleService.sol";
12
+ import {ORACLE} from "../../type/ObjectType.sol";
13
+ import {NftId} from "../../type/NftId.sol";
14
+ import {PayoutId} from "../../type/PayoutId.sol";
15
+ import {ReferralId} from "../../type/Referral.sol";
16
+ import {RequestId} from "../../type/RequestId.sol";
17
+ import {RiskId} from "../../type/RiskId.sol";
18
+ import {Seconds} from "../../type/Seconds.sol";
19
+ import {SimpleOracle} from "./SimpleOracle.sol";
20
+ import {StateId} from "../../type/StateId.sol";
21
+ import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
22
+
23
+ uint64 constant SPECIAL_ROLE_INT = 11111;
24
+
25
+ contract SimpleProduct is
26
+ BasicProduct
27
+ {
28
+
29
+ event LogSimpleProductRequestAsyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
30
+ event LogSimpleProductRequestSyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
31
+
32
+ error ErrorSimpleProductRevertedWhileProcessingResponse(RequestId requestId);
33
+
34
+ IOracleService private _oracleService;
35
+
36
+ constructor(
37
+ address registry,
38
+ NftId instanceNftId,
39
+ string memory name,
40
+ address token,
41
+ IComponents.ProductInfo memory productInfo,
42
+ IComponents.FeeInfo memory feeInfo,
43
+ IAuthorization authorization,
44
+ address initialOwner
45
+ )
46
+ {
47
+ initialize(
48
+ registry,
49
+ instanceNftId,
50
+ name,
51
+ token,
52
+ productInfo,
53
+ feeInfo,
54
+ authorization,
55
+ initialOwner);
56
+ }
57
+
58
+
59
+ function initialize(
60
+ address registry,
61
+ NftId instanceNftid,
62
+ string memory name,
63
+ address token,
64
+ IComponents.ProductInfo memory productInfo,
65
+ IComponents.FeeInfo memory feeInfo,
66
+ IAuthorization authorization,
67
+ address initialOwner
68
+ )
69
+ public
70
+ virtual
71
+ initializer()
72
+ {
73
+ _initializeBasicProduct(
74
+ registry,
75
+ instanceNftid,
76
+ name,
77
+ token,
78
+ productInfo,
79
+ feeInfo,
80
+ authorization,
81
+ initialOwner);
82
+
83
+ _oracleService = IOracleService(_getServiceAddress(ORACLE()));
84
+ }
85
+
86
+
87
+ function createRisk(
88
+ string memory id,
89
+ bytes memory data
90
+ ) public returns (RiskId) {
91
+ return _createRisk(
92
+ bytes32(abi.encodePacked(id)),
93
+ data
94
+ );
95
+ }
96
+
97
+ function updateRisk(
98
+ RiskId id,
99
+ bytes memory data
100
+ ) public {
101
+ _updateRisk(
102
+ id,
103
+ data
104
+ );
105
+ }
106
+
107
+ function updateRiskState(
108
+ RiskId id,
109
+ StateId state
110
+ ) public {
111
+ _updateRiskState(
112
+ id,
113
+ state
114
+ );
115
+ }
116
+
117
+ function createApplication(
118
+ address applicationOwner,
119
+ RiskId riskId,
120
+ uint256 sumInsured,
121
+ Seconds lifetime,
122
+ bytes memory applicationData,
123
+ NftId bundleNftId,
124
+ ReferralId referralId
125
+ )
126
+ public
127
+ returns (NftId nftId)
128
+ {
129
+ Amount sumInsuredAmount = AmountLib.toAmount(sumInsured);
130
+ Amount premiumAmount = calculatePremium(
131
+ sumInsuredAmount,
132
+ riskId,
133
+ lifetime,
134
+ applicationData,
135
+ bundleNftId,
136
+ referralId);
137
+
138
+ return _createApplication(
139
+ applicationOwner,
140
+ riskId,
141
+ sumInsuredAmount,
142
+ premiumAmount,
143
+ lifetime,
144
+ bundleNftId,
145
+ referralId,
146
+ applicationData
147
+ );
148
+ }
149
+
150
+ function createPolicy(
151
+ NftId applicationNftId,
152
+ bool requirePremiumPayment,
153
+ Timestamp activateAt
154
+ ) public {
155
+ _createPolicy(applicationNftId, activateAt);
156
+ if (requirePremiumPayment == true) {
157
+ _collectPremium(applicationNftId, activateAt);
158
+ }
159
+ }
160
+
161
+ function decline(
162
+ NftId policyNftId
163
+ ) public {
164
+ _decline(policyNftId);
165
+ }
166
+
167
+ function expire(
168
+ NftId policyNftId,
169
+ Timestamp expireAt
170
+ )
171
+ public
172
+ returns (Timestamp)
173
+ {
174
+ return _expire(policyNftId, expireAt);
175
+ }
176
+
177
+ function collectPremium(
178
+ NftId policyNftId,
179
+ Timestamp activateAt
180
+ ) public {
181
+ _collectPremium(policyNftId, activateAt);
182
+ }
183
+
184
+ function activate(
185
+ NftId policyNftId,
186
+ Timestamp activateAt
187
+ ) public {
188
+ _activate(policyNftId, activateAt);
189
+ }
190
+
191
+ function adjustActivation(
192
+ NftId policyNftId,
193
+ Timestamp activateAt
194
+ ) public {
195
+ _adjustActivation(policyNftId, activateAt);
196
+ }
197
+
198
+ function close(
199
+ NftId policyNftId
200
+ ) public {
201
+ _close(policyNftId);
202
+ }
203
+
204
+ function submitClaim(
205
+ NftId policyNftId,
206
+ Amount claimAmount,
207
+ bytes memory submissionData
208
+ ) public returns (ClaimId) {
209
+ return _submitClaim(policyNftId, claimAmount, submissionData);
210
+ }
211
+
212
+ function revokeClaim(
213
+ NftId policyNftId,
214
+ ClaimId claimId
215
+ ) public {
216
+ _revokeClaim(policyNftId, claimId);
217
+ }
218
+
219
+ function confirmClaim(
220
+ NftId policyNftId,
221
+ ClaimId claimId,
222
+ Amount confirmedAmount,
223
+ bytes memory processData
224
+ ) public {
225
+ _confirmClaim(policyNftId, claimId, confirmedAmount, processData);
226
+ }
227
+
228
+ function declineClaim(
229
+ NftId policyNftId,
230
+ ClaimId claimId,
231
+ bytes memory processData
232
+ ) public {
233
+ _declineClaim(policyNftId, claimId, processData);
234
+ }
235
+
236
+ function closeClaim(
237
+ NftId policyNftId,
238
+ ClaimId claimId
239
+ ) public {
240
+ _closeClaim(policyNftId, claimId);
241
+ }
242
+
243
+ function createPayout(
244
+ NftId policyNftId,
245
+ ClaimId claimId,
246
+ Amount amount,
247
+ bytes memory data
248
+ ) public returns (PayoutId) {
249
+ return _createPayout(policyNftId, claimId, amount, data);
250
+ }
251
+
252
+ function cancelPayout(
253
+ NftId policyNftId,
254
+ PayoutId payoutId
255
+ ) public {
256
+ _cancelPayout(policyNftId, payoutId);
257
+ }
258
+
259
+ // TODO add test
260
+ function createPayoutForBeneficiary(
261
+ NftId policyNftId,
262
+ ClaimId claimId,
263
+ Amount amount,
264
+ address beneficiary,
265
+ bytes memory data
266
+ ) public returns (PayoutId) {
267
+ return _createPayoutForBeneficiary(policyNftId, claimId, amount, beneficiary, data);
268
+ }
269
+
270
+ function processPayout(
271
+ NftId policyNftId,
272
+ PayoutId payoutId
273
+ ) public {
274
+ _processPayout(policyNftId, payoutId);
275
+ }
276
+
277
+ function createOracleRequest(
278
+ NftId oracleNftId,
279
+ string memory requestText,
280
+ Timestamp expiryAt,
281
+ bool synchronous
282
+ )
283
+ public
284
+ // restricted()
285
+ returns (RequestId)
286
+ {
287
+ bytes memory requestData = abi.encode(SimpleOracle.SimpleRequest(
288
+ synchronous,
289
+ requestText));
290
+
291
+ if (synchronous) {
292
+ return _oracleService.request(
293
+ oracleNftId,
294
+ requestData,
295
+ expiryAt,
296
+ "fulfillOracleRequestSync");
297
+ } else {
298
+ return _oracleService.request(
299
+ oracleNftId,
300
+ requestData,
301
+ expiryAt,
302
+ "fulfillOracleRequestAsync");
303
+ }
304
+ }
305
+
306
+ function cancelOracleRequest(
307
+ RequestId requestId
308
+ )
309
+ public
310
+ // restricted() //
311
+ {
312
+ _oracleService.cancel(requestId);
313
+ }
314
+
315
+ function fulfillOracleRequestSync(
316
+ RequestId requestId,
317
+ bytes memory responseData
318
+ )
319
+ public
320
+ // restricted() // only oracle service
321
+ {
322
+ string memory responseText = abi.decode(responseData, (string));
323
+ emit LogSimpleProductRequestSyncFulfilled(requestId, responseText, bytes(responseText).length);
324
+ }
325
+
326
+ function fulfillOracleRequestAsync(
327
+ RequestId requestId,
328
+ bytes memory responseData
329
+ )
330
+ public
331
+ // restricted() // only oracle service
332
+ {
333
+ SimpleOracle.SimpleResponse memory response = abi.decode(
334
+ responseData, (SimpleOracle.SimpleResponse));
335
+
336
+ if (response.revertInCall && response.revertUntil >= TimestampLib.blockTimestamp()) {
337
+ revert ErrorSimpleProductRevertedWhileProcessingResponse(requestId);
338
+ }
339
+
340
+ emit LogSimpleProductRequestAsyncFulfilled(requestId, response.text, bytes(response.text).length);
341
+ }
342
+
343
+
344
+ function resend(
345
+ RequestId requestId
346
+ )
347
+ public
348
+ // restricted() //
349
+ {
350
+ _oracleService.resend(requestId);
351
+ }
352
+
353
+
354
+ function doSomethingSpecial()
355
+ public
356
+ restricted()
357
+ returns (bool)
358
+ {
359
+ return true;
360
+ }
361
+
362
+ function doWhenNotLocked()
363
+ public
364
+ restricted()
365
+ returns (bool)
366
+ {
367
+ return true;
368
+ }
369
+
370
+ function getOracleService() public view returns (IOracleService) {
371
+ return _oracleService;
372
+ }
373
+
374
+ function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
375
+ function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
376
+ function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
377
+ }
@@ -0,0 +1,28 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {BasicProductAuthorization} from "../../product/BasicProductAuthorization.sol";
5
+ import {IAccess} from "../../authorization/IAccess.sol";
6
+ import {PUBLIC_ROLE} from "../../type/RoleId.sol";
7
+ import {SimpleProduct} from "./SimpleProduct.sol";
8
+
9
+ contract SimpleProductAuthorization
10
+ is BasicProductAuthorization
11
+ {
12
+ constructor(string memory componentName)
13
+ BasicProductAuthorization(componentName)
14
+ {}
15
+
16
+ function _setupTargetAuthorizations()
17
+ internal
18
+ virtual override
19
+ {
20
+ super._setupTargetAuthorizations();
21
+
22
+ // authorize public role (open access to any account, only allows to lock target)
23
+ IAccess.FunctionInfo[] storage functions;
24
+ functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
25
+ _authorize(functions, SimpleProduct.approveTokenHandler.selector, "approveTokenHandler");
26
+ _authorize(functions, SimpleProduct.setWallet.selector, "setWallet");
27
+ }
28
+ }
@@ -1,20 +1,18 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IInstance} from "./IInstance.sol";
5
- import {INSTANCE} from "../type/ObjectType.sol";
6
- import {InstanceReader} from "./InstanceReader.sol";
7
- import {IPolicy} from "../instance/module/IPolicy.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
4
  import {LibNftIdSet} from "../type/NftIdSet.sol";
10
- import {NftId} from "../type/NftId.sol";
11
- import {TimestampLib} from "../type/Timestamp.sol";
5
+ import {NftId, NftIdLib} from "../type/NftId.sol";
6
+ import {Key32} from "../type/Key32.sol";
7
+ import {BUNDLE} from "../type/ObjectType.sol";
12
8
 
13
9
  import {ObjectSet} from "./base/ObjectSet.sol";
10
+ import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
14
11
 
15
12
  contract BundleSet is
16
13
  ObjectSet
17
14
  {
15
+ using LibNftIdSet for LibNftIdSet.Set;
18
16
 
19
17
  event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
20
18
  event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
@@ -34,93 +32,99 @@ contract BundleSet is
34
32
  mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
35
33
 
36
34
  /// @dev links a policy to its bundle
37
- // to link a policy it MUST NOT yet have been linked
38
- function linkPolicy(NftId policyNftId) external restricted() {
39
- NftId bundleNftId = _instance.getInstanceReader().getPolicyInfo(policyNftId).bundleNftId;
40
- // decision will likely depend on the decision what to check here and what in the service
41
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
35
+ function linkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
42
36
 
43
37
  // ensure bundle is unlocked (in active set) and registered with this instance
44
- if (!_isActive(poolNftId, bundleNftId)) {
38
+ if (!_isActive(poolNftId, _toBundleKey32(bundleNftId))) {
45
39
  revert ErrorBundleSetBundleLocked(bundleNftId, policyNftId);
46
40
  }
47
41
 
48
- LibNftIdSet.add(_activePolicies[bundleNftId], policyNftId);
42
+ _activePolicies[bundleNftId].add(policyNftId);
49
43
  emit LogBundleSetPolicyLinked(bundleNftId, policyNftId);
50
44
  }
51
45
 
52
46
 
53
47
  /// @dev unlinks a policy from its bundle
54
- // to unlink a policy it must closable, ie. meet one of the following criterias
55
- // - the policy MUST be past its expiry period and it MUST NOT have any open claims
56
- // - the policy's payoutAmount MUST be equal to its sumInsuredAmount and MUST NOT have any open claims
57
- function unlinkPolicy(NftId policyNftId) external restricted() {
58
- IPolicy.PolicyInfo memory policyInfo = _instance.getInstanceReader().getPolicyInfo(policyNftId);
59
-
60
- NftId bundleNftId = policyInfo.bundleNftId;
61
- // decision will likely depend on the decision what to check here and what in the service
62
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
48
+ function unlinkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
63
49
 
64
50
  // ensure bundle is registered with this instance
65
- if (!_contains(poolNftId, bundleNftId)) {
51
+ if (!_contains(poolNftId, _toBundleKey32(bundleNftId))) {
66
52
  revert ErrorBundleSetBundleUnknown(bundleNftId);
67
53
  }
68
54
 
69
- LibNftIdSet.remove(_activePolicies[bundleNftId], policyNftId);
70
- emit LogBundleSetPolicyUnlinked(policyInfo.bundleNftId, policyNftId);
55
+ _activePolicies[bundleNftId].remove(policyNftId);
56
+ emit LogBundleSetPolicyUnlinked(bundleNftId, policyNftId);
71
57
  }
72
58
 
73
59
 
74
60
  /// @dev add a new bundle to a pool registerd with this instance
75
61
  // the corresponding pool is fetched via instance reader
76
62
  function add(NftId bundleNftId) external restricted() {
77
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
63
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
78
64
 
79
65
  // ensure pool is registered with instance
80
66
  if(poolNftId.eqz()) {
81
67
  revert ErrorBundleSetBundleNotRegistered(bundleNftId);
82
68
  }
83
69
 
84
- _add(poolNftId, bundleNftId);
70
+ _add(poolNftId, _toBundleKey32(bundleNftId));
85
71
  emit LogBundleSetBundleAdded(poolNftId, bundleNftId);
86
72
  }
87
73
 
88
74
 
89
75
  /// @dev unlocked (active) bundles are available to collateralize new policies
90
76
  function unlock(NftId bundleNftId) external restricted() {
91
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
92
- _activate(poolNftId, bundleNftId);
77
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
78
+ _activate(poolNftId, _toBundleKey32(bundleNftId));
93
79
  emit LogBundleSetBundleUnlocked(poolNftId, bundleNftId);
94
80
  }
95
81
 
96
82
  /// @dev locked (deactivated) bundles may not collateralize any new policies
97
83
  function lock(NftId bundleNftId) external restricted() {
98
- NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
99
- _deactivate(poolNftId, bundleNftId);
84
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
85
+ _deactivate(poolNftId, _toBundleKey32(bundleNftId));
100
86
  emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
101
87
  }
102
88
 
89
+
90
+ function checkBundle(NftId productNftId, NftId bundleId)
91
+ public
92
+ view
93
+ returns (bool exists, bool active)
94
+ {
95
+ Key32 bundleKey32 = bundleId.toKey32(BUNDLE());
96
+ exists = _contains(productNftId, bundleKey32);
97
+
98
+ if (exists) {
99
+ active = _isActive(productNftId, bundleKey32);
100
+ }
101
+ }
102
+
103
103
  function bundles(NftId poolNftId) external view returns(uint256) {
104
104
  return _objects(poolNftId);
105
105
  }
106
106
 
107
- function getBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId bundleNftId) {
108
- return _getObject(poolNftId, idx);
107
+ function getBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
108
+ return NftIdLib.toNftId(_getObject(poolNftId, idx).toKeyId());
109
109
  }
110
110
 
111
111
  function activeBundles(NftId poolNftId) external view returns(uint256) {
112
112
  return _activeObjs(poolNftId);
113
113
  }
114
114
 
115
- function getActiveBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId bundleNftId) {
116
- return _getActiveObject(poolNftId, idx);
115
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
116
+ return NftIdLib.toNftId(_getActiveObject(poolNftId, idx).toKeyId());
117
117
  }
118
118
 
119
119
  function activePolicies(NftId bundleNftId) external view returns(uint256) {
120
- return LibNftIdSet.size(_activePolicies[bundleNftId]);
120
+ return _activePolicies[bundleNftId].size();
121
121
  }
122
122
 
123
123
  function getActivePolicy(NftId bundleNftId, uint256 idx) external view returns(NftId policyNftId) {
124
- return LibNftIdSet.getElementAt(_activePolicies[bundleNftId], idx);
124
+ return _activePolicies[bundleNftId].getElementAt(idx);
125
+ }
126
+
127
+ function _toBundleKey32(NftId nftId) private pure returns (Key32) {
128
+ return nftId.toKey32(BUNDLE());
125
129
  }
126
130
  }