@etherisc/gif-next 0.0.2-d5522f6-712 → 0.0.2-d5fac82-078

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 (536) hide show
  1. package/README.md +10 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1395 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1575 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +851 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +1000 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +840 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +278 -1362
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +264 -218
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +459 -2530
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +746 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +188 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +432 -280
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +415 -380
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +362 -95
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2847 -0
  32. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  33. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  34. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  36. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  37. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  38. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +93 -14
  39. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +38 -13
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  42. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +13 -159
  45. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  48. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  53. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  54. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1307 -0
  55. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  56. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +767 -0
  57. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  58. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +291 -276
  59. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  60. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +448 -195
  61. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1077 -0
  63. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  64. package/artifacts/contracts/pool/Pool.sol/Pool.json +1426 -0
  65. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  66. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1641 -0
  67. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  68. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +779 -0
  69. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  70. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +937 -0
  71. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  72. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +719 -0
  73. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  74. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1405 -0
  75. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +819 -0
  77. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +218 -191
  79. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  80. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  81. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  82. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +182 -302
  83. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  84. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +241 -230
  85. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  86. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +254 -168
  87. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +72 -166
  89. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1300 -0
  91. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  92. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +811 -0
  93. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  94. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1023 -0
  95. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  96. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +759 -0
  97. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  98. package/artifacts/contracts/product/Product.sol/Product.json +1217 -0
  99. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  100. package/artifacts/contracts/product/ProductService.sol/ProductService.json +883 -0
  101. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +711 -0
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  104. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +209 -17
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  108. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +225 -230
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  110. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  111. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  112. package/artifacts/contracts/registry/Registry.sol/Registry.json +235 -43
  113. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  114. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +305 -0
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +341 -254
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +351 -84
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  120. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +540 -83
  121. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  122. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +148 -62
  123. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  124. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  125. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  126. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  130. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1747 -0
  131. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  132. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1765 -0
  133. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  134. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  135. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  136. package/artifacts/contracts/shared/Component.sol/Component.json +892 -0
  137. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  138. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentService.sol/ComponentService.json} +294 -126
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  140. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  141. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  143. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  144. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1594 -0
  145. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  146. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IComponent.sol/IComponent.json} +173 -212
  147. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  148. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  149. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  150. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  151. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  153. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  154. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  155. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IService.sol/IService.json +71 -165
  157. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  159. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  160. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -47
  161. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  162. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  163. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  164. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +342 -61
  165. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  166. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -53
  167. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  168. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  169. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  170. package/artifacts/contracts/shared/Service.sol/Service.json +189 -150
  171. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  172. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  173. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  174. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  175. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  177. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  178. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → staking/IStakingService.sol/IStakingService.json} +198 -207
  179. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  180. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +786 -0
  181. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +699 -0
  183. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  184. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  185. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  186. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  187. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  188. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  189. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  190. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  191. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  192. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  193. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  194. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  195. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  196. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  197. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  198. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +166 -0
  199. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  200. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  201. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  202. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  203. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  204. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  205. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  206. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  207. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  208. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  209. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  210. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  211. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  212. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  213. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  214. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  215. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  216. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  217. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  218. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  219. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  220. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  221. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  222. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  223. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  224. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  225. package/contracts/distribution/Distribution.sol +285 -0
  226. package/contracts/distribution/DistributionService.sol +351 -0
  227. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  228. package/contracts/distribution/IDistributionComponent.sol +71 -0
  229. package/contracts/distribution/IDistributionService.sol +87 -0
  230. package/contracts/instance/BundleManager.sol +22 -25
  231. package/contracts/instance/IInstance.sol +56 -41
  232. package/contracts/instance/IInstanceService.sol +50 -17
  233. package/contracts/instance/Instance.sol +151 -197
  234. package/contracts/instance/InstanceAdmin.sol +354 -0
  235. package/contracts/instance/InstanceAuthorizationsLib.sol +320 -0
  236. package/contracts/instance/InstanceReader.sol +102 -49
  237. package/contracts/instance/InstanceService.sol +200 -247
  238. package/contracts/instance/InstanceServiceManager.sol +12 -22
  239. package/contracts/instance/InstanceStore.sol +211 -0
  240. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  241. package/contracts/instance/base/IKeyValueStore.sol +14 -10
  242. package/contracts/instance/base/ILifecycle.sol +3 -3
  243. package/contracts/instance/base/KeyValueStore.sol +44 -47
  244. package/contracts/instance/base/Lifecycle.sol +28 -7
  245. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  246. package/contracts/instance/module/IAccess.sol +17 -21
  247. package/contracts/instance/module/IBundle.sol +11 -8
  248. package/contracts/instance/module/IComponents.sol +41 -0
  249. package/contracts/instance/module/IDistribution.sol +7 -4
  250. package/contracts/instance/module/IPolicy.sol +50 -17
  251. package/contracts/instance/module/IRisk.sol +1 -1
  252. package/contracts/instance/module/ISetup.sol +9 -22
  253. package/contracts/instance/module/ITreasury.sol +2 -2
  254. package/contracts/pool/BundleService.sol +384 -0
  255. package/contracts/pool/BundleServiceManager.sol +42 -0
  256. package/contracts/pool/IBundleService.sol +118 -0
  257. package/contracts/pool/IPoolComponent.sol +114 -0
  258. package/contracts/pool/IPoolService.sol +114 -0
  259. package/contracts/pool/Pool.sol +302 -0
  260. package/contracts/pool/PoolService.sol +404 -0
  261. package/contracts/pool/PoolServiceManager.sol +42 -0
  262. package/contracts/product/ApplicationService.sol +187 -0
  263. package/contracts/product/ApplicationServiceManager.sol +38 -0
  264. package/contracts/product/ClaimService.sol +443 -0
  265. package/contracts/product/ClaimServiceManager.sol +38 -0
  266. package/contracts/product/IApplicationService.sol +62 -0
  267. package/contracts/product/IClaimService.sol +93 -0
  268. package/contracts/product/IPolicyService.sol +80 -0
  269. package/contracts/product/IPricingService.sol +37 -0
  270. package/contracts/product/IProductComponent.sol +41 -0
  271. package/contracts/{instance/service → product}/IProductService.sol +10 -10
  272. package/contracts/product/PolicyService.sol +378 -0
  273. package/contracts/product/PolicyServiceManager.sol +42 -0
  274. package/contracts/product/PricingService.sol +276 -0
  275. package/contracts/product/PricingServiceManager.sol +42 -0
  276. package/contracts/product/Product.sol +379 -0
  277. package/contracts/product/ProductService.sol +212 -0
  278. package/contracts/product/ProductServiceManager.sol +42 -0
  279. package/contracts/registry/ChainNft.sol +8 -0
  280. package/contracts/registry/IRegistry.sol +42 -21
  281. package/contracts/registry/IRegistryService.sol +42 -41
  282. package/contracts/registry/ITransferInterceptor.sol +1 -0
  283. package/contracts/registry/Registry.sol +165 -96
  284. package/contracts/registry/RegistryAdmin.sol +143 -0
  285. package/contracts/registry/RegistryService.sol +84 -171
  286. package/contracts/registry/RegistryServiceManager.sol +22 -24
  287. package/contracts/registry/ReleaseManager.sol +317 -202
  288. package/contracts/registry/TokenRegistry.sol +23 -15
  289. package/contracts/shared/AccessManagerCustom.sol +736 -0
  290. package/contracts/shared/AccessManagerExtended.sol +469 -0
  291. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  292. package/contracts/shared/AccessManagerExtendedWithDisable.sol +125 -0
  293. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  294. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  295. package/contracts/shared/Component.sol +271 -0
  296. package/contracts/shared/ComponentService.sol +141 -0
  297. package/contracts/shared/ERC165.sol +14 -12
  298. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  299. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +17 -0
  300. package/contracts/shared/IComponent.sol +90 -0
  301. package/contracts/shared/INftOwnable.sol +12 -11
  302. package/contracts/shared/IPolicyHolder.sol +40 -0
  303. package/contracts/shared/IRegisterable.sol +4 -6
  304. package/contracts/shared/IRegistryLinked.sol +11 -0
  305. package/contracts/shared/IService.sol +6 -4
  306. package/contracts/shared/IVersionable.sol +5 -48
  307. package/contracts/shared/NftOwnable.sol +68 -85
  308. package/contracts/shared/PolicyHolder.sol +94 -0
  309. package/contracts/shared/ProxyManager.sol +131 -25
  310. package/contracts/shared/Registerable.sol +26 -41
  311. package/contracts/shared/RegistryLinked.sol +43 -0
  312. package/contracts/shared/Service.sol +37 -23
  313. package/contracts/shared/TokenHandler.sol +14 -6
  314. package/contracts/shared/Versionable.sol +4 -92
  315. package/contracts/staking/IStakingService.sol +102 -0
  316. package/contracts/staking/StakingService.sol +169 -0
  317. package/contracts/staking/StakingServiceManager.sol +40 -0
  318. package/contracts/type/Amount.sol +109 -0
  319. package/contracts/{types → type}/Blocknumber.sol +1 -0
  320. package/contracts/type/ClaimId.sol +75 -0
  321. package/contracts/{types → type}/DistributorType.sol +2 -2
  322. package/contracts/{types → type}/Fee.sol +17 -8
  323. package/contracts/{types → type}/NftId.sol +8 -0
  324. package/contracts/{types → type}/NftIdSet.sol +1 -1
  325. package/contracts/{types → type}/ObjectType.sol +17 -7
  326. package/contracts/type/PayoutId.sol +82 -0
  327. package/contracts/{types → type}/Referral.sol +4 -0
  328. package/contracts/type/RoleId.sol +139 -0
  329. package/contracts/type/Seconds.sol +54 -0
  330. package/contracts/{types → type}/StateId.sol +7 -2
  331. package/contracts/{types → type}/Timestamp.sol +18 -13
  332. package/contracts/{types → type}/UFixed.sol +1 -0
  333. package/contracts/{types → type}/Version.sol +1 -0
  334. package/package.json +3 -3
  335. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  336. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  337. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  338. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -397
  339. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  340. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  341. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  342. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  343. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  344. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  345. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  346. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  347. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  349. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  350. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  351. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  352. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  353. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  354. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  355. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  356. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  357. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  358. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  359. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  360. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  361. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  362. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  363. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  364. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  365. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  366. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  367. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  368. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  369. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  370. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  371. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  372. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  373. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  374. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  375. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  376. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  377. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  378. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  379. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  380. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  381. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  382. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  383. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  384. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  385. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  386. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  387. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  388. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  389. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  390. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +0 -448
  391. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  392. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  393. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  394. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  395. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  396. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  397. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  398. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  399. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  400. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  401. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1031
  402. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  403. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  404. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  405. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  406. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  407. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
  408. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  409. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  410. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  411. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  412. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  413. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  414. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  415. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  416. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  417. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  418. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1156
  419. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  420. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  421. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  422. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  423. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  424. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  425. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  426. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  427. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  428. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  429. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  430. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  431. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  432. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  433. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  434. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  435. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  436. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  437. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  438. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  439. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  440. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  441. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  442. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  443. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  444. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  445. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  446. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  447. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  448. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  449. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  450. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  451. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  452. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  453. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  454. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  455. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  456. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  457. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  458. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  459. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  460. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  461. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  462. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  463. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  464. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  465. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  466. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  467. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  468. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  469. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  470. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  471. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  472. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  473. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  474. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  475. package/contracts/components/BaseComponent.sol +0 -159
  476. package/contracts/components/Distribution.sol +0 -164
  477. package/contracts/components/IBaseComponent.sol +0 -34
  478. package/contracts/components/IDistributionComponent.sol +0 -44
  479. package/contracts/components/IPoolComponent.sol +0 -66
  480. package/contracts/components/IProductComponent.sol +0 -35
  481. package/contracts/components/Pool.sol +0 -272
  482. package/contracts/components/Product.sol +0 -301
  483. package/contracts/experiment/cloning/Cloner.sol +0 -47
  484. package/contracts/experiment/errors/Require.sol +0 -38
  485. package/contracts/experiment/errors/Revert.sol +0 -44
  486. package/contracts/experiment/inheritance/A.sol +0 -53
  487. package/contracts/experiment/inheritance/B.sol +0 -28
  488. package/contracts/experiment/inheritance/C.sol +0 -34
  489. package/contracts/experiment/inheritance/IA.sol +0 -13
  490. package/contracts/experiment/inheritance/IB.sol +0 -10
  491. package/contracts/experiment/inheritance/IC.sol +0 -12
  492. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  493. package/contracts/experiment/statemachine/ISM.sol +0 -25
  494. package/contracts/experiment/statemachine/SM.sol +0 -57
  495. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  496. package/contracts/experiment/types/TypeA.sol +0 -47
  497. package/contracts/experiment/types/TypeB.sol +0 -29
  498. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  499. package/contracts/instance/IInstanceBase.sol +0 -26
  500. package/contracts/instance/InstanceAccessManager.sol +0 -303
  501. package/contracts/instance/InstanceBase.sol +0 -41
  502. package/contracts/instance/base/ComponentServiceBase.sol +0 -76
  503. package/contracts/instance/base/IInstanceBase.sol +0 -23
  504. package/contracts/instance/service/BundleService.sol +0 -294
  505. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  506. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  507. package/contracts/instance/service/DistributionService.sol +0 -120
  508. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  509. package/contracts/instance/service/IBundleService.sol +0 -44
  510. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  511. package/contracts/instance/service/IDistributionService.sol +0 -12
  512. package/contracts/instance/service/IPolicyService.sol +0 -94
  513. package/contracts/instance/service/IPoolService.sol +0 -20
  514. package/contracts/instance/service/PolicyService.sol +0 -539
  515. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  516. package/contracts/instance/service/PoolService.sol +0 -145
  517. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  518. package/contracts/instance/service/ProductService.sol +0 -213
  519. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  520. package/contracts/registry/RegistryAccessManager.sol +0 -210
  521. package/contracts/shared/ContractDeployerLib.sol +0 -72
  522. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  523. package/contracts/test/TestFee.sol +0 -25
  524. package/contracts/test/TestRegisterable.sol +0 -18
  525. package/contracts/test/TestRoleId.sol +0 -14
  526. package/contracts/test/TestService.sol +0 -25
  527. package/contracts/test/TestToken.sol +0 -26
  528. package/contracts/test/TestVersion.sol +0 -44
  529. package/contracts/test/TestVersionable.sol +0 -17
  530. package/contracts/test/Usdc.sol +0 -26
  531. package/contracts/types/ChainId.sol +0 -38
  532. package/contracts/types/NumberId.sol +0 -52
  533. package/contracts/types/RoleId.sol +0 -90
  534. /package/contracts/{types → type}/AddressSet.sol +0 -0
  535. /package/contracts/{types → type}/Key32.sol +0 -0
  536. /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -1,120 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IInstance} from "../../instance/IInstance.sol";
6
- import {InstanceAccessManager} from "../InstanceAccessManager.sol";
7
- import {InstanceReader} from "../../instance/InstanceReader.sol";
8
- import {ISetup} from "../../instance/module/ISetup.sol";
9
-
10
- import {NftId, NftIdLib} from "../../types/NftId.sol";
11
- import {Fee} from "../../types/Fee.sol";
12
- import {DISTRIBUTION_OWNER_ROLE} from "../../types/RoleId.sol";
13
- import {KEEP_STATE} from "../../types/StateId.sol";
14
- import {ObjectType, DISTRIBUTION} from "../../types/ObjectType.sol";
15
- import {Version, VersionLib} from "../../types/Version.sol";
16
-
17
- import {IVersionable} from "../../shared/IVersionable.sol";
18
- import {Versionable} from "../../shared/Versionable.sol";
19
-
20
- import {IService} from "../../shared/IService.sol";
21
- import {Service} from "../../shared/Service.sol";
22
- import {ComponentServiceBase} from "../base/ComponentServiceBase.sol";
23
- import {InstanceService} from "../InstanceService.sol";
24
- import {IDistributionService} from "./IDistributionService.sol";
25
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
26
-
27
-
28
- contract DistributionService is
29
- ComponentServiceBase,
30
- IDistributionService
31
- {
32
- using NftIdLib for NftId;
33
-
34
- address internal _registryAddress;
35
-
36
- function _initialize(
37
- address owner,
38
- bytes memory data
39
- )
40
- internal
41
- initializer
42
- virtual override
43
- {
44
- address initialOwner;
45
- address registryAddress;
46
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
47
- // TODO while DistributionService is not deployed in DistributionServiceManager constructor
48
- // owner is DistributionServiceManager deployer
49
- _initializeService(registryAddress, owner);
50
-
51
- _registerInterface(type(IDistributionService).interfaceId);
52
- }
53
-
54
- function getDomain() public pure override(Service, IService) returns(ObjectType) {
55
- return DISTRIBUTION();
56
- }
57
-
58
- function register(address distributionAddress)
59
- external
60
- returns(NftId distributionNftId)
61
- {
62
- address distributionOwner = msg.sender;
63
- IBaseComponent distribution = IBaseComponent(distributionAddress);
64
-
65
- IRegistry.ObjectInfo memory info;
66
- bytes memory data;
67
- (info, data) = getRegistryService().registerDistribution(distribution, distributionOwner);
68
-
69
- NftId instanceNftId = info.parentNftId;
70
- IInstance instance = _getInstance(instanceNftId);
71
- InstanceService instanceService = getInstanceService();
72
-
73
- bool hasRole = instanceService.hasRole(
74
- distributionOwner,
75
- DISTRIBUTION_OWNER_ROLE(),
76
- address(instance));
77
-
78
- if(!hasRole) {
79
- revert ExpectedRoleMissing(DISTRIBUTION_OWNER_ROLE(), distributionOwner);
80
- }
81
-
82
- distributionNftId = info.nftId;
83
- string memory distributionName;
84
- ISetup.DistributionSetupInfo memory initialSetup;
85
- (distributionName, initialSetup) = _decodeAndVerifyDistributionData(data);
86
- instance.createDistributionSetup(distributionNftId, initialSetup);
87
-
88
- instanceService.createTarget(instanceNftId, distributionAddress, distributionName);
89
-
90
- distribution.linkToRegisteredNftId();
91
- }
92
-
93
- function _decodeAndVerifyDistributionData(bytes memory data)
94
- internal
95
- returns(string memory name, ISetup.DistributionSetupInfo memory setup)
96
- {
97
- (name, setup) = abi.decode(
98
- data,
99
- (string, ISetup.DistributionSetupInfo)
100
- );
101
-
102
- // TODO add checks if applicable
103
- }
104
-
105
- function setFees(
106
- Fee memory distributionFee
107
- )
108
- external
109
- override
110
- {
111
- (IRegistry.ObjectInfo memory info , IInstance instance) = _getAndVerifyComponentInfoAndInstance(DISTRIBUTION());
112
- InstanceReader instanceReader = instance.getInstanceReader();
113
- NftId distributionNftId = info.nftId;
114
-
115
- ISetup.DistributionSetupInfo memory distSetupInfo = instanceReader.getDistributionSetupInfo(distributionNftId);
116
- distSetupInfo.distributionFee = distributionFee;
117
-
118
- instance.updateDistributionSetup(distributionNftId, distSetupInfo, KEEP_STATE());
119
- }
120
- }
@@ -1,51 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {DistributionService} from "./DistributionService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {REGISTRY} from "../../types/ObjectType.sol";
10
-
11
- contract DistributionServiceManager is ProxyManager {
12
-
13
- DistributionService private _distributionService;
14
-
15
- /// @dev initializes proxy manager with distribution service implementation and deploys instance
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- DistributionService distSrv = new DistributionService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(distSrv),
25
- data);
26
-
27
- _distributionService = DistributionService(address(versionable));
28
-
29
- // TODO `thi` must have a role or own nft to register service
30
- //Registry registry = Registry(registryAddress);
31
- //address registryServiceAddress = registry.getServiceAddress(REGISTRY(), _distributionService.getMajorVersion());
32
- //RegistryService registryService = RegistryService(registryServiceAddress);
33
- //registryService.registerService(_distributionService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_distributionService));
40
- }
41
-
42
- //--- view functions ----------------------------------------------------//
43
- function getDistributionService()
44
- external
45
- view
46
- returns (DistributionService distributionService)
47
- {
48
- return _distributionService;
49
- }
50
-
51
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {StateId} from "../../types/StateId.sol";
7
- import {IService} from "../../shared/IService.sol";
8
- import {IBundle} from "../module/IBundle.sol";
9
- import {IInstance} from "../../instance/IInstance.sol";
10
-
11
- interface IBundleService is IService {
12
- error ErrorIBundleServiceInsufficientAllowance(address bundleOwner, address tokenHandlerAddress, uint256 amount);
13
-
14
- function createBundle(
15
- address owner,
16
- Fee memory fee,
17
- uint256 amount,
18
- uint256 lifetime,
19
- bytes calldata filter
20
- ) external returns(NftId bundleNftId);
21
-
22
- function setBundleFee(
23
- NftId bundleNftId,
24
- Fee memory fee
25
- ) external;
26
-
27
- function updateBundle(NftId instanceNftId, NftId bundleNftId, IBundle.BundleInfo memory bundleInfo, StateId state) external;
28
-
29
- function underwritePolicy(IInstance instanceNftId, NftId policyNftId, NftId bundleNftId, uint256 collateralAmount, uint256 netPremium) external;
30
-
31
- function increaseBalance(IInstance instance, NftId bundleNftId, uint256 amount) external;
32
-
33
- function closePolicy(IInstance instance, NftId policyNftId, NftId bundleNftId, uint256 collateralAmount) external;
34
-
35
- // function fundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
36
-
37
- // function defundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
38
-
39
- function lockBundle(NftId bundleNftId) external;
40
-
41
- function unlockBundle(NftId bundleNftId) external;
42
-
43
- // function closeBundle(NftId bundleNftId) external;
44
- }
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType} from "../../types/ObjectType.sol";
6
- import {RoleId} from "../../types/RoleId.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IService} from "../../shared/IService.sol";
9
-
10
- // TODO rename to registry service
11
- interface IComponentOwnerService is IService {
12
-
13
- // TODO move to product/pool services
14
- function lock(IBaseComponent component) external;
15
-
16
- // TODO move to product/pool services
17
- function unlock(IBaseComponent component) external;
18
-
19
- function getRoleForType(ObjectType cType) external pure returns (RoleId role);
20
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- interface IDistributionService is IService {
9
- function setFees(
10
- Fee memory distributionFee
11
- ) external;
12
- }
@@ -1,94 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IPolicyService is IService {
16
-
17
- error ErrorIPolicyServiceInsufficientAllowance(address customer, address tokenHandlerAddress, uint256 amount);
18
- error ErrorIPolicyServicePremiumAlreadyPaid(NftId policyNftId, uint256 premiumPaidAmount);
19
- error ErrorIPolicyServicePolicyNotActivated(NftId policyNftId);
20
- error ErrorIPolicyServicePolicyAlreadyClosed(NftId policyNftId);
21
- error ErrorIPolicyServicePolicyNotActive(NftId policyNftId, StateId state);
22
- error ErrorIPolicyServicePremiumNotFullyPaid(NftId policyNftId, uint256 premiumAmount, uint256 premiumPaidAmount);
23
- error ErrorIPolicyServiceOpenClaims(NftId policyNftId, uint16 openClaimsCount);
24
- error ErrorIPolicyServicePolicyHasNotExpired(NftId policyNftId, Timestamp expiredAt);
25
-
26
- function calculatePremium(
27
- RiskId riskId,
28
- uint256 sumInsuredAmount,
29
- uint256 lifetime,
30
- bytes memory applicationData,
31
- NftId bundleNftId,
32
- ReferralId referralId
33
- )
34
- external
35
- view
36
- returns (
37
- uint256 premiumAmount,
38
- uint256 productFeeAmount,
39
- uint256 poolFeeAmount,
40
- uint256 bundleFeeAmount,
41
- uint256 distributionFeeAmount
42
- );
43
-
44
-
45
- function createApplication(
46
- address applicationOwner,
47
- RiskId riskId,
48
- uint256 sumInsuredAmount,
49
- uint256 lifetime,
50
- bytes memory applicationData,
51
- NftId bundleNftId,
52
- ReferralId referralId
53
- ) external returns (NftId nftId);
54
-
55
- /**
56
- * @dev revokes the application represented by {policyNftId}.
57
- * an application can only be revoked in applied state.
58
- * only the application holder may revoke an application.
59
- */
60
- function revoke(NftId policyNftId) external;
61
-
62
- /**
63
- * @dev underwrites the policy represented by {policyNftId}.
64
- * optionally collects premiums and activates the policy.
65
- * - premium payment is only attempted if requirePremiumPayment is set to true
66
- * - activation is only done if activateAt is a non-zero timestamp
67
- */
68
- function underwrite(
69
- NftId policyNftId,
70
- bool requirePremiumPayment,
71
- Timestamp activateAt
72
- ) external;
73
-
74
- // function decline(uint256 nftId) external;
75
- // function expire(uint256 nftId) external;
76
-
77
- function collectPremium(NftId policyNftId, Timestamp activateAt) external;
78
-
79
- function activate(NftId policyNftId, Timestamp activateAt) external;
80
-
81
-
82
- function close(NftId nftId) external;
83
-
84
- // function createClaim(uint256 nftId, uint256 claimAmount) external;
85
- // function confirmClaim(uint256 nftId, uint256 claimId, uint256 claimAmount) external;
86
- // function declineClaim(uint256 nftId, uint256 claimId) external;
87
- // function closeClaim(uint256 nftId, uint256 claimId) external; // TODO payoutClaim() -> implicit close when payed out in full
88
-
89
- function calculateRequiredCollateral(
90
- UFixed collateralizationLevel,
91
- uint256 sumInsuredAmount
92
- ) external pure returns(uint256 collateralAmount);
93
-
94
- }
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {StateId} from "../../types/StateId.sol";
7
- import {IService} from "../../shared/IService.sol";
8
- import {IBundle} from "../module/IBundle.sol";
9
- import {IInstance} from "../../instance/IInstance.sol";
10
-
11
- interface IPoolService is IService {
12
-
13
- function register(address poolAddress) external returns(NftId);
14
-
15
- function setFees(
16
- Fee memory poolFee,
17
- Fee memory stakingFee,
18
- Fee memory performanceFee
19
- ) external;
20
- }