@etherisc/gif-next 0.0.2-d5522f6-712 → 0.0.2-d59d51e-694

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 (572) hide show
  1. package/README.md +8 -13
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1410 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1343 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +799 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +969 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +808 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +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 +275 -1359
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +306 -216
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +446 -2536
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +479 -178
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +485 -337
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +466 -366
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +348 -93
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3468 -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 +58 -75
  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 +1091 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +723 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +257 -293
  54. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  55. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
  56. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
  58. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  59. package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
  60. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
  62. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +719 -0
  64. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  65. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +699 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +787 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +218 -191
  74. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  75. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  76. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  77. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +237 -307
  78. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  79. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IPricingService.sol/IPricingService.json} +251 -257
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +442 -228
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +123 -139
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +755 -0
  92. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  93. package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
  94. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  95. package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
  96. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +675 -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 +269 -15
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +343 -226
  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 +396 -35
  108. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
  109. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +95 -58
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +491 -288
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +334 -80
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +699 -94
  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 +354 -98
  120. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  121. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  122. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  123. package/artifacts/contracts/{components/Pool.sol/Pool.json → shared/Component.sol/Component.json} +409 -361
  124. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  125. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
  126. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +765 -0
  128. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +188 -200
  130. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  132. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +268 -125
  134. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  135. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
  136. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  137. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +239 -215
  138. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -21
  140. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  142. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  144. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  145. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  146. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  148. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  149. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +35 -0
  150. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  151. package/artifacts/contracts/shared/IService.sol/IService.json +71 -165
  152. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  153. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  154. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  155. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
  156. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  157. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  158. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  159. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  160. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  161. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  162. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  163. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +109 -29
  164. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  165. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  166. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +310 -61
  168. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -53
  170. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  171. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  172. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  173. package/artifacts/contracts/shared/Service.sol/Service.json +173 -153
  174. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  175. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  176. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  178. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  180. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  181. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  182. package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +4 -0
  183. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → staking/IStakingManager.sol/IStakingManager.json} +10 -10
  184. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  185. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +884 -0
  186. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +4 -0
  187. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +357 -0
  188. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  189. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +402 -0
  190. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  191. package/artifacts/contracts/staking/Staking.sol/Staking.json +2002 -0
  192. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  193. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +748 -0
  194. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  195. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -0
  196. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  197. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1207 -0
  198. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  199. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  200. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  201. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1690 -0
  202. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  203. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +494 -0
  204. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  205. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  206. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  207. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  208. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  209. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  210. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  211. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  212. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  213. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  214. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  216. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  217. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  218. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  220. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  222. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  223. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  224. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  226. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  227. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  228. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  230. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  232. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +174 -0
  234. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  236. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  238. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  240. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  242. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  243. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  244. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  246. package/contracts/distribution/Distribution.sol +263 -0
  247. package/contracts/distribution/DistributionService.sol +298 -0
  248. package/contracts/{instance/service → distribution}/DistributionServiceManager.sol +15 -12
  249. package/contracts/distribution/IDistributionComponent.sol +66 -0
  250. package/contracts/distribution/IDistributionService.sol +81 -0
  251. package/contracts/instance/BundleManager.sol +22 -25
  252. package/contracts/instance/IInstance.sol +60 -45
  253. package/contracts/instance/IInstanceService.sol +58 -15
  254. package/contracts/instance/Instance.sol +148 -196
  255. package/contracts/instance/InstanceAccessManager.sol +406 -166
  256. package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
  257. package/contracts/instance/InstanceReader.sol +136 -85
  258. package/contracts/instance/InstanceService.sol +259 -237
  259. package/contracts/instance/InstanceServiceManager.sol +12 -22
  260. package/contracts/instance/InstanceStore.sol +260 -0
  261. package/contracts/instance/base/BalanceStore.sol +118 -0
  262. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  263. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  264. package/contracts/instance/module/IAccess.sol +24 -18
  265. package/contracts/instance/module/IBundle.sol +8 -8
  266. package/contracts/instance/module/IComponents.sol +52 -0
  267. package/contracts/instance/module/IDistribution.sol +7 -4
  268. package/contracts/instance/module/IPolicy.sol +56 -17
  269. package/contracts/instance/module/IRisk.sol +1 -1
  270. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  271. package/contracts/pool/BundleService.sol +296 -0
  272. package/contracts/pool/BundleServiceManager.sol +42 -0
  273. package/contracts/pool/IBundleService.sol +106 -0
  274. package/contracts/pool/IPoolComponent.sol +112 -0
  275. package/contracts/pool/IPoolService.sol +147 -0
  276. package/contracts/pool/Pool.sol +299 -0
  277. package/contracts/pool/PoolService.sol +424 -0
  278. package/contracts/pool/PoolServiceManager.sol +42 -0
  279. package/contracts/product/ApplicationService.sol +254 -0
  280. package/contracts/product/ApplicationServiceManager.sol +38 -0
  281. package/contracts/product/ClaimService.sol +437 -0
  282. package/contracts/product/ClaimServiceManager.sol +38 -0
  283. package/contracts/product/IApplicationService.sol +62 -0
  284. package/contracts/product/IClaimService.sol +93 -0
  285. package/contracts/product/IPolicyService.sol +78 -0
  286. package/contracts/product/IPricingService.sol +39 -0
  287. package/contracts/product/IProductComponent.sol +42 -0
  288. package/contracts/product/IProductService.sol +33 -0
  289. package/contracts/product/PolicyService.sol +473 -0
  290. package/contracts/product/PolicyServiceManager.sol +42 -0
  291. package/contracts/product/PricingService.sol +301 -0
  292. package/contracts/product/PricingServiceManager.sol +42 -0
  293. package/contracts/product/Product.sol +377 -0
  294. package/contracts/product/ProductService.sol +124 -0
  295. package/contracts/product/ProductServiceManager.sol +42 -0
  296. package/contracts/registry/ChainNft.sol +15 -1
  297. package/contracts/registry/IRegistry.sol +57 -23
  298. package/contracts/registry/IRegistryService.sol +44 -34
  299. package/contracts/registry/ITransferInterceptor.sol +1 -0
  300. package/contracts/registry/Registry.sol +295 -113
  301. package/contracts/registry/RegistryAccessManager.sol +105 -119
  302. package/contracts/registry/RegistryService.sol +115 -168
  303. package/contracts/registry/RegistryServiceManager.sol +28 -18
  304. package/contracts/registry/ReleaseManager.sol +419 -204
  305. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  306. package/contracts/registry/TokenRegistry.sol +302 -58
  307. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  308. package/contracts/shared/Component.sol +286 -0
  309. package/contracts/shared/ComponentService.sol +595 -0
  310. package/contracts/shared/ComponentServiceManager.sol +35 -0
  311. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  312. package/contracts/shared/ERC165.sol +14 -12
  313. package/contracts/shared/IComponent.sol +74 -0
  314. package/contracts/shared/IComponentService.sol +91 -0
  315. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  316. package/contracts/{instance/base → shared}/IKeyValueStore.sol +14 -10
  317. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  318. package/contracts/shared/INftOwnable.sol +12 -11
  319. package/contracts/shared/IPolicyHolder.sol +45 -0
  320. package/contracts/shared/IRegisterable.sol +4 -6
  321. package/contracts/shared/IRegistryLinked.sol +11 -0
  322. package/contracts/shared/IService.sol +6 -4
  323. package/contracts/shared/IVersionable.sol +5 -48
  324. package/contracts/shared/InstanceLinkedComponent.sol +145 -0
  325. package/contracts/shared/KeyValueStore.sol +130 -0
  326. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  327. package/contracts/shared/NftIdSetManager.sol +65 -0
  328. package/contracts/shared/NftOwnable.sol +64 -80
  329. package/contracts/shared/PolicyHolder.sol +101 -0
  330. package/contracts/shared/ProxyManager.sol +126 -25
  331. package/contracts/shared/Registerable.sol +26 -41
  332. package/contracts/shared/RegistryLinked.sol +43 -0
  333. package/contracts/shared/Service.sol +41 -22
  334. package/contracts/shared/TokenHandler.sol +37 -6
  335. package/contracts/shared/Versionable.sol +4 -92
  336. package/contracts/staking/IStaking.sol +152 -0
  337. package/contracts/staking/IStakingManager.sol +15 -0
  338. package/contracts/staking/IStakingService.sol +162 -0
  339. package/contracts/staking/IStakingStore.sol +130 -0
  340. package/contracts/staking/StakeManagerLib.sol +156 -0
  341. package/contracts/staking/Staking.sol +502 -0
  342. package/contracts/staking/StakingManager.sol +65 -0
  343. package/contracts/staking/StakingReader.sol +147 -0
  344. package/contracts/staking/StakingService.sol +375 -0
  345. package/contracts/staking/StakingServiceManager.sol +44 -0
  346. package/contracts/staking/StakingStore.sol +329 -0
  347. package/contracts/staking/TargetManagerLib.sol +179 -0
  348. package/contracts/type/Amount.sol +114 -0
  349. package/contracts/{types → type}/Blocknumber.sol +20 -2
  350. package/contracts/type/ClaimId.sol +75 -0
  351. package/contracts/{types → type}/DistributorType.sol +2 -2
  352. package/contracts/{types → type}/Fee.sol +32 -22
  353. package/contracts/{types → type}/NftId.sol +17 -11
  354. package/contracts/{types → type}/NftIdSet.sol +1 -1
  355. package/contracts/{types → type}/ObjectType.sol +26 -9
  356. package/contracts/type/PayoutId.sol +82 -0
  357. package/contracts/{types → type}/Referral.sol +4 -0
  358. package/contracts/type/RoleId.sol +143 -0
  359. package/contracts/type/Seconds.sol +71 -0
  360. package/contracts/{types → type}/StateId.sol +24 -6
  361. package/contracts/{types → type}/Timestamp.sol +18 -13
  362. package/contracts/{types → type}/UFixed.sol +1 -0
  363. package/contracts/{types → type}/Version.sol +1 -0
  364. package/package.json +3 -3
  365. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  366. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  367. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  368. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  369. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  370. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  371. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  372. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  373. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  374. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  375. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  376. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  377. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  378. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  379. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  380. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  381. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  382. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  383. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  384. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  385. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  386. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  387. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  388. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  389. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  390. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  391. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  392. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  393. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  394. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  395. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  396. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  397. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  399. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  401. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  402. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  403. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  404. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  405. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  406. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  407. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  408. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  409. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  410. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  411. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  412. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  413. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  414. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  415. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  416. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  417. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  418. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  419. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  420. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  421. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  422. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  423. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  424. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  425. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  426. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  427. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
  428. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  429. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  430. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  431. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  432. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  433. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  434. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  435. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  436. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1031
  438. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  440. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  442. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
  444. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  445. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  446. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  447. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  448. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  449. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  450. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  451. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -499
  453. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  454. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  455. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1156
  456. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  457. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  458. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  459. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  460. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  461. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  462. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  464. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  466. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  467. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  468. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  469. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  470. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  471. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  472. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  473. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  474. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  475. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  476. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  477. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  478. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  479. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  480. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  481. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  482. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  483. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  484. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  485. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  486. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  487. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  488. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  489. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  490. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  491. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  492. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  493. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  494. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  495. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  497. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  498. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  499. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  500. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  501. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  503. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  511. package/contracts/components/BaseComponent.sol +0 -159
  512. package/contracts/components/Distribution.sol +0 -164
  513. package/contracts/components/IBaseComponent.sol +0 -34
  514. package/contracts/components/IDistributionComponent.sol +0 -44
  515. package/contracts/components/IPoolComponent.sol +0 -66
  516. package/contracts/components/IProductComponent.sol +0 -35
  517. package/contracts/components/Pool.sol +0 -272
  518. package/contracts/components/Product.sol +0 -301
  519. package/contracts/experiment/cloning/Cloner.sol +0 -47
  520. package/contracts/experiment/errors/Require.sol +0 -38
  521. package/contracts/experiment/errors/Revert.sol +0 -44
  522. package/contracts/experiment/inheritance/A.sol +0 -53
  523. package/contracts/experiment/inheritance/B.sol +0 -28
  524. package/contracts/experiment/inheritance/C.sol +0 -34
  525. package/contracts/experiment/inheritance/IA.sol +0 -13
  526. package/contracts/experiment/inheritance/IB.sol +0 -10
  527. package/contracts/experiment/inheritance/IC.sol +0 -12
  528. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  529. package/contracts/experiment/statemachine/ISM.sol +0 -25
  530. package/contracts/experiment/statemachine/SM.sol +0 -57
  531. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  532. package/contracts/experiment/types/TypeA.sol +0 -47
  533. package/contracts/experiment/types/TypeB.sol +0 -29
  534. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  535. package/contracts/instance/IInstanceBase.sol +0 -26
  536. package/contracts/instance/InstanceBase.sol +0 -41
  537. package/contracts/instance/base/ComponentServiceBase.sol +0 -76
  538. package/contracts/instance/base/IInstanceBase.sol +0 -23
  539. package/contracts/instance/base/KeyValueStore.sol +0 -172
  540. package/contracts/instance/module/ISetup.sol +0 -46
  541. package/contracts/instance/module/ITreasury.sol +0 -23
  542. package/contracts/instance/service/BundleService.sol +0 -294
  543. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  544. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  545. package/contracts/instance/service/DistributionService.sol +0 -120
  546. package/contracts/instance/service/IBundleService.sol +0 -44
  547. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  548. package/contracts/instance/service/IDistributionService.sol +0 -12
  549. package/contracts/instance/service/IPolicyService.sol +0 -94
  550. package/contracts/instance/service/IPoolService.sol +0 -20
  551. package/contracts/instance/service/IProductService.sol +0 -40
  552. package/contracts/instance/service/PolicyService.sol +0 -539
  553. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  554. package/contracts/instance/service/PoolService.sol +0 -145
  555. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  556. package/contracts/instance/service/ProductService.sol +0 -213
  557. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  558. package/contracts/shared/ContractDeployerLib.sol +0 -72
  559. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  560. package/contracts/test/TestFee.sol +0 -25
  561. package/contracts/test/TestRegisterable.sol +0 -18
  562. package/contracts/test/TestRoleId.sol +0 -14
  563. package/contracts/test/TestService.sol +0 -25
  564. package/contracts/test/TestToken.sol +0 -26
  565. package/contracts/test/TestVersion.sol +0 -44
  566. package/contracts/test/TestVersionable.sol +0 -17
  567. package/contracts/types/ChainId.sol +0 -38
  568. package/contracts/types/NumberId.sol +0 -52
  569. package/contracts/types/RoleId.sol +0 -90
  570. /package/contracts/{types → type}/AddressSet.sol +0 -0
  571. /package/contracts/{types → type}/Key32.sol +0 -0
  572. /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -1,276 +1,228 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
- import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
7
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
8
5
 
9
- import {IAccess} from "./module/IAccess.sol";
10
- import {IBundle} from "./module/IBundle.sol";
11
- import {IPolicy} from "./module/IPolicy.sol";
12
- import {IRisk} from "./module/IRisk.sol";
13
- import {ISetup} from "./module/ISetup.sol";
14
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
15
- import {KeyValueStore} from "./base/KeyValueStore.sol";
6
+ import {Key32} from "../type/Key32.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {RiskId} from "../type/RiskId.sol";
9
+ import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
10
+ import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
11
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
+ import {ClaimId} from "../type/ClaimId.sol";
13
+ import {ReferralId} from "../type/Referral.sol";
14
+ import {PayoutId} from "../type/PayoutId.sol";
15
+ import {DistributorType} from "../type/DistributorType.sol";
16
+
17
+ import {Registerable} from "../shared/Registerable.sol";
18
+ import {TokenHandler} from "../shared/TokenHandler.sol";
19
+
20
+ import {IRegistry} from "../registry/IRegistry.sol";
21
+
16
22
  import {IInstance} from "./IInstance.sol";
17
23
  import {InstanceReader} from "./InstanceReader.sol";
18
24
  import {InstanceAccessManager} from "./InstanceAccessManager.sol";
19
25
  import {BundleManager} from "./BundleManager.sol";
20
- import {NftId} from "../types/NftId.sol";
21
- import {NumberId} from "../types/NumberId.sol";
22
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT} from "../types/ObjectType.sol";
23
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
24
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
25
- import {StateId, ACTIVE} from "../types/StateId.sol";
26
- import {TimestampLib} from "../types/Timestamp.sol";
27
- import {ERC165} from "../shared/ERC165.sol";
28
- import {Registerable} from "../shared/Registerable.sol";
29
- import {ComponentOwnerService} from "./service/ComponentOwnerService.sol";
30
- import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
31
- import {IDistributionService} from "./service/IDistributionService.sol";
32
- import {IPoolService} from "./service/IPoolService.sol";
33
- import {IProductService} from "./service/IProductService.sol";
34
- import {IPolicyService} from "./service/IPolicyService.sol";
35
- import {IBundleService} from "./service/IBundleService.sol";
36
- import {VersionPart} from "../types/Version.sol";
37
- import {InstanceBase} from "./InstanceBase.sol";
26
+ import {InstanceStore} from "./InstanceStore.sol";
27
+
28
+ import {KeyValueStore} from "../shared/KeyValueStore.sol";
29
+
30
+ import {IBundle} from "./module/IBundle.sol";
31
+ import {IComponents} from "./module/IComponents.sol";
32
+ import {IDistribution} from "./module/IDistribution.sol";
33
+ import {IPolicy} from "./module/IPolicy.sol";
34
+ import {IRisk} from "./module/IRisk.sol";
35
+
36
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
37
+ import {IPoolService} from "../pool/IPoolService.sol";
38
+ import {IProductService} from "../product/IProductService.sol";
39
+ import {IPolicyService} from "../product/IPolicyService.sol";
40
+ import {IBundleService} from "../pool/IBundleService.sol";
38
41
 
39
42
  contract Instance is
40
- AccessManagedUpgradeable,
41
43
  IInstance,
42
- // Initializable,
43
- InstanceBase
44
+ AccessManagedUpgradeable,
45
+ Registerable
44
46
  {
45
-
46
- uint64 public constant ADMIN_ROLE = type(uint64).min;
47
- uint64 public constant PUBLIC_ROLE = type(uint64).max;
48
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
49
-
50
- uint32 public constant EXECUTION_DELAY = 0;
47
+ uint256 public constant GIF_MAJOR_VERSION = 3;
51
48
 
52
49
  bool private _initialized;
53
50
 
54
51
  InstanceAccessManager internal _accessManager;
55
52
  InstanceReader internal _instanceReader;
56
53
  BundleManager internal _bundleManager;
54
+ InstanceStore internal _instanceStore;
57
55
 
58
- function initialize(address accessManagerAddress, address registryAddress, NftId registryNftId, address initialOwner)
59
- public
60
- initializer
61
- {
62
- require(!_initialized, "Contract instance has already been initialized");
63
-
64
- __AccessManaged_init(accessManagerAddress);
65
-
66
- _accessManager = InstanceAccessManager(accessManagerAddress);
67
-
68
- _initializeRegisterable(registryAddress, registryNftId, INSTANCE(), false, initialOwner, "");
69
-
70
- _registerInterface(type(IInstance).interfaceId);
71
- _initialized = true;
72
- }
73
-
74
- //--- ProductSetup ------------------------------------------------------//
75
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
76
- create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
56
+ modifier onlyChainNft() {
57
+ if(msg.sender != getRegistry().getChainNftAddress()) {
58
+ revert();
59
+ }
60
+ _;
77
61
  }
78
62
 
79
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
80
- update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
81
- }
82
-
83
- function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
84
- updateState(_toNftKey32(productNftId, PRODUCT()), newState);
85
- }
86
-
87
- //--- DistributionSetup ------------------------------------------------------//
88
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
89
- create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
90
- }
91
-
92
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
93
- update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
94
- }
95
-
96
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
97
- updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
98
- }
99
-
100
- //--- PoolSetup ------------------------------------------------------//
101
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external restricted() {
102
- create(_toNftKey32(poolNftId, POOL()), abi.encode(setup));
103
- }
104
-
105
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external restricted() {
106
- update(_toNftKey32(poolNftId, POOL()), abi.encode(setup), newState);
107
- }
108
-
109
- function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
110
- updateState(_toNftKey32(poolNftId, POOL()), newState);
111
- }
112
-
113
- //--- DistributorType ---------------------------------------------------//
114
- function createDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
115
- create(toPolicyKey32(policyNftId), abi.encode(payout));
116
- }
117
-
118
- function updateDistributorType(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
119
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
120
- }
121
-
122
- function updateDistributorTypeState(NftId policyNftId, StateId newState) external restricted() {
123
- updateState(toPolicyKey32(policyNftId), newState);
124
- }
63
+ function initialize(address authority, address registryAddress, address initialOwner)
64
+ external
65
+ initializer()
66
+ {
67
+ if(authority == address(0)) {
68
+ revert ErrorInstanceInstanceAccessManagerZero();
69
+ }
125
70
 
126
- //--- Distributor -------------------------------------------------------//
127
- function createDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
128
- create(toPolicyKey32(policyNftId), abi.encode(payout));
129
- }
71
+ __AccessManaged_init(authority);
72
+
73
+ IRegistry registry = IRegistry(registryAddress);
74
+ initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
130
75
 
131
- function updateDistributor(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
132
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
76
+ registerInterface(type(IInstance).interfaceId);
133
77
  }
134
78
 
135
- function updateDistributorState(NftId policyNftId, StateId newState) external restricted() {
136
- updateState(toPolicyKey32(policyNftId), newState);
137
- }
79
+ //--- Roles ------------------------------------------------------------//
138
80
 
139
- //--- Referral ----------------------------------------------------------//
140
- function createReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
141
- create(toPolicyKey32(policyNftId), abi.encode(payout));
81
+ function createRole(string memory roleName, string memory adminName)
82
+ external
83
+ restricted // INSTANCE_OWNER_ROLE
84
+ returns (RoleId roleId, RoleId admin)
85
+ {
86
+ (roleId, admin) = _accessManager.createRole(roleName, adminName);
142
87
  }
143
88
 
144
- function updateReferral(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
145
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
89
+ function grantRole(RoleId roleId, address account)
90
+ external
91
+ restricted // INSTANCE_OWNER_ROLE
92
+ {
93
+ _accessManager.grantRole(roleId, account);
146
94
  }
147
95
 
148
- function updateReferralState(NftId policyNftId, StateId newState) external restricted() {
149
- updateState(toPolicyKey32(policyNftId), newState);
96
+ function revokeRole(RoleId roleId, address account)
97
+ external
98
+ restricted // INSTANCE_OWNER_ROLE
99
+ {
100
+ _accessManager.revokeRole(roleId, account);
150
101
  }
151
102
 
152
- //--- Bundle ------------------------------------------------------------//
153
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
154
- create(toBundleKey32(bundleNftId), abi.encode(bundle));
155
- }
103
+ //--- Targets ------------------------------------------------------------//
156
104
 
157
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
158
- update(toBundleKey32(bundleNftId), abi.encode(bundle), newState);
105
+ function createTarget(address target, string memory name)
106
+ external
107
+ restricted // INSTANCE_OWNER_ROLE
108
+ {
109
+ _accessManager.createTarget(target, name);
159
110
  }
160
111
 
161
- function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
162
- updateState(toBundleKey32(bundleNftId), newState);
112
+ function setTargetFunctionRole(
113
+ string memory targetName,
114
+ bytes4[] calldata selectors,
115
+ RoleId roleId
116
+ )
117
+ external
118
+ restricted // INSTANCE_OWNER_ROLE
119
+ {
120
+ _accessManager.setTargetFunctionRole(targetName, selectors, roleId);
163
121
  }
164
122
 
165
- //--- Risk --------------------------------------------------------------//
166
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
167
- create(riskId.toKey32(), abi.encode(risk));
123
+ function setTargetLocked(address target, bool locked)
124
+ external
125
+ restricted // INSTANCE_OWNER_ROLE
126
+ {
127
+ _accessManager.setTargetLockedByInstance(target, locked);
168
128
  }
169
129
 
170
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
171
- update(riskId.toKey32(), abi.encode(risk), newState);
172
- }
130
+ //--- ITransferInterceptor ------------------------------------------------------------//
173
131
 
174
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
175
- updateState(riskId.toKey32(), newState);
132
+ function nftMint(address to, uint256 tokenId) external onlyChainNft {
133
+ assert(_accessManager.roleMembers(INSTANCE_OWNER_ROLE()) == 0);// temp
134
+ assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
176
135
  }
177
136
 
178
- //--- Policy ------------------------------------------------------------//
179
- function createPolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy) external restricted() {
180
- create(toPolicyKey32(policyNftId), abi.encode(policy));
137
+ function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
138
+ assert(_accessManager.revokeRole(INSTANCE_OWNER_ROLE(), from) == true);
139
+ assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
181
140
  }
182
141
 
183
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
184
- update(toPolicyKey32(policyNftId), abi.encode(policy), newState);
185
- }
142
+ //--- initial setup functions -------------------------------------------//
186
143
 
187
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
188
- updateState(toPolicyKey32(policyNftId), newState);
144
+ function setInstanceAccessManager(InstanceAccessManager accessManager) external restricted {
145
+ if(address(_accessManager) != address(0)) {
146
+ revert ErrorInstanceInstanceAccessManagerAlreadySet(address(_accessManager));
147
+ }
148
+ if(accessManager.authority() != authority()) {
149
+ revert ErrorInstanceInstanceAccessManagerAuthorityMismatch(authority());
150
+ }
151
+ _accessManager = accessManager;
189
152
  }
190
-
191
- //--- Claim -------------------------------------------------------------//
192
- function createClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
193
- create(toPolicyKey32(policyNftId), abi.encode(claim));
153
+
154
+ function setBundleManager(BundleManager bundleManager) external restricted() {
155
+ if(address(_bundleManager) != address(0)) {
156
+ revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
157
+ }
158
+ if(bundleManager.getInstance() != Instance(this)) {
159
+ revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
160
+ }
161
+ if(bundleManager.authority() != authority()) {
162
+ revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
163
+ }
164
+ _bundleManager = bundleManager;
194
165
  }
195
166
 
196
- function updateClaim(NftId policyNftId, NumberId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
197
- update(toPolicyKey32(policyNftId), abi.encode(claim), newState);
198
- }
167
+ function setInstanceReader(InstanceReader instanceReader) external restricted() {
168
+ if(instanceReader.getInstance() != Instance(this)) {
169
+ revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
170
+ }
199
171
 
200
- function updateClaimState(NftId policyNftId, StateId newState) external restricted() {
201
- updateState(toPolicyKey32(policyNftId), newState);
172
+ _instanceReader = instanceReader;
202
173
  }
203
174
 
204
- //--- Payout ------------------------------------------------------------//
205
- function createPayout(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
206
- create(toPolicyKey32(policyNftId), abi.encode(payout));
207
- }
175
+ //--- external view functions -------------------------------------------//
208
176
 
209
- function updateClaim(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
210
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
177
+ function getInstanceReader() external view returns (InstanceReader) {
178
+ return _instanceReader;
211
179
  }
212
180
 
213
- function updatePayoutState(NftId policyNftId, StateId newState) external restricted() {
214
- updateState(toPolicyKey32(policyNftId), newState);
181
+ function getBundleManager() external view returns (BundleManager) {
182
+ return _bundleManager;
215
183
  }
216
184
 
217
- //--- internal view/pure functions --------------------------------------//
218
- function _toNftKey32(NftId nftId, ObjectType objectType) internal pure returns (Key32) {
219
- return nftId.toKey32(objectType);
185
+ function getInstanceAccessManager() external view returns (InstanceAccessManager) {
186
+ return _accessManager;
220
187
  }
221
188
 
222
- function toBundleKey32(NftId bundleNftId) public pure returns (Key32) {
223
- return bundleNftId.toKey32(BUNDLE());
189
+ function setInstanceStore(InstanceStore instanceStore) external restricted {
190
+ if(address(_instanceStore) != address(0)) {
191
+ revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
192
+ }
193
+ if(instanceStore.authority() != authority()) {
194
+ revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
195
+ }
196
+ _instanceStore = instanceStore;
224
197
  }
225
198
 
226
- function toPolicyKey32(NftId policyNftId) public pure returns (Key32) {
227
- return policyNftId.toKey32(POLICY());
199
+ function getInstanceStore() external view returns (InstanceStore) {
200
+ return _instanceStore;
228
201
  }
229
202
 
230
- function getComponentOwnerService() external view returns (IComponentOwnerService) {
231
- return ComponentOwnerService(_registry.getServiceAddress(COMPONENT(), VersionPart.wrap(3)));
203
+ function getMajorVersion() external pure returns (VersionPart majorVersion) {
204
+ return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
232
205
  }
233
206
 
234
207
  function getDistributionService() external view returns (IDistributionService) {
235
- return IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
208
+ return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
236
209
  }
237
210
 
238
211
  function getProductService() external view returns (IProductService) {
239
- return IProductService(_registry.getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
212
+ return IProductService(getRegistry().getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
240
213
  }
241
214
 
242
215
  function getPoolService() external view returns (IPoolService) {
243
- return IPoolService(_registry.getServiceAddress(POOL(), VersionPart.wrap(3)));
216
+ return IPoolService(getRegistry().getServiceAddress(POOL(), VersionPart.wrap(3)));
244
217
  }
245
218
 
246
219
  function getPolicyService() external view returns (IPolicyService) {
247
- return IPolicyService(_registry.getServiceAddress(POLICY(), VersionPart.wrap(3)));
220
+ return IPolicyService(getRegistry().getServiceAddress(POLICY(), VersionPart.wrap(3)));
248
221
  }
249
222
 
250
223
  function getBundleService() external view returns (IBundleService) {
251
- return IBundleService(_registry.getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
252
- }
253
-
254
- function getInstanceAccessManager() external view returns (InstanceAccessManager) {
255
- return _accessManager;
256
- }
257
-
258
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
259
- require(instanceReader.getInstanceNftId() == getNftId(), "NFT ID of InstanceReader does not match");
260
- _instanceReader = instanceReader;
224
+ return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
261
225
  }
262
226
 
263
- function getInstanceReader() external view returns (InstanceReader) {
264
- return _instanceReader;
265
- }
266
-
267
- function setBundleManager(BundleManager bundleManager) external restricted() {
268
- require(address(_bundleManager) == address(0), "BundleManager is set");
269
- require(bundleManager.getInstanceNftId() == getNftId(), "NFT ID of BundleManager does not match");
270
- _bundleManager = bundleManager;
271
- }
272
-
273
- function getBundleManager() external view returns (BundleManager) {
274
- return _bundleManager;
275
- }
276
- }
227
+ //--- internal view/pure functions --------------------------------------//
228
+ }