@etherisc/gif-next 0.0.2-ce87da3-250 → 0.0.2-cf22d7b-845

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 (525) hide show
  1. package/README.md +8 -84
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +322 -252
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1349 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +249 -174
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +266 -91
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +68 -54
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +315 -2127
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +219 -78
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +456 -2872
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +204 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +601 -422
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +287 -280
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -78
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3458 -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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  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 +1 -1
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  42. package/artifacts/contracts/instance/module/{ISetup.sol/ISetup.json → IComponents.sol/IComponents.json} +2 -2
  43. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  46. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  47. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  48. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  49. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +278 -221
  54. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  55. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +480 -213
  56. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  58. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  59. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +527 -284
  60. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  62. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  64. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  65. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +124 -98
  74. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  75. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  76. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  77. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +266 -142
  78. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  79. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +536 -0
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +408 -219
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +75 -72
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  92. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  93. package/artifacts/contracts/{components → product}/Product.sol/Product.json +433 -282
  94. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  95. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  96. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  98. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  99. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  100. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +188 -19
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +305 -85
  104. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  105. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  106. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.json +425 -34
  108. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  109. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +344 -106
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +93 -54
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +834 -89
  116. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  118. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  120. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  121. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  122. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  123. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  124. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  125. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  126. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  130. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  131. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +209 -166
  132. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  133. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1475 -0
  134. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +788 -0
  136. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +96 -122
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  140. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  144. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  145. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +222 -104
  146. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +860 -0
  148. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  149. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  150. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  152. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  154. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  156. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  158. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  159. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  160. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  161. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  162. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IService.sol/IService.json +91 -27
  164. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  165. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  166. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  167. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  169. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  171. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  172. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  173. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  174. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  175. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  177. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  178. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  179. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  180. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  181. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  182. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -23
  183. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  184. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  185. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  186. package/artifacts/contracts/shared/Service.sol/Service.json +99 -30
  187. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  188. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  189. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  190. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  191. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  192. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  193. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  194. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  195. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  196. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  197. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  198. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  199. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  200. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  201. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  202. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  204. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  205. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  206. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  207. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  208. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  209. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  210. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  211. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  212. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  213. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  214. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  216. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  218. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  220. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  221. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  222. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  223. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  224. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  225. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  226. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  227. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  228. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  230. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  232. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  234. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  236. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  238. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  240. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  242. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  243. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  244. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  246. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  247. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  248. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  249. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  250. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  251. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  252. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  254. package/contracts/{components → distribution}/Distribution.sol +49 -75
  255. package/contracts/distribution/DistributionService.sol +298 -0
  256. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  257. package/contracts/{components → distribution}/IDistributionComponent.sol +11 -37
  258. package/contracts/{instance/service → distribution}/IDistributionService.sol +25 -25
  259. package/contracts/instance/BundleManager.sol +15 -14
  260. package/contracts/instance/IInstance.sol +53 -66
  261. package/contracts/instance/IInstanceService.sol +40 -18
  262. package/contracts/instance/Instance.sol +139 -195
  263. package/contracts/instance/InstanceAdmin.sol +331 -0
  264. package/contracts/instance/InstanceAuthorizationsLib.sol +349 -0
  265. package/contracts/instance/InstanceReader.sol +135 -63
  266. package/contracts/instance/InstanceService.sol +226 -340
  267. package/contracts/instance/InstanceServiceManager.sol +11 -21
  268. package/contracts/instance/InstanceStore.sol +260 -0
  269. package/contracts/instance/base/BalanceStore.sol +118 -0
  270. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  271. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +12 -14
  272. package/contracts/instance/module/IAccess.sol +19 -20
  273. package/contracts/instance/module/IBundle.sol +8 -8
  274. package/contracts/instance/module/{ISetup.sol → IComponents.sol} +24 -20
  275. package/contracts/instance/module/IDistribution.sol +7 -5
  276. package/contracts/instance/module/IPolicy.sol +53 -16
  277. package/contracts/instance/module/IRisk.sol +1 -1
  278. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  279. package/contracts/pool/BundleService.sol +296 -0
  280. package/contracts/pool/BundleServiceManager.sol +42 -0
  281. package/contracts/pool/IBundleService.sol +106 -0
  282. package/contracts/pool/IPoolComponent.sol +112 -0
  283. package/contracts/pool/IPoolService.sol +150 -0
  284. package/contracts/pool/Pool.sol +299 -0
  285. package/contracts/pool/PoolService.sol +453 -0
  286. package/contracts/pool/PoolServiceManager.sol +42 -0
  287. package/contracts/product/ApplicationService.sol +254 -0
  288. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  289. package/contracts/product/ClaimService.sol +442 -0
  290. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  291. package/contracts/{instance/service → product}/IApplicationService.sol +16 -36
  292. package/contracts/product/IClaimService.sol +93 -0
  293. package/contracts/{instance/service → product}/IPolicyService.sol +37 -48
  294. package/contracts/product/IPricingService.sol +39 -0
  295. package/contracts/product/IProductComponent.sol +42 -0
  296. package/contracts/product/IProductService.sol +33 -0
  297. package/contracts/product/PolicyService.sol +475 -0
  298. package/contracts/product/PolicyServiceManager.sol +42 -0
  299. package/contracts/product/PricingService.sol +301 -0
  300. package/contracts/product/PricingServiceManager.sol +42 -0
  301. package/contracts/product/Product.sol +377 -0
  302. package/contracts/product/ProductService.sol +124 -0
  303. package/contracts/product/ProductServiceManager.sol +42 -0
  304. package/contracts/registry/ChainNft.sol +16 -1
  305. package/contracts/registry/IRegistry.sol +46 -21
  306. package/contracts/registry/IRegistryService.sol +39 -37
  307. package/contracts/registry/ITransferInterceptor.sol +1 -0
  308. package/contracts/registry/Registry.sol +208 -96
  309. package/contracts/registry/RegistryAdmin.sol +237 -0
  310. package/contracts/registry/RegistryService.sol +69 -86
  311. package/contracts/registry/RegistryServiceManager.sol +21 -25
  312. package/contracts/registry/ReleaseManager.sol +458 -181
  313. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  314. package/contracts/registry/TokenRegistry.sol +261 -62
  315. package/contracts/shared/AccessManagerCustom.sol +736 -0
  316. package/contracts/shared/AccessManagerExtended.sol +470 -0
  317. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  318. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  319. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  320. package/contracts/shared/Component.sol +278 -0
  321. package/contracts/shared/ComponentService.sol +596 -0
  322. package/contracts/shared/ComponentServiceManager.sol +35 -0
  323. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  324. package/contracts/shared/ERC165.sol +1 -1
  325. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  326. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  327. package/contracts/shared/IComponent.sol +70 -0
  328. package/contracts/shared/IComponentService.sol +91 -0
  329. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  330. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  331. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  332. package/contracts/shared/INftOwnable.sol +2 -2
  333. package/contracts/shared/IPolicyHolder.sol +29 -10
  334. package/contracts/shared/IRegistryLinked.sol +0 -1
  335. package/contracts/shared/IService.sol +7 -7
  336. package/contracts/shared/IVersionable.sol +1 -1
  337. package/contracts/shared/InitializableCustom.sol +177 -0
  338. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  339. package/contracts/shared/KeyValueStore.sol +127 -0
  340. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  341. package/contracts/shared/NftIdSetManager.sol +65 -0
  342. package/contracts/shared/NftOwnable.sol +3 -16
  343. package/contracts/shared/PolicyHolder.sol +40 -19
  344. package/contracts/shared/ProxyManager.sol +34 -4
  345. package/contracts/shared/Registerable.sol +15 -14
  346. package/contracts/shared/RegistryLinked.sol +0 -5
  347. package/contracts/shared/Service.sol +29 -10
  348. package/contracts/shared/TokenHandler.sol +37 -6
  349. package/contracts/shared/Versionable.sol +1 -1
  350. package/contracts/staking/IStaking.sol +168 -0
  351. package/contracts/staking/IStakingService.sol +149 -0
  352. package/contracts/staking/StakeManagerLib.sol +179 -0
  353. package/contracts/staking/Staking.sol +551 -0
  354. package/contracts/staking/StakingManager.sol +54 -0
  355. package/contracts/staking/StakingReader.sol +187 -0
  356. package/contracts/staking/StakingService.sol +406 -0
  357. package/contracts/staking/StakingServiceManager.sol +45 -0
  358. package/contracts/staking/StakingStore.sol +572 -0
  359. package/contracts/staking/TargetManagerLib.sol +207 -0
  360. package/contracts/{types → type}/AddressSet.sol +1 -1
  361. package/contracts/type/Amount.sol +128 -0
  362. package/contracts/{types → type}/Blocknumber.sol +21 -3
  363. package/contracts/{types → type}/ClaimId.sol +25 -2
  364. package/contracts/{types → type}/Fee.sol +33 -23
  365. package/contracts/{types → type}/NftId.sol +21 -15
  366. package/contracts/{types → type}/NftIdSet.sol +2 -2
  367. package/contracts/{types → type}/ObjectType.sol +20 -7
  368. package/contracts/{types → type}/PayoutId.sol +33 -5
  369. package/contracts/{types → type}/Referral.sol +5 -1
  370. package/contracts/{types → type}/RiskId.sol +1 -1
  371. package/contracts/{types → type}/RoleId.sol +66 -13
  372. package/contracts/type/Seconds.sol +81 -0
  373. package/contracts/{types → type}/StateId.sol +24 -6
  374. package/contracts/{types → type}/Timestamp.sol +18 -13
  375. package/contracts/{types → type}/UFixed.sol +1 -0
  376. package/contracts/{types → type}/Version.sol +2 -1
  377. package/package.json +3 -3
  378. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  379. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  380. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  381. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  382. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  383. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  384. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  385. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  386. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  387. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  388. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  389. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  390. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  391. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  392. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  393. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  394. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  395. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  396. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  397. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  398. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  399. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  400. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  401. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  402. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -869
  403. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  404. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -657
  405. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  406. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1096
  407. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  408. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  409. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  410. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  411. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  412. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  413. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  414. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1254
  415. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  416. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -753
  417. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  418. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  419. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  420. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
  421. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  422. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  423. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  424. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -347
  425. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  426. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1120
  428. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -717
  430. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  432. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
  434. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  436. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  438. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  439. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  440. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  441. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  442. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  443. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  444. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  445. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  446. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  447. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  448. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  449. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  450. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  451. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  452. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  453. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  454. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  455. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  456. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  457. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  458. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  459. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  460. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  461. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  462. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  463. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  464. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  465. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  466. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  467. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  468. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  469. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  470. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  471. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  472. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  473. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  474. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  475. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  476. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  477. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  478. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  479. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  480. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  481. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  482. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  483. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  484. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  485. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  486. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  487. package/contracts/components/Component.sol +0 -241
  488. package/contracts/components/IComponent.sol +0 -54
  489. package/contracts/components/IPoolComponent.sol +0 -87
  490. package/contracts/components/IProductComponent.sol +0 -39
  491. package/contracts/components/Pool.sol +0 -254
  492. package/contracts/components/Product.sol +0 -285
  493. package/contracts/instance/InstanceAccessManager.sol +0 -297
  494. package/contracts/instance/base/ComponentService.sol +0 -134
  495. package/contracts/instance/base/KeyValueStore.sol +0 -172
  496. package/contracts/instance/module/ITreasury.sol +0 -23
  497. package/contracts/instance/service/ApplicationService.sol +0 -268
  498. package/contracts/instance/service/BundleService.sol +0 -298
  499. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  500. package/contracts/instance/service/ClaimService.sol +0 -151
  501. package/contracts/instance/service/DistributionService.sol +0 -366
  502. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  503. package/contracts/instance/service/IBundleService.sol +0 -54
  504. package/contracts/instance/service/IClaimService.sol +0 -61
  505. package/contracts/instance/service/IPoolService.sol +0 -20
  506. package/contracts/instance/service/IProductService.sol +0 -40
  507. package/contracts/instance/service/PolicyService.sol +0 -476
  508. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  509. package/contracts/instance/service/PoolService.sol +0 -109
  510. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  511. package/contracts/instance/service/ProductService.sol +0 -233
  512. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  513. package/contracts/registry/RegistryAccessManager.sol +0 -216
  514. package/contracts/shared/ContractDeployerLib.sol +0 -72
  515. package/contracts/test/TestFee.sol +0 -25
  516. package/contracts/test/TestRegisterable.sol +0 -18
  517. package/contracts/test/TestRoleId.sol +0 -14
  518. package/contracts/test/TestService.sol +0 -25
  519. package/contracts/test/TestVersion.sol +0 -44
  520. package/contracts/test/TestVersionable.sol +0 -17
  521. package/contracts/test/Usdc.sol +0 -26
  522. package/contracts/types/ChainId.sol +0 -38
  523. package/contracts/types/NumberId.sol +0 -52
  524. /package/contracts/{types → type}/DistributorType.sol +0 -0
  525. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,16 +1,19 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
- import {UFixed} from "../../types/UFixed.sol";
8
- import {DistributorType} from "../../types/DistributorType.sol";
9
- import {ReferralId} from "../../types/Referral.sol";
10
- import {Timestamp} from "../../types/Timestamp.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {NftId} from "../type/NftId.sol";
6
+ import {Fee} from "../type/Fee.sol";
7
+ import {IPolicy} from "../instance/module/IPolicy.sol";
8
+ import {IService} from "../shared/IService.sol";
9
+ import {UFixed} from "../type/UFixed.sol";
10
+ import {DistributorType} from "../type/DistributorType.sol";
11
+ import {ReferralId} from "../type/Referral.sol";
12
+ import {Timestamp} from "../type/Timestamp.sol";
11
13
 
12
14
 
13
15
  interface IDistributionService is IService {
16
+ error ErrorDistributionServiceCallerNotRegistered(address caller);
14
17
  error ErrorIDistributionServiceParentNftIdNotInstance(NftId nftId, NftId parentNftId);
15
18
  error ErrorIDistributionServiceCallerNotDistributor(address caller);
16
19
  error ErrorIDistributionServiceInvalidReferralId(ReferralId referralId);
@@ -20,11 +23,12 @@ interface IDistributionService is IService {
20
23
  error ErrorIDistributionServiceExpiryTooLong(uint256 maxReferralLifetime, uint256 expiryAt);
21
24
  error ErrorIDistributionServiceInvalidReferral(string code);
22
25
  error ErrorIDistributionServiceExpirationInvalid(Timestamp expiryAt);
26
+ error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
27
+ error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
28
+ error ErrorIDistributionServiceMaxDiscountTooHigh(uint256 maxDiscountPercentage, uint256 limit);
29
+ error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
30
+ error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
23
31
 
24
- function setFees(
25
- Fee memory distributionFee
26
- ) external;
27
-
28
32
  function createDistributorType(
29
33
  string memory name,
30
34
  UFixed minDiscountPercentage,
@@ -45,11 +49,12 @@ interface IDistributionService is IService {
45
49
  bytes memory data
46
50
  ) external returns (NftId distributorNftId);
47
51
 
48
- function updateDistributorType(
49
- NftId distributorNftId,
50
- DistributorType distributorType,
51
- bytes memory data
52
- ) external;
52
+ // TODO re-enable and reorganize (service contract too large)
53
+ // function updateDistributorType(
54
+ // NftId distributorNftId,
55
+ // DistributorType distributorType,
56
+ // bytes memory data
57
+ // ) external;
53
58
 
54
59
  function createReferral(
55
60
  NftId distributorNftId,
@@ -64,18 +69,13 @@ interface IDistributionService is IService {
64
69
 
65
70
  /// @dev callback from product service when selling a policy for a specific referralId
66
71
  function processSale(
67
- ReferralId referralId,
68
- uint256 premiumAmount
69
- ) external;
70
-
71
- function calculateFeeAmount(
72
72
  NftId distributionNftId,
73
73
  ReferralId referralId,
74
- uint256 netPremiumAmount
75
- ) external view returns (uint256 feeAmount);
74
+ IPolicy.Premium memory premium
75
+ ) external;
76
76
 
77
77
  function referralIsValid(
78
78
  NftId distributorNftId,
79
79
  ReferralId referralId
80
80
  ) external view returns (bool isValid);
81
- }
81
+ }
@@ -2,15 +2,15 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IInstance} from "./IInstance.sol";
5
- import {INSTANCE} from "../types/ObjectType.sol";
5
+ import {INSTANCE} from "../type/ObjectType.sol";
6
6
  import {InstanceReader} from "./InstanceReader.sol";
7
7
  import {IPolicy} from "../instance/module/IPolicy.sol";
8
8
  import {IRegistry} from "../registry/IRegistry.sol";
9
- import {LibNftIdSet} from "../types/NftIdSet.sol";
10
- import {NftId} from "../types/NftId.sol";
11
- import {TimestampLib} from "../types/Timestamp.sol";
9
+ import {LibNftIdSet} from "../type/NftIdSet.sol";
10
+ import {NftId} from "../type/NftId.sol";
11
+ import {TimestampLib} from "../type/Timestamp.sol";
12
12
 
13
- import {ObjectManager} from "./ObjectManager.sol";
13
+ import {ObjectManager} from "./base/ObjectManager.sol";
14
14
 
15
15
  contract BundleManager is
16
16
  ObjectManager
@@ -22,9 +22,10 @@ contract BundleManager is
22
22
  event LogBundleManagerBundleAdded(NftId poolNftId, NftId bundleNftId);
23
23
  event LogBundleManagerBundleUnlocked(NftId poolNftId, NftId bundleNftId);
24
24
  event LogBundleManagerBundleLocked(NftId poolNftId, NftId bundleNftId);
25
+ event LogBundleManagerBundleClosed(NftId poolNftId, NftId bundleNftId);
25
26
 
26
- error ErrorBundleManagerErrorPolicyAlreadyActivated(NftId policyNftId);
27
- error ErrorBundleManagerErrorBundleLocked(NftId bundleNftId, NftId policyNftId);
27
+ error ErrorBundleManagerPolicyAlreadyActivated(NftId policyNftId);
28
+ error ErrorBundleManagerBundleLocked(NftId bundleNftId, NftId policyNftId);
28
29
  error ErrorBundleManagerPolicyWithOpenClaims(NftId policyNftId, uint256 openClaimsCount);
29
30
  error ErrorBundleManagerPolicyNotCloseable(NftId policyNftId);
30
31
  error ErrorBundleManagerBundleUnknown(NftId bundleNftId);
@@ -32,9 +33,8 @@ contract BundleManager is
32
33
 
33
34
  mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
34
35
 
35
- /// @dev links a policy with its bundle
36
- // to link a policy it MUST NOT yet have been activated
37
- // the bundle MUST be unlocked (active) for linking (underwriting) and registered with this instance
36
+ /// @dev links a policy to its bundle
37
+ // to link a policy it MUST NOT yet have been linked
38
38
  function linkPolicy(NftId policyNftId) external restricted() {
39
39
  NftId bundleNftId = _instance.getInstanceReader().getPolicyInfo(policyNftId).bundleNftId;
40
40
  // decision will likely depend on the decision what to check here and what in the service
@@ -42,7 +42,7 @@ contract BundleManager is
42
42
 
43
43
  // ensure bundle is unlocked (in active set) and registered with this instance
44
44
  if (!_isActive(poolNftId, bundleNftId)) {
45
- revert ErrorBundleManagerErrorBundleLocked(bundleNftId, policyNftId);
45
+ revert ErrorBundleManagerBundleLocked(bundleNftId, policyNftId);
46
46
  }
47
47
 
48
48
  LibNftIdSet.add(_activePolicies[bundleNftId], policyNftId);
@@ -71,7 +71,7 @@ contract BundleManager is
71
71
  }
72
72
 
73
73
 
74
- /// @dev add a new bundle to a riskpool registerd with this instance
74
+ /// @dev add a new bundle to a pool registerd with this instance
75
75
  // the corresponding pool is fetched via instance reader
76
76
  function add(NftId bundleNftId) external restricted() {
77
77
  NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
@@ -85,14 +85,15 @@ contract BundleManager is
85
85
  emit LogBundleManagerBundleAdded(poolNftId, bundleNftId);
86
86
  }
87
87
 
88
- /// @dev unlocked (active) bundles are available to underwrite new policies
88
+
89
+ /// @dev unlocked (active) bundles are available to collateralize new policies
89
90
  function unlock(NftId bundleNftId) external restricted() {
90
91
  NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
91
92
  _activate(poolNftId, bundleNftId);
92
93
  emit LogBundleManagerBundleUnlocked(poolNftId, bundleNftId);
93
94
  }
94
95
 
95
- /// @dev locked (deactivated) bundles may not underwrite any new policies
96
+ /// @dev locked (deactivated) bundles may not collateralize any new policies
96
97
  function lock(NftId bundleNftId) external restricted() {
97
98
  NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
98
99
  _deactivate(poolNftId, bundleNftId);
@@ -3,90 +3,77 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
- import {NftId} from "../types/NftId.sol";
7
- import {StateId} from "../types/StateId.sol";
8
- import {RiskId} from "../types/RiskId.sol";
9
-
6
+ import {ClaimId} from "../type/ClaimId.sol";
7
+ import {DistributorType} from "../type/DistributorType.sol";
8
+ import {PayoutId} from "../type/PayoutId.sol";
9
+ import {NftId} from "../type/NftId.sol";
10
+ import {StateId} from "../type/StateId.sol";
11
+ import {ReferralId} from "../type/Referral.sol";
12
+ import {RiskId} from "../type/RiskId.sol";
13
+ import {VersionPart} from "../type/Version.sol";
14
+ import {Key32} from "../type/Key32.sol";
15
+ import {RoleId} from "../type/RoleId.sol";
16
+
17
+ import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
10
18
  import {IRegisterable} from "../shared/IRegisterable.sol";
11
19
 
12
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
20
+ import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
21
+
22
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
13
23
  import {BundleManager} from "./BundleManager.sol";
14
24
  import {InstanceReader} from "./InstanceReader.sol";
25
+ import {InstanceStore} from "./InstanceStore.sol";
15
26
 
16
- import {IBundle} from "./module/IBundle.sol";
17
- import {IBundleService} from "./service/IBundleService.sol";
18
- import {IDistributionService} from "./service/IDistributionService.sol";
19
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
20
- import {IKeyValueStore} from "./base/IKeyValueStore.sol";
21
- import {IPolicy} from "./module/IPolicy.sol";
22
- import {IDistribution} from "./module/IDistribution.sol";
23
- import {IPolicyService} from "./service/IPolicyService.sol";
24
- import {IPoolService} from "./service/IPoolService.sol";
25
- import {IProductService} from "./service/IProductService.sol";
26
- import {IPolicyService} from "./service/IPolicyService.sol";
27
- import {IBundleService} from "./service/IBundleService.sol";
28
- import {IRisk} from "./module/IRisk.sol";
29
- import {ISetup} from "./module/ISetup.sol";
30
- import {NftId} from "../types/NftId.sol";
31
- import {RiskId} from "../types/RiskId.sol";
32
- import {StateId} from "../types/StateId.sol";
33
- import {VersionPart} from "../types/Version.sol";
34
- import {Key32} from "../types/Key32.sol";
35
-
27
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
36
28
 
29
+ import {IAccess} from "./module/IAccess.sol";
37
30
 
31
+ import {IBundleService} from "../pool/IBundleService.sol";
32
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
33
+ import {IPolicyService} from "../product/IPolicyService.sol";
34
+ import {IPoolService} from "../pool/IPoolService.sol";
35
+ import {IProductService} from "../product/IProductService.sol";
36
+ import {IPolicyService} from "../product/IPolicyService.sol";
37
+ import {IBundleService} from "../pool/IBundleService.sol";
38
38
 
39
- interface IInstance is IRegisterable, IKeyValueStore, IAccessManaged {
40
-
41
- function getDistributionService() external view returns (IDistributionService);
42
- function getProductService() external view returns (IProductService);
43
- function getPoolService() external view returns (IPoolService);
44
- function getPolicyService() external view returns (IPolicyService);
45
- function getBundleService() external view returns (IBundleService);
46
39
 
47
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external;
48
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external;
49
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
50
40
 
51
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external;
52
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external;
53
- function updatePoolSetupState(NftId poolNftId, StateId newState) external;
41
+ interface IInstance is
42
+ IRegisterable,
43
+ ITransferInterceptor,
44
+ IAccessManaged
45
+ {
46
+ error ErrorInstanceInstanceAdminZero();
47
+ error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
48
+ error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
54
49
 
55
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
56
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
57
- function updateBundleState(NftId bundleNftId, StateId newState) external;
50
+ error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
51
+ error ErrorInstanceBundleManagerInstanceMismatch(address instance);
52
+ error ErrorInstanceBundleManagerAuthorityMismatch(address instanceAuthority);
58
53
 
59
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
60
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
61
- function updateProductSetupState(NftId productNftId, StateId newState) external;
54
+ error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
62
55
 
63
- function createDistributorType(Key32 distributorKey, IDistribution.DistributorTypeInfo memory info) external;
64
- function updateDistributorType(Key32 distributorKey, IDistribution.DistributorTypeInfo memory info, StateId newState) external;
65
- function updateDistributorTypeState(Key32 distributorKey, StateId newState) external;
56
+ error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
57
+ error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
66
58
 
67
- function createDistributor(NftId nftId, IDistribution.DistributorInfo memory info) external;
68
- function updateDistributor(NftId nftId, IDistribution.DistributorInfo memory info, StateId newState) external;
69
- function updateDistributorState(NftId nftId, StateId newState) external;
59
+ function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
60
+ function grantRole(RoleId roleId, address account) external;
61
+ function revokeRole(RoleId roleId, address account) external;
70
62
 
71
- function createReferral(Key32 referralKey, IDistribution.ReferralInfo memory referralInfo) external;
72
- function updateReferral(Key32 referralKey, IDistribution.ReferralInfo memory referralInfo, StateId newState) external;
73
- function updateReferralState(Key32 referralKey, StateId newState) external;
63
+ function createTarget(address target, string memory name) external;
64
+ function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
65
+ function setTargetLocked(address target, bool locked) external;
74
66
 
75
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
76
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
77
- function updateRiskState(RiskId riskId, StateId newState) external;
78
-
79
- function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external;
80
- function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
81
- function updateApplicationState(NftId applicationNftId, StateId newState) external;
82
-
83
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
84
- function updatePolicyState(NftId policyNftId, StateId newState) external;
85
-
86
- // TODO add claims/payouts function to instance
87
- // function updateClaims(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
67
+ function getDistributionService() external view returns (IDistributionService);
68
+ function getProductService() external view returns (IProductService);
69
+ function getPoolService() external view returns (IPoolService);
70
+ function getPolicyService() external view returns (IPolicyService);
71
+ function getBundleService() external view returns (IBundleService);
88
72
 
89
73
  function getMajorVersion() external pure returns (VersionPart majorVersion);
90
74
  function getInstanceReader() external view returns (InstanceReader);
91
75
  function getBundleManager() external view returns (BundleManager);
76
+ function getInstanceAdmin() external view returns (InstanceAdmin);
77
+ function getInstanceStore() external view returns (InstanceStore);
78
+ function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable);
92
79
  }
@@ -1,24 +1,24 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {NftId} from "../types/NftId.sol";
5
- import {ObjectType} from "../types/ObjectType.sol";
6
- import {RoleId} from "../types/RoleId.sol";
4
+ import {NftId} from "../type/NftId.sol";
5
+ import {ObjectType} from "../type/ObjectType.sol";
6
+ import {RoleId} from "../type/RoleId.sol";
7
7
  import {IService} from "../shared/IService.sol";
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
8
 
10
- import {IRegisterable} from "../shared/IRegisterable.sol";
11
- import {IComponent} from "../components/IComponent.sol";
12
-
13
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
9
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
14
10
  import {Instance} from "./Instance.sol";
15
11
  import {InstanceReader} from "./InstanceReader.sol";
16
12
  import {BundleManager} from "./BundleManager.sol";
13
+ import {InstanceStore} from "./InstanceStore.sol";
17
14
 
18
15
  interface IInstanceService is IService {
19
16
 
17
+ error ErrorInstanceServiceComponentNotInstanceLinked(address component);
18
+
20
19
  error ErrorInstanceServiceMasterInstanceAlreadySet();
21
20
  error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
21
+ error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
22
22
  error ErrorInstanceServiceMasterBundleManagerAlreadySet();
23
23
  error ErrorInstanceServiceInstanceAddressZero();
24
24
 
@@ -27,33 +27,55 @@ interface IInstanceService is IService {
27
27
  error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
28
28
  error ErrorInstanceServiceInstanceReaderInstanceMismatch();
29
29
 
30
- error ErrorInstanceServiceAccessManagerZero();
30
+ error ErrorInstanceServiceInstanceAdminZero();
31
31
  error ErrorInstanceServiceInstanceReaderZero();
32
32
  error ErrorInstanceServiceBundleManagerZero();
33
+ error ErrorInstanceServiceInstanceStoreZero();
33
34
 
34
35
  error ErrorInstanceServiceInstanceAuthorityMismatch();
36
+ error ErrorInstanceServiceBundleManagerAuthorityMismatch();
35
37
  error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
36
38
  error ErrorInstanceServiceBundleMangerInstanceMismatch();
39
+ error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
37
40
 
38
41
  error ErrorInstanceServiceRequestUnauhorized(address caller);
39
- error ErrorInstanceServiceNotInstanceOwner(address caller, NftId instanceNftId);
42
+ error ErrorInstanceServiceNotInstance(NftId nftId);
40
43
  error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
44
+ error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
41
45
  error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
42
46
 
43
- event LogInstanceCloned(address clonedAccessManagerAddress, address clonedInstanceAddress, address clonedInstanceReaderAddress, NftId clonedInstanceNftId);
47
+ event LogInstanceCloned(
48
+ address clonedOzAccessManager,
49
+ address clonedInstanceAccessManager,
50
+ address clonedInstance,
51
+ address clonedInstanceStore,
52
+ address clonedBundleManager,
53
+ address clonedInstanceReader,
54
+ NftId clonedInstanceNftId
55
+ );
44
56
 
45
57
  function createInstanceClone()
46
58
  external
47
59
  returns (
48
- InstanceAccessManager clonedAccessManager,
49
60
  Instance clonedInstance,
50
- NftId instanceNftId,
51
- InstanceReader clonedInstanceReader,
52
- BundleManager clonedBundleManager
61
+ NftId instanceNftId
53
62
  );
54
63
 
55
- function hasRole(address account, RoleId role, address instanceAddress) external returns (bool);
56
- function setTargetLocked(string memory targetName, bool locked) external;
64
+ function createComponentTarget(
65
+ NftId instanceNftId,
66
+ address targetAddress,
67
+ string memory targetName,
68
+ bytes4[][] memory selectors,
69
+ RoleId[] memory roles
70
+ ) external;
57
71
 
58
- }
72
+ function createGifTarget(
73
+ NftId instanceNftId,
74
+ address targetAddress,
75
+ string memory targetName,
76
+ bytes4[][] memory selectors,
77
+ RoleId[] memory roles
78
+ ) external;
59
79
 
80
+ function setComponentLocked(bool locked) external;
81
+ }