@etherisc/gif-next 0.0.2-9dd41ff-671 → 0.0.2-9ed3c41-176

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 (476) hide show
  1. package/README.md +30 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -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 +190 -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 +1 -1
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +148 -352
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +154 -335
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +72 -97
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +151 -251
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +67 -64
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +71 -72
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +190 -49
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +81 -141
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1158 -278
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +493 -332
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +271 -109
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +65 -58
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1103 -359
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  59. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +21 -0
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  73. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  74. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  75. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  77. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  79. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  81. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  83. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  85. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  87. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  89. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  91. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  93. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  95. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +95 -268
  97. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +60 -73
  99. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +19 -51
  101. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +149 -285
  103. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +134 -133
  105. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  106. package/artifacts/contracts/pool/Pool.sol/Pool.json +191 -348
  107. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +180 -368
  109. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +47 -84
  111. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +93 -167
  113. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +61 -50
  115. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1299 -0
  117. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  119. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +121 -211
  121. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +75 -72
  123. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
  125. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
  127. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +94 -25
  129. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +40 -1
  131. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +253 -148
  133. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -55
  135. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +180 -297
  137. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +58 -103
  139. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.json +163 -174
  141. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +86 -59
  143. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  144. package/artifacts/contracts/product/Product.sol/Product.json +288 -248
  145. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.json +47 -222
  147. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +39 -48
  149. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  151. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +106 -32
  153. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +42 -73
  155. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  156. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  157. package/artifacts/contracts/registry/Registry.sol/Registry.json +359 -47
  158. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  159. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1557 -116
  160. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  161. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +198 -28
  162. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +45 -42
  164. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  165. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  166. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  168. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  169. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  170. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  171. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -136
  172. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  173. package/artifacts/contracts/shared/Component.sol/Component.json +100 -96
  174. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  175. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +892 -55
  176. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  178. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
  180. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  181. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  182. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -81
  184. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  185. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  186. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +718 -0
  188. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +12 -16
  190. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  192. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  193. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
  194. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  195. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
  196. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  198. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  201. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  202. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  203. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  204. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  205. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  206. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  207. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  208. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  209. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  210. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  211. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  212. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  213. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +33 -20
  214. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  215. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
  216. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +19 -32
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +17 -22
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  221. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  222. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Service.sol/Service.json +16 -16
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +40 -4
  226. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  227. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  228. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  229. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  230. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  231. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  232. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
  233. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  234. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  235. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  236. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  237. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  238. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  239. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  240. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  241. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  242. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  243. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  244. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +657 -100
  245. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  246. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +65 -46
  247. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  248. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  249. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  250. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  251. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  252. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  253. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
  255. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  257. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  259. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  260. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  261. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/Fee.sol/FeeLib.json +34 -34
  263. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  264. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  265. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  267. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  268. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  269. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  271. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  273. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  275. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  276. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  277. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  279. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  281. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +76 -2
  283. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  284. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  285. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  286. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  287. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  289. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  290. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  291. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
  293. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  295. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +21 -2
  297. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  299. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  301. package/contracts/authorization/AccessAdmin.sol +591 -0
  302. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  303. package/contracts/authorization/Authorization.sol +218 -0
  304. package/contracts/authorization/IAccess.sol +48 -0
  305. package/contracts/authorization/IAccessAdmin.sol +136 -0
  306. package/contracts/authorization/IAuthorization.sol +54 -0
  307. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  308. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  309. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  310. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  311. package/contracts/distribution/BasicDistribution.sol +149 -0
  312. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  313. package/contracts/distribution/Distribution.sol +144 -146
  314. package/contracts/distribution/DistributionService.sol +69 -118
  315. package/contracts/distribution/IDistributionComponent.sol +20 -43
  316. package/contracts/distribution/IDistributionService.sol +7 -9
  317. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  318. package/contracts/instance/IInstance.sol +21 -12
  319. package/contracts/instance/IInstanceService.sol +44 -25
  320. package/contracts/instance/Instance.sol +110 -86
  321. package/contracts/instance/InstanceAdmin.sol +194 -282
  322. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  323. package/contracts/instance/InstanceReader.sol +84 -47
  324. package/contracts/instance/InstanceService.sol +253 -108
  325. package/contracts/instance/InstanceStore.sol +131 -66
  326. package/contracts/instance/base/BalanceStore.sol +123 -0
  327. package/contracts/instance/base/Cloneable.sol +2 -25
  328. package/contracts/instance/base/ObjectCounter.sol +21 -0
  329. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  330. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  331. package/contracts/instance/module/IAccess.sol +2 -0
  332. package/contracts/instance/module/IBundle.sol +1 -4
  333. package/contracts/instance/module/IComponents.sol +15 -4
  334. package/contracts/instance/module/IPolicy.sol +8 -2
  335. package/contracts/mock/Dip.sol +26 -0
  336. package/contracts/oracle/BasicOracle.sol +48 -0
  337. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  338. package/contracts/oracle/IOracle.sol +36 -0
  339. package/contracts/oracle/IOracleComponent.sol +32 -0
  340. package/contracts/oracle/IOracleService.sol +65 -0
  341. package/contracts/oracle/Oracle.sol +157 -0
  342. package/contracts/oracle/OracleService.sol +278 -0
  343. package/contracts/oracle/OracleServiceManager.sol +42 -0
  344. package/contracts/pool/BasicPool.sol +164 -0
  345. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  346. package/contracts/pool/BundleService.sol +86 -174
  347. package/contracts/pool/IBundleService.sol +4 -16
  348. package/contracts/pool/IPoolComponent.sol +4 -66
  349. package/contracts/pool/IPoolService.sol +45 -9
  350. package/contracts/pool/Pool.sol +150 -141
  351. package/contracts/pool/PoolService.sol +191 -144
  352. package/contracts/product/ApplicationService.sol +109 -42
  353. package/contracts/product/BasicProduct.sol +82 -0
  354. package/contracts/product/BasicProductAuthorization.sol +40 -0
  355. package/contracts/product/ClaimService.sol +18 -19
  356. package/contracts/product/IApplicationService.sol +1 -1
  357. package/contracts/product/IClaimService.sol +7 -1
  358. package/contracts/product/IPolicyService.sol +6 -8
  359. package/contracts/product/IPricingService.sol +3 -1
  360. package/contracts/product/IProductComponent.sol +9 -11
  361. package/contracts/product/IProductService.sol +1 -8
  362. package/contracts/product/PolicyService.sol +225 -128
  363. package/contracts/product/PricingService.sol +72 -48
  364. package/contracts/product/Product.sol +118 -105
  365. package/contracts/product/ProductService.sol +26 -114
  366. package/contracts/registry/ChainNft.sol +8 -1
  367. package/contracts/registry/IRegistry.sol +40 -18
  368. package/contracts/registry/IRegistryService.sol +15 -5
  369. package/contracts/registry/Registry.sol +221 -110
  370. package/contracts/registry/RegistryAdmin.sol +299 -77
  371. package/contracts/registry/RegistryService.sol +48 -14
  372. package/contracts/registry/RegistryServiceManager.sol +2 -9
  373. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  374. package/contracts/registry/ReleaseRegistry.sol +487 -0
  375. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  376. package/contracts/registry/TokenRegistry.sol +261 -64
  377. package/contracts/shared/Component.sol +139 -129
  378. package/contracts/shared/ComponentService.sol +527 -87
  379. package/contracts/shared/ComponentServiceManager.sol +35 -0
  380. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  381. package/contracts/shared/ERC165.sol +1 -1
  382. package/contracts/shared/IComponent.sol +17 -37
  383. package/contracts/shared/IComponentService.sol +102 -0
  384. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  385. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  386. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  387. package/contracts/shared/INftOwnable.sol +1 -1
  388. package/contracts/shared/IPolicyHolder.sol +6 -1
  389. package/contracts/shared/IService.sol +8 -1
  390. package/contracts/shared/InitializableCustom.sol +177 -0
  391. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  392. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  393. package/contracts/shared/Lifecycle.sol +77 -0
  394. package/contracts/shared/NftIdSet.sol +65 -0
  395. package/contracts/shared/NftOwnable.sol +3 -13
  396. package/contracts/shared/PolicyHolder.sol +21 -13
  397. package/contracts/shared/ProxyManager.sol +2 -3
  398. package/contracts/shared/Registerable.sol +2 -2
  399. package/contracts/shared/Service.sol +32 -21
  400. package/contracts/shared/TokenHandler.sol +24 -1
  401. package/contracts/staking/IStaking.sol +167 -0
  402. package/contracts/staking/IStakingService.sol +105 -47
  403. package/contracts/staking/StakeManagerLib.sol +231 -0
  404. package/contracts/staking/Staking.sol +511 -0
  405. package/contracts/staking/StakingLifecycle.sol +23 -0
  406. package/contracts/staking/StakingManager.sol +53 -0
  407. package/contracts/staking/StakingReader.sol +186 -0
  408. package/contracts/staking/StakingService.sol +286 -44
  409. package/contracts/staking/StakingServiceManager.sol +7 -3
  410. package/contracts/staking/StakingStore.sol +615 -0
  411. package/contracts/staking/TargetManagerLib.sol +207 -0
  412. package/contracts/type/AddressSet.sol +1 -1
  413. package/contracts/type/Amount.sol +20 -1
  414. package/contracts/type/Blocknumber.sol +20 -3
  415. package/contracts/type/Fee.sol +17 -16
  416. package/contracts/type/NftId.sol +14 -16
  417. package/contracts/type/NftIdSet.sol +1 -1
  418. package/contracts/type/ObjectType.sol +172 -63
  419. package/contracts/type/Referral.sol +1 -1
  420. package/contracts/type/RequestId.sol +75 -0
  421. package/contracts/type/RiskId.sol +1 -1
  422. package/contracts/type/RoleId.sol +104 -69
  423. package/contracts/type/Seconds.sol +27 -0
  424. package/contracts/type/Selector.sol +102 -0
  425. package/contracts/type/StateId.sol +27 -2
  426. package/contracts/type/String.sol +53 -0
  427. package/contracts/type/Timestamp.sol +6 -2
  428. package/contracts/type/UFixed.sol +6 -0
  429. package/contracts/type/Version.sol +4 -2
  430. package/package.json +8 -5
  431. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  432. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  433. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  434. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -188
  435. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  436. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  437. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  438. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  439. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  440. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  441. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  442. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  443. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  444. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  445. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  446. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  447. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1018
  448. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  449. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  450. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  451. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  452. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  453. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  454. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  455. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1747
  456. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  457. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1765
  458. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  459. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  460. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  461. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  462. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  463. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1594
  464. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -320
  465. package/contracts/instance/base/Lifecycle.sol +0 -121
  466. package/contracts/instance/module/ISetup.sol +0 -33
  467. package/contracts/instance/module/ITreasury.sol +0 -23
  468. package/contracts/registry/ReleaseManager.sol +0 -465
  469. package/contracts/shared/AccessManagerCustom.sol +0 -736
  470. package/contracts/shared/AccessManagerExtended.sol +0 -469
  471. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  472. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -125
  473. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  474. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  475. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  476. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -17
@@ -1,320 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, POOL_OWNER_ROLE, PRODUCT_OWNER_ROLE, INSTANCE_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, APPLICATION_SERVICE_ROLE, POLICY_SERVICE_ROLE, CLAIM_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, INSTANCE_ROLE} from "../type/RoleId.sol";
5
- import {INSTANCE, BUNDLE, APPLICATION, POLICY, CLAIM, PRODUCT, DISTRIBUTION, REGISTRY, POOL} from "../type/ObjectType.sol";
6
- import {VersionPart} from "../type/Version.sol";
7
-
8
- import {IRegistry} from "../registry/IRegistry.sol";
9
-
10
- import {Instance} from "./Instance.sol";
11
- import {InstanceAdmin} from "./InstanceAdmin.sol";
12
- import {InstanceReader} from "./InstanceReader.sol";
13
- import {BundleManager} from "./BundleManager.sol";
14
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
15
- import {InstanceStore} from "./InstanceStore.sol";
16
-
17
-
18
- library InstanceAuthorizationsLib
19
- {
20
- function grantInitialAuthorizations(
21
- AccessManagerExtendedInitializeable accessManager,
22
- InstanceAdmin instanceAdmin,
23
- Instance instance,
24
- BundleManager bundleManager,
25
- InstanceStore instanceStore,
26
- address instanceOwner,
27
- IRegistry registry,
28
- VersionPart majorVersion)
29
- external
30
- {
31
- _createRoles(instanceAdmin);
32
- _createTargets(instanceAdmin, instance, bundleManager, instanceStore);
33
- _grantDistributionServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
34
- _grantPoolServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
35
- _grantProductServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
36
- _grantApplicationServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
37
- _grantPolicyServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
38
- _grantClaimServiceAuthorizations(accessManager, instanceAdmin, instanceStore, registry, majorVersion);
39
- _grantBundleServiceAuthorizations(accessManager, instanceAdmin, instanceStore, bundleManager, registry, majorVersion);
40
- _grantInstanceServiceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
41
- _grantInstanceAuthorizations(accessManager, instanceAdmin, instance, registry, majorVersion);
42
- _grantInstanceOwnerAuthorizations(instanceAdmin, instance, registry, majorVersion);
43
- }
44
-
45
- function _createRoles(InstanceAdmin instanceAdmin) private {
46
- // default roles controlled by ADMIN_ROLE -> core roles
47
- // all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
48
- instanceAdmin.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
49
- instanceAdmin.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
50
- instanceAdmin.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
51
- instanceAdmin.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
52
- instanceAdmin.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
53
- instanceAdmin.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
54
- instanceAdmin.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
55
- instanceAdmin.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
56
- // default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
57
- instanceAdmin.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
58
- instanceAdmin.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
59
- instanceAdmin.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
60
- }
61
-
62
- function _createTargets(
63
- InstanceAdmin instanceAdmin,
64
- Instance instance,
65
- BundleManager bundleManager,
66
- InstanceStore instanceStore)
67
- private
68
- {
69
- instanceAdmin.createCoreTarget(address(instance), "Instance");
70
- //instanceAdmin.createCoreTarget(address(instanceAdmin), "InstanceAdmin");
71
- instanceAdmin.createCoreTarget(address(bundleManager), "BundleManager");
72
- instanceAdmin.createCoreTarget(address(instanceStore), "InstanceStore");
73
- }
74
-
75
- function _grantDistributionServiceAuthorizations(
76
- AccessManagerExtendedInitializeable accessManager,
77
- InstanceAdmin instanceAdmin,
78
- InstanceStore instanceStore,
79
- IRegistry registry,
80
- VersionPart majorVersion)
81
- private
82
- {
83
- // configure authorization for distribution service on instance
84
- address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
85
- accessManager.grantRole(DISTRIBUTION_SERVICE_ROLE().toInt(), distributionServiceAddress, 0);
86
- bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](11);
87
- instanceDistributionServiceSelectors[0] = instanceStore.createDistributionSetup.selector;
88
- instanceDistributionServiceSelectors[1] = instanceStore.updateDistributionSetup.selector;
89
- instanceDistributionServiceSelectors[2] = instanceStore.createDistributorType.selector;
90
- instanceDistributionServiceSelectors[3] = instanceStore.updateDistributorType.selector;
91
- instanceDistributionServiceSelectors[4] = instanceStore.updateDistributorTypeState.selector;
92
- instanceDistributionServiceSelectors[5] = instanceStore.createDistributor.selector;
93
- instanceDistributionServiceSelectors[6] = instanceStore.updateDistributor.selector;
94
- instanceDistributionServiceSelectors[7] = instanceStore.updateDistributorState.selector;
95
- instanceDistributionServiceSelectors[8] = instanceStore.createReferral.selector;
96
- instanceDistributionServiceSelectors[9] = instanceStore.updateReferral.selector;
97
- instanceDistributionServiceSelectors[10] = instanceStore.updateReferralState.selector;
98
- instanceAdmin.setCoreTargetFunctionRole(
99
- "InstanceStore",
100
- instanceDistributionServiceSelectors,
101
- DISTRIBUTION_SERVICE_ROLE());
102
- }
103
-
104
- function _grantPoolServiceAuthorizations(
105
- AccessManagerExtendedInitializeable accessManager,
106
- InstanceAdmin instanceAdmin,
107
- InstanceStore instanceStore,
108
- IRegistry registry,
109
- VersionPart majorVersion)
110
- private
111
- {
112
- // configure authorization for pool service on instance
113
- address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
114
- accessManager.grantRole(POOL_SERVICE_ROLE().toInt(), address(poolServiceAddress), 0);
115
- bytes4[] memory instancePoolServiceSelectors = new bytes4[](4);
116
- instancePoolServiceSelectors[0] = instanceStore.createPoolSetup.selector;
117
- instancePoolServiceSelectors[1] = instanceStore.updatePoolSetup.selector;
118
- instanceAdmin.setCoreTargetFunctionRole(
119
- "InstanceStore",
120
- instancePoolServiceSelectors,
121
- POOL_SERVICE_ROLE());
122
- }
123
-
124
- function _grantProductServiceAuthorizations(
125
- AccessManagerExtendedInitializeable accessManager,
126
- InstanceAdmin instanceAdmin,
127
- InstanceStore instanceStore,
128
- IRegistry registry,
129
- VersionPart majorVersion)
130
- private
131
- {
132
- // configure authorization for product service on instance
133
- address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
134
- accessManager.grantRole(PRODUCT_SERVICE_ROLE().toInt(), address(productServiceAddress), 0);
135
- bytes4[] memory instanceProductServiceSelectors = new bytes4[](5);
136
- instanceProductServiceSelectors[0] = instanceStore.createProductSetup.selector;
137
- instanceProductServiceSelectors[1] = instanceStore.updateProductSetup.selector;
138
- instanceProductServiceSelectors[2] = instanceStore.createRisk.selector;
139
- instanceProductServiceSelectors[3] = instanceStore.updateRisk.selector;
140
- instanceProductServiceSelectors[4] = instanceStore.updateRiskState.selector;
141
- instanceAdmin.setCoreTargetFunctionRole(
142
- "InstanceStore",
143
- instanceProductServiceSelectors,
144
- PRODUCT_SERVICE_ROLE());
145
- }
146
-
147
- function _grantApplicationServiceAuthorizations(
148
- AccessManagerExtendedInitializeable accessManager,
149
- InstanceAdmin instanceAdmin,
150
- InstanceStore instanceStore,
151
- IRegistry registry,
152
- VersionPart majorVersion)
153
- private
154
- {
155
- // configure authorization for application services on instance
156
- address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
157
- accessManager.grantRole(APPLICATION_SERVICE_ROLE().toInt(), applicationServiceAddress, 0);
158
- bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
159
- instanceApplicationServiceSelectors[0] = instanceStore.createApplication.selector;
160
- instanceApplicationServiceSelectors[1] = instanceStore.updateApplication.selector;
161
- instanceApplicationServiceSelectors[2] = instanceStore.updateApplicationState.selector;
162
- instanceAdmin.setCoreTargetFunctionRole(
163
- "InstanceStore",
164
- instanceApplicationServiceSelectors,
165
- APPLICATION_SERVICE_ROLE());
166
- }
167
-
168
- function _grantPolicyServiceAuthorizations(
169
- AccessManagerExtendedInitializeable accessManager,
170
- InstanceAdmin instanceAdmin,
171
- InstanceStore instanceStore,
172
- IRegistry registry,
173
- VersionPart majorVersion)
174
- private
175
- {
176
- // configure authorization for policy services on instance
177
- address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
178
- accessManager.grantRole(POLICY_SERVICE_ROLE().toInt(), policyServiceAddress, 0);
179
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
180
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicy.selector;
181
- instancePolicyServiceSelectors[1] = instanceStore.updatePolicyState.selector;
182
- instanceAdmin.setCoreTargetFunctionRole(
183
- "InstanceStore",
184
- instancePolicyServiceSelectors,
185
- POLICY_SERVICE_ROLE());
186
- }
187
-
188
- function _grantClaimServiceAuthorizations(
189
- AccessManagerExtendedInitializeable accessManager,
190
- InstanceAdmin instanceAdmin,
191
- InstanceStore instanceStore,
192
- IRegistry registry,
193
- VersionPart majorVersion)
194
- private
195
- {
196
- // configure authorization for claim/payout services on instance
197
- address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
198
- accessManager.grantRole(CLAIM_SERVICE_ROLE().toInt(), claimServiceAddress, 0);
199
-
200
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
201
- instancePolicyServiceSelectors[0] = instanceStore.updatePolicyClaims.selector;
202
- instanceAdmin.setCoreTargetFunctionRole(
203
- "InstanceStore",
204
- instancePolicyServiceSelectors,
205
- CLAIM_SERVICE_ROLE());
206
-
207
- bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
208
- instanceClaimServiceSelectors[0] = instanceStore.createClaim.selector;
209
- instanceClaimServiceSelectors[1] = instanceStore.updateClaim.selector;
210
- instanceClaimServiceSelectors[2] = instanceStore.createPayout.selector;
211
- instanceClaimServiceSelectors[3] = instanceStore.updatePayout.selector;
212
- instanceAdmin.setCoreTargetFunctionRole(
213
- "InstanceStore",
214
- instanceClaimServiceSelectors,
215
- CLAIM_SERVICE_ROLE());
216
- }
217
-
218
- function _grantBundleServiceAuthorizations(
219
- AccessManagerExtendedInitializeable accessManager,
220
- InstanceAdmin instanceAdmin,
221
- InstanceStore instanceStore,
222
- BundleManager bundleManager,
223
- IRegistry registry,
224
- VersionPart majorVersion)
225
- private
226
- {
227
- // configure authorization for bundle service on instance
228
- address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
229
- accessManager.grantRole(BUNDLE_SERVICE_ROLE().toInt(), address(bundleServiceAddress), 0);
230
- bytes4[] memory instanceBundleServiceSelectors = new bytes4[](3);
231
- instanceBundleServiceSelectors[0] = instanceStore.createBundle.selector;
232
- instanceBundleServiceSelectors[1] = instanceStore.updateBundle.selector;
233
- instanceBundleServiceSelectors[2] = instanceStore.updateBundleState.selector;
234
- instanceAdmin.setCoreTargetFunctionRole(
235
- "InstanceStore",
236
- instanceBundleServiceSelectors,
237
- BUNDLE_SERVICE_ROLE());
238
-
239
- // configure authorization for bundle service on bundle manager
240
- bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
241
- bundleManagerBundleServiceSelectors[0] = bundleManager.linkPolicy.selector;
242
- bundleManagerBundleServiceSelectors[1] = bundleManager.unlinkPolicy.selector;
243
- bundleManagerBundleServiceSelectors[2] = bundleManager.add.selector;
244
- bundleManagerBundleServiceSelectors[3] = bundleManager.lock.selector;
245
- bundleManagerBundleServiceSelectors[4] = bundleManager.unlock.selector;
246
- instanceAdmin.setCoreTargetFunctionRole(
247
- "BundleManager",
248
- bundleManagerBundleServiceSelectors,
249
- BUNDLE_SERVICE_ROLE());
250
- }
251
-
252
- function _grantInstanceServiceAuthorizations(
253
- AccessManagerExtendedInitializeable accessManager,
254
- InstanceAdmin instanceAdmin,
255
- Instance instance,
256
- IRegistry registry,
257
- VersionPart majorVersion)
258
- private
259
- {
260
- // configure authorization for instance service on instance
261
- address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
262
- accessManager.grantRole(INSTANCE_SERVICE_ROLE().toInt(), instanceServiceAddress, 0);
263
- bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
264
- instanceInstanceServiceSelectors[0] = instance.setInstanceReader.selector;
265
- instanceAdmin.setCoreTargetFunctionRole(
266
- "Instance",
267
- instanceInstanceServiceSelectors,
268
- INSTANCE_SERVICE_ROLE());
269
-
270
- // configure authorizations for instance service on instance access manager
271
- bytes4[] memory instanceAdminInstanceServiceSelectors = new bytes4[](3);
272
- instanceAdminInstanceServiceSelectors[0] = instanceAdmin.createGifTarget.selector;
273
- instanceAdminInstanceServiceSelectors[1] = instanceAdmin.setTargetLockedByService.selector;
274
- instanceAdminInstanceServiceSelectors[2] = instanceAdmin.setCoreTargetFunctionRole.selector;
275
- instanceAdmin.setCoreTargetFunctionRole(
276
- "InstanceAdmin",
277
- instanceAdminInstanceServiceSelectors,
278
- INSTANCE_SERVICE_ROLE());
279
- }
280
-
281
- function _grantInstanceAuthorizations(
282
- AccessManagerExtendedInitializeable accessManager,
283
- InstanceAdmin instanceAdmin,
284
- Instance instance,
285
- IRegistry registry,
286
- VersionPart majorVersion)
287
- private
288
- {
289
- // configure authorizations for instance on instance admin
290
- bytes4[] memory instanceAdminInstanceSelectors = new bytes4[](4);
291
- instanceAdminInstanceSelectors[0] = instanceAdmin.createRole.selector;
292
- instanceAdminInstanceSelectors[1] = instanceAdmin.createTarget.selector;
293
- instanceAdminInstanceSelectors[2] = instanceAdmin.setTargetFunctionRole.selector;
294
- instanceAdminInstanceSelectors[3] = instanceAdmin.setTargetLockedByInstance.selector;
295
- instanceAdmin.setCoreTargetFunctionRole(
296
- "InstanceAdmin",
297
- instanceAdminInstanceSelectors,
298
- INSTANCE_ROLE());
299
- }
300
-
301
- function _grantInstanceOwnerAuthorizations(
302
- InstanceAdmin instanceAdmin,
303
- Instance instance,
304
- IRegistry registry,
305
- VersionPart majorVersion)
306
- private
307
- {
308
- // configure authorization for instance owner on instance access manager
309
- // instance owner role is granted/revoked ONLY by INSTANCE_ROLE
310
- bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
311
- instanceInstanceOwnerSelectors[0] = instance.createRole.selector;
312
- instanceInstanceOwnerSelectors[1] = instance.createTarget.selector;
313
- instanceInstanceOwnerSelectors[2] = instance.setTargetFunctionRole.selector;
314
- instanceInstanceOwnerSelectors[3] = instance.setTargetLocked.selector;
315
- instanceAdmin.setCoreTargetFunctionRole(
316
- "Instance",
317
- instanceInstanceOwnerSelectors,
318
- INSTANCE_OWNER_ROLE());
319
- }
320
- }
@@ -1,121 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
-
6
- import {NftId} from "../../type/NftId.sol";
7
- import {ObjectType, COMPONENT, BUNDLE, POLICY, RISK, CLAIM, PAYOUT} from "../../type/ObjectType.sol";
8
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, COLLATERALIZED, REVOKED, SUBMITTED, CONFIRMED, DECLINED, EXPECTED, PAID} from "../../type/StateId.sol";
9
- import {ILifecycle} from "./ILifecycle.sol";
10
-
11
- contract Lifecycle is
12
- Initializable,
13
- ILifecycle
14
- {
15
- mapping(ObjectType objectType => StateId initialState)
16
- private _initialState;
17
-
18
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
19
- private _isValidTransition;
20
-
21
- function initializeLifecycle()
22
- public
23
- onlyInitializing
24
- {
25
- _setupBundleLifecycle();
26
- _setupComponentLifecycle();
27
- _setupPolicyLifecycle();
28
- _setupClaimAndPayoutLifecycle();
29
- _setupRiskLifecycle();
30
- }
31
-
32
- function hasLifecycle(
33
- ObjectType objectType
34
- )
35
- public
36
- view
37
- override
38
- returns (bool)
39
- {
40
- return _initialState[objectType].gtz();
41
- }
42
-
43
- function getInitialState(
44
- ObjectType objectType
45
- )
46
- public
47
- view
48
- returns (StateId)
49
- {
50
- return _initialState[objectType];
51
- }
52
-
53
- function checkTransition(
54
- ObjectType objectType,
55
- StateId fromId,
56
- StateId toId
57
- )
58
- public
59
- view
60
- {
61
- // return if no life cycle support
62
- if (_initialState[objectType].eqz()) {
63
- return;
64
- }
65
-
66
- // enforce valid state transition
67
- if (!_isValidTransition[objectType][fromId][toId]) {
68
- revert ErrorInvalidStateTransition(objectType, fromId, toId);
69
- }
70
- }
71
-
72
- function isValidTransition(
73
- ObjectType objectType,
74
- StateId fromId,
75
- StateId toId
76
- ) public view returns (bool) {
77
- return _isValidTransition[objectType][fromId][toId];
78
- }
79
-
80
- function _setupComponentLifecycle() internal {
81
- _initialState[COMPONENT()] = ACTIVE();
82
- _isValidTransition[COMPONENT()][ACTIVE()][PAUSED()] = true;
83
- _isValidTransition[COMPONENT()][PAUSED()][ACTIVE()] = true;
84
- _isValidTransition[COMPONENT()][PAUSED()][ARCHIVED()] = true;
85
- }
86
-
87
- function _setupBundleLifecycle() internal {
88
- _initialState[BUNDLE()] = ACTIVE();
89
- _isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
90
- _isValidTransition[BUNDLE()][ACTIVE()][CLOSED()] = true;
91
- _isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
92
- _isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
93
- }
94
-
95
- function _setupPolicyLifecycle() internal {
96
- _initialState[POLICY()] = APPLIED();
97
- _isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
98
- _isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
99
- _isValidTransition[POLICY()][APPLIED()][COLLATERALIZED()] = true;
100
- _isValidTransition[POLICY()][APPLIED()][ACTIVE()] = true;
101
- _isValidTransition[POLICY()][COLLATERALIZED()][ACTIVE()] = true;
102
- _isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
103
- }
104
-
105
- function _setupClaimAndPayoutLifecycle() internal {
106
- _initialState[CLAIM()] = SUBMITTED();
107
- _isValidTransition[CLAIM()][SUBMITTED()][CONFIRMED()] = true;
108
- _isValidTransition[CLAIM()][SUBMITTED()][DECLINED()] = true;
109
- _isValidTransition[CLAIM()][CONFIRMED()][CLOSED()] = true;
110
-
111
- _initialState[PAYOUT()] = EXPECTED();
112
- _isValidTransition[PAYOUT()][EXPECTED()][PAID()] = true;
113
- }
114
-
115
- function _setupRiskLifecycle() internal {
116
- _initialState[RISK()] = ACTIVE();
117
- _isValidTransition[RISK()][ACTIVE()][PAUSED()] = true;
118
- _isValidTransition[RISK()][PAUSED()][ACTIVE()] = true;
119
- _isValidTransition[RISK()][PAUSED()][ARCHIVED()] = true;
120
- }
121
- }
@@ -1,33 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../type/Fee.sol";
7
- import {NftId} from "../../type/NftId.sol";
8
- import {RoleId} from "../../type/RoleId.sol";
9
- import {TokenHandler} from "../../shared/TokenHandler.sol";
10
- import {UFixed} from "../../type/UFixed.sol";
11
-
12
- interface ISetup {
13
-
14
- struct ProductSetupInfo {
15
- IERC20Metadata token;
16
- TokenHandler tokenHandler;
17
- NftId distributionNftId;
18
- NftId poolNftId;
19
- Fee productFee; // product fee on net premium
20
- Fee processingFee; // product fee on payout amounts
21
- bool isIntercepting; // intercepts nft transfers (for products)
22
- address wallet;
23
- }
24
-
25
- struct DistributionSetupInfo {
26
- NftId productNftId;
27
- TokenHandler tokenHandler;
28
- Fee minDistributionOwnerFee;
29
- Fee distributionFee; // recalculated whenever any fee on the product/pool/dist/disttype is changed
30
- address wallet;
31
- uint256 sumDistributionOwnerFees;
32
- }
33
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../type/Fee.sol";
7
- import {NftId} from "../../type/NftId.sol";
8
- import {TokenHandler} from "../../shared/TokenHandler.sol";
9
-
10
- interface ITreasury {
11
- struct TreasuryInfo {
12
- IERC20Metadata token;
13
- TokenHandler tokenHandler;
14
- NftId distributionNftId;
15
- NftId poolNftId;
16
- Fee distributionFee; // default distribution fee (no referral id)
17
- Fee productFee; // product fee on net premium
18
- Fee processingFee; // product fee on payout amounts
19
- Fee poolFee; // pool fee on net premium
20
- Fee stakingFee; // pool fee on staked capital from investor
21
- Fee performanceFee; // pool fee on profits from capital investors
22
- }
23
- }