@etherisc/gif-next 0.0.2-ed4dd55 → 0.0.2-edd8f00-238

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 (553) hide show
  1. package/README.md +367 -8
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +827 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +709 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +304 -531
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +769 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +534 -578
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1701 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1220 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +758 -0
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3597 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  40. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
  42. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  44. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  46. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  47. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IComponents.sol/IComponents.json} +2 -2
  48. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  50. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  51. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  52. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  53. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  54. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  55. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  56. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
  58. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  60. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  62. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  63. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  64. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  65. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  66. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  68. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  69. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  70. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  72. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  73. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +703 -0
  74. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  75. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  76. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  77. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  78. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  79. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  80. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  81. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  82. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  84. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  85. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  86. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  88. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  89. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  90. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  92. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  93. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +512 -0
  94. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  95. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  96. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  97. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  98. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  99. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  100. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  101. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  102. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  103. package/artifacts/contracts/product/IProductService.sol/IProductService.json +400 -0
  104. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  105. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  106. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  108. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  109. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  110. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  112. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  113. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  114. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  115. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  116. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  118. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  119. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +252 -2
  120. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +695 -68
  122. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  123. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1123 -0
  124. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  125. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  126. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  127. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  128. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  129. package/artifacts/contracts/registry/Registry.sol/Registry.json +1051 -126
  130. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  131. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
  132. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  133. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1452 -0
  134. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
  136. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  137. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +187 -0
  138. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  139. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1234 -0
  140. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  142. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  143. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +206 -0
  144. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  145. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  146. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  147. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
  148. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  149. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  150. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  151. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  152. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  153. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  154. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  155. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  156. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  158. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  159. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  160. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  161. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
  162. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
  164. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  165. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
  166. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  167. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +73 -0
  168. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  169. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
  170. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  171. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  172. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  173. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  174. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  175. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  176. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  178. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  179. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  180. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  181. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  182. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  183. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +110 -0
  184. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  185. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +131 -0
  186. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  188. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  189. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +181 -0
  190. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/access/IAccess.sol/IAccessCheckRole.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +11 -11
  192. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IService.sol/IService.json +346 -0
  194. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -0
  196. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  197. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  198. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  199. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  200. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  201. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +570 -0
  202. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  203. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +156 -0
  204. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  205. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  206. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  207. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  208. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  209. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  210. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  211. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +617 -0
  212. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  213. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +353 -0
  214. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  215. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  216. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  217. package/artifacts/contracts/shared/Service.sol/Service.json +507 -0
  218. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  219. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  220. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  221. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  222. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  223. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -0
  224. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  225. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  226. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  227. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  228. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  229. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  230. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  231. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  232. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +187 -0
  234. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  235. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  236. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  237. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  238. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  240. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  242. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2260 -0
  244. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  245. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  246. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  247. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  248. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  250. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  252. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  254. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  256. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  258. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  260. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  262. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  263. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  264. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
  266. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  268. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  270. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  272. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  274. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
  276. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  278. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  280. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  282. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +92 -0
  284. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  286. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  288. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
  290. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +479 -0
  292. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  294. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  296. package/contracts/distribution/Distribution.sol +261 -0
  297. package/contracts/distribution/DistributionService.sol +297 -0
  298. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  299. package/contracts/distribution/IDistributionComponent.sol +66 -0
  300. package/contracts/distribution/IDistributionService.sol +81 -0
  301. package/contracts/instance/BundleManager.sol +126 -0
  302. package/contracts/instance/IInstance.sol +82 -15
  303. package/contracts/instance/IInstanceService.sol +97 -0
  304. package/contracts/instance/Instance.sol +244 -44
  305. package/contracts/instance/InstanceAdmin.sol +331 -0
  306. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  307. package/contracts/instance/InstanceReader.sol +392 -0
  308. package/contracts/instance/InstanceService.sol +439 -0
  309. package/contracts/instance/InstanceServiceManager.sol +44 -0
  310. package/contracts/instance/InstanceStore.sol +272 -0
  311. package/contracts/instance/base/BalanceStore.sol +123 -0
  312. package/contracts/instance/base/Cloneable.sol +28 -0
  313. package/contracts/instance/base/ObjectCounter.sol +21 -0
  314. package/contracts/instance/base/ObjectLifecycle.sol +96 -0
  315. package/contracts/instance/base/ObjectManager.sol +80 -0
  316. package/contracts/instance/module/IAccess.sol +46 -0
  317. package/contracts/instance/module/IBundle.sol +20 -0
  318. package/contracts/instance/module/IComponents.sol +52 -0
  319. package/contracts/instance/module/IDistribution.sol +42 -0
  320. package/contracts/instance/module/IPolicy.sol +84 -0
  321. package/contracts/instance/module/IRisk.sol +11 -0
  322. package/contracts/mock/Dip.sol +26 -0
  323. package/contracts/oracle/IOracle.sol +20 -0
  324. package/contracts/oracle/IOracleComponent.sol +32 -0
  325. package/contracts/oracle/IOracleService.sol +65 -0
  326. package/contracts/oracle/Oracle.sol +145 -0
  327. package/contracts/oracle/OracleService.sol +278 -0
  328. package/contracts/oracle/OracleServiceManager.sol +42 -0
  329. package/contracts/pool/BundleService.sol +296 -0
  330. package/contracts/pool/BundleServiceManager.sol +42 -0
  331. package/contracts/pool/IBundleService.sol +106 -0
  332. package/contracts/pool/IPoolComponent.sol +112 -0
  333. package/contracts/pool/IPoolService.sol +150 -0
  334. package/contracts/pool/Pool.sol +299 -0
  335. package/contracts/pool/PoolService.sol +452 -0
  336. package/contracts/pool/PoolServiceManager.sol +42 -0
  337. package/contracts/product/ApplicationService.sol +254 -0
  338. package/contracts/product/ApplicationServiceManager.sol +38 -0
  339. package/contracts/product/ClaimService.sol +442 -0
  340. package/contracts/product/ClaimServiceManager.sol +38 -0
  341. package/contracts/product/IApplicationService.sol +62 -0
  342. package/contracts/product/IClaimService.sol +99 -0
  343. package/contracts/product/IPolicyService.sol +78 -0
  344. package/contracts/product/IPricingService.sol +39 -0
  345. package/contracts/product/IProductComponent.sol +42 -0
  346. package/contracts/product/IProductService.sol +33 -0
  347. package/contracts/product/PolicyService.sol +475 -0
  348. package/contracts/product/PolicyServiceManager.sol +42 -0
  349. package/contracts/product/PricingService.sol +300 -0
  350. package/contracts/product/PricingServiceManager.sol +42 -0
  351. package/contracts/product/Product.sol +377 -0
  352. package/contracts/product/ProductService.sol +124 -0
  353. package/contracts/product/ProductServiceManager.sol +42 -0
  354. package/contracts/registry/ChainNft.sol +152 -108
  355. package/contracts/registry/IRegistry.sol +105 -49
  356. package/contracts/registry/IRegistryService.sol +69 -0
  357. package/contracts/registry/IServiceAuthorization.sol +38 -0
  358. package/contracts/registry/ITransferInterceptor.sol +7 -0
  359. package/contracts/registry/Registry.sol +518 -112
  360. package/contracts/registry/RegistryAdmin.sol +333 -0
  361. package/contracts/registry/RegistryService.sol +266 -0
  362. package/contracts/registry/RegistryServiceManager.sol +53 -0
  363. package/contracts/registry/ReleaseLifecycle.sol +28 -0
  364. package/contracts/registry/ReleaseManager.sol +523 -0
  365. package/contracts/registry/ServiceAuthorization.sol +90 -0
  366. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  367. package/contracts/registry/TokenRegistry.sol +315 -0
  368. package/contracts/shared/AccessAdmin.sol +759 -0
  369. package/contracts/shared/AccessManagerCustom.sol +741 -0
  370. package/contracts/shared/AccessManagerExtended.sol +481 -0
  371. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  372. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  373. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  374. package/contracts/shared/Component.sol +281 -0
  375. package/contracts/shared/ComponentService.sol +620 -0
  376. package/contracts/shared/ComponentServiceManager.sol +35 -0
  377. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  378. package/contracts/shared/ERC165.sol +27 -0
  379. package/contracts/shared/IAccessAdmin.sol +168 -0
  380. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  381. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  382. package/contracts/shared/IComponent.sol +70 -0
  383. package/contracts/shared/IComponentService.sol +102 -0
  384. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  385. package/contracts/shared/IKeyValueStore.sol +54 -0
  386. package/contracts/shared/ILifecycle.sol +29 -0
  387. package/contracts/shared/INftOwnable.sol +23 -0
  388. package/contracts/shared/IPolicyHolder.sol +45 -0
  389. package/contracts/shared/IRegisterable.sol +15 -0
  390. package/contracts/shared/IRegistryLinked.sol +11 -0
  391. package/contracts/shared/IService.sol +25 -0
  392. package/contracts/shared/IVersionable.sol +53 -0
  393. package/contracts/shared/InitializableCustom.sol +177 -0
  394. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  395. package/contracts/shared/KeyValueStore.sol +131 -0
  396. package/contracts/shared/Lifecycle.sol +71 -0
  397. package/contracts/shared/NftIdSetManager.sol +65 -0
  398. package/contracts/shared/NftOwnable.sol +107 -0
  399. package/contracts/shared/PolicyHolder.sol +102 -0
  400. package/contracts/shared/ProxyManager.sol +199 -0
  401. package/contracts/shared/Registerable.sol +75 -0
  402. package/contracts/shared/RegistryLinked.sol +43 -0
  403. package/contracts/shared/Service.sol +83 -0
  404. package/contracts/shared/TokenHandler.sol +58 -0
  405. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  406. package/contracts/shared/Versionable.sol +59 -0
  407. package/contracts/staking/IStaking.sol +168 -0
  408. package/contracts/staking/IStakingService.sol +153 -0
  409. package/contracts/staking/StakeManagerLib.sol +231 -0
  410. package/contracts/staking/Staking.sol +513 -0
  411. package/contracts/staking/StakingLifecycle.sol +24 -0
  412. package/contracts/staking/StakingManager.sol +54 -0
  413. package/contracts/staking/StakingReader.sol +187 -0
  414. package/contracts/staking/StakingService.sol +411 -0
  415. package/contracts/staking/StakingServiceManager.sol +44 -0
  416. package/contracts/staking/StakingStore.sol +615 -0
  417. package/contracts/staking/TargetManagerLib.sol +207 -0
  418. package/contracts/type/AddressSet.sol +58 -0
  419. package/contracts/type/Amount.sol +128 -0
  420. package/contracts/type/Blocknumber.sol +136 -0
  421. package/contracts/type/ClaimId.sol +75 -0
  422. package/contracts/type/DistributorType.sol +55 -0
  423. package/contracts/type/Fee.sol +66 -0
  424. package/contracts/type/Key32.sol +50 -0
  425. package/contracts/type/NftId.sol +78 -0
  426. package/contracts/type/NftIdSet.sol +62 -0
  427. package/contracts/type/ObjectType.sol +241 -0
  428. package/contracts/type/PayoutId.sol +82 -0
  429. package/contracts/type/Referral.sol +89 -0
  430. package/contracts/type/RequestId.sol +75 -0
  431. package/contracts/type/RiskId.sol +43 -0
  432. package/contracts/type/RoleId.sol +201 -0
  433. package/contracts/type/Seconds.sol +81 -0
  434. package/contracts/type/Selector.sol +102 -0
  435. package/contracts/type/StateId.sol +135 -0
  436. package/contracts/type/String.sol +53 -0
  437. package/contracts/type/Timestamp.sol +136 -0
  438. package/contracts/type/UFixed.sol +326 -0
  439. package/contracts/type/Version.sol +108 -0
  440. package/package.json +23 -7
  441. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  442. package/artifacts/contracts/components/Component.sol/Component.json +0 -179
  443. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  444. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  445. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  446. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -179
  447. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  448. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -192
  449. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  450. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -195
  451. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  452. package/artifacts/contracts/components/Product.sol/Product.json +0 -213
  453. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  454. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  455. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  456. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  457. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  458. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  459. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  460. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  461. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  462. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  463. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  464. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  465. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  466. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  467. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  468. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  469. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  470. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  471. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  473. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  474. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  475. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  476. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  477. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  478. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  479. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  480. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  481. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  482. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -327
  483. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  484. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -105
  485. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  486. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  487. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -179
  488. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  489. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -245
  490. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  491. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
  492. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  493. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  494. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  495. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  496. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -231
  497. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  498. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -231
  499. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  500. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  501. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -149
  502. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  503. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -162
  504. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  505. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  506. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  507. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -114
  508. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  509. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  510. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  511. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -125
  512. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  513. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  514. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  515. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  516. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  517. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  518. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  519. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  520. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  521. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  522. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  523. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  524. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  526. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -10
  528. package/contracts/components/Component.sol +0 -62
  529. package/contracts/components/IPool.sol +0 -9
  530. package/contracts/components/IProduct.sol +0 -11
  531. package/contracts/components/Pool.sol +0 -29
  532. package/contracts/components/Product.sol +0 -65
  533. package/contracts/experiment/inheritance/A.sol +0 -56
  534. package/contracts/experiment/inheritance/B.sol +0 -23
  535. package/contracts/experiment/inheritance/C.sol +0 -28
  536. package/contracts/experiment/inheritance/IA.sol +0 -18
  537. package/contracts/experiment/inheritance/IB.sol +0 -9
  538. package/contracts/experiment/inheritance/IC.sol +0 -11
  539. package/contracts/experiment/types/TypeA.sol +0 -42
  540. package/contracts/experiment/types/TypeB.sol +0 -24
  541. package/contracts/instance/access/Access.sol +0 -218
  542. package/contracts/instance/access/IAccess.sol +0 -83
  543. package/contracts/instance/component/ComponentModule.sol +0 -259
  544. package/contracts/instance/component/IComponent.sol +0 -94
  545. package/contracts/instance/policy/IPolicy.sol +0 -66
  546. package/contracts/instance/policy/PolicyModule.sol +0 -106
  547. package/contracts/instance/pool/IPoolModule.sol +0 -40
  548. package/contracts/instance/pool/PoolModule.sol +0 -83
  549. package/contracts/instance/product/IProductService.sol +0 -45
  550. package/contracts/instance/product/ProductService.sol +0 -105
  551. package/contracts/registry/IChainNft.sol +0 -18
  552. package/contracts/types/ChainId.sol +0 -24
  553. package/contracts/types/NftId.sol +0 -25
@@ -1,106 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
-
5
- // import {IOwnable, IRegistryLinked, IRegisterable} from "../../registry/IRegistry.sol";
6
- import {IRegistry, IRegistryLinked} from "../../registry/IRegistry.sol";
7
-
8
- import {IProductService} from "../product/IProductService.sol";
9
- import {IPolicy, IPolicyModule} from "./IPolicy.sol";
10
-
11
-
12
- abstract contract PolicyModule is
13
- IRegistryLinked,
14
- IPolicyModule
15
- {
16
-
17
- mapping(uint256 nftId => PolicyInfo info) private _policyInfo;
18
- mapping(uint256 nftId => uint256 bundleNftId) private _bundleForPolicy;
19
-
20
- IProductService private _productService;
21
-
22
- // TODO find a better place to avoid dupliation
23
- modifier onlyProductService2() {
24
- require(address(_productService) == msg.sender, "ERROR:POL-001:NOT_PRODUCT_SERVICE");
25
- _;
26
- }
27
-
28
- constructor(address productService) {
29
- _productService = IProductService(productService);
30
- }
31
-
32
-
33
- function createApplication(
34
- IRegistry.RegistryInfo memory productInfo,
35
- address applicationOwner,
36
- uint256 sumInsuredAmount,
37
- uint256 premiumAmount,
38
- uint256 lifetime,
39
- uint256 bundleNftId
40
- )
41
- external
42
- override
43
- onlyProductService2
44
- returns(uint256 nftId)
45
- {
46
- // TODO add parameter validation
47
- if(bundleNftId > 0) {
48
- IRegistry.RegistryInfo memory bundleInfo = this.getRegistry().getInfo(bundleNftId);
49
- IRegistry.RegistryInfo memory poolInfo = this.getRegistry().getInfo(bundleInfo.parentNftId);
50
- }
51
-
52
- nftId = this.getRegistry().registerObjectForInstance(
53
- productInfo.nftId,
54
- this.getRegistry().POLICY(),
55
- applicationOwner);
56
-
57
- _policyInfo[nftId] = PolicyInfo(
58
- nftId,
59
- PolicyState.Applied,
60
- sumInsuredAmount,
61
- premiumAmount,
62
- lifetime,
63
- block.timestamp,
64
- 0, // activatedAt
65
- 0, // expiredAt
66
- 0 // closedAt
67
- );
68
-
69
- _bundleForPolicy[nftId] = bundleNftId;
70
-
71
- // add logging
72
- }
73
-
74
-
75
- function activate(uint256 nftId)
76
- external
77
- override
78
- onlyProductService2
79
- {
80
- PolicyInfo storage info = _policyInfo[nftId];
81
- info.activatedAt = block.timestamp;
82
- info.expiredAt = block.timestamp + info.lifetime;
83
- info.state = PolicyState.Active;
84
-
85
- // add logging
86
- }
87
-
88
-
89
-
90
- function getBundleNftForPolicy(uint256 nftId)
91
- external
92
- view
93
- returns(uint256 bundleNft)
94
- {
95
- return _bundleForPolicy[nftId];
96
- }
97
-
98
-
99
- function getPolicyInfo(uint256 nftId)
100
- external
101
- view
102
- returns(PolicyInfo memory info)
103
- {
104
- return _policyInfo[nftId];
105
- }
106
- }
@@ -1,40 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IOwnable, IRegistry, IRegistryLinked} from "../../registry/IRegistry.sol";
5
-
6
- interface IPool {
7
-
8
- struct PoolInfo {
9
- uint256 nftId;
10
- address wallet;
11
- address token;
12
- uint256 capital;
13
- uint256 lockedCapital;
14
- }
15
- }
16
-
17
- interface IPoolModule is
18
- IOwnable,
19
- IRegistryLinked,
20
- IPool
21
- {
22
-
23
- function underwrite(
24
- uint256 poolNftId,
25
- uint256 policyNftId
26
- )
27
- external;
28
-
29
- function createPoolInfo(
30
- uint256 nftId,
31
- address wallet,
32
- address token
33
- )
34
- external;
35
-
36
- function getPoolInfo(uint256 nftId)
37
- external
38
- view
39
- returns(PoolInfo memory info);
40
- }
@@ -1,83 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IOwnable, IRegistry, IRegistryLinked} from "../../registry/IRegistry.sol";
5
- import {IProductService} from "../product/IProductService.sol";
6
- import {IPolicy, IPolicyModule} from "../policy/IPolicy.sol";
7
- import {IPoolModule} from "./IPoolModule.sol";
8
-
9
- abstract contract PoolModule is
10
- IPoolModule
11
- {
12
- uint256 public constant INITIAL_CAPITAL = 10000*10**6;
13
-
14
- mapping(uint256 nftId => PoolInfo info) private _poolInfo;
15
-
16
- IProductService private _productService;
17
-
18
- modifier onlyProductService() {
19
- require(address(_productService) == msg.sender, "ERROR:POL-001:NOT_PRODUCT_SERVICE");
20
- _;
21
- }
22
-
23
- constructor(address productService) {
24
- _productService = IProductService(productService);
25
- }
26
-
27
- function createPoolInfo(
28
- uint256 nftId,
29
- address wallet,
30
- address token
31
- )
32
- public
33
- override
34
- {
35
- require(
36
- _poolInfo[nftId].nftId == 0,
37
- "ERROR:PL-001:ALREADY_CREATED");
38
-
39
- _poolInfo[nftId] = PoolInfo(
40
- nftId,
41
- wallet,
42
- token,
43
- INITIAL_CAPITAL,
44
- 0 // locked capital
45
- );
46
-
47
- }
48
-
49
-
50
- function underwrite(
51
- uint256 poolNftId,
52
- uint256 policyNftId
53
- )
54
- external
55
- override
56
- onlyProductService
57
- {
58
- PoolInfo storage poolInfo = _poolInfo[poolNftId];
59
- require(
60
- poolInfo.nftId == poolNftId,
61
- "ERROR:PL-002:POOL_UNKNOWN");
62
-
63
- IPolicyModule policyModule = IPolicyModule(address(this));
64
- IPolicy.PolicyInfo memory policyInfo = policyModule.getPolicyInfo(policyNftId);
65
-
66
- require(
67
- poolInfo.capital - poolInfo.lockedCapital >= policyInfo.sumInsuredAmount,
68
- "ERROR:PL-003:CAPACITY_TOO_LOW");
69
-
70
- poolInfo.lockedCapital += policyInfo.sumInsuredAmount;
71
- }
72
-
73
-
74
- function getPoolInfo(uint256 nftId)
75
- external
76
- view
77
- override
78
- returns(PoolInfo memory info)
79
- {
80
- info = _poolInfo[nftId];
81
- }
82
-
83
- }
@@ -1,45 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
-
5
- import {IOwnable, IRegistryLinked, IRegisterable} from "../../registry/IRegistry.sol";
6
- import {IInstance} from "../IInstance.sol";
7
-
8
-
9
- // TODO or name this IProtectionService to have Product be something more generic (loan, savings account, ...)
10
- interface IProductService is
11
- IRegistryLinked
12
- {
13
-
14
- function createApplication(
15
- address applicationOwner,
16
- uint256 sumInsuredAmount,
17
- uint256 premiumAmount,
18
- uint256 lifetime,
19
- uint256 bundleNftId
20
- )
21
- external
22
- returns(uint256 nftId);
23
-
24
- // function revoke(unit256 nftId) external;
25
-
26
- function underwrite(uint256 nftId) external;
27
- // function decline(uint256 nftId) external;
28
- // function expire(uint256 nftId) external;
29
- function close(uint256 nftId) external;
30
-
31
- // function collectPremium(uint256 nftId, uint256 premiumAmount) external;
32
-
33
- // function createClaim(uint256 nftId, uint256 claimAmount) external;
34
- // function confirmClaim(uint256 nftId, uint256 claimId, uint256 claimAmount) external;
35
- // function declineClaim(uint256 nftId, uint256 claimId) external;
36
- // function closeClaim(uint256 nftId, uint256 claimId) external;
37
- }
38
-
39
-
40
- interface IProductModule is
41
- IOwnable,
42
- IRegistryLinked
43
- {
44
- function getProductService() external view returns(IProductService);
45
- }
@@ -1,105 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
-
5
- // import {IProduct} from "../../components/IProduct.sol";
6
- // import {IOwnable, IRegistryLinked, IRegisterable, IRegistry} from "../../registry/IRegistry.sol";
7
- // import {IInstance} from "../IInstance.sol";
8
- import {IRegistry} from "../../registry/IRegistry.sol";
9
- import {IPolicyModule} from "../policy/IPolicy.sol";
10
- import {RegistryLinked} from "../../registry/Registry.sol";
11
- import {IProductService, IProductModule} from "./IProductService.sol";
12
- import {IComponentModule} from "../../instance/component/IComponent.sol";
13
- import {IPoolModule} from "../../instance/pool/IPoolModule.sol";
14
-
15
- // TODO or name this ProtectionService to have Product be something more generic (loan, savings account, ...)
16
- contract ProductService is
17
- RegistryLinked,
18
- IProductService
19
- {
20
- constructor(address registry)
21
- RegistryLinked(registry)
22
- { }
23
-
24
-
25
- function createApplication(
26
- address applicationOwner,
27
- uint256 sumInsuredAmount,
28
- uint256 premiumAmount,
29
- uint256 lifetime,
30
- uint256 bundleNftId
31
- )
32
- external
33
- override
34
- returns(uint256 nftId)
35
- {
36
- // same as only registered product
37
- uint256 productNftId = _registry.getNftId(msg.sender);
38
- require(productNftId > 0, "ERROR_PRODUCT_UNKNOWN");
39
- IRegistry.RegistryInfo memory productInfo = _registry.getInfo(productNftId);
40
- require(productInfo.objectType == _registry.PRODUCT(), "ERROR_NOT_PRODUCT");
41
-
42
- IRegistry.RegistryInfo memory instanceInfo = _registry.getInfo(productInfo.parentNftId);
43
- require(instanceInfo.nftId > 0, "ERROR_INSTANCE_UNKNOWN");
44
- require(instanceInfo.objectType == _registry.INSTANCE(), "ERROR_NOT_INSTANCE");
45
-
46
- IPolicyModule policyModule = IPolicyModule(instanceInfo.objectAddress);
47
- nftId = policyModule.createApplication(
48
- productInfo,
49
- applicationOwner,
50
- sumInsuredAmount,
51
- premiumAmount,
52
- lifetime,
53
- bundleNftId);
54
-
55
- // add logging
56
- }
57
-
58
- function underwrite(uint256 nftId)
59
- external
60
- override
61
- {
62
- // same as only registered product
63
- uint256 productNftId = _registry.getNftId(msg.sender);
64
- require(productNftId > 0, "ERROR_PRODUCT_UNKNOWN");
65
- IRegistry.RegistryInfo memory productInfo = _registry.getInfo(productNftId);
66
- require(productInfo.objectType == _registry.PRODUCT(), "ERROR_NOT_PRODUCT");
67
-
68
- IRegistry.RegistryInfo memory instanceInfo = _registry.getInfo(productInfo.parentNftId);
69
- require(instanceInfo.nftId > 0, "ERROR_INSTANCE_UNKNOWN");
70
- require(instanceInfo.objectType == _registry.INSTANCE(), "ERROR_NOT_INSTANCE");
71
-
72
- // get responsible pool
73
- IComponentModule componentModule = IComponentModule(instanceInfo.objectAddress);
74
- uint256 poolNftId = componentModule.getPoolNftId(productNftId);
75
-
76
- // lock capital (and update pool accounting)
77
- IPoolModule poolModule = IPoolModule(instanceInfo.objectAddress);
78
- poolModule.underwrite(
79
- poolNftId,
80
- nftId);
81
-
82
- // activate policy
83
- IPolicyModule policyModule = IPolicyModule(instanceInfo.objectAddress);
84
- policyModule.activate(nftId);
85
-
86
- // add logging
87
- }
88
-
89
- function close(uint256 nftId) external override {}
90
- }
91
-
92
- abstract contract ProductModule is
93
- IProductModule
94
- {
95
- IProductService private _productService;
96
-
97
- constructor(address productService) {
98
- _productService = IProductService(productService);
99
- }
100
-
101
- function getProductService() external view returns(IProductService) {
102
- return _productService;
103
- }
104
-
105
- }
@@ -1,18 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC721Enumerable} from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol";
5
-
6
- interface IChainNft is
7
- IERC721Enumerable
8
- {
9
-
10
- function mint(address to, string memory uri) external returns(uint256 tokenId);
11
- function burn(uint256 tokenId) external;
12
- function setURI(uint256 tokenId, string memory uri) external;
13
-
14
- function exists(uint256 tokenId) external view returns(bool);
15
- function totalMinted() external view returns(uint256);
16
-
17
- function getRegistryAddress() external view returns(address registry);
18
- }
@@ -1,24 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // bytes5 (uint40) allows for chain ids up to 13 digits
5
- type ChainId is bytes5;
6
-
7
- // type bindings
8
- using {
9
- eqChainId as ==,
10
- neChainId as !=,
11
- ChainIdLib.toInt
12
- } for ChainId global;
13
-
14
- // general pure free functions
15
- function toChainId(uint256 chainId) pure returns(ChainId) { return ChainId.wrap(bytes5(uint40(chainId))); }
16
-
17
- // pure free functions for operators
18
- function eqChainId(ChainId a, ChainId b) pure returns(bool isSame) { return ChainId.unwrap(a) == ChainId.unwrap(b); }
19
- function neChainId(ChainId a, ChainId b) pure returns(bool isDifferent) { return ChainId.unwrap(a) != ChainId.unwrap(b); }
20
-
21
- // library functions that operate on user defined type
22
- library ChainIdLib {
23
- function toInt(ChainId chainId) internal pure returns(uint256) { return uint256(uint40(ChainId.unwrap(chainId))); }
24
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // uint96 allows for chain ids up to 13 digits
5
- type NftId is uint96;
6
-
7
- // type bindings
8
- using {
9
- eqNftId as ==,
10
- neNftId as !=,
11
- NftIdLib.toInt
12
- } for NftId global;
13
-
14
- // general pure free functions
15
- function toNftId(uint256 id) pure returns(NftId) { return NftId.wrap(uint96(id)); }
16
- function gtz(NftId a) pure returns(bool) { return NftId.unwrap(a) > 0; }
17
-
18
- // pure free functions for operators
19
- function eqNftId(NftId a, NftId b) pure returns(bool isSame) { return NftId.unwrap(a) == NftId.unwrap(b); }
20
- function neNftId(NftId a, NftId b) pure returns(bool isDifferent) { return NftId.unwrap(a) != NftId.unwrap(b); }
21
-
22
- // library functions that operate on user defined type
23
- library NftIdLib {
24
- function toInt(NftId nftId) internal pure returns(uint256) { return uint256(NftId.unwrap(nftId)); }
25
- }