@etherisc/gif-next 0.0.2-ff282a4-523 → 0.0.2-ff596ab-857

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 (587) hide show
  1. package/README.md +133 -10
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1244 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +174 -601
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +788 -535
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +278 -128
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +178 -330
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +622 -178
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +595 -96
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +522 -56
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +594 -219
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2349 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1833 -761
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +542 -193
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +210 -94
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1647 -702
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  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 +4 -0
  106. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1242 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +550 -400
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +272 -102
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +384 -86
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +233 -423
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +749 -377
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +247 -629
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +954 -743
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +271 -113
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +370 -252
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +231 -89
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +491 -341
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +253 -115
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +320 -9
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +369 -18
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +454 -69
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +217 -75
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +380 -225
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  168. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +289 -66
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +507 -384
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +237 -123
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +261 -333
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +235 -109
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +428 -509
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +478 -61
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +280 -127
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  195. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  196. package/artifacts/contracts/registry/Registry.sol/Registry.json +920 -125
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +332 -245
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +208 -92
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +361 -125
  215. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  216. package/artifacts/contracts/shared/Component.sol/Component.json +128 -296
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1076 -156
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +862 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -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 +129 -135
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +707 -0
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  236. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +52 -20
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  238. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +42 -1
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +173 -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 +103 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +795 -0
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +45 -55
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +148 -90
  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 +96 -102
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +615 -6
  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 +2576 -128
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +705 -103
  278. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  279. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  280. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  281. package/artifacts/contracts/staking/Staking.sol/Staking.json +2914 -226
  282. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +298 -74
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +754 -207
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +218 -84
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  294. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  295. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  298. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  300. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.json +122 -5
  302. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +92 -15
  304. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Fee.sol/FeeLib.json +119 -58
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +66 -4
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +153 -4
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +121 -23
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +167 -2
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  340. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  346. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  350. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  351. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  356. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  357. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  358. package/contracts/accounting/AccountingService.sol +274 -0
  359. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  360. package/contracts/accounting/IAccountingService.sol +47 -0
  361. package/contracts/authorization/AccessAdmin.sol +780 -0
  362. package/contracts/authorization/AccessAdminLib.sol +396 -0
  363. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  364. package/contracts/authorization/Authorization.sol +169 -0
  365. package/contracts/authorization/IAccess.sol +67 -0
  366. package/contracts/authorization/IAccessAdmin.sol +144 -0
  367. package/contracts/authorization/IAuthorization.sol +26 -0
  368. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  369. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  370. package/contracts/distribution/BasicDistribution.sol +141 -0
  371. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  372. package/contracts/distribution/Distribution.sol +137 -175
  373. package/contracts/distribution/DistributionService.sol +314 -215
  374. package/contracts/distribution/DistributionServiceManager.sol +13 -25
  375. package/contracts/distribution/IDistributionComponent.sol +23 -49
  376. package/contracts/distribution/IDistributionService.sol +61 -33
  377. package/contracts/examples/fire/DamageLevel.sol +59 -0
  378. package/contracts/examples/fire/FirePool.sol +86 -0
  379. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  380. package/contracts/examples/fire/FireProduct.sol +433 -0
  381. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  382. package/contracts/examples/fire/FireUSD.sol +26 -0
  383. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  384. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  386. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  387. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  388. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  389. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  390. package/contracts/instance/BundleSet.sol +130 -0
  391. package/contracts/instance/IInstance.sol +117 -49
  392. package/contracts/instance/IInstanceService.sol +81 -37
  393. package/contracts/instance/Instance.sol +252 -134
  394. package/contracts/instance/InstanceAdmin.sol +383 -0
  395. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  396. package/contracts/instance/InstanceReader.sol +505 -241
  397. package/contracts/instance/InstanceService.sol +388 -196
  398. package/contracts/instance/InstanceServiceManager.sol +14 -29
  399. package/contracts/instance/InstanceStore.sol +151 -64
  400. package/contracts/instance/RiskSet.sol +126 -0
  401. package/contracts/instance/base/BalanceStore.sol +121 -0
  402. package/contracts/instance/base/Cloneable.sol +2 -25
  403. package/contracts/instance/base/ObjectCounter.sol +20 -0
  404. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  405. package/contracts/instance/base/ObjectSet.sol +77 -0
  406. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  407. package/contracts/instance/module/IBundle.sol +6 -8
  408. package/contracts/instance/module/IComponents.sol +40 -19
  409. package/contracts/instance/module/IDistribution.sol +21 -9
  410. package/contracts/instance/module/IPolicy.sol +57 -30
  411. package/contracts/instance/module/IRisk.sol +5 -0
  412. package/contracts/mock/Dip.sol +26 -0
  413. package/contracts/oracle/BasicOracle.sol +45 -0
  414. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  415. package/contracts/oracle/IOracle.sol +41 -0
  416. package/contracts/oracle/IOracleComponent.sol +33 -0
  417. package/contracts/oracle/IOracleService.sol +66 -0
  418. package/contracts/oracle/Oracle.sol +154 -0
  419. package/contracts/oracle/OracleService.sol +310 -0
  420. package/contracts/oracle/OracleServiceManager.sol +39 -0
  421. package/contracts/pool/BasicPool.sol +162 -0
  422. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  423. package/contracts/pool/BundleService.sol +250 -246
  424. package/contracts/pool/BundleServiceManager.sol +13 -25
  425. package/contracts/pool/IBundleService.sol +47 -49
  426. package/contracts/pool/IPoolComponent.sol +23 -75
  427. package/contracts/pool/IPoolService.sol +112 -56
  428. package/contracts/pool/Pool.sol +200 -169
  429. package/contracts/pool/PoolLib.sol +341 -0
  430. package/contracts/pool/PoolService.sol +475 -264
  431. package/contracts/pool/PoolServiceManager.sol +12 -24
  432. package/contracts/product/ApplicationService.sol +222 -81
  433. package/contracts/product/ApplicationServiceManager.sol +12 -9
  434. package/contracts/product/BasicProduct.sol +49 -0
  435. package/contracts/product/BasicProductAuthorization.sol +63 -0
  436. package/contracts/product/ClaimService.sol +389 -201
  437. package/contracts/product/ClaimServiceManager.sol +12 -9
  438. package/contracts/product/IApplicationService.sol +30 -4
  439. package/contracts/product/IClaimService.sol +52 -9
  440. package/contracts/product/IPolicyService.sol +62 -40
  441. package/contracts/product/IPricingService.sol +14 -11
  442. package/contracts/product/IProductComponent.sol +31 -10
  443. package/contracts/product/IRiskService.sol +48 -0
  444. package/contracts/product/PolicyService.sol +503 -234
  445. package/contracts/product/PolicyServiceLib.sol +139 -0
  446. package/contracts/product/PolicyServiceManager.sol +12 -27
  447. package/contracts/product/PricingService.sol +133 -102
  448. package/contracts/product/PricingServiceManager.sol +12 -24
  449. package/contracts/product/Product.sol +267 -153
  450. package/contracts/product/RiskService.sol +190 -0
  451. package/contracts/product/RiskServiceManager.sol +39 -0
  452. package/contracts/registry/ChainNft.sol +72 -39
  453. package/contracts/registry/IRegistry.sol +100 -38
  454. package/contracts/registry/IRegistryService.sol +28 -35
  455. package/contracts/registry/IRelease.sol +29 -0
  456. package/contracts/registry/ITransferInterceptor.sol +1 -2
  457. package/contracts/registry/Registry.sol +453 -222
  458. package/contracts/registry/RegistryAdmin.sol +191 -0
  459. package/contracts/registry/RegistryAuthorization.sol +336 -0
  460. package/contracts/registry/RegistryService.sol +75 -138
  461. package/contracts/registry/RegistryServiceManager.sol +23 -30
  462. package/contracts/registry/ReleaseAdmin.sol +195 -0
  463. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  464. package/contracts/registry/ReleaseRegistry.sol +525 -0
  465. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  466. package/contracts/registry/TokenRegistry.sol +264 -63
  467. package/contracts/shared/Component.sol +126 -183
  468. package/contracts/shared/ComponentService.sol +636 -99
  469. package/contracts/shared/ComponentServiceManager.sol +38 -0
  470. package/contracts/shared/ContractLib.sol +312 -0
  471. package/contracts/shared/IComponent.sol +18 -50
  472. package/contracts/shared/IComponentService.sol +111 -0
  473. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  474. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  475. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  476. package/contracts/shared/INftOwnable.sol +5 -1
  477. package/contracts/shared/IPolicyHolder.sol +12 -17
  478. package/contracts/shared/IRegisterable.sol +22 -1
  479. package/contracts/shared/IService.sol +11 -6
  480. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +12 -4
  481. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  482. package/contracts/shared/KeyValueStore.sol +131 -0
  483. package/contracts/shared/Lifecycle.sol +88 -0
  484. package/contracts/shared/NftIdSet.sol +65 -0
  485. package/contracts/shared/NftOwnable.sol +35 -24
  486. package/contracts/shared/PolicyHolder.sol +19 -50
  487. package/contracts/shared/Registerable.sol +54 -23
  488. package/contracts/shared/RegistryLinked.sol +9 -14
  489. package/contracts/shared/Service.sol +36 -41
  490. package/contracts/shared/TokenHandler.sol +320 -13
  491. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  492. package/contracts/staking/IStaking.sol +358 -6
  493. package/contracts/staking/IStakingService.sol +98 -76
  494. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  495. package/contracts/staking/Staking.sol +761 -27
  496. package/contracts/staking/StakingLib.sol +195 -0
  497. package/contracts/staking/StakingManager.sol +27 -18
  498. package/contracts/staking/StakingReader.sol +171 -0
  499. package/contracts/staking/StakingService.sol +175 -58
  500. package/contracts/staking/StakingServiceManager.sol +13 -8
  501. package/contracts/staking/StakingStore.sol +1368 -0
  502. package/contracts/staking/TargetHandler.sol +132 -0
  503. package/contracts/staking/TargetManagerLib.sol +234 -0
  504. package/contracts/type/AddressSet.sol +1 -1
  505. package/contracts/type/Amount.sol +48 -3
  506. package/contracts/type/Blocknumber.sol +36 -13
  507. package/contracts/type/ChainId.sol +101 -0
  508. package/contracts/type/ClaimId.sol +6 -1
  509. package/contracts/type/Fee.sol +22 -21
  510. package/contracts/type/Key32.sol +2 -2
  511. package/contracts/type/Key32Set.sol +62 -0
  512. package/contracts/type/NftId.sol +21 -16
  513. package/contracts/type/NftIdSet.sol +1 -1
  514. package/contracts/type/ObjectType.sol +204 -63
  515. package/contracts/type/PayoutId.sol +10 -10
  516. package/contracts/type/Referral.sol +2 -1
  517. package/contracts/type/RequestId.sol +75 -0
  518. package/contracts/type/RiskId.sol +39 -7
  519. package/contracts/type/RoleId.sol +122 -74
  520. package/contracts/type/Seconds.sol +67 -1
  521. package/contracts/type/Selector.sol +107 -0
  522. package/contracts/type/StateId.sol +41 -2
  523. package/contracts/type/String.sol +65 -0
  524. package/contracts/type/Timestamp.sol +20 -9
  525. package/contracts/type/UFixed.sol +62 -125
  526. package/contracts/type/Version.sol +58 -7
  527. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  528. package/contracts/{shared → upgradeability}/ProxyManager.sol +115 -38
  529. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  530. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  531. package/package.json +12 -8
  532. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  534. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  535. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  536. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  537. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
  538. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  539. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  540. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  542. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  543. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  544. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  545. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  546. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
  548. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  551. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  552. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  553. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -864
  554. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  555. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -640
  556. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  557. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  558. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  559. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -620
  560. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  561. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  562. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  563. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  564. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  565. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  566. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
  567. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  568. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  569. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  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/InstanceAccessManager.sol +0 -543
  574. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
  575. package/contracts/instance/base/KeyValueStore.sol +0 -169
  576. package/contracts/instance/base/Lifecycle.sol +0 -121
  577. package/contracts/instance/base/ObjectManager.sol +0 -82
  578. package/contracts/instance/module/IAccess.sol +0 -54
  579. package/contracts/instance/module/ISetup.sol +0 -33
  580. package/contracts/instance/module/ITreasury.sol +0 -23
  581. package/contracts/product/IProductService.sol +0 -40
  582. package/contracts/product/ProductService.sol +0 -210
  583. package/contracts/product/ProductServiceManager.sol +0 -54
  584. package/contracts/registry/RegistryAccessManager.sol +0 -207
  585. package/contracts/registry/ReleaseManager.sol +0 -360
  586. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  587. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
@@ -1,99 +1,165 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {DISTRIBUTION} from "../type/ObjectType.sol";
4
+ import {IAuthorization} from "../authorization/IAuthorization.sol";
5
+ import {IComponentService} from "../shared/IComponentService.sol";
6
+ import {IDistributionComponent} from "./IDistributionComponent.sol";
5
7
  import {IDistributionService} from "./IDistributionService.sol";
6
- import {IProductService} from "../product/IProductService.sol";
7
- import {NftId, zeroNftId, NftIdLib, toNftId} from "../type/NftId.sol";
8
+
9
+ import {Amount} from "../type/Amount.sol";
10
+ import {COMPONENT, DISTRIBUTION, DISTRIBUTOR} from "../type/ObjectType.sol";
11
+ import {DistributorType} from "../type/DistributorType.sol";
12
+ import {Fee} from "../type/Fee.sol";
13
+ import {NftId} from "../type/NftId.sol";
8
14
  import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
9
- import {Fee, FeeLib} from "../type/Fee.sol";
10
- import {Component} from "../shared/Component.sol";
11
- import {IDistribution} from "../instance/module/IDistribution.sol";
12
- import {IDistributionComponent} from "./IDistributionComponent.sol";
13
- import {IRegistry} from "../registry/IRegistry.sol";
14
- import {IRegisterable} from "../shared/IRegisterable.sol";
15
- import {ISetup} from "../instance/module/ISetup.sol";
16
- import {Registerable} from "../shared/Registerable.sol";
17
- import {TokenHandler} from "../shared/TokenHandler.sol";
18
- import {InstanceReader} from "../instance/InstanceReader.sol";
15
+ import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
16
+ import {Seconds} from "../type/Seconds.sol";
17
+ import {Timestamp} from "../type/Timestamp.sol";
19
18
  import {UFixed} from "../type/UFixed.sol";
20
- import {DistributorType} from "../type/DistributorType.sol";
21
- import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
22
- import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
23
19
 
24
20
 
25
21
  abstract contract Distribution is
26
- Component,
22
+ InstanceLinkedComponent,
27
23
  IDistributionComponent
28
24
  {
29
25
  // keccak256(abi.encode(uint256(keccak256("etherisc.storage.Distribution")) - 1)) & ~bytes32(uint256(0xff));
30
26
  bytes32 public constant DISTRIBUTION_STORAGE_LOCATION_V1 = 0xaab7c5ea03d290056d6c060e0833d3ebcbe647f7694616a2ec52738a64b2f900;
31
27
 
32
28
  struct DistributionStorage {
33
- Fee _minDistributionOwnerFee;
34
- Fee _distributionFee;
35
- TokenHandler _tokenHandler;
29
+ IComponentService _componentService;
36
30
  IDistributionService _distributionService;
37
- mapping(address distributor => NftId distributorNftId) _distributorNftId;
38
31
  }
39
32
 
40
- error ErrorDistributionAlreadyDistributor(address distributor, NftId distributorNftId);
33
+ function processRenewal(
34
+ ReferralId referralId,
35
+ uint256 feeAmount
36
+ )
37
+ external
38
+ virtual
39
+ restricted()
40
+ // solhint-disable-next-line no-empty-blocks
41
+ {
42
+ // default is no action
43
+ }
44
+
45
+
46
+ /// @inheritdoc IDistributionComponent
47
+ function withdrawCommission(NftId distributorNftId, Amount amount)
48
+ external
49
+ virtual
50
+ restricted()
51
+ onlyNftOfType(distributorNftId, DISTRIBUTOR())
52
+ onlyNftOwner(distributorNftId)
53
+ returns (Amount withdrawnAmount)
54
+ {
55
+ return _withdrawCommission(distributorNftId, amount);
56
+ }
57
+
58
+ function getDiscountPercentage(string memory referralCode)
59
+ external
60
+ virtual
61
+ view
62
+ returns (
63
+ UFixed discountPercentage,
64
+ ReferralStatus status
65
+ )
66
+ {
67
+ ReferralId referralId = getReferralId(referralCode);
68
+ return _getInstanceReader().getDiscountPercentage(referralId);
69
+ }
70
+
71
+
72
+ function getReferralId(
73
+ string memory referralCode
74
+ )
75
+ public
76
+ virtual
77
+ view
78
+ returns (ReferralId referralId)
79
+ {
80
+ return ReferralLib.toReferralId(
81
+ getNftId(),
82
+ referralCode);
83
+ }
84
+
85
+
86
+ function calculateRenewalFeeAmount(
87
+ ReferralId, // referralId
88
+ uint256 netPremiumAmount
89
+ )
90
+ external
91
+ view
92
+ virtual override
93
+ returns (uint256 feeAmount)
94
+ {
95
+ // default is no fees
96
+ return 0 * netPremiumAmount;
97
+ }
98
+
99
+
100
+ /// @dev Returns true iff the component needs to be called when selling/renewing policis
101
+ function isVerifying() external virtual pure returns (bool verifying) {
102
+ return true;
103
+ }
104
+
41
105
 
42
- function initializeDistribution(
106
+ function __Distribution_init(
43
107
  address registry,
44
- NftId instanceNftId,
45
- string memory name,
46
- address token,
47
- Fee memory minDistributionOwnerFee,
48
- Fee memory distributionFee,
108
+ NftId productNftId,
109
+ IAuthorization authorization,
110
+ bool isInterceptor,
49
111
  address initialOwner,
50
- bytes memory registryData // writeonly data that will saved in the object info record of the registry
112
+ string memory name,
113
+ bytes memory componentData // component specifidc data
51
114
  )
52
- public
115
+ internal
53
116
  virtual
54
117
  onlyInitializing()
55
118
  {
56
- initializeComponent(registry, instanceNftId, name, token, DISTRIBUTION(), true, initialOwner, registryData);
119
+ __InstanceLinkedComponent_init(
120
+ registry,
121
+ productNftId,
122
+ name,
123
+ DISTRIBUTION(),
124
+ authorization,
125
+ isInterceptor,
126
+ initialOwner,
127
+ componentData);
57
128
 
58
129
  DistributionStorage storage $ = _getDistributionStorage();
59
- // TODO add validation
60
- $._minDistributionOwnerFee = minDistributionOwnerFee;
61
- $._distributionFee = distributionFee;
62
- $._tokenHandler = new TokenHandler(token);
63
130
  $._distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
131
+ $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
64
132
 
65
- registerInterface(type(IDistributionComponent).interfaceId);
133
+ _registerInterface(type(IDistributionComponent).interfaceId);
66
134
  }
67
135
 
68
- function setFees(
69
- Fee memory minDistributionOwnerFee,
70
- Fee memory distributionFee
136
+ /// @dev Sets the distribution fees to the provided values.
137
+ function _setFees(
138
+ Fee memory distributionFee,
139
+ Fee memory minDistributionOwnerFee
71
140
  )
72
- external
73
- override
74
- onlyOwner
75
- restricted()
141
+ internal
142
+ virtual
76
143
  {
77
- _getDistributionStorage()._distributionService.setFees(minDistributionOwnerFee, distributionFee);
78
- }
79
-
80
- function getDistributionFee() external view returns (Fee memory distributionFee) {
81
- DistributionStorage storage $ = _getDistributionStorage();
82
- return $._distributionFee;
144
+ _getDistributionStorage()._componentService.setDistributionFees(
145
+ distributionFee,
146
+ minDistributionOwnerFee);
83
147
  }
84
148
 
85
- function createDistributorType(
149
+ /// @dev Creates a new distributor type using the provided parameters.
150
+ function _createDistributorType(
86
151
  string memory name,
87
152
  UFixed minDiscountPercentage,
88
153
  UFixed maxDiscountPercentage,
89
154
  UFixed commissionPercentage,
90
155
  uint32 maxReferralCount,
91
- uint32 maxReferralLifetime,
156
+ Seconds maxReferralLifetime,
92
157
  bool allowSelfReferrals,
93
158
  bool allowRenewals,
94
159
  bytes memory data
95
160
  )
96
- public
161
+ internal
162
+ virtual
97
163
  returns (DistributorType distributorType)
98
164
  {
99
165
  DistributionStorage storage $ = _getDistributionStorage();
@@ -109,48 +175,41 @@ abstract contract Distribution is
109
175
  data);
110
176
  }
111
177
 
112
- function createDistributor(
178
+ /// @dev Turns the provided account into a new distributor of the specified type.
179
+ function _createDistributor(
113
180
  address distributor,
114
181
  DistributorType distributorType,
115
182
  bytes memory data
116
183
  )
117
- public
184
+ internal
185
+ virtual
118
186
  returns(NftId distributorNftId)
119
187
  {
120
188
  DistributionStorage storage $ = _getDistributionStorage();
121
- if($._distributorNftId[distributor].gtz()) {
122
- revert ErrorDistributionAlreadyDistributor(distributor, $._distributorNftId[distributor]);
123
- }
124
189
 
125
190
  distributorNftId = $._distributionService.createDistributor(
126
191
  distributor,
127
192
  distributorType,
128
193
  data);
129
-
130
- $._distributorNftId[distributor] = distributorNftId;
131
194
  }
132
195
 
133
- function updateDistributorType(
196
+ /// @dev Uptates the distributor type for the specified distributor.
197
+ function _changeDistributorType(
134
198
  NftId distributorNftId,
135
199
  DistributorType distributorType,
136
200
  bytes memory data
137
201
  )
138
- public
139
- // TODO figure out what we need for authz
140
- // and add it
202
+ internal
203
+ virtual
141
204
  {
142
205
  DistributionStorage storage $ = _getDistributionStorage();
143
- // TODO re-enable once implemented
144
- // $._distributionService.updateDistributorType(
145
- // distributorNftId,
146
- // distributorType,
147
- // data);
206
+ $._distributionService.changeDistributorType(
207
+ distributorNftId,
208
+ distributorType,
209
+ data);
148
210
  }
149
211
 
150
- /**
151
- * @dev lets distributors create referral codes.
152
- * referral codes need to be unique
153
- */
212
+ /// @dev Create a new referral code for the provided distributor.
154
213
  function _createReferral(
155
214
  NftId distributorNftId,
156
215
  string memory code,
@@ -160,6 +219,7 @@ abstract contract Distribution is
160
219
  bytes memory data
161
220
  )
162
221
  internal
222
+ virtual
163
223
  returns (ReferralId referralId)
164
224
  {
165
225
  DistributionStorage storage $ = _getDistributionStorage();
@@ -172,109 +232,11 @@ abstract contract Distribution is
172
232
  data);
173
233
  }
174
234
 
175
- function isDistributor(address candidate)
176
- public
177
- view
178
- returns (bool)
179
- {
180
- DistributionStorage storage $ = _getDistributionStorage();
181
- return $._distributorNftId[candidate].gtz();
182
- }
183
-
184
- function getDistributorNftId(address distributor)
185
- public
186
- view
187
- returns (NftId distributorNftId)
188
- {
189
- DistributionStorage storage $ = _getDistributionStorage();
190
- return $._distributorNftId[distributor];
191
- }
192
-
193
- function getDiscountPercentage(string memory referralCode)
194
- external
195
- view
196
- returns (
197
- UFixed discountPercentage,
198
- ReferralStatus status
199
- )
200
- {
201
- ReferralId referralId = getReferralId(referralCode);
202
- return _getInstanceReader().getDiscountPercentage(referralId);
203
- }
204
-
205
-
206
- function getReferralId(
207
- string memory referralCode
208
- )
209
- public
210
- view
211
- returns (ReferralId referralId)
212
- {
213
- return ReferralLib.toReferralId(
214
- getNftId(),
215
- referralCode);
216
- }
217
-
218
- function calculateRenewalFeeAmount(
219
- ReferralId referralId,
220
- uint256 netPremiumAmount
221
- )
222
- external
223
- view
224
- virtual override
225
- returns (uint256 feeAmount)
226
- {
227
- // default is no fees
228
- return 0 * netPremiumAmount;
229
- }
230
-
231
- function processRenewal(
232
- ReferralId referralId,
233
- uint256 feeAmount
234
- )
235
- external
236
- onlyOwner
237
- restricted()
238
- virtual override
235
+ function _withdrawCommission(NftId distributorNftId, Amount amount)
236
+ internal
237
+ returns (Amount withdrawnAmount)
239
238
  {
240
- // default is no action
241
- }
242
-
243
- function getSetupInfo() public view returns (ISetup.DistributionSetupInfo memory setupInfo) {
244
- InstanceReader reader = getInstance().getInstanceReader();
245
- setupInfo = reader.getDistributionSetupInfo(getNftId());
246
-
247
- // fallback to initial setup info (wallet is always != address(0))
248
- if(setupInfo.wallet == address(0)) {
249
- setupInfo = _getInitialSetupInfo();
250
- }
251
- }
252
-
253
- function _getInitialSetupInfo() internal view returns (ISetup.DistributionSetupInfo memory setupInfo) {
254
- DistributionStorage storage $ = _getDistributionStorage();
255
- return ISetup.DistributionSetupInfo(
256
- zeroNftId(),
257
- $._tokenHandler,
258
- $._minDistributionOwnerFee,
259
- $._distributionFee,
260
- address(this),
261
- 0
262
- );
263
- }
264
-
265
-
266
- function _nftTransferFrom(address from, address to, uint256 tokenId) internal virtual override {
267
- // keep track of distributor nft owner
268
- emit LogDistributorUpdated(to, msg.sender);
269
- DistributionStorage storage $ = _getDistributionStorage();
270
- $._distributorNftId[from] = zeroNftId();
271
- $._distributorNftId[to] = toNftId(tokenId);
272
- }
273
-
274
-
275
- /// @dev returns true iff the component needs to be called when selling/renewing policis
276
- function isVerifying() external view returns (bool verifying) {
277
- return true;
239
+ return _getDistributionStorage()._distributionService.withdrawCommission(distributorNftId, amount);
278
240
  }
279
241
 
280
242
  function _getDistributionStorage() private pure returns (DistributionStorage storage $) {