@etherisc/gif-next 0.0.2-e818783-565 → 0.0.2-e8b06c8-540

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 (623) hide show
  1. package/README.md +20 -3
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1248 -0
  4. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  6. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  7. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  10. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  12. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
  16. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +1385 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +188 -342
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +184 -253
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +77 -324
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +37 -112
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +218 -2177
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +189 -70
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +429 -2801
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  46. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +1616 -0
  48. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  49. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  50. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  51. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  52. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +721 -389
  54. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +254 -239
  56. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -119
  58. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3592 -0
  60. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  62. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  63. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  64. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  66. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -0
  68. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
  70. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  75. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  76. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  78. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  80. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  82. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  83. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  84. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +160 -218
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  86. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  88. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  90. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  92. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  94. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +254 -153
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  96. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  98. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  100. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  101. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  102. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +65 -48
  103. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  104. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +191 -296
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  106. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +290 -56
  107. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  108. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  110. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  112. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  114. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  116. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  117. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  118. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  120. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  122. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  124. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  125. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  126. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +96 -186
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  128. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IClaimService.sol/IClaimService.json} +93 -258
  129. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  130. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  131. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  132. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -141
  133. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  134. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +966 -0
  135. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  136. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  138. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  140. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  142. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  144. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  145. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  146. package/artifacts/contracts/{components → product}/Product.sol/Product.json +338 -248
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  148. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  150. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  152. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  154. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  156. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +415 -43
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1741 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
  166. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  167. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +768 -90
  168. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +195 -0
  170. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  172. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  173. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  174. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  175. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  176. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  177. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  178. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  179. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  180. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  181. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  182. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  183. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
  184. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  186. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  188. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
  190. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  191. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  192. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  194. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  196. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  197. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
  198. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  200. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  201. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  202. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  204. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  206. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  207. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  208. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  210. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  212. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  214. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
  216. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  218. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  219. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  220. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  221. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  222. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  223. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  224. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  225. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  226. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  227. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  228. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  229. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  230. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  231. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  232. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  233. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  237. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
  239. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  241. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  242. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  243. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  244. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  245. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  246. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  247. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  248. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  250. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  251. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  252. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  254. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  256. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  258. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  260. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  262. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  263. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  264. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  266. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  268. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  270. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
  272. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  274. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  276. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  277. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  278. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  280. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  281. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  282. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  284. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
  286. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  288. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  290. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  291. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  292. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  294. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  296. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  298. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  300. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  302. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  304. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  305. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
  306. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  307. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  308. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  310. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  311. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  312. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  313. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  314. package/contracts/authorization/AccessAdmin.sol +622 -0
  315. package/contracts/authorization/Authorization.sol +218 -0
  316. package/contracts/authorization/IAccess.sol +48 -0
  317. package/contracts/authorization/IAccessAdmin.sol +136 -0
  318. package/contracts/authorization/IAuthorization.sol +54 -0
  319. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  320. package/contracts/authorization/IServiceAuthorization.sol +35 -0
  321. package/contracts/authorization/InstanceAdmin.sol +108 -0
  322. package/contracts/authorization/ModuleAuthorization.sol +203 -0
  323. package/contracts/authorization/ServiceAuthorization.sol +86 -0
  324. package/contracts/distribution/BasicDistribution.sol +149 -0
  325. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  326. package/contracts/{components → distribution}/Distribution.sol +157 -158
  327. package/contracts/distribution/DistributionService.sol +303 -0
  328. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  329. package/contracts/distribution/IDistributionComponent.sol +78 -0
  330. package/contracts/{instance/service → distribution}/IDistributionService.sol +24 -38
  331. package/contracts/instance/BundleManager.sol +5 -5
  332. package/contracts/instance/IInstance.sol +49 -65
  333. package/contracts/instance/IInstanceService.sol +46 -23
  334. package/contracts/instance/Instance.sol +188 -205
  335. package/contracts/instance/InstanceAdmin.sol +334 -0
  336. package/contracts/instance/InstanceAdminNew.sol +261 -0
  337. package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
  338. package/contracts/instance/InstanceAuthorizationsLib.sol +422 -0
  339. package/contracts/instance/InstanceReader.sol +153 -60
  340. package/contracts/instance/InstanceService.sol +347 -309
  341. package/contracts/instance/InstanceServiceManager.sol +11 -21
  342. package/contracts/instance/InstanceStore.sol +273 -0
  343. package/contracts/instance/base/BalanceStore.sol +123 -0
  344. package/contracts/instance/base/Cloneable.sol +28 -0
  345. package/contracts/instance/base/ObjectCounter.sol +21 -0
  346. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +13 -16
  347. package/contracts/instance/module/IAccess.sol +4 -12
  348. package/contracts/instance/module/IBundle.sol +6 -9
  349. package/contracts/instance/module/IComponents.sol +21 -10
  350. package/contracts/instance/module/IDistribution.sol +7 -6
  351. package/contracts/instance/module/IPolicy.sol +22 -15
  352. package/contracts/instance/module/IRisk.sol +1 -1
  353. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  354. package/contracts/oracle/BasicOracle.sol +48 -0
  355. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  356. package/contracts/oracle/IOracle.sol +36 -0
  357. package/contracts/oracle/IOracleComponent.sol +32 -0
  358. package/contracts/oracle/IOracleService.sol +65 -0
  359. package/contracts/oracle/Oracle.sol +157 -0
  360. package/contracts/oracle/OracleService.sol +278 -0
  361. package/contracts/oracle/OracleServiceManager.sol +42 -0
  362. package/contracts/pool/BasicPool.sol +164 -0
  363. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  364. package/contracts/pool/BundleService.sol +296 -0
  365. package/contracts/pool/BundleServiceManager.sol +42 -0
  366. package/contracts/{instance/service → pool}/IBundleService.sol +33 -23
  367. package/contracts/pool/IPoolComponent.sol +52 -0
  368. package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
  369. package/contracts/pool/Pool.sol +311 -0
  370. package/contracts/pool/PoolService.sol +452 -0
  371. package/contracts/pool/PoolServiceManager.sol +42 -0
  372. package/contracts/product/ApplicationService.sol +254 -0
  373. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  374. package/contracts/product/BasicProduct.sol +82 -0
  375. package/contracts/product/BasicProductAuthorization.sol +40 -0
  376. package/contracts/product/ClaimService.sol +442 -0
  377. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  378. package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
  379. package/contracts/product/IClaimService.sol +99 -0
  380. package/contracts/product/IPolicyService.sol +78 -0
  381. package/contracts/product/IPricingService.sol +39 -0
  382. package/contracts/product/IProductComponent.sol +39 -0
  383. package/contracts/product/IProductService.sol +33 -0
  384. package/contracts/product/PolicyService.sol +475 -0
  385. package/contracts/product/PolicyServiceManager.sol +42 -0
  386. package/contracts/product/PricingService.sol +300 -0
  387. package/contracts/product/PricingServiceManager.sol +42 -0
  388. package/contracts/{components → product}/Product.sol +152 -131
  389. package/contracts/product/ProductService.sol +124 -0
  390. package/contracts/product/ProductServiceManager.sol +42 -0
  391. package/contracts/registry/ChainNft.sol +8 -1
  392. package/contracts/registry/IRegistry.sol +44 -21
  393. package/contracts/registry/IRegistryService.sol +37 -36
  394. package/contracts/registry/Registry.sol +198 -83
  395. package/contracts/registry/RegistryAdmin.sol +363 -0
  396. package/contracts/registry/RegistryService.sol +71 -87
  397. package/contracts/registry/RegistryServiceManager.sol +21 -30
  398. package/contracts/registry/ReleaseManager.sol +405 -199
  399. package/contracts/registry/ServiceAuthorizationV3.sol +202 -0
  400. package/contracts/registry/TokenRegistry.sol +261 -62
  401. package/contracts/shared/AccessManagerCustom.sol +741 -0
  402. package/contracts/shared/AccessManagerExtended.sol +481 -0
  403. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  404. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  405. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  406. package/contracts/shared/Component.sol +281 -0
  407. package/contracts/shared/ComponentService.sol +626 -0
  408. package/contracts/shared/ComponentServiceManager.sol +35 -0
  409. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  410. package/contracts/shared/ERC165.sol +1 -1
  411. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  412. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  413. package/contracts/{components → shared}/IComponent.sol +23 -29
  414. package/contracts/shared/IComponentService.sol +102 -0
  415. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  416. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  417. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  418. package/contracts/shared/INftOwnable.sol +2 -2
  419. package/contracts/shared/IPolicyHolder.sol +29 -10
  420. package/contracts/shared/IRegistryLinked.sol +0 -1
  421. package/contracts/shared/IService.sol +11 -2
  422. package/contracts/shared/IVersionable.sol +1 -1
  423. package/contracts/shared/InitializableCustom.sol +177 -0
  424. package/contracts/shared/InstanceLinkedComponent.sol +152 -0
  425. package/contracts/shared/KeyValueStore.sol +127 -0
  426. package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
  427. package/contracts/shared/NftIdSetManager.sol +65 -0
  428. package/contracts/shared/NftOwnable.sol +3 -16
  429. package/contracts/shared/PolicyHolder.sol +40 -19
  430. package/contracts/shared/ProxyManager.sol +34 -4
  431. package/contracts/shared/Registerable.sol +13 -12
  432. package/contracts/shared/RegistryLinked.sol +0 -5
  433. package/contracts/shared/Service.sol +32 -21
  434. package/contracts/shared/TokenHandler.sol +27 -2
  435. package/contracts/shared/Versionable.sol +1 -1
  436. package/contracts/staking/IStaking.sol +168 -0
  437. package/contracts/staking/IStakingService.sol +153 -0
  438. package/contracts/staking/StakeManagerLib.sol +231 -0
  439. package/contracts/staking/Staking.sol +513 -0
  440. package/contracts/staking/StakingManager.sol +54 -0
  441. package/contracts/staking/StakingReader.sol +187 -0
  442. package/contracts/staking/StakingService.sol +411 -0
  443. package/contracts/staking/StakingServiceManager.sol +44 -0
  444. package/contracts/staking/StakingStore.sol +613 -0
  445. package/contracts/staking/TargetManagerLib.sol +207 -0
  446. package/contracts/{types → type}/AddressSet.sol +1 -1
  447. package/contracts/type/Amount.sol +128 -0
  448. package/contracts/{types → type}/Blocknumber.sol +20 -3
  449. package/contracts/{types → type}/Fee.sol +24 -22
  450. package/contracts/{types → type}/NftId.sol +14 -16
  451. package/contracts/{types → type}/NftIdSet.sol +2 -2
  452. package/contracts/type/ObjectType.sol +275 -0
  453. package/contracts/{types → type}/Referral.sol +1 -1
  454. package/contracts/type/RequestId.sol +75 -0
  455. package/contracts/{types → type}/RiskId.sol +1 -1
  456. package/contracts/type/RoleId.sol +202 -0
  457. package/contracts/{types → type}/Seconds.sol +27 -0
  458. package/contracts/type/Selector.sol +102 -0
  459. package/contracts/{types → type}/StateId.sol +27 -2
  460. package/contracts/type/String.sol +53 -0
  461. package/contracts/{types → type}/Timestamp.sol +6 -2
  462. package/contracts/{types → type}/UFixed.sol +6 -0
  463. package/contracts/{types → type}/Version.sol +1 -1
  464. package/package.json +6 -3
  465. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  466. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  467. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  468. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  469. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  470. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  471. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  472. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  473. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  474. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  475. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  476. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  477. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
  478. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  479. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  480. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  481. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  482. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  483. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  484. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  485. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  486. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  487. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  488. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  489. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  490. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  491. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1060
  492. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  493. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -681
  494. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  495. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1266
  496. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  497. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -725
  498. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  499. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1040
  500. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  501. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -685
  502. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  503. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1774
  504. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  505. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -793
  506. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  507. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  508. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  509. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  510. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  511. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  512. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  513. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  514. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1511
  515. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  516. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -741
  517. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  518. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  519. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  520. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  521. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  523. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  525. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  526. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  527. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  528. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  529. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  530. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  531. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  532. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  533. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  534. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  535. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  536. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  537. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  538. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  539. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  540. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  541. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  542. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  543. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  544. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  545. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  546. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  547. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -185
  548. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  549. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  550. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  551. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  552. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  553. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  554. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  555. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  556. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  557. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  558. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  559. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  560. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  561. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  562. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  563. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  564. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  565. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  566. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  567. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  568. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  569. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  570. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  571. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  572. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  573. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  574. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  575. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  576. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  577. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  579. package/contracts/components/Component.sol +0 -253
  580. package/contracts/components/IDistributionComponent.sol +0 -71
  581. package/contracts/components/IPoolComponent.sol +0 -113
  582. package/contracts/components/IProductComponent.sol +0 -40
  583. package/contracts/components/Pool.sol +0 -302
  584. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  585. package/contracts/instance/Cloneable.sol +0 -51
  586. package/contracts/instance/InstanceAccessManager.sol +0 -527
  587. package/contracts/instance/base/ComponentService.sol +0 -121
  588. package/contracts/instance/base/KeyValueStore.sol +0 -180
  589. package/contracts/instance/module/ISetup.sol +0 -33
  590. package/contracts/instance/module/ITreasury.sol +0 -23
  591. package/contracts/instance/service/ApplicationService.sol +0 -355
  592. package/contracts/instance/service/BundleService.sol +0 -436
  593. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  594. package/contracts/instance/service/ClaimService.sol +0 -239
  595. package/contracts/instance/service/DistributionService.sol +0 -431
  596. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  597. package/contracts/instance/service/IClaimService.sol +0 -92
  598. package/contracts/instance/service/IPolicyService.sol +0 -137
  599. package/contracts/instance/service/IProductService.sol +0 -40
  600. package/contracts/instance/service/PolicyService.sol +0 -541
  601. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  602. package/contracts/instance/service/PoolService.sol +0 -303
  603. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  604. package/contracts/instance/service/ProductService.sol +0 -210
  605. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  606. package/contracts/registry/RegistryAccessManager.sol +0 -216
  607. package/contracts/shared/ContractDeployerLib.sol +0 -72
  608. package/contracts/test/TestFee.sol +0 -25
  609. package/contracts/test/TestRegisterable.sol +0 -18
  610. package/contracts/test/TestRoleId.sol +0 -14
  611. package/contracts/test/TestService.sol +0 -25
  612. package/contracts/test/TestVersion.sol +0 -44
  613. package/contracts/test/TestVersionable.sol +0 -17
  614. package/contracts/test/Usdc.sol +0 -26
  615. package/contracts/types/Amount.sol +0 -65
  616. package/contracts/types/ChainId.sol +0 -38
  617. package/contracts/types/NumberId.sol +0 -52
  618. package/contracts/types/ObjectType.sol +0 -157
  619. package/contracts/types/RoleId.sol +0 -97
  620. /package/contracts/{types → type}/ClaimId.sol +0 -0
  621. /package/contracts/{types → type}/DistributorType.sol +0 -0
  622. /package/contracts/{types → type}/Key32.sol +0 -0
  623. /package/contracts/{types → type}/PayoutId.sol +0 -0
@@ -3,58 +3,62 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
- import {Key32} from "../types/Key32.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ClaimId} from "../types/ClaimId.sol";
9
- import {DistributorType} from "../types/DistributorType.sol";
10
- import {PayoutId} from "../types/PayoutId.sol";
11
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, PRODUCT, DISTRIBUTOR} from "../types/ObjectType.sol";
12
- import {ReferralId} from "../types/Referral.sol";
13
- import {RiskId} from "../types/RiskId.sol";
14
- import {INSTANCE_OWNER_ROLE} from "../types/RoleId.sol";
15
- import {StateId} from "../types/StateId.sol";
16
- import {VersionPart, VersionPartLib} from "../types/Version.sol";
6
+ import {Amount} from "../type/Amount.sol";
7
+ import {Key32} from "../type/Key32.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {RiskId} from "../type/RiskId.sol";
10
+ import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
11
+ import {RoleId} from "../type/RoleId.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
+ import {Seconds} from "../type/Seconds.sol";
17
+ import {UFixed} from "../type/UFixed.sol";
18
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
17
19
 
18
20
  import {Registerable} from "../shared/Registerable.sol";
21
+ import {TokenHandler} from "../shared/TokenHandler.sol";
19
22
 
20
23
  import {IRegistry} from "../registry/IRegistry.sol";
21
24
 
22
25
  import {IInstance} from "./IInstance.sol";
26
+ import {IInstanceService} from "./IInstanceService.sol";
23
27
  import {InstanceReader} from "./InstanceReader.sol";
24
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
28
+ // TODO cleanup
29
+ // import {InstanceAdmin} from "./InstanceAdmin.sol";
30
+ import {InstanceAdminNew} from "./InstanceAdminNew.sol";
25
31
  import {BundleManager} from "./BundleManager.sol";
32
+ import {InstanceStore} from "./InstanceStore.sol";
26
33
 
27
- import {KeyValueStore} from "./base/KeyValueStore.sol";
34
+ import {KeyValueStore} from "../shared/KeyValueStore.sol";
28
35
 
29
36
  import {IBundle} from "./module/IBundle.sol";
30
37
  import {IComponents} from "./module/IComponents.sol";
31
38
  import {IDistribution} from "./module/IDistribution.sol";
32
39
  import {IPolicy} from "./module/IPolicy.sol";
33
40
  import {IRisk} from "./module/IRisk.sol";
34
- import {ISetup} from "./module/ISetup.sol";
35
41
 
36
- import {VersionPart, VersionPartLib} from "../types/Version.sol";
42
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
43
+ import {IPoolService} from "../pool/IPoolService.sol";
44
+ import {IProductService} from "../product/IProductService.sol";
45
+ import {IPolicyService} from "../product/IPolicyService.sol";
46
+ import {IBundleService} from "../pool/IBundleService.sol";
37
47
 
38
48
  contract Instance is
39
49
  IInstance,
40
50
  AccessManagedUpgradeable,
41
- Registerable,
42
- KeyValueStore
51
+ Registerable
43
52
  {
44
-
45
53
  uint256 public constant GIF_MAJOR_VERSION = 3;
46
54
 
47
- uint64 public constant ADMIN_ROLE = type(uint64).min;
48
- uint64 public constant PUBLIC_ROLE = type(uint64).max;
49
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
50
-
51
- uint32 public constant EXECUTION_DELAY = 0;
52
-
53
55
  bool private _initialized;
54
56
 
55
- InstanceAccessManager internal _accessManager;
57
+ IInstanceService internal _instanceService;
58
+ InstanceAdminNew internal _instanceAdmin;
56
59
  InstanceReader internal _instanceReader;
57
60
  BundleManager internal _bundleManager;
61
+ InstanceStore internal _instanceStore;
58
62
 
59
63
  modifier onlyChainNft() {
60
64
  if(msg.sender != getRegistry().getChainNftAddress()) {
@@ -63,213 +67,199 @@ contract Instance is
63
67
  _;
64
68
  }
65
69
 
66
- function initialize(address authority, address registryAddress, address initialOwner)
67
- public
70
+ function initialize(
71
+ InstanceAdminNew instanceAdmin,
72
+ InstanceStore instanceStore,
73
+ BundleManager bundleManager,
74
+ InstanceReader instanceReader,
75
+ IRegistry registry,
76
+ address initialOwner
77
+ )
78
+ external
68
79
  initializer()
69
80
  {
70
- __AccessManaged_init(authority);
71
-
72
- IRegistry registry = IRegistry(registryAddress);
73
- initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
74
- initializeLifecycle();
75
-
76
- registerInterface(type(IInstance).interfaceId);
77
- }
78
-
79
- //--- ProductSetup ------------------------------------------------------//
80
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
81
- create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
82
- }
83
-
84
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
85
- update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
86
- }
87
-
88
- function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
89
- updateState(_toNftKey32(productNftId, PRODUCT()), newState);
90
- }
91
-
92
- //--- DistributionSetup ------------------------------------------------------//
93
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
94
- create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
95
- }
96
-
97
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
98
- update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
99
- }
100
-
101
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
102
- updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
103
- }
104
-
105
- //--- PoolSetup ------------------------------------------------------//
106
- function createPoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info) external restricted() {
107
- create(_toNftKey32(poolNftId, POOL()), abi.encode(info));
108
- }
109
-
110
- function updatePoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info, StateId newState) external restricted() {
111
- update(_toNftKey32(poolNftId, POOL()), abi.encode(info), newState);
112
- }
113
-
114
- function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
115
- updateState(_toNftKey32(poolNftId, POOL()), newState);
116
- }
117
-
118
- //--- DistributorType -------------------------------------------------------//
119
- function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external restricted() {
120
- create(distributorType.toKey32(), abi.encode(info));
121
- }
122
-
123
- function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external restricted() {
124
- update(distributorType.toKey32(), abi.encode(info), newState);
125
- }
126
-
127
- function updateDistributorTypeState(DistributorType distributorType, StateId newState) external restricted() {
128
- updateState(distributorType.toKey32(), newState);
129
- }
130
-
131
- //--- Distributor -------------------------------------------------------//
132
- function createDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info) external restricted() {
133
- create(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info));
134
- }
81
+ _instanceAdmin = instanceAdmin;
82
+ if(_instanceAdmin.authority() == address(0)) {
83
+ // TODO rename error
84
+ revert ErrorInstanceInstanceAdminZero();
85
+ }
135
86
 
136
- function updateDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info, StateId newState) external restricted() {
137
- update(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info), newState);
138
- }
87
+ // set authority to instance admin authority
88
+ __AccessManaged_init(_instanceAdmin.authority());
139
89
 
140
- function updateDistributorState(NftId distributorNftId, StateId newState) external restricted() {
141
- updateState(_toNftKey32(distributorNftId, DISTRIBUTOR()), newState);
142
- }
143
-
144
- //--- Referral ----------------------------------------------------------//
145
- function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external restricted() {
146
- create(referralId.toKey32(), abi.encode(referralInfo));
147
- }
90
+ // setup instance object info
91
+ initializeRegisterable(
92
+ address(registry),
93
+ registry.getNftId(),
94
+ INSTANCE(),
95
+ true,
96
+ initialOwner,
97
+ "");
148
98
 
149
- function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external restricted() {
150
- update(referralId.toKey32(), abi.encode(referralInfo), newState);
151
- }
99
+ // store instance supporting contracts
100
+ _instanceStore = instanceStore;
101
+ _bundleManager = bundleManager;
102
+ _instanceReader = instanceReader;
152
103
 
153
- function updateReferralState(ReferralId referralId, StateId newState) external restricted() {
154
- updateState(referralId.toKey32(), newState);
155
- }
104
+ // initialize instance supporting contracts
105
+ _instanceStore.initialize();
106
+ _bundleManager.initialize();
107
+ _instanceReader.initialize();
156
108
 
157
- //--- Bundle ------------------------------------------------------------//
158
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
159
- create(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle));
160
- }
109
+ _instanceService = IInstanceService(
110
+ getRegistry().getServiceAddress(
111
+ INSTANCE(),
112
+ getMajorVersion()));
161
113
 
162
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
163
- update(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle), newState);
164
- }
165
-
166
- function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
167
- updateState(_toNftKey32(bundleNftId, BUNDLE()), newState);
114
+ registerInterface(type(IInstance).interfaceId);
168
115
  }
169
116
 
170
- //--- Risk --------------------------------------------------------------//
171
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
172
- create(riskId.toKey32(), abi.encode(risk));
173
- }
117
+ //--- Staking ----------------------------------------------------------//
174
118
 
175
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
176
- update(riskId.toKey32(), abi.encode(risk), newState);
119
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
120
+ external
121
+ // TODO decide if onlyOwner or restricted to instance owner role is better
122
+ onlyOwner()
123
+ {
124
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
177
125
  }
178
126
 
179
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
180
- updateState(riskId.toKey32(), newState);
127
+ function setStakingRewardRate(UFixed rewardRate)
128
+ external
129
+ onlyOwner()
130
+ {
131
+ _instanceService.setStakingRewardRate(rewardRate);
181
132
  }
182
133
 
183
- //--- Application (Policy) ----------------------------------------------//
184
- function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external restricted() {
185
- create(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy));
134
+ function refillStakingRewardReserves(Amount dipAmount)
135
+ external
136
+ onlyOwner()
137
+ {
138
+ address instanceOwner = msg.sender;
139
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
186
140
  }
187
141
 
188
- function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
189
- update(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy), newState);
142
+ function withdrawStakingRewardReserves(Amount dipAmount)
143
+ external
144
+ onlyOwner()
145
+ returns (Amount newBalance)
146
+ {
147
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
190
148
  }
191
149
 
192
- function updateApplicationState(NftId applicationNftId, StateId newState) external restricted() {
193
- updateState(_toNftKey32(applicationNftId, POLICY()), newState);
194
- }
150
+ //--- Roles ------------------------------------------------------------//
195
151
 
196
- //--- Policy ------------------------------------------------------------//
197
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
198
- update(_toNftKey32(policyNftId, POLICY()), abi.encode(policy), newState);
152
+ function createRole(string memory roleName, string memory adminName)
153
+ external
154
+ onlyOwner()
155
+ returns (RoleId roleId, RoleId admin)
156
+ {
157
+ // TODO refactor
158
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
199
159
  }
200
160
 
201
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
202
- updateState(_toNftKey32(policyNftId, POLICY()), newState);
161
+ function grantRole(RoleId roleId, address account)
162
+ external
163
+ onlyOwner()
164
+ {
165
+ _instanceAdmin.grantRole(roleId, account);
203
166
  }
204
167
 
205
- //--- Claim -------------------------------------------------------------//
206
- function createClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
207
- create(_toClaimKey32(policyNftId, claimId), abi.encode(claim));
168
+ function revokeRole(RoleId roleId, address account)
169
+ external
170
+ onlyOwner()
171
+ {
172
+ // TODO refactor
173
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
208
174
  }
209
175
 
210
- function updateClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
211
- update(_toClaimKey32(policyNftId, claimId), abi.encode(claim), newState);
212
- }
176
+ //--- Targets ------------------------------------------------------------//
213
177
 
214
- function updateClaimState(NftId policyNftId, ClaimId claimId, StateId newState) external restricted() {
215
- updateState(_toClaimKey32(policyNftId, claimId), newState);
178
+ function createTarget(address target, string memory name)
179
+ external
180
+ onlyOwner()
181
+ {
182
+ // TODO refactor
183
+ // _instanceAdmin.createTarget(target, name);
216
184
  }
217
185
 
218
- //--- Payout ------------------------------------------------------------//
219
- function createPayout(NftId policyNftId, PayoutId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
220
- create(_toPayoutKey32(policyNftId, payoutId), abi.encode(payout));
186
+ function setTargetFunctionRole(
187
+ string memory targetName,
188
+ bytes4[] calldata selectors,
189
+ RoleId roleId
190
+ )
191
+ external
192
+ onlyOwner()
193
+ {
194
+ // TODO refactor
195
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
221
196
  }
222
197
 
223
- function updatePayout(NftId policyNftId, PayoutId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
224
- update(_toPayoutKey32(policyNftId, payoutId), abi.encode(payout), newState);
198
+ function setTargetLocked(address target, bool locked)
199
+ external
200
+ onlyOwner()
201
+ {
202
+ // TODO refactor
203
+ // _instanceAdmin.setTargetLockedByInstance(target, locked);
225
204
  }
226
205
 
227
- function updatePayoutState(NftId policyNftId, PayoutId payoutId, StateId newState) external restricted() {
228
- updateState(_toPayoutKey32(policyNftId, payoutId), newState);
229
- }
206
+ //--- ITransferInterceptor ----------------------------------------------//
230
207
 
231
- //--- ITransferInterceptor ------------------------------------------------------------//
208
+ // TODO interception of child components nfts
232
209
  function nftMint(address to, uint256 tokenId) external onlyChainNft {
233
- assert(_accessManager.roleMembers(INSTANCE_OWNER_ROLE()) == 0);// temp
234
- assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
210
+ // TODO refactor
211
+ // _instanceAdmin.transferInstanceOwnerRole(address(0), to);
235
212
  }
236
213
 
237
214
  function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
238
- assert(_accessManager.revokeRole(INSTANCE_OWNER_ROLE(), from) == true);
239
- assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
215
+ // TODO refactor
216
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
240
217
  }
241
218
 
242
- //--- initial setup functions -------------------------------------------//
219
+ //function nftBurn(address from, uint256 tokenId) external onlyChainNft {
220
+ //_instanceAdmin.transferInstanceOwnerRole(from, address(0));
221
+ //}
243
222
 
244
- function setInstanceAccessManager(InstanceAccessManager accessManager) external restricted {
245
- if(address(_accessManager) != address(0)) {
246
- revert ErrorInstanceInstanceAccessManagerAlreadySet(address(_accessManager));
247
- }
248
-
249
- if(accessManager.authority() != authority()) {
250
- revert ErrorInstanceInstanceAccessManagerAuthorityMismatch(authority());
251
- }
252
-
253
- _accessManager = accessManager;
254
- }
255
-
256
- function setBundleManager(BundleManager bundleManager) external restricted() {
257
- if(address(_bundleManager) != address(0)) {
258
- revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
259
- }
260
-
261
- if(bundleManager.getInstance() != Instance(this)) {
262
- revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
263
- }
264
-
265
- if(bundleManager.authority() != authority()) {
266
- revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
267
- }
268
-
269
- _bundleManager = bundleManager;
270
- }
223
+ //--- initial setup functions -------------------------------------------//
271
224
 
272
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
225
+ // TODO cleanup
226
+ // function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
227
+ // if(address(_instanceAdmin) != address(0)) {
228
+ // revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
229
+ // }
230
+ // if(accessManager.authority() != authority()) {
231
+ // revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
232
+ // }
233
+ // _instanceAdmin = accessManager;
234
+ // }
235
+
236
+ // function setBundleManager(BundleManager bundleManager) external restricted() {
237
+ // if(address(_bundleManager) != address(0)) {
238
+ // revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
239
+ // }
240
+ // if(bundleManager.getInstance() != Instance(this)) {
241
+ // revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
242
+ // }
243
+ // if(bundleManager.authority() != authority()) {
244
+ // revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
245
+ // }
246
+ // _bundleManager = bundleManager;
247
+ // }
248
+
249
+ // function setInstanceStore(InstanceStore instanceStore) external restricted {
250
+ // if(address(_instanceStore) != address(0)) {
251
+ // revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
252
+ // }
253
+ // if(instanceStore.authority() != authority()) {
254
+ // revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
255
+ // }
256
+ // _instanceStore = instanceStore;
257
+ // }
258
+
259
+ function setInstanceReader(InstanceReader instanceReader)
260
+ external
261
+ restricted()
262
+ {
273
263
  if(instanceReader.getInstance() != Instance(this)) {
274
264
  revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
275
265
  }
@@ -287,24 +277,17 @@ contract Instance is
287
277
  return _bundleManager;
288
278
  }
289
279
 
290
- function getInstanceAccessManager() external view returns (InstanceAccessManager) {
291
- return _accessManager;
292
- }
293
-
294
- function getMajorVersion() external pure returns (VersionPart majorVersion) {
295
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
280
+ function getInstanceAdmin() external view returns (InstanceAdminNew) {
281
+ return _instanceAdmin;
296
282
  }
297
283
 
298
- //--- internal view/pure functions --------------------------------------//
299
- function _toNftKey32(NftId nftId, ObjectType objectType) private pure returns (Key32) {
300
- return nftId.toKey32(objectType);
284
+ function getInstanceStore() external view returns (InstanceStore) {
285
+ return _instanceStore;
301
286
  }
302
287
 
303
- function _toClaimKey32(NftId policyNftId, ClaimId claimId) private pure returns (Key32) {
304
- return claimId.toKey32(policyNftId);
288
+ function getMajorVersion() public pure returns (VersionPart majorVersion) {
289
+ return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
305
290
  }
306
291
 
307
- function _toPayoutKey32(NftId policyNftId, PayoutId payoutId) private pure returns (Key32) {
308
- return payoutId.toKey32(policyNftId);
309
- }
310
- }
292
+ //--- internal view/pure functions --------------------------------------//
293
+ }