@etherisc/gif-next 0.0.2-fbe8e04-715 → 0.0.2-fc0563c-260

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 (783) hide show
  1. package/README.md +141 -23
  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 +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +949 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +930 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +848 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -0
  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 +1472 -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 +2045 -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 +1423 -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 +1639 -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 +2484 -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 +658 -1236
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +733 -142
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +575 -2838
  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 +1963 -739
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +766 -483
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +382 -162
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3784 -0
  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 +4 -0
  91. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  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 +4 -0
  102. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  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 +4 -0
  107. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1242 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +866 -0
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +905 -0
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +1025 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +866 -0
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +790 -0
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1552 -0
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +894 -0
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPricingService.sol/IPricingService.json} +340 -357
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1016 -0
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  169. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IRiskService.sol/IRiskService.json} +292 -291
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +854 -0
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +814 -0
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  181. package/artifacts/contracts/product/Product.sol/Product.json +1117 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +689 -113
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +351 -226
  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 -0
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +1027 -149
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2147 -0
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +327 -322
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +375 -119
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +352 -101
  216. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  217. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/Component.sol/Component.json} +350 -98
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1535 -0
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +854 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  231. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +292 -183
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  235. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +707 -0
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  237. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  239. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +61 -22
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +162 -15
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  247. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  248. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.json +161 -154
  250. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  252. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +795 -0
  254. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  255. package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
  256. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  258. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  260. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +98 -28
  262. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  264. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +178 -55
  266. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  268. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  269. package/artifacts/contracts/shared/Service.sol/Service.json +177 -163
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  274. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  276. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1646 -0
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1196 -0
  280. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  281. package/artifacts/contracts/staking/Staking.sol/Staking.json +2054 -0
  282. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  284. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  286. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +842 -0
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +616 -0
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1425 -0
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +782 -0
  294. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  298. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  300. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  302. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +265 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  356. package/contracts/accounting/AccountingService.sol +274 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +47 -0
  359. package/contracts/authorization/AccessAdmin.sol +780 -0
  360. package/contracts/authorization/AccessAdminLib.sol +396 -0
  361. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  362. package/contracts/authorization/Authorization.sol +169 -0
  363. package/contracts/authorization/IAccess.sol +67 -0
  364. package/contracts/authorization/IAccessAdmin.sol +144 -0
  365. package/contracts/authorization/IAuthorization.sol +27 -0
  366. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  367. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  368. package/contracts/distribution/BasicDistribution.sol +141 -0
  369. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  370. package/contracts/distribution/Distribution.sol +247 -0
  371. package/contracts/distribution/DistributionService.sol +448 -0
  372. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  373. package/contracts/distribution/IDistributionComponent.sol +45 -0
  374. package/contracts/distribution/IDistributionService.sol +115 -0
  375. package/contracts/examples/fire/DamageLevel.sol +59 -0
  376. package/contracts/examples/fire/FirePool.sol +86 -0
  377. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  378. package/contracts/examples/fire/FireProduct.sol +433 -0
  379. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  380. package/contracts/examples/fire/FireUSD.sol +26 -0
  381. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  382. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  384. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  385. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  386. package/contracts/examples/unpermissioned/SimpleProduct.sol +391 -0
  387. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  388. package/contracts/instance/BundleSet.sol +130 -0
  389. package/contracts/instance/IInstance.sol +136 -51
  390. package/contracts/instance/IInstanceService.sol +103 -19
  391. package/contracts/instance/Instance.sol +246 -365
  392. package/contracts/instance/InstanceAdmin.sol +383 -0
  393. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  394. package/contracts/instance/InstanceReader.sol +525 -208
  395. package/contracts/instance/InstanceService.sol +447 -209
  396. package/contracts/instance/InstanceServiceManager.sol +14 -32
  397. package/contracts/instance/InstanceStore.sol +298 -0
  398. package/contracts/instance/RiskSet.sol +126 -0
  399. package/contracts/instance/base/BalanceStore.sol +121 -0
  400. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  401. package/contracts/instance/base/ObjectCounter.sol +20 -0
  402. package/contracts/instance/base/ObjectLifecycle.sol +108 -0
  403. package/contracts/instance/base/ObjectSet.sol +77 -0
  404. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  405. package/contracts/instance/module/IBundle.sol +10 -9
  406. package/contracts/instance/module/IComponents.sol +62 -0
  407. package/contracts/instance/module/IDistribution.sol +25 -10
  408. package/contracts/instance/module/IPolicy.sol +81 -21
  409. package/contracts/instance/module/IRisk.sol +6 -1
  410. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  411. package/contracts/oracle/BasicOracle.sol +45 -0
  412. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  413. package/contracts/oracle/IOracle.sol +41 -0
  414. package/contracts/oracle/IOracleComponent.sol +33 -0
  415. package/contracts/oracle/IOracleService.sol +66 -0
  416. package/contracts/oracle/Oracle.sol +154 -0
  417. package/contracts/oracle/OracleService.sol +310 -0
  418. package/contracts/oracle/OracleServiceManager.sol +39 -0
  419. package/contracts/pool/BasicPool.sol +162 -0
  420. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  421. package/contracts/pool/BundleService.sol +386 -0
  422. package/contracts/pool/BundleServiceManager.sol +39 -0
  423. package/contracts/pool/IBundleService.sol +116 -0
  424. package/contracts/pool/IPoolComponent.sol +62 -0
  425. package/contracts/pool/IPoolService.sol +170 -0
  426. package/contracts/pool/Pool.sol +333 -0
  427. package/contracts/pool/PoolLib.sol +341 -0
  428. package/contracts/pool/PoolService.sol +614 -0
  429. package/contracts/pool/PoolServiceManager.sol +39 -0
  430. package/contracts/product/ApplicationService.sol +327 -0
  431. package/contracts/product/ApplicationServiceManager.sol +38 -0
  432. package/contracts/product/BasicProduct.sol +49 -0
  433. package/contracts/product/BasicProductAuthorization.sol +63 -0
  434. package/contracts/product/ClaimService.sol +641 -0
  435. package/contracts/product/ClaimServiceManager.sol +38 -0
  436. package/contracts/product/IApplicationService.sol +88 -0
  437. package/contracts/product/IClaimService.sol +135 -0
  438. package/contracts/product/IPolicyService.sol +102 -0
  439. package/contracts/product/IPricingService.sol +40 -0
  440. package/contracts/product/IProductComponent.sol +62 -0
  441. package/contracts/product/IRiskService.sol +48 -0
  442. package/contracts/product/PolicyService.sol +645 -0
  443. package/contracts/product/PolicyServiceLib.sol +139 -0
  444. package/contracts/product/PolicyServiceManager.sol +39 -0
  445. package/contracts/product/PricingService.sol +306 -0
  446. package/contracts/product/PricingServiceManager.sol +39 -0
  447. package/contracts/product/Product.sol +483 -0
  448. package/contracts/product/RiskService.sol +190 -0
  449. package/contracts/product/RiskServiceManager.sol +39 -0
  450. package/contracts/registry/ChainNft.sol +82 -35
  451. package/contracts/registry/IRegistry.sol +126 -32
  452. package/contracts/registry/IRegistryService.sol +40 -28
  453. package/contracts/registry/IRelease.sol +29 -0
  454. package/contracts/registry/ITransferInterceptor.sol +1 -1
  455. package/contracts/registry/Registry.sol +561 -273
  456. package/contracts/registry/RegistryAdmin.sol +188 -0
  457. package/contracts/registry/RegistryAuthorization.sol +284 -0
  458. package/contracts/registry/RegistryService.sol +116 -233
  459. package/contracts/registry/RegistryServiceManager.sol +26 -53
  460. package/contracts/registry/ReleaseAdmin.sol +195 -0
  461. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  462. package/contracts/registry/ReleaseRegistry.sol +520 -0
  463. package/contracts/registry/ServiceAuthorizationV3.sol +345 -0
  464. package/contracts/registry/TokenRegistry.sol +263 -60
  465. package/contracts/shared/Component.sol +210 -0
  466. package/contracts/shared/ComponentService.sol +679 -0
  467. package/contracts/shared/ComponentServiceManager.sol +38 -0
  468. package/contracts/shared/ContractLib.sol +311 -0
  469. package/contracts/shared/IComponent.sol +58 -0
  470. package/contracts/shared/IComponentService.sol +111 -0
  471. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  472. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  473. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  474. package/contracts/shared/INftOwnable.sol +17 -12
  475. package/contracts/shared/IPolicyHolder.sol +35 -0
  476. package/contracts/shared/IRegisterable.sol +24 -5
  477. package/contracts/shared/IRegistryLinked.sol +11 -0
  478. package/contracts/shared/IService.sol +13 -5
  479. package/contracts/shared/InitializableERC165.sol +35 -0
  480. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  481. package/contracts/shared/KeyValueStore.sol +131 -0
  482. package/contracts/shared/Lifecycle.sol +88 -0
  483. package/contracts/shared/NftIdSet.sol +65 -0
  484. package/contracts/shared/NftOwnable.sol +77 -82
  485. package/contracts/shared/PolicyHolder.sol +63 -0
  486. package/contracts/shared/Registerable.sol +54 -38
  487. package/contracts/shared/RegistryLinked.sol +38 -0
  488. package/contracts/shared/Service.sol +45 -33
  489. package/contracts/shared/TokenHandler.sol +327 -12
  490. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  491. package/contracts/staking/IStaking.sol +195 -0
  492. package/contracts/staking/IStakingService.sol +170 -0
  493. package/contracts/staking/Staking.sol +605 -0
  494. package/contracts/staking/StakingLib.sol +281 -0
  495. package/contracts/staking/StakingLifecycle.sol +23 -0
  496. package/contracts/staking/StakingManager.sol +52 -0
  497. package/contracts/staking/StakingReader.sol +199 -0
  498. package/contracts/staking/StakingService.sol +468 -0
  499. package/contracts/staking/StakingServiceManager.sol +45 -0
  500. package/contracts/staking/StakingStore.sol +606 -0
  501. package/contracts/staking/TargetManagerLib.sol +211 -0
  502. package/contracts/{types → type}/AddressSet.sol +1 -1
  503. package/contracts/type/Amount.sol +150 -0
  504. package/contracts/{types → type}/Blocknumber.sol +27 -3
  505. package/contracts/type/ClaimId.sol +80 -0
  506. package/contracts/{types → type}/DistributorType.sol +2 -2
  507. package/contracts/type/Fee.sol +66 -0
  508. package/contracts/{types → type}/Key32.sol +2 -2
  509. package/contracts/type/Key32Set.sol +62 -0
  510. package/contracts/{types → type}/NftId.sol +28 -15
  511. package/contracts/{types → type}/NftIdSet.sol +2 -2
  512. package/contracts/type/ObjectType.sol +307 -0
  513. package/contracts/type/PayoutId.sol +82 -0
  514. package/contracts/{types → type}/Referral.sol +6 -1
  515. package/contracts/type/RequestId.sol +75 -0
  516. package/contracts/type/RiskId.sol +75 -0
  517. package/contracts/type/RoleId.sol +180 -0
  518. package/contracts/type/Seconds.sol +105 -0
  519. package/contracts/type/Selector.sol +107 -0
  520. package/contracts/{types → type}/StateId.sol +48 -4
  521. package/contracts/type/String.sol +65 -0
  522. package/contracts/{types → type}/Timestamp.sol +33 -19
  523. package/contracts/type/UFixed.sol +262 -0
  524. package/contracts/{types → type}/Version.sol +59 -7
  525. package/contracts/{shared → upgradeability}/IVersionable.sol +7 -47
  526. package/contracts/upgradeability/ProxyManager.sol +246 -0
  527. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  528. package/contracts/upgradeability/Versionable.sol +62 -0
  529. package/package.json +12 -8
  530. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  531. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  532. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -744
  533. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  534. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -368
  535. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  536. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  537. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  538. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  539. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  540. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  541. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  542. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -939
  543. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  544. package/artifacts/contracts/components/Product.sol/Product.json +0 -855
  545. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  546. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  547. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  548. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  549. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  550. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  551. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  553. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  555. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  557. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  559. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  561. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  563. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  565. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  568. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  570. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  572. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  573. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  574. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  575. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  576. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  577. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  578. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  579. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  580. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  581. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  582. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  583. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  584. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  585. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  586. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  587. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  588. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  589. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  590. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  591. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  592. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  593. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -940
  594. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  595. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  596. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  597. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  598. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  599. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  600. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  601. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  603. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  604. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  605. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  606. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  607. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  608. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  609. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  610. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  611. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  613. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -440
  615. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  616. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  617. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  618. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -684
  619. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  620. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  621. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  622. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  623. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  624. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  625. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  626. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  627. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  628. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -499
  629. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  630. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -536
  631. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  632. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -984
  633. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  634. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  635. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  636. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -718
  637. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  638. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -428
  639. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  640. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -768
  641. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  642. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  643. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  644. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  645. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  646. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  647. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  648. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  649. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  650. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  651. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  652. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  653. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  654. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  655. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  656. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  657. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  658. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  659. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  660. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  661. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  662. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  663. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  664. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  665. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  666. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  667. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  668. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  669. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  670. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  671. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  672. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  673. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  674. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  675. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  677. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  679. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  680. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  681. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  682. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  683. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  684. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  685. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  686. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  687. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  688. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  689. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  690. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  691. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  692. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  693. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  694. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  695. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  696. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  697. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  699. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  701. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  703. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  705. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  707. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  709. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  711. package/contracts/components/BaseComponent.sol +0 -132
  712. package/contracts/components/Distribution.sol +0 -163
  713. package/contracts/components/IBaseComponent.sol +0 -31
  714. package/contracts/components/IDistributionComponent.sol +0 -44
  715. package/contracts/components/IPoolComponent.sol +0 -66
  716. package/contracts/components/IProductComponent.sol +0 -35
  717. package/contracts/components/Pool.sol +0 -271
  718. package/contracts/components/Product.sol +0 -292
  719. package/contracts/experiment/cloning/Cloner.sol +0 -47
  720. package/contracts/experiment/errors/Require.sol +0 -38
  721. package/contracts/experiment/errors/Revert.sol +0 -44
  722. package/contracts/experiment/inheritance/A.sol +0 -53
  723. package/contracts/experiment/inheritance/B.sol +0 -28
  724. package/contracts/experiment/inheritance/C.sol +0 -34
  725. package/contracts/experiment/inheritance/IA.sol +0 -13
  726. package/contracts/experiment/inheritance/IB.sol +0 -10
  727. package/contracts/experiment/inheritance/IC.sol +0 -12
  728. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  729. package/contracts/experiment/statemachine/ISM.sol +0 -25
  730. package/contracts/experiment/statemachine/SM.sol +0 -57
  731. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  732. package/contracts/experiment/types/TypeA.sol +0 -47
  733. package/contracts/experiment/types/TypeB.sol +0 -29
  734. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  735. package/contracts/instance/BundleManager.sol +0 -129
  736. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  737. package/contracts/instance/IInstanceBase.sol +0 -26
  738. package/contracts/instance/InstanceAccessManager.sol +0 -288
  739. package/contracts/instance/InstanceBase.sol +0 -41
  740. package/contracts/instance/ObjectManager.sol +0 -101
  741. package/contracts/instance/base/ComponentServiceBase.sol +0 -72
  742. package/contracts/instance/base/IInstanceBase.sol +0 -23
  743. package/contracts/instance/base/KeyValueStore.sol +0 -172
  744. package/contracts/instance/base/Lifecycle.sol +0 -100
  745. package/contracts/instance/module/IAccess.sol +0 -38
  746. package/contracts/instance/module/ISetup.sol +0 -46
  747. package/contracts/instance/module/ITreasury.sol +0 -23
  748. package/contracts/instance/service/BundleService.sol +0 -260
  749. package/contracts/instance/service/BundleServiceManager.sol +0 -54
  750. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  751. package/contracts/instance/service/DistributionService.sol +0 -118
  752. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  753. package/contracts/instance/service/IBundleService.sol +0 -45
  754. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  755. package/contracts/instance/service/IDistributionService.sol +0 -12
  756. package/contracts/instance/service/IPolicyService.sol +0 -87
  757. package/contracts/instance/service/IPoolService.sol +0 -20
  758. package/contracts/instance/service/IProductService.sol +0 -40
  759. package/contracts/instance/service/PolicyService.sol +0 -508
  760. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  761. package/contracts/instance/service/PoolService.sol +0 -124
  762. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  763. package/contracts/instance/service/ProductService.sol +0 -173
  764. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  765. package/contracts/shared/ContractDeployerLib.sol +0 -72
  766. package/contracts/shared/ERC165.sol +0 -25
  767. package/contracts/shared/ProxyManager.sol +0 -94
  768. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  769. package/contracts/shared/Versionable.sol +0 -147
  770. package/contracts/test/TestFee.sol +0 -25
  771. package/contracts/test/TestRegisterable.sol +0 -18
  772. package/contracts/test/TestRoleId.sol +0 -14
  773. package/contracts/test/TestService.sol +0 -24
  774. package/contracts/test/TestToken.sol +0 -26
  775. package/contracts/test/TestVersion.sol +0 -44
  776. package/contracts/test/TestVersionable.sol +0 -17
  777. package/contracts/types/ChainId.sol +0 -38
  778. package/contracts/types/Fee.sol +0 -56
  779. package/contracts/types/NumberId.sol +0 -52
  780. package/contracts/types/ObjectType.sol +0 -152
  781. package/contracts/types/RiskId.sol +0 -43
  782. package/contracts/types/RoleId.sol +0 -92
  783. package/contracts/types/UFixed.sol +0 -325
@@ -1,49 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "VersionPartLib",
4
- "sourceName": "contracts/types/Version.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "VersionPart",
10
- "name": "a",
11
- "type": "uint8"
12
- }
13
- ],
14
- "name": "toInt",
15
- "outputs": [
16
- {
17
- "internalType": "uint256",
18
- "name": "",
19
- "type": "uint256"
20
- }
21
- ],
22
- "stateMutability": "pure",
23
- "type": "function"
24
- },
25
- {
26
- "inputs": [
27
- {
28
- "internalType": "uint256",
29
- "name": "a",
30
- "type": "uint256"
31
- }
32
- ],
33
- "name": "toVersionPart",
34
- "outputs": [
35
- {
36
- "internalType": "VersionPart",
37
- "name": "",
38
- "type": "uint8"
39
- }
40
- ],
41
- "stateMutability": "pure",
42
- "type": "function"
43
- }
44
- ],
45
- "bytecode": "0x60fb610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea264697066735822122074bb6f75f2cab9692d05e41844bf40283045a9440c662c37a97b2502d38207ed64736f6c63430008140033",
46
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80638e4ad86c146042578063ac43d834146067575b600080fd5b6050604d3660046085565b90565b60405160ff90911681526020015b60405180910390f35b60786072366004609d565b60ff1690565b604051908152602001605e565b600060208284031215609657600080fd5b5035919050565b60006020828403121560ae57600080fd5b813560ff8116811460be57600080fd5b939250505056fea264697066735822122074bb6f75f2cab9692d05e41844bf40283045a9440c662c37a97b2502d38207ed64736f6c63430008140033",
47
- "linkReferences": {},
48
- "deployedLinkReferences": {}
49
- }
@@ -1,132 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IBaseComponent} from "./IBaseComponent.sol";
5
- import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
6
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
7
- import {IInstance} from "../instance/IInstance.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
10
- import {ObjectType} from "../types/ObjectType.sol";
11
- import {Registerable} from "../shared/Registerable.sol";
12
- import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
13
-
14
- abstract contract BaseComponent is
15
- Registerable,
16
- IBaseComponent
17
- {
18
- using NftIdLib for NftId;
19
-
20
- IComponentOwnerService internal _componentOwnerService;
21
-
22
- address internal _deployer;
23
- address internal _wallet;
24
- IERC20Metadata internal _token;
25
- IInstance internal _instance;
26
- NftId internal _productNftId;
27
-
28
- constructor(
29
- address registry,
30
- NftId instanceNftId,
31
- address token,
32
- ObjectType componentType,
33
- bool isInterceptor,
34
- address initialOwner
35
- )
36
- {
37
- bytes memory data = "";
38
- _initializeRegisterable(registry, instanceNftId, componentType, isInterceptor, initialOwner, data);
39
-
40
- IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
41
- _instance = IInstance(instanceInfo.objectAddress);
42
- require(
43
- _instance.supportsInterface(type(IInstance).interfaceId),
44
- ""
45
- );
46
-
47
- _componentOwnerService = _instance.getComponentOwnerService();
48
- _wallet = address(this);
49
- _token = IERC20Metadata(token);
50
-
51
- _registerInterface(type(IBaseComponent).interfaceId);
52
- }
53
-
54
- // from component contract
55
- // TODO consider to remove/replace with access manager contract locking
56
- function lock() external onlyOwner override {
57
- _componentOwnerService.lock(this);
58
- }
59
-
60
- // TODO consider to remove/replace with access manager contract locking
61
- function unlock() external onlyOwner override {
62
- _componentOwnerService.unlock(this);
63
- }
64
-
65
- function getWallet()
66
- external
67
- view
68
- override
69
- returns (address walletAddress)
70
- {
71
- return _wallet;
72
- }
73
-
74
- /// @dev Sets the wallet address for the component.
75
- /// if the current wallet has tokens, these will be transferred.
76
- /// if the new wallet address is externally owned, an approval from the
77
- /// owner of the external wallet for the component to move all tokens must exist.
78
- function setWallet(address newWallet) external override onlyOwner {
79
- address currentWallet = _wallet;
80
- uint256 currentBalance = _token.balanceOf(currentWallet);
81
-
82
- // checks
83
- if (newWallet == currentWallet) {
84
- revert ErrorBaseComponentWalletAddressIsSameAsCurrent(newWallet);
85
- }
86
-
87
- if (currentBalance > 0) {
88
- if (currentWallet == address(this)) {
89
- // move tokens from component smart contract to external wallet
90
- } else {
91
- // move tokens from external wallet to component smart contract or another external wallet
92
- uint256 allowance = _token.allowance(currentWallet, address(this));
93
- if (allowance < currentBalance) {
94
- revert ErrorBaseComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
95
- }
96
- }
97
- }
98
-
99
- // effects
100
- _wallet = newWallet;
101
- emit LogBaseComponentWalletAddressChanged(newWallet);
102
-
103
- // interactions
104
- if (currentBalance > 0) {
105
- // transfer tokens from current wallet to new wallet
106
- if (currentWallet == address(this)) {
107
- // transferFrom requires self allowance too
108
- _token.approve(address(this), currentBalance);
109
- }
110
-
111
- SafeERC20.safeTransferFrom(_token, currentWallet, newWallet, currentBalance);
112
- emit LogBaseComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
113
- }
114
- }
115
-
116
- function getToken() public view override returns (IERC20Metadata token) {
117
- return _token;
118
- }
119
-
120
- function getInstance() public view override returns (IInstance instance) {
121
- return _instance;
122
- }
123
-
124
- function setProductNftId(NftId productNftId) public override onlyOwner {
125
- require(_productNftId.eq(zeroNftId()), "product nft id already set");
126
- _productNftId = productNftId;
127
- }
128
-
129
- function getProductNftId() public view override returns (NftId productNftId) {
130
- return _productNftId;
131
- }
132
- }
@@ -1,163 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {DISTRIBUTION} from "../types/ObjectType.sol";
5
- import {IDistributionService} from "../instance/service/IDistributionService.sol";
6
- import {IProductService} from "../instance/service/IProductService.sol";
7
- import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
8
- import {ReferralId} from "../types/Referral.sol";
9
- import {Fee, FeeLib} from "../types/Fee.sol";
10
- import {BaseComponent} from "./BaseComponent.sol";
11
- import {IDistributionComponent} from "./IDistributionComponent.sol";
12
- import {IRegistry} from "../registry/IRegistry.sol";
13
- import {IRegisterable} from "../shared/IRegisterable.sol";
14
- import {ISetup} from "../instance/module/ISetup.sol";
15
- import {Registerable} from "../shared/Registerable.sol";
16
- import {TokenHandler} from "../shared/TokenHandler.sol";
17
- import {InstanceReader} from "../instance/InstanceReader.sol";
18
-
19
- contract Distribution is
20
- BaseComponent,
21
- IDistributionComponent
22
- {
23
- using NftIdLib for NftId;
24
-
25
- Fee internal _initialDistributionFee;
26
- bool internal _isVerifying;
27
-
28
- TokenHandler internal _tokenHandler;
29
-
30
- IDistributionService private _distributionService;
31
- IProductService private _productService;
32
-
33
- modifier onlyProductService() {
34
- require(
35
- msg.sender == address(_productService),
36
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
37
- _;
38
- }
39
-
40
- constructor(
41
- address registry,
42
- NftId instanceNftId,
43
- // TODO refactor into tokenNftId
44
- address token,
45
- bool verifying,
46
- Fee memory distributionFee,
47
- address initialOwner
48
- )
49
- BaseComponent(registry, instanceNftId, token, DISTRIBUTION(), true, initialOwner)
50
- {
51
- _isVerifying = verifying;
52
- _initialDistributionFee = distributionFee;
53
-
54
- _tokenHandler = TokenHandler(token);
55
-
56
- _distributionService = _instance.getDistributionService();
57
- _productService = _instance.getProductService();
58
-
59
- _registerInterface(type(IDistributionComponent).interfaceId);
60
- }
61
-
62
-
63
- function setFees(
64
- Fee memory distributionFee
65
- )
66
- external
67
- override
68
- {
69
- _distributionService.setFees(distributionFee);
70
- }
71
-
72
- function calculateFeeAmount(
73
- ReferralId referralId,
74
- uint256 netPremiumAmount
75
- )
76
- external
77
- view
78
- virtual override
79
- returns (uint256 feeAmount)
80
- {
81
- ISetup.DistributionSetupInfo memory setupInfo = getSetupInfo();
82
- Fee memory fee = setupInfo.distributionFee;
83
- (feeAmount,) = FeeLib.calculateFee(fee, netPremiumAmount);
84
- }
85
-
86
-
87
- function calculateRenewalFeeAmount(
88
- ReferralId referralId,
89
- uint256 netPremiumAmount
90
- )
91
- external
92
- view
93
- virtual override
94
- returns (uint256 feeAmount)
95
- {
96
- // default is no fees
97
- return 0 * netPremiumAmount;
98
- }
99
-
100
- function processSale(
101
- ReferralId referralId,
102
- uint256 feeAmount
103
- )
104
- external
105
- onlyProductService
106
- virtual override
107
- {
108
- // default is no action
109
- }
110
-
111
- function processRenewal(
112
- ReferralId referralId,
113
- uint256 feeAmount
114
- )
115
- external
116
- onlyProductService
117
- virtual override
118
- {
119
- // default is no action
120
- }
121
-
122
- function referralIsValid(ReferralId referralId) external view returns (bool isValid) {
123
- // default is invalid
124
- return false;
125
- }
126
-
127
- function getSetupInfo() public view returns (ISetup.DistributionSetupInfo memory setupInfo) {
128
- InstanceReader reader = _instance.getInstanceReader();
129
- return reader.getDistributionSetupInfo(getNftId());
130
- }
131
-
132
-
133
- /// @dev returns true iff the component needs to be called when selling/renewing policis
134
- function isVerifying() external view returns (bool verifying) {
135
- return _isVerifying;
136
- }
137
-
138
- // from IRegisterable
139
-
140
- function getInitialInfo()
141
- public
142
- view
143
- override (IRegisterable, Registerable)
144
- returns(IRegistry.ObjectInfo memory, bytes memory)
145
- {
146
- (
147
- IRegistry.ObjectInfo memory info,
148
- ) = super.getInitialInfo();
149
-
150
- return (
151
- info,
152
- abi.encode(
153
- ISetup.DistributionSetupInfo(
154
- _productNftId,
155
- _tokenHandler,
156
- _initialDistributionFee,
157
- _isVerifying,
158
- address(this)
159
- )
160
- )
161
- );
162
- }
163
- }
@@ -1,31 +0,0 @@
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 {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IInstance} from "../instance/IInstance.sol";
8
- import {NftId} from "../types/NftId.sol";
9
-
10
- interface IBaseComponent is IRegisterable {
11
- error ErrorBaseComponentWalletAddressIsSameAsCurrent(address newWallet);
12
- error ErrorBaseComponentWalletAllowanceTooSmall(address oldWallet, address newWallet, uint256 allowance, uint256 balance);
13
-
14
- event LogBaseComponentWalletAddressChanged(address newWallet);
15
- event LogBaseComponentWalletTokensTransferred(address from, address to, uint256 amount);
16
-
17
- function lock() external;
18
-
19
- function unlock() external;
20
-
21
- function getToken() external view returns (IERC20Metadata token);
22
-
23
- function setWallet(address walletAddress) external;
24
- function getWallet() external view returns (address walletAddress);
25
-
26
- function getInstance() external view returns (IInstance instance);
27
-
28
- function setProductNftId(NftId productNftId) external;
29
- function getProductNftId() external view returns (NftId productNftId);
30
-
31
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {ReferralId} from "../types/Referral.sol";
6
- import {NftId} from "../types/NftId.sol";
7
- import {ISetup} from "../instance/module/ISetup.sol";
8
-
9
- interface IDistributionComponent {
10
-
11
- function setFees(
12
- Fee memory distributionFee
13
- ) external;
14
-
15
- function calculateFeeAmount(
16
- ReferralId referralId,
17
- uint256 netPremiumAmount
18
- ) external view returns (uint256 feeAmount);
19
-
20
- function calculateRenewalFeeAmount(
21
- ReferralId referralId,
22
- uint256 netPremiumAmount
23
- ) external view returns (uint256 feeAmount);
24
-
25
- /// @dev callback from product service when selling a policy for a specific referralId
26
- /// the used referral id and the collected fee are provided as parameters
27
- /// the component implementation can then process this information accordingly
28
- function processSale(
29
- ReferralId referralId,
30
- uint256 feeAmount
31
- ) external;
32
-
33
- /// @dev callback from product service when a policy is renews for a specific referralId
34
- function processRenewal(
35
- ReferralId referralId,
36
- uint256 feeAmount
37
- ) external;
38
-
39
- /// @dev returns true iff the referral id is valid
40
- function referralIsValid(ReferralId referralId) external view returns (bool isValid);
41
-
42
- /// @dev returns true iff the component needs to be called when selling/renewing policis
43
- function isVerifying() external view returns (bool verifying);
44
- }
@@ -1,66 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {UFixed} from "../types/UFixed.sol";
7
-
8
- interface IPoolComponent {
9
-
10
- event LogUnderwrittenByPool(NftId policyNftId, uint256 collateralizationAmount, address pool);
11
-
12
- function setFees(
13
- Fee memory poolFee,
14
- Fee memory stakingFee,
15
- Fee memory performanceFee
16
- ) external;
17
-
18
- /**
19
- * @dev creates a new bundle for this pool.
20
- */
21
- function createBundle(
22
- Fee memory fee,
23
- uint256 initialAmount,
24
- uint256 lifetime,
25
- bytes memory filter
26
- ) external returns(NftId bundleNftId);
27
-
28
- function setBundleFee(
29
- NftId policyNftId,
30
- Fee memory fee
31
- ) external;
32
-
33
- /**
34
- * @dev this is a callback function that is called by the product service when underwriting a policy.
35
- * the pool has the option to check the details and object to underwriting by reverting.
36
- * the function is only called for "active" pools that ask to be involved/notified
37
- * by product related state changes.
38
- */
39
- function underwrite(
40
- NftId policyNftId,
41
- bytes memory policyData,
42
- bytes memory bundleFilter,
43
- uint256 collateralizationAmount
44
- ) external;
45
-
46
- function lockBundle(NftId bundleNftId) external;
47
-
48
- function unlockBundle(NftId bundleNftId) external;
49
-
50
- /**
51
- * @dev returns true iff the policy application data in policyData matches
52
- * with the bundle filter criteria encoded in bundleFilter.
53
- */
54
- function policyMatchesBundle(
55
- bytes memory policyData,
56
- bytes memory bundleFilter
57
- )
58
- external
59
- view
60
- returns (bool isMatching);
61
-
62
- function isConfirmingApplication() external view returns (bool isConfirmingApplication);
63
-
64
- function getCollateralizationLevel() external view returns (UFixed collateralizationLevel);
65
-
66
- }
@@ -1,35 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Fee} from "../types/Fee.sol";
5
- import {NftId} from "../types/NftId.sol";
6
- import {ReferralId} from "../types/Referral.sol";
7
- import {RiskId} from "../types/RiskId.sol";
8
-
9
- interface IProductComponent {
10
-
11
- function setFees(
12
- Fee memory productFee,
13
- Fee memory processingFee
14
- ) external;
15
-
16
- function calculatePremium(
17
- uint256 sumInsuredAmount,
18
- RiskId riskId,
19
- uint256 lifetime,
20
- bytes memory applicationData,
21
- ReferralId referralId,
22
- NftId bundleNftId
23
- ) external view returns (uint256 premiumAmount);
24
-
25
- function calculateNetPremium(
26
- uint256 sumInsuredAmount,
27
- RiskId riskId,
28
- uint256 lifetime,
29
- bytes memory applicationData
30
- ) external view returns (uint256 netPremiumAmount);
31
-
32
-
33
- function getPoolNftId() external view returns (NftId poolNftId);
34
- function getDistributionNftId() external view returns (NftId distributionNftId);
35
- }