@etherisc/gif-next 0.0.2-053932d-113 → 0.0.2-05a2176-726

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 (592) hide show
  1. package/README.md +167 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1410 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1343 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +760 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +969 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +808 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +298 -1585
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +660 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +441 -1830
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1348 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1570 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1039 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +664 -0
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3500 -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 +190 -0
  36. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  38. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +237 -0
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  41. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  42. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  48. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  50. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1091 -0
  52. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  53. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +684 -0
  54. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  55. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +294 -361
  56. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
  58. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  59. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
  60. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  61. package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
  62. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
  64. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +680 -0
  66. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
  68. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +660 -0
  70. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
  72. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  73. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
  74. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  75. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +231 -204
  76. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  77. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  78. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  79. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +701 -0
  80. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  81. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +257 -288
  82. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  83. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +989 -0
  84. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  85. package/artifacts/contracts/{instance/base/IService.sol/IService.json → product/IProductService.sol/IProductService.json} +130 -170
  86. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
  88. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  89. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +692 -0
  90. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
  92. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  93. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +716 -0
  94. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  95. package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
  96. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
  98. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +636 -0
  100. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  101. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +60 -2
  102. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +425 -60
  104. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +318 -200
  106. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  107. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  108. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  109. package/artifacts/contracts/registry/Registry.sol/Registry.json +457 -165
  110. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  111. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +308 -0
  112. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +350 -305
  114. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  115. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +296 -131
  116. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +688 -0
  118. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  119. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  120. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  121. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +611 -0
  122. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  123. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  124. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  125. package/artifacts/contracts/shared/Component.sol/Component.json +890 -0
  126. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  127. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
  128. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +736 -0
  130. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +196 -220
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  133. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  134. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/IComponent.sol/IComponent.json} +318 -161
  136. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
  138. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  139. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +699 -0
  140. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +77 -159
  142. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  143. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  144. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  146. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  147. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  148. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  149. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  150. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  151. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  152. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  153. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IService.sol/IService.json} +93 -67
  154. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  156. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  157. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
  158. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  159. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  160. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  161. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  162. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  163. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +109 -29
  164. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  165. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  166. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +285 -65
  168. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -53
  170. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  171. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  172. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Service.sol/Service.json} +187 -180
  174. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  175. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  176. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  178. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  180. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  181. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1607 -0
  182. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  183. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +545 -0
  184. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  185. package/artifacts/contracts/staking/Staking.sol/Staking.json +2074 -0
  186. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  187. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +676 -0
  188. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  189. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +805 -0
  190. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  191. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +636 -0
  192. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  193. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  194. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  195. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  196. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  197. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +16 -3
  198. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  199. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  200. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  201. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  202. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  203. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  204. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  205. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  206. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  207. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  208. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  209. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  210. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  211. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  212. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  213. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  214. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  216. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  217. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  218. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  220. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  221. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  222. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  223. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  224. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +280 -0
  226. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  228. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  230. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  232. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  234. package/contracts/distribution/Distribution.sol +263 -0
  235. package/contracts/distribution/DistributionService.sol +297 -0
  236. package/contracts/distribution/DistributionServiceManager.sol +51 -0
  237. package/contracts/distribution/IDistributionComponent.sol +66 -0
  238. package/contracts/distribution/IDistributionService.sol +81 -0
  239. package/contracts/instance/BundleManager.sol +126 -0
  240. package/contracts/instance/IInstance.sol +69 -44
  241. package/contracts/instance/IInstanceService.sol +83 -0
  242. package/contracts/instance/Instance.sol +214 -69
  243. package/contracts/instance/InstanceAccessManager.sol +543 -0
  244. package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
  245. package/contracts/instance/InstanceReader.sol +366 -0
  246. package/contracts/instance/InstanceService.sol +348 -0
  247. package/contracts/instance/InstanceServiceManager.sol +54 -0
  248. package/contracts/instance/InstanceStore.sol +259 -0
  249. package/contracts/instance/base/BalanceStore.sol +118 -0
  250. package/contracts/instance/base/Cloneable.sol +51 -0
  251. package/contracts/instance/base/ObjectManager.sol +82 -0
  252. package/contracts/instance/module/IAccess.sol +54 -0
  253. package/contracts/instance/module/IBundle.sol +20 -0
  254. package/contracts/instance/module/IComponents.sol +52 -0
  255. package/contracts/instance/module/IDistribution.sol +42 -0
  256. package/contracts/instance/module/IPolicy.sol +84 -0
  257. package/contracts/instance/module/IRisk.sol +11 -0
  258. package/contracts/pool/BundleService.sol +313 -0
  259. package/contracts/pool/BundleServiceManager.sol +51 -0
  260. package/contracts/pool/IBundleService.sol +106 -0
  261. package/contracts/pool/IPoolComponent.sol +112 -0
  262. package/contracts/pool/IPoolService.sol +147 -0
  263. package/contracts/pool/Pool.sol +299 -0
  264. package/contracts/pool/PoolService.sol +421 -0
  265. package/contracts/pool/PoolServiceManager.sol +51 -0
  266. package/contracts/product/ApplicationService.sol +253 -0
  267. package/contracts/product/ApplicationServiceManager.sol +35 -0
  268. package/contracts/product/ClaimService.sol +436 -0
  269. package/contracts/product/ClaimServiceManager.sol +35 -0
  270. package/contracts/product/IApplicationService.sol +62 -0
  271. package/contracts/product/IClaimService.sol +93 -0
  272. package/contracts/product/IPolicyService.sol +78 -0
  273. package/contracts/product/IPricingService.sol +39 -0
  274. package/contracts/product/IProductComponent.sol +42 -0
  275. package/contracts/product/IProductService.sol +33 -0
  276. package/contracts/product/PolicyService.sol +471 -0
  277. package/contracts/product/PolicyServiceManager.sol +54 -0
  278. package/contracts/product/PricingService.sol +300 -0
  279. package/contracts/product/PricingServiceManager.sol +51 -0
  280. package/contracts/product/Product.sol +377 -0
  281. package/contracts/product/ProductService.sol +122 -0
  282. package/contracts/product/ProductServiceManager.sol +54 -0
  283. package/contracts/registry/ChainNft.sol +52 -23
  284. package/contracts/registry/IRegistry.sol +66 -12
  285. package/contracts/registry/IRegistryService.sol +64 -20
  286. package/contracts/registry/ITransferInterceptor.sol +1 -0
  287. package/contracts/registry/Registry.sol +346 -243
  288. package/contracts/registry/RegistryAccessManager.sol +213 -0
  289. package/contracts/registry/RegistryService.sol +165 -279
  290. package/contracts/registry/RegistryServiceManager.sol +24 -28
  291. package/contracts/registry/ReleaseManager.sol +375 -0
  292. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  293. package/contracts/registry/TokenRegistry.sol +187 -0
  294. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  295. package/contracts/shared/Component.sol +286 -0
  296. package/contracts/shared/ComponentService.sol +596 -0
  297. package/contracts/shared/ComponentServiceManager.sol +35 -0
  298. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  299. package/contracts/shared/ERC165.sol +14 -8
  300. package/contracts/shared/IComponent.sol +74 -0
  301. package/contracts/shared/IComponentService.sol +91 -0
  302. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  303. package/contracts/shared/IKeyValueStore.sol +53 -0
  304. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -4
  305. package/contracts/shared/INftOwnable.sol +12 -11
  306. package/contracts/shared/IPolicyHolder.sol +40 -0
  307. package/contracts/shared/IRegisterable.sol +4 -6
  308. package/contracts/shared/IRegistryLinked.sol +11 -0
  309. package/contracts/shared/IService.sol +18 -0
  310. package/contracts/shared/IVersionable.sol +5 -48
  311. package/contracts/shared/InstanceLinkedComponent.sol +145 -0
  312. package/contracts/{instance/base → shared}/KeyValueStore.sol +62 -54
  313. package/contracts/{instance/base → shared}/Lifecycle.sol +29 -8
  314. package/contracts/shared/NftOwnable.sol +65 -83
  315. package/contracts/shared/PolicyHolder.sol +94 -0
  316. package/contracts/shared/ProxyManager.sol +100 -25
  317. package/contracts/shared/Registerable.sol +26 -40
  318. package/contracts/shared/RegistryLinked.sol +43 -0
  319. package/contracts/shared/Service.sol +77 -0
  320. package/contracts/shared/TokenHandler.sol +58 -0
  321. package/contracts/shared/Versionable.sol +4 -92
  322. package/contracts/staking/IStaking.sol +77 -0
  323. package/contracts/staking/IStakingService.sol +105 -0
  324. package/contracts/staking/Staking.sol +212 -0
  325. package/contracts/staking/StakingManager.sol +46 -0
  326. package/contracts/staking/StakingService.sol +200 -0
  327. package/contracts/staking/StakingServiceManager.sol +41 -0
  328. package/contracts/type/Amount.sol +114 -0
  329. package/contracts/{types → type}/Blocknumber.sol +7 -1
  330. package/contracts/type/ClaimId.sol +75 -0
  331. package/contracts/type/DistributorType.sol +55 -0
  332. package/contracts/{types → type}/Fee.sol +32 -22
  333. package/contracts/{types → type}/Key32.sol +8 -3
  334. package/contracts/{types → type}/NftId.sol +12 -11
  335. package/contracts/type/NftIdSet.sol +62 -0
  336. package/contracts/{types → type}/ObjectType.sol +49 -15
  337. package/contracts/type/PayoutId.sol +82 -0
  338. package/contracts/type/Referral.sol +89 -0
  339. package/contracts/type/RoleId.sol +138 -0
  340. package/contracts/type/Seconds.sol +54 -0
  341. package/contracts/{types → type}/StateId.sol +12 -3
  342. package/contracts/{types → type}/Timestamp.sol +22 -13
  343. package/contracts/{types → type}/UFixed.sol +1 -0
  344. package/contracts/{types → type}/Version.sol +5 -1
  345. package/package.json +3 -3
  346. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  347. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  348. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -557
  349. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  350. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -254
  351. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  352. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -177
  353. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  354. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -308
  355. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  356. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -207
  357. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  358. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -716
  359. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  360. package/artifacts/contracts/components/Product.sol/Product.json +0 -614
  361. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  362. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  363. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  364. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  365. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  366. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  367. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  368. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  369. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  370. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  371. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  372. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  373. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  374. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  375. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  376. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  377. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  378. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  379. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  380. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  381. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  382. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  383. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  384. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  385. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  386. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  387. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  388. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  389. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  390. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  391. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  392. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  393. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  394. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  395. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  396. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  397. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  398. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  399. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  400. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  401. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  402. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  403. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  404. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  405. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  406. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  407. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  408. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  409. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  410. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  411. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  412. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  413. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  414. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  415. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  416. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  417. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  418. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  419. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  420. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  421. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  422. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  423. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  424. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  425. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  426. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  427. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  428. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  429. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  430. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  431. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  432. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  433. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -271
  434. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  435. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -271
  436. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  437. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  438. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  439. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  440. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  441. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  442. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  443. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  444. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  445. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  446. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  447. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  448. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  449. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  450. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  451. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  452. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  453. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  454. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  455. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  457. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -630
  459. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  462. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -753
  466. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1068
  468. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  469. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  470. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  471. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  472. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  473. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -557
  474. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  475. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  476. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  477. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -716
  478. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  479. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -744
  480. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  481. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  482. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  483. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  484. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  485. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -584
  486. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  487. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  488. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  489. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  490. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  491. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  492. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  493. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  494. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  495. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  497. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  498. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  499. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  500. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  501. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  502. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  503. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  504. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  505. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  506. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  509. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  512. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  513. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  514. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  515. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  516. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  517. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  518. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  519. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  520. package/contracts/components/BaseComponent.sol +0 -79
  521. package/contracts/components/Distribution.sol +0 -155
  522. package/contracts/components/IBaseComponent.sol +0 -19
  523. package/contracts/components/IDistributionComponent.sol +0 -46
  524. package/contracts/components/IPoolComponent.sol +0 -64
  525. package/contracts/components/IProductComponent.sol +0 -37
  526. package/contracts/components/Pool.sol +0 -246
  527. package/contracts/components/Product.sol +0 -299
  528. package/contracts/experiment/cloning/Cloner.sol +0 -47
  529. package/contracts/experiment/errors/Require.sol +0 -38
  530. package/contracts/experiment/errors/Revert.sol +0 -44
  531. package/contracts/experiment/inheritance/A.sol +0 -53
  532. package/contracts/experiment/inheritance/B.sol +0 -28
  533. package/contracts/experiment/inheritance/C.sol +0 -34
  534. package/contracts/experiment/inheritance/IA.sol +0 -13
  535. package/contracts/experiment/inheritance/IB.sol +0 -10
  536. package/contracts/experiment/inheritance/IC.sol +0 -12
  537. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  538. package/contracts/experiment/statemachine/ISM.sol +0 -25
  539. package/contracts/experiment/statemachine/SM.sol +0 -57
  540. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  541. package/contracts/experiment/types/TypeA.sol +0 -47
  542. package/contracts/experiment/types/TypeB.sol +0 -29
  543. package/contracts/instance/IInstanceLinked.sol +0 -8
  544. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  545. package/contracts/instance/base/IInstanceBase.sol +0 -23
  546. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  547. package/contracts/instance/base/IService.sol +0 -15
  548. package/contracts/instance/base/InstanceBase.sol +0 -89
  549. package/contracts/instance/base/ModuleBase.sol +0 -57
  550. package/contracts/instance/base/ServiceBase.sol +0 -44
  551. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  552. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  553. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  554. package/contracts/instance/module/component/IComponent.sol +0 -28
  555. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  556. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  557. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  558. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  559. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  560. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  561. package/contracts/instance/module/risk/IRisk.sol +0 -26
  562. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  563. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  564. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  565. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  566. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  567. package/contracts/instance/service/DistributionService.sol +0 -54
  568. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  569. package/contracts/instance/service/IDistributionService.sol +0 -12
  570. package/contracts/instance/service/IPoolService.sol +0 -37
  571. package/contracts/instance/service/IProductService.sol +0 -107
  572. package/contracts/instance/service/PoolService.sol +0 -149
  573. package/contracts/instance/service/ProductService.sol +0 -510
  574. package/contracts/registry/IChainNft.sol +0 -22
  575. package/contracts/shared/ContractDeployerLib.sol +0 -72
  576. package/contracts/test/TestDistribution.sol +0 -22
  577. package/contracts/test/TestFee.sol +0 -25
  578. package/contracts/test/TestPool.sol +0 -27
  579. package/contracts/test/TestProduct.sol +0 -74
  580. package/contracts/test/TestRegisterable.sol +0 -18
  581. package/contracts/test/TestRoleId.sol +0 -14
  582. package/contracts/test/TestService.sol +0 -26
  583. package/contracts/test/TestToken.sol +0 -26
  584. package/contracts/test/TestVersion.sol +0 -44
  585. package/contracts/test/TestVersionable.sol +0 -17
  586. package/contracts/test/Usdc.sol +0 -26
  587. package/contracts/types/ChainId.sol +0 -38
  588. package/contracts/types/NftIdSet.sol +0 -60
  589. package/contracts/types/ReferralId.sol +0 -48
  590. package/contracts/types/RoleId.sol +0 -45
  591. /package/contracts/{types → type}/AddressSet.sol +0 -0
  592. /package/contracts/{types → type}/RiskId.sol +0 -0
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # gif-next (Generic Insurance Framework next version)
1
+ # GIF-Next (Generic Insurance Framework, next version)
2
+
2
3
 
3
4
  ## Add OpenZeppelin V5 Dependencies
4
5
 
@@ -27,6 +28,10 @@ This repository uses submodules. To checkout or update to the latest submodules,
27
28
  git submodule update --recursive
28
29
  ```
29
30
 
31
+ ## Example components
32
+
33
+ A (very early) example of a product and a pool can be found in the [gif-next-sandbox repository](https://github.com/etherisc/gif-next-sandbox).
34
+
30
35
  ## Hardhat
31
36
 
32
37
  ### NPM Commands
@@ -51,7 +56,7 @@ hh docgen
51
56
  The resulting markdown files are written to `docs`
52
57
 
53
58
 
54
- ### Deployment
59
+ ### Full protocol deployment
55
60
 
56
61
  Install the dependencies before running the script below for the first time.
57
62
 
@@ -81,6 +86,25 @@ Environment variables:
81
86
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
82
87
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
83
88
 
89
+ ### Create a new instance
90
+
91
+ Requires previous step to be completed.
92
+
93
+ ```bash
94
+ # set appropriate values vor env variables (see below)
95
+
96
+ hh run --network <networkname> scripts/new_instance.ts
97
+ ```
98
+
99
+ Currently an HD wallet is expected to be used for the deployment. The mnemonic of the wallet needs to be provided via the `WALLET_MNEMONIC` environment variable.
100
+ The instance owner will be the 11th address of the wallet.
101
+
102
+ Environment variables:
103
+
104
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
105
+ - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
106
+ - `REGISTRY_ADDRESS` the address of the registry that is already deployed and configured and has a valid master instance
107
+
84
108
 
85
109
  ### Console
86
110
 
@@ -119,7 +143,11 @@ forge test -vvvv --mt test_decimals
119
143
  # provide gas report for a single test
120
144
  forge test --mt test_decimals --gas-report
121
145
 
146
+ # provide code coverage report
122
147
  forge coverage
148
+ forge coverage --report lcov
149
+
150
+
123
151
  ```
124
152
 
125
153
  Chisel session
@@ -196,17 +224,7 @@ https://book.getfoundry.sh/reference/
196
224
 
197
225
  ## Style Guide
198
226
 
199
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
200
-
201
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
202
-
203
- ### Naming conventions
204
-
205
- Additionally, we use the following naming conventions:
206
-
207
- - Function arguments and return types: If using custom data types, make the name include the type by appending the Type to the argument name, e.g. `function getInfo(NftId bundleNftId)` instead of `function getInfo(NftId bundleId)`. Background: Custom data types are lost when using the ABI or Typescript binding classes (e.g. instead of `NftID` a `uint96` is used), so the type needs to be included in the name to make it clear what the argument is without having to look at the documentation or checking the solidity source code.
208
- - When naming a field or an attribute `id` and the context is not clear, call it `nftId` instead so its clear what type if id it is as there will be multiple ids for different kind of objects. Example: if you the function has a bundle nft id and a policy nft id as arguments, call them `bundleNftId` and `policyNftId` instead of `id` and `policyId`. In case of doubt, be a bit more verbose for the sake of clarity.
209
- - When naming things, remember that the code will likely be used in Javascript/Typescript as well, so avoid names that are reserved in Javascript/Typescript. A list of reserved words in Javascript can be found [here](https://www.w3schools.com/js/js_reserved.asp) and a list of reserved words in Typescript can be found [here](https://www.tektutorialshub.com/typescript/identifiers-keywords-in-typescript/).
227
+ Please see https://docs.etherisc.com/gif-next/3.x/ for style guide and general coding rules.
210
228
 
211
229
  ### Automatic code formatting
212
230
 
@@ -221,7 +239,7 @@ We use solhint to lint the code.
221
239
  To execute linting run `npm run lint`.
222
240
 
223
241
 
224
- ### Adding Brownie (Legacy)
242
+ ### Adding Brownie (Legacy - don't do that :wink: )
225
243
 
226
244
  python3 is already installed
227
245
 
@@ -283,6 +301,98 @@ pool_id = pool.getNftId()
283
301
  product_id = product.getNftId()
284
302
  ```
285
303
 
304
+ ## Objects
305
+
306
+ ### Registry
307
+
308
+ Mandatory properties
309
+
310
+ * One registry per chain
311
+ * Global registry: the registry on mainnet
312
+ * One entry per protocol object
313
+ * Once registered object properties are immutable
314
+ * Globally unique NFT minted per protocol object (chain id is embedded in NFT id)
315
+ * Object ownership defined by NFT ownernship
316
+ * Typed objects (instance, product, policy, ...)
317
+ * Each object has parent object (only one exception: protocol object does not have parent object)
318
+ * Parent object type is defined by type of child object
319
+
320
+ Object properties (for smart contracts)
321
+ * Objects that represent a smart contract record its contract address
322
+ * With one exception (see next point) smart contract addresses refer to the address on the same chain as the registry
323
+ * The global registry also holds entries for all the registries on different chains than mainnet, in these cases the addresses refer to the chains of these chain specific registries (this is the only case where registered addresses do not refer to the same chain)
324
+
325
+ Optional properties
326
+
327
+ * Objects can have names
328
+ * Object names are unique per chain
329
+ * Objects may define an intercepting property, in which case a predefined smart contract is involved in NFT transfers of the objects NFT (transfer may trigger actions, transfer may be blocked etc)
330
+ *
331
+
332
+ Ownership property
333
+
334
+ * Object ownership defined by ownership of NFT representing the object
335
+ * Protocol
336
+ * Fixed/predefined owner (address without private key)
337
+ * Registry
338
+ * Allows registration of token and services (per major release)
339
+ * May transfer ownership
340
+ * Token
341
+ * Fixed/predefined owner (address without private key)
342
+ * TODO add whitelisting for token per major release
343
+ * Service
344
+ * Allows upgrades of services as long as major version is same
345
+ * Until further notice the same entity as the registry owner
346
+ * May transfer ownership
347
+ * Instance
348
+ * Granting/revoking of roles (both default + custom)
349
+ * Management of custom roles and targets
350
+ * May lock instance and/or components
351
+ * May transfer ownership
352
+ * Component (Product, Pool, Distribution, Oracle)
353
+ * Register component
354
+ * Set component wallet (which receives fees, holds funds)
355
+ * May lock component
356
+ * May transfer ownership
357
+ * Additional use case specific features
358
+ * Policy
359
+ * Represents policy holder
360
+ * Receive payouts (GIF default behaviour)
361
+ * May transfer ownership
362
+ * Bundle
363
+ * Represents funds owner
364
+ * May withdraw funds not locked by active policies
365
+ * May transfer ownership
366
+ * Distributor
367
+ * Receives commissions from sales (GIF default behaviour)
368
+ * May transfer ownership
369
+
370
+ Intercepting property
371
+ * Service owner is indirectly owner of service manager contract
372
+
373
+ * Instance
374
+ * intercepts transfer of instance owner (new owner needs access manager admin rights for custom roles and targets)
375
+ * intercepts transfer of components, to do what? check that new owner has necessary roles?
376
+ * Product
377
+ * intercepts transfer of policies (use case specific: eg. limit/disallow transfers)
378
+ * Pool:
379
+ * intercepts transfer of bundles (use case specific: eg. limit/disallow transfers)
380
+ * Distribution
381
+ * intercepts transfer of distributors (bookkeeping: only one distributor per address allowed)
382
+ * Oracle
383
+ * likely meaningless
384
+
385
+
386
+ ### Instance
387
+
388
+ ### Product
389
+
390
+ ### Pool
391
+
392
+ ### Distribution
393
+
394
+ ### Oracle
395
+
286
396
  ## Registry and Services
287
397
 
288
398
  ### Principles
@@ -323,3 +433,46 @@ Distribution Service
323
433
  - registered via registry service by registry owner
324
434
  - registers distribution components for registered products via registry service by distribution owner (distribution owner role is permissend by the product's instance)
325
435
  - registers distributors for registered distribution components via registry service
436
+
437
+ ## Contract Organisation
438
+
439
+ now
440
+
441
+ contracts
442
+ components
443
+ instance
444
+ registry
445
+ shared
446
+ types
447
+
448
+
449
+ contracts
450
+ component
451
+ pool
452
+ Pool.sol
453
+ PoolService.sol
454
+ oracle
455
+ distribution
456
+ product
457
+ Product.sol
458
+ ProductService.sol
459
+ Component.sol
460
+ ComponentService.sol
461
+ instance
462
+ Instance.sol
463
+ InstanceAccessManager.sol
464
+ InstanceReader.sol
465
+ InstanceService.sol
466
+ InstanceServiceManager.sol
467
+ registry
468
+ ChainNft.sol
469
+ Registry.sol
470
+ RegistryService.sol
471
+ RegistryServiceManager.sol
472
+ shared
473
+ Registerable.sol
474
+ RegisterableUpgradable.sol
475
+ type
476
+ NftId.sol
477
+ ObjectType.sol
478
+
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/2b22356a28cf77644d8322732b1466b4.json"
4
+ }