@etherisc/gif-next 0.0.2-b147315-239 → 0.0.2-b1a32e7-488

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 (589) hide show
  1. package/README.md +67 -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 +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +404 -369
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +29 -10
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1230 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +124 -589
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +467 -265
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +151 -109
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +143 -268
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +307 -63
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2032 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1431 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2432 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +221 -55
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +151 -118
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +232 -183
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1581 -253
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1100 -338
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +171 -343
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +94 -118
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +666 -525
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +48 -7
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  101. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +141 -126
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -398
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +331 -204
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -97
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +206 -29
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -312
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +653 -532
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +163 -97
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +100 -90
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +415 -234
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +365 -104
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +260 -237
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +458 -308
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -310
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  181. package/artifacts/contracts/product/Product.sol/Product.json +258 -536
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -55
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +585 -112
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +666 -549
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +46 -28
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +82 -16
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
  216. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  217. package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +449 -555
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +134 -122
  222. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  224. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  232. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +414 -233
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
  238. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  240. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  242. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  244. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  246. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  248. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -351
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +46 -78
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +40 -22
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  269. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  270. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -122
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
  281. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/Staking.sol/Staking.json +281 -369
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -28
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +129 -94
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +191 -154
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +69 -23
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +59 -4
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +181 -14
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  339. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  350. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  356. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  357. package/contracts/accounting/AccountingService.sol +262 -0
  358. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  359. package/contracts/accounting/IAccountingService.sol +45 -0
  360. package/contracts/authorization/AccessAdmin.sol +704 -0
  361. package/contracts/authorization/AccessAdminLib.sol +183 -0
  362. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  363. package/contracts/authorization/Authorization.sol +365 -0
  364. package/contracts/authorization/IAccess.sol +49 -0
  365. package/contracts/authorization/IAccessAdmin.sol +170 -0
  366. package/contracts/authorization/IAuthorization.sol +80 -0
  367. package/contracts/{registry → authorization}/IServiceAuthorization.sol +8 -6
  368. package/contracts/{registry → authorization}/ServiceAuthorization.sol +41 -25
  369. package/contracts/distribution/BasicDistribution.sol +143 -0
  370. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  371. package/contracts/distribution/Distribution.sol +123 -138
  372. package/contracts/distribution/DistributionService.sol +199 -111
  373. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  374. package/contracts/distribution/IDistributionComponent.sol +19 -42
  375. package/contracts/distribution/IDistributionService.sol +44 -22
  376. package/contracts/examples/fire/DamageLevel.sol +59 -0
  377. package/contracts/examples/fire/FirePool.sol +90 -0
  378. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  379. package/contracts/examples/fire/FireProduct.sol +437 -0
  380. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  381. package/contracts/examples/fire/FireUSD.sol +26 -0
  382. package/contracts/examples/unpermissioned/SimpleDistribution.sol +85 -0
  383. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  385. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  386. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  388. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  389. package/contracts/instance/BundleSet.sol +130 -0
  390. package/contracts/instance/IInstance.sol +67 -49
  391. package/contracts/instance/IInstanceService.sol +29 -42
  392. package/contracts/instance/Instance.sol +157 -124
  393. package/contracts/instance/InstanceAdmin.sol +363 -244
  394. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  395. package/contracts/instance/InstanceReader.sol +306 -48
  396. package/contracts/instance/InstanceService.sol +224 -201
  397. package/contracts/instance/InstanceServiceManager.sol +8 -13
  398. package/contracts/instance/InstanceStore.sol +29 -3
  399. package/contracts/instance/RiskSet.sol +118 -0
  400. package/contracts/instance/base/ObjectCounter.sol +1 -2
  401. package/contracts/instance/base/ObjectLifecycle.sol +62 -45
  402. package/contracts/instance/base/ObjectSet.sol +77 -0
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +1 -1
  405. package/contracts/instance/module/IComponents.sol +14 -15
  406. package/contracts/instance/module/IDistribution.sol +5 -3
  407. package/contracts/instance/module/IPolicy.sol +26 -25
  408. package/contracts/instance/module/IRisk.sol +3 -0
  409. package/contracts/mock/Dip.sol +1 -1
  410. package/contracts/oracle/BasicOracle.sol +47 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  412. package/contracts/oracle/IOracle.sol +16 -0
  413. package/contracts/oracle/IOracleComponent.sol +2 -1
  414. package/contracts/oracle/IOracleService.sol +2 -1
  415. package/contracts/oracle/Oracle.sol +64 -53
  416. package/contracts/oracle/OracleService.sol +113 -81
  417. package/contracts/oracle/OracleServiceManager.sol +8 -11
  418. package/contracts/pool/BasicPool.sol +175 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  420. package/contracts/pool/BundleService.sol +204 -105
  421. package/contracts/pool/BundleServiceManager.sol +8 -11
  422. package/contracts/pool/IBundleService.sol +31 -22
  423. package/contracts/pool/IPoolComponent.sol +20 -70
  424. package/contracts/pool/IPoolService.sol +90 -75
  425. package/contracts/pool/Pool.sol +209 -163
  426. package/contracts/pool/PoolLib.sol +216 -0
  427. package/contracts/pool/PoolService.sol +546 -241
  428. package/contracts/pool/PoolServiceManager.sol +6 -9
  429. package/contracts/product/ApplicationService.sol +98 -78
  430. package/contracts/product/ApplicationServiceManager.sol +6 -6
  431. package/contracts/product/BasicProduct.sol +51 -0
  432. package/contracts/product/BasicProductAuthorization.sol +56 -0
  433. package/contracts/product/ClaimService.sol +365 -175
  434. package/contracts/product/ClaimServiceManager.sol +6 -6
  435. package/contracts/product/IApplicationService.sol +9 -2
  436. package/contracts/product/IClaimService.sol +44 -8
  437. package/contracts/product/IPolicyService.sol +53 -36
  438. package/contracts/product/IPricingService.sol +11 -10
  439. package/contracts/product/IProductComponent.sol +29 -9
  440. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  441. package/contracts/product/PolicyService.sol +458 -269
  442. package/contracts/product/PolicyServiceLib.sol +65 -0
  443. package/contracts/product/PolicyServiceManager.sol +6 -9
  444. package/contracts/product/PricingService.sol +71 -62
  445. package/contracts/product/PricingServiceManager.sol +6 -9
  446. package/contracts/product/Product.sol +231 -139
  447. package/contracts/product/RiskService.sol +154 -0
  448. package/contracts/product/RiskServiceManager.sol +39 -0
  449. package/contracts/registry/ChainNft.sol +72 -40
  450. package/contracts/registry/IRegistry.sol +74 -32
  451. package/contracts/registry/IRegistryService.sol +3 -10
  452. package/contracts/registry/IRelease.sol +26 -0
  453. package/contracts/registry/ITransferInterceptor.sol +1 -2
  454. package/contracts/registry/Registry.sol +368 -220
  455. package/contracts/registry/RegistryAdmin.sol +174 -249
  456. package/contracts/registry/RegistryAuthorization.sol +267 -0
  457. package/contracts/registry/RegistryService.sol +41 -66
  458. package/contracts/registry/RegistryServiceManager.sol +5 -5
  459. package/contracts/registry/ReleaseAdmin.sol +253 -0
  460. package/contracts/registry/ReleaseLifecycle.sol +14 -10
  461. package/contracts/registry/ReleaseRegistry.sol +517 -0
  462. package/contracts/registry/ServiceAuthorizationV3.sol +191 -60
  463. package/contracts/registry/TokenRegistry.sol +8 -10
  464. package/contracts/shared/Component.sol +73 -127
  465. package/contracts/shared/ComponentService.sol +398 -395
  466. package/contracts/shared/ComponentServiceManager.sol +10 -7
  467. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  468. package/contracts/shared/ContractLib.sol +281 -0
  469. package/contracts/shared/IComponent.sol +8 -17
  470. package/contracts/shared/IComponentService.sol +38 -39
  471. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  472. package/contracts/shared/ILifecycle.sol +3 -1
  473. package/contracts/shared/INftOwnable.sol +2 -0
  474. package/contracts/shared/IPolicyHolder.sol +12 -22
  475. package/contracts/shared/IRegisterable.sol +23 -1
  476. package/contracts/shared/IService.sol +4 -6
  477. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  478. package/contracts/shared/InstanceLinkedComponent.sol +96 -43
  479. package/contracts/shared/KeyValueStore.sol +2 -2
  480. package/contracts/shared/Lifecycle.sol +31 -14
  481. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  482. package/contracts/shared/NftOwnable.sol +31 -11
  483. package/contracts/shared/PolicyHolder.sol +17 -57
  484. package/contracts/shared/Registerable.sol +52 -21
  485. package/contracts/shared/RegistryLinked.sol +9 -14
  486. package/contracts/shared/Service.sol +18 -36
  487. package/contracts/shared/TokenHandler.sol +310 -26
  488. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  489. package/contracts/staking/IStaking.sol +20 -13
  490. package/contracts/staking/IStakingService.sol +28 -9
  491. package/contracts/staking/Staking.sol +117 -84
  492. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  493. package/contracts/staking/StakingLifecycle.sol +5 -6
  494. package/contracts/staking/StakingManager.sol +10 -12
  495. package/contracts/staking/StakingReader.sol +26 -33
  496. package/contracts/staking/StakingService.sol +90 -37
  497. package/contracts/staking/StakingServiceManager.sol +8 -7
  498. package/contracts/staking/StakingStore.sol +14 -23
  499. package/contracts/staking/TargetManagerLib.sol +7 -3
  500. package/contracts/type/Amount.sol +27 -5
  501. package/contracts/type/Blocknumber.sol +7 -1
  502. package/contracts/type/ClaimId.sol +6 -1
  503. package/contracts/type/Key32.sol +2 -2
  504. package/contracts/type/Key32Set.sol +62 -0
  505. package/contracts/type/NftId.sol +7 -0
  506. package/contracts/type/ObjectType.sol +80 -27
  507. package/contracts/type/PayoutId.sol +10 -10
  508. package/contracts/type/Referral.sol +1 -0
  509. package/contracts/type/RiskId.sol +38 -6
  510. package/contracts/type/RoleId.sol +75 -94
  511. package/contracts/type/Seconds.sol +21 -1
  512. package/contracts/type/Selector.sol +5 -0
  513. package/contracts/type/StateId.sol +15 -1
  514. package/contracts/type/Timestamp.sol +10 -5
  515. package/contracts/type/UFixed.sol +40 -121
  516. package/contracts/type/Version.sol +57 -6
  517. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  518. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  519. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  520. package/package.json +9 -6
  521. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  522. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  523. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  524. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  525. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  526. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  527. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  528. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  529. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  530. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  531. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  532. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  534. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  535. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  536. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1235
  537. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  538. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
  539. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  540. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  541. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  542. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  543. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  544. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  545. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  546. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  547. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  548. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  549. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  550. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  551. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  553. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  554. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  555. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  556. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  558. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  559. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  560. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  561. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  562. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  563. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  564. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  565. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  566. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  567. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  568. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  569. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  570. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  571. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  572. package/contracts/instance/BundleManager.sol +0 -126
  573. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  574. package/contracts/instance/base/ObjectManager.sol +0 -80
  575. package/contracts/instance/module/IAccess.sol +0 -46
  576. package/contracts/product/ProductService.sol +0 -124
  577. package/contracts/product/ProductServiceManager.sol +0 -42
  578. package/contracts/registry/ReleaseManager.sol +0 -501
  579. package/contracts/shared/AccessAdmin.sol +0 -759
  580. package/contracts/shared/AccessManagerCustom.sol +0 -741
  581. package/contracts/shared/AccessManagerExtended.sol +0 -481
  582. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  583. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  584. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  585. package/contracts/shared/IAccessAdmin.sol +0 -168
  586. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  587. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  588. package/contracts/shared/InitializableCustom.sol +0 -177
  589. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -3,31 +3,41 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Amount} from "../type/Amount.sol";
5
5
  import {NftId} from "../type/NftId.sol";
6
- import {Fee} from "../type/Fee.sol";
7
6
  import {IPolicy} from "../instance/module/IPolicy.sol";
8
7
  import {IService} from "../shared/IService.sol";
9
8
  import {UFixed} from "../type/UFixed.sol";
10
9
  import {DistributorType} from "../type/DistributorType.sol";
11
10
  import {ReferralId} from "../type/Referral.sol";
11
+ import {Seconds} from "../type/Seconds.sol";
12
12
  import {Timestamp} from "../type/Timestamp.sol";
13
13
 
14
14
 
15
15
  interface IDistributionService is IService {
16
16
  error ErrorDistributionServiceCallerNotRegistered(address caller);
17
- error ErrorIDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
18
- error ErrorIDistributionServiceCallerNotDistributor(address caller);
19
- error ErrorIDistributionServiceInvalidReferralId(ReferralId referralId);
20
- error ErrorIDistributionServiceMaxReferralsExceeded(uint256 maxReferrals);
21
- error ErrorIDistributionServiceDiscountTooLow(uint256 minDiscountPercentage, uint256 discountPercentage);
22
- error ErrorIDistributionServiceDiscountTooHigh(uint256 maxDiscountPercentage, uint256 discountPercentage);
23
- error ErrorIDistributionServiceExpiryTooLong(uint256 maxReferralLifetime, uint256 expiryAt);
24
- error ErrorIDistributionServiceInvalidReferral(string code);
25
- error ErrorIDistributionServiceExpirationInvalid(Timestamp expiryAt);
26
- error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
27
- error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
28
- error ErrorIDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
29
- error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
17
+ error ErrorDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
18
+ error ErrorDistributionServiceCallerNotDistributor(address caller);
19
+ error ErrorDistributionServiceInvalidReferralId(ReferralId referralId);
20
+ error ErrorDistributionServiceMaxReferralsExceeded(uint256 maxReferrals);
21
+ error ErrorDistributionServiceDiscountTooLow(uint256 minDiscountPercentage, uint256 discountPercentage);
22
+ error ErrorDistributionServiceDiscountTooHigh(uint256 maxDiscountPercentage, uint256 discountPercentage);
23
+ error ErrorDistributionServiceExpiryTooLong(Seconds maxReferralLifetime, Timestamp expiryAt);
24
+ error ErrorDistributionServiceInvalidReferral(string code);
25
+ error ErrorDistributionServiceExpirationInvalid(Timestamp expiryAt);
26
+ error ErrorDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
27
+ error ErrorDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
28
+ error ErrorDistributionServiceDistributorTypeDistributionMismatch(DistributorType distributorType, NftId distributorTypeDistributionNftId, NftId distributionNftId);
29
+ error ErrorDistributionServiceDistributorDistributionMismatch(NftId distributorNftId, NftId distributorDistributionNftId, NftId distributionNftId);
30
+
31
+ error ErrorDistributionServiceCommissionWithdrawAmountExceedsLimit(Amount amount, Amount limit);
32
+
33
+ error ErrorDistributionServiceVariableFeesTooHight(uint256 maxDiscountPercentage, uint256 limit);
34
+ error ErrorDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
35
+
36
+ error ErrorDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
30
37
  error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
38
+ error ErrorDistributionServiceReferralDistributionMismatch(ReferralId referralId, NftId referralDistributionNft, NftId distributionNftId);
39
+
40
+ event LogDistributionServiceCommissionWithdrawn(NftId distributorNftId, address recipient, address tokenAddress, Amount amount);
31
41
 
32
42
  function createDistributorType(
33
43
  string memory name,
@@ -35,7 +45,7 @@ interface IDistributionService is IService {
35
45
  UFixed maxDiscountPercentage,
36
46
  UFixed commissionPercentage,
37
47
  uint32 maxReferralCount,
38
- uint32 maxReferralLifetime,
48
+ Seconds maxReferralLifetime,
39
49
  bool allowSelfReferrals,
40
50
  bool allowRenewals,
41
51
  bytes memory data
@@ -49,12 +59,11 @@ interface IDistributionService is IService {
49
59
  bytes memory data
50
60
  ) external returns (NftId distributorNftId);
51
61
 
52
- // TODO re-enable and reorganize (service contract too large)
53
- // function updateDistributorType(
54
- // NftId distributorNftId,
55
- // DistributorType distributorType,
56
- // bytes memory data
57
- // ) external;
62
+ function changeDistributorType(
63
+ NftId distributorNftId,
64
+ DistributorType newDistributorType,
65
+ bytes memory data
66
+ ) external;
58
67
 
59
68
  function createReferral(
60
69
  NftId distributorNftId,
@@ -67,15 +76,28 @@ interface IDistributionService is IService {
67
76
  external
68
77
  returns (ReferralId referralId);
69
78
 
79
+ /// @dev callback from product service when a referral is used.
80
+ /// Calling this will increment the referral usage counter.
81
+ function processReferral(
82
+ NftId distributionNftId,
83
+ ReferralId referralId
84
+ ) external;
85
+
70
86
  /// @dev callback from product service when selling a policy for a specific referralId
71
87
  function processSale(
72
88
  NftId distributionNftId,
73
89
  ReferralId referralId,
74
- IPolicy.Premium memory premium
90
+ IPolicy.PremiumInfo memory premium
75
91
  ) external;
76
92
 
77
93
  function referralIsValid(
78
94
  NftId distributorNftId,
79
95
  ReferralId referralId
80
96
  ) external view returns (bool isValid);
97
+
98
+ /// @dev Withdraw commission for the distributor
99
+ /// @param distributorNftId the distributor Nft Id
100
+ /// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
101
+ /// @return withdrawnAmount the effective withdrawn amount
102
+ function withdrawCommission(NftId distributorNftId, Amount amount) external returns (Amount withdrawnAmount);
81
103
  }
@@ -0,0 +1,59 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type DamageLevel is uint8;
5
+
6
+ // type bindings
7
+ using {
8
+ DamageLevelLib.eq,
9
+ DamageLevelLib.eqz,
10
+ DamageLevelLib.toInt
11
+ } for DamageLevel global;
12
+
13
+ // solhint-disable-next-line func-name-mixedcase
14
+ function DAMAGE_SMALL() pure returns (DamageLevel) {
15
+ return DamageLevel.wrap(1);
16
+ }
17
+
18
+ // solhint-disable-next-line func-name-mixedcase
19
+ function DAMAGE_MEDIUM() pure returns (DamageLevel) {
20
+ return DamageLevel.wrap(2);
21
+ }
22
+
23
+ // solhint-disable-next-line func-name-mixedcase
24
+ function DAMAGE_LARGE() pure returns (DamageLevel) {
25
+ return DamageLevel.wrap(3);
26
+ }
27
+
28
+ library DamageLevelLib {
29
+
30
+ error ErrorDamageLeveLibInvalidDamageLevel(uint8 damageLevel);
31
+
32
+ function zero() internal pure returns (DamageLevel) {
33
+ return DamageLevel.wrap(0);
34
+ }
35
+
36
+ function toDamageLevel(uint8 damage) internal pure returns (DamageLevel) {
37
+ if (damage == 1) {
38
+ return DAMAGE_SMALL();
39
+ } else if (damage == 2) {
40
+ return DAMAGE_MEDIUM();
41
+ } else if (damage == 3) {
42
+ return DAMAGE_LARGE();
43
+ } else {
44
+ revert ErrorDamageLeveLibInvalidDamageLevel(damage);
45
+ }
46
+ }
47
+
48
+ function toInt(DamageLevel damageLevel) internal pure returns (uint8) {
49
+ return uint8(DamageLevel.unwrap(damageLevel));
50
+ }
51
+
52
+ function eq(DamageLevel a, DamageLevel b) internal pure returns (bool) {
53
+ return DamageLevel.unwrap(a) == DamageLevel.unwrap(b);
54
+ }
55
+
56
+ function eqz(DamageLevel a) internal pure returns (bool) {
57
+ return DamageLevel.unwrap(a) == 0;
58
+ }
59
+ }
@@ -0,0 +1,90 @@
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 {BasicPool} from "../../pool/BasicPool.sol";
8
+ import {Fee} from "../../type/Fee.sol";
9
+ import {IAuthorization} from "../../authorization/IAuthorization.sol";
10
+ import {IComponents} from "../../instance/module/IComponents.sol";
11
+ import {NftId} from "../../type/NftId.sol";
12
+ import {Seconds} from "../../type/Timestamp.sol";
13
+ import {UFixed, UFixedLib} from "../../type/UFixed.sol";
14
+
15
+ contract FirePool is
16
+ BasicPool
17
+ {
18
+ constructor(
19
+ address registry,
20
+ NftId fireProductNftId,
21
+ string memory componentName,
22
+ address token,
23
+ IAuthorization authorization
24
+ )
25
+ {
26
+ address initialOwner = msg.sender;
27
+ _intialize(
28
+ registry,
29
+ fireProductNftId,
30
+ componentName,
31
+ token,
32
+ IComponents.PoolInfo({
33
+ maxBalanceAmount: AmountLib.max(),
34
+ isInterceptingBundleTransfers: false,
35
+ isProcessingConfirmedClaims: false,
36
+ isExternallyManaged: false,
37
+ isVerifyingApplications: false,
38
+ collateralizationLevel: UFixedLib.one(),
39
+ retentionLevel: UFixedLib.one()
40
+ }),
41
+ authorization,
42
+ initialOwner);
43
+ }
44
+
45
+ function _intialize(
46
+ address registry,
47
+ NftId fireProductNftId,
48
+ string memory componentName,
49
+ address token,
50
+ IComponents.PoolInfo memory poolInfo,
51
+ IAuthorization authorization,
52
+ address initialOwner
53
+ )
54
+ internal
55
+ initializer
56
+ {
57
+ _initializeBasicPool(
58
+ registry,
59
+ fireProductNftId,
60
+ componentName,
61
+ token,
62
+ poolInfo,
63
+ authorization,
64
+ initialOwner);
65
+ }
66
+
67
+ function createBundle(
68
+ Fee memory fee,
69
+ Amount initialAmount,
70
+ Seconds lifetime
71
+ )
72
+ external
73
+ virtual
74
+ restricted()
75
+ returns(NftId bundleNftId, Amount netStakedAmount)
76
+ {
77
+ address owner = msg.sender;
78
+ bundleNftId = _createBundle(
79
+ owner,
80
+ fee,
81
+ lifetime,
82
+ "" // filter
83
+ );
84
+ netStakedAmount = _stake(bundleNftId, initialAmount);
85
+ }
86
+
87
+ function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
88
+ function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
89
+ function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
90
+ }
@@ -0,0 +1,35 @@
1
+
2
+
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ pragma solidity ^0.8.20;
5
+
6
+ import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
7
+ import {FirePool} from "./FirePool.sol";
8
+ import {IAccess} from "../../../contracts/authorization/IAccess.sol";
9
+ import {PUBLIC_ROLE} from "../../../contracts/type/RoleId.sol";
10
+
11
+ contract FirePoolAuthorization
12
+ is BasicPoolAuthorization
13
+ {
14
+
15
+ constructor(string memory poolName)
16
+ BasicPoolAuthorization(poolName)
17
+ {}
18
+
19
+
20
+ function _setupTargetAuthorizations()
21
+ internal
22
+ virtual override
23
+ {
24
+ super._setupTargetAuthorizations();
25
+ IAccess.FunctionInfo[] storage functions;
26
+
27
+ // authorize public role (open access to any account, only allows to lock target)
28
+ functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
29
+ // TODO: FirePool.createBundle must require a custom role (e.g. INVESTOR) instead of PUBLIC_ROLE
30
+ _authorize(functions, FirePool.approveTokenHandler.selector, "approveTokenHandler");
31
+ _authorize(functions, FirePool.createBundle.selector, "createBundle");
32
+ }
33
+
34
+ }
35
+