@etherisc/gif-next 0.0.2-c6d46bb-892 → 0.0.2-c778291-689

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 (496) hide show
  1. package/README.md +51 -5
  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 +1489 -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 +178 -395
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +280 -324
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +130 -72
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +169 -263
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +186 -94
  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 +77 -78
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +193 -52
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +93 -126
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  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 +583 -326
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +282 -101
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +120 -42
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1230 -365
  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 +8 -116
  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 +1126 -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 +765 -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 +1018 -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 +1395 -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 +399 -213
  97. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -50
  99. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +204 -32
  101. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +180 -366
  103. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +340 -209
  105. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  106. package/artifacts/contracts/pool/Pool.sol/Pool.json +226 -452
  107. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +399 -430
  109. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +105 -67
  111. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +92 -158
  113. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +111 -37
  115. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1243 -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 +132 -187
  121. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +129 -55
  123. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
  125. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +36 -1
  127. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +217 -73
  129. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +83 -44
  131. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -183
  133. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  134. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +15 -57
  135. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +235 -290
  137. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +117 -91
  139. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.json +188 -220
  141. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +135 -57
  143. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  144. package/artifacts/contracts/product/Product.sol/Product.json +344 -341
  145. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  146. package/artifacts/contracts/product/RiskService.sol/RiskService.json +695 -0
  147. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  148. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +702 -0
  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 +182 -28
  153. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +206 -124
  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 +439 -39
  158. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  159. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  160. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  161. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +370 -68
  162. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +99 -35
  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 -138
  172. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  173. package/artifacts/contracts/shared/Component.sol/Component.json +104 -145
  174. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  175. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1252 -203
  176. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -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/IComponent.sol/IComponent.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -107
  182. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  183. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  184. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  185. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  186. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  187. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +12 -16
  188. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  190. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  191. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
  192. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  193. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
  194. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
  196. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  198. package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
  199. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  200. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  201. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  202. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
  203. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  204. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +940 -0
  205. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  206. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  207. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  208. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  209. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  210. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  211. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  212. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
  213. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  214. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
  215. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  216. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +21 -7
  217. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  218. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  219. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  220. package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
  221. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  222. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
  223. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  224. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  225. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  226. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1412 -0
  227. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
  229. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  230. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +387 -0
  231. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  232. package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -0
  233. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  234. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  235. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  236. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  237. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  238. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  239. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  240. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +661 -85
  241. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  242. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  243. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  244. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  245. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
  247. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  248. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  249. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  250. package/artifacts/contracts/type/Amount.sol/AmountLib.json +97 -4
  251. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  252. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  253. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
  255. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  257. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
  259. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  260. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  261. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  262. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  263. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  264. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  265. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  266. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  267. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
  269. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  271. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  272. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  273. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
  275. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  277. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +100 -2
  279. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  281. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  283. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  285. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  286. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  287. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  289. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  291. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
  293. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  295. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  297. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  298. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  299. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  300. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  301. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  302. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  303. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  304. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  305. package/contracts/authorization/AccessAdmin.sol +591 -0
  306. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  307. package/contracts/authorization/Authorization.sol +217 -0
  308. package/contracts/authorization/IAccess.sol +48 -0
  309. package/contracts/authorization/IAccessAdmin.sol +136 -0
  310. package/contracts/authorization/IAuthorization.sol +54 -0
  311. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  312. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  313. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  314. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  315. package/contracts/distribution/BasicDistribution.sol +138 -0
  316. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  317. package/contracts/distribution/Distribution.sol +162 -152
  318. package/contracts/distribution/DistributionService.sol +124 -137
  319. package/contracts/distribution/DistributionServiceManager.sol +11 -23
  320. package/contracts/distribution/IDistributionComponent.sol +28 -47
  321. package/contracts/distribution/IDistributionService.sol +24 -10
  322. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  323. package/contracts/instance/IInstance.sol +29 -43
  324. package/contracts/instance/IInstanceService.sol +46 -27
  325. package/contracts/instance/Instance.sol +116 -116
  326. package/contracts/instance/InstanceAdmin.sol +285 -0
  327. package/contracts/instance/InstanceAuthorizationV3.sol +203 -0
  328. package/contracts/instance/InstanceReader.sol +106 -52
  329. package/contracts/instance/InstanceService.sol +291 -132
  330. package/contracts/instance/InstanceServiceManager.sol +12 -26
  331. package/contracts/instance/InstanceStore.sol +146 -66
  332. package/contracts/instance/base/BalanceStore.sol +123 -0
  333. package/contracts/instance/base/Cloneable.sol +2 -25
  334. package/contracts/instance/base/ObjectCounter.sol +21 -0
  335. package/contracts/instance/base/ObjectLifecycle.sol +110 -0
  336. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  337. package/contracts/instance/module/IAccess.sol +2 -10
  338. package/contracts/instance/module/IBundle.sol +1 -4
  339. package/contracts/instance/module/IComponents.sol +15 -10
  340. package/contracts/instance/module/IDistribution.sol +0 -1
  341. package/contracts/instance/module/IPolicy.sol +25 -19
  342. package/contracts/mock/Dip.sol +26 -0
  343. package/contracts/oracle/BasicOracle.sol +48 -0
  344. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  345. package/contracts/oracle/IOracle.sol +36 -0
  346. package/contracts/oracle/IOracleComponent.sol +33 -0
  347. package/contracts/oracle/IOracleService.sol +65 -0
  348. package/contracts/oracle/Oracle.sol +167 -0
  349. package/contracts/oracle/OracleService.sol +279 -0
  350. package/contracts/oracle/OracleServiceManager.sol +39 -0
  351. package/contracts/pool/BasicPool.sol +166 -0
  352. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  353. package/contracts/pool/BundleService.sol +252 -196
  354. package/contracts/pool/BundleServiceManager.sol +11 -23
  355. package/contracts/pool/IBundleService.sol +35 -19
  356. package/contracts/pool/IPoolComponent.sol +10 -66
  357. package/contracts/pool/IPoolService.sol +79 -33
  358. package/contracts/pool/Pool.sol +168 -144
  359. package/contracts/pool/PoolService.sol +322 -216
  360. package/contracts/pool/PoolServiceManager.sol +11 -23
  361. package/contracts/product/ApplicationService.sol +143 -80
  362. package/contracts/product/ApplicationServiceManager.sol +11 -8
  363. package/contracts/product/BasicProduct.sol +53 -0
  364. package/contracts/product/BasicProductAuthorization.sol +43 -0
  365. package/contracts/product/ClaimService.sol +36 -62
  366. package/contracts/product/ClaimServiceManager.sol +11 -8
  367. package/contracts/product/IApplicationService.sol +2 -1
  368. package/contracts/product/IClaimService.sol +8 -1
  369. package/contracts/product/IPolicyService.sol +29 -36
  370. package/contracts/product/IPricingService.sol +10 -8
  371. package/contracts/product/IProductComponent.sol +10 -12
  372. package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
  373. package/contracts/product/PolicyService.sol +390 -192
  374. package/contracts/product/PolicyServiceManager.sol +11 -26
  375. package/contracts/product/PricingService.sol +103 -77
  376. package/contracts/product/PricingServiceManager.sol +11 -23
  377. package/contracts/product/Product.sol +156 -128
  378. package/contracts/product/RiskService.sol +97 -0
  379. package/contracts/product/RiskServiceManager.sol +39 -0
  380. package/contracts/registry/ChainNft.sol +8 -1
  381. package/contracts/registry/IRegistry.sol +54 -21
  382. package/contracts/registry/IRegistryService.sol +38 -35
  383. package/contracts/registry/Registry.sol +233 -124
  384. package/contracts/registry/RegistryAdmin.sol +374 -0
  385. package/contracts/registry/RegistryService.sol +67 -100
  386. package/contracts/registry/RegistryServiceManager.sol +23 -30
  387. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  388. package/contracts/registry/ReleaseRegistry.sol +485 -0
  389. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  390. package/contracts/registry/TokenRegistry.sol +261 -62
  391. package/contracts/shared/Component.sol +141 -144
  392. package/contracts/shared/ComponentService.sol +587 -96
  393. package/contracts/shared/ComponentServiceManager.sol +35 -0
  394. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  395. package/contracts/shared/IComponent.sol +21 -41
  396. package/contracts/shared/IComponentService.sol +108 -0
  397. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  398. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  399. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  400. package/contracts/shared/INftOwnable.sol +1 -1
  401. package/contracts/shared/IPolicyHolder.sol +6 -1
  402. package/contracts/shared/IService.sol +9 -2
  403. package/contracts/shared/InitializableCustom.sol +177 -0
  404. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +2 -2
  405. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  406. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  407. package/contracts/shared/Lifecycle.sol +77 -0
  408. package/contracts/shared/NftIdSet.sol +65 -0
  409. package/contracts/shared/NftOwnable.sol +4 -15
  410. package/contracts/shared/PolicyHolder.sol +22 -17
  411. package/contracts/shared/Registerable.sol +2 -2
  412. package/contracts/shared/Service.sol +32 -22
  413. package/contracts/shared/TokenHandler.sol +112 -8
  414. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  415. package/contracts/staking/IStaking.sol +167 -0
  416. package/contracts/staking/IStakingService.sol +105 -47
  417. package/contracts/staking/StakeManagerLib.sol +206 -0
  418. package/contracts/staking/Staking.sol +497 -0
  419. package/contracts/staking/StakingLifecycle.sol +23 -0
  420. package/contracts/staking/StakingManager.sol +50 -0
  421. package/contracts/staking/StakingReader.sol +183 -0
  422. package/contracts/staking/StakingService.sol +288 -47
  423. package/contracts/staking/{StakeingServiceManager.sol → StakingServiceManager.sol} +13 -6
  424. package/contracts/staking/StakingStore.sol +605 -0
  425. package/contracts/staking/TargetManagerLib.sol +207 -0
  426. package/contracts/type/AddressSet.sol +1 -1
  427. package/contracts/type/Amount.sol +29 -3
  428. package/contracts/type/Blocknumber.sol +26 -3
  429. package/contracts/type/Fee.sol +17 -16
  430. package/contracts/type/NftId.sol +14 -16
  431. package/contracts/type/NftIdSet.sol +1 -1
  432. package/contracts/type/ObjectType.sol +175 -62
  433. package/contracts/type/Referral.sol +2 -1
  434. package/contracts/type/RequestId.sol +75 -0
  435. package/contracts/type/RiskId.sol +1 -1
  436. package/contracts/type/RoleId.sol +104 -62
  437. package/contracts/type/Seconds.sol +40 -1
  438. package/contracts/type/Selector.sol +102 -0
  439. package/contracts/type/StateId.sol +27 -2
  440. package/contracts/type/String.sol +53 -0
  441. package/contracts/type/Timestamp.sol +17 -3
  442. package/contracts/type/UFixed.sol +34 -9
  443. package/contracts/type/Version.sol +4 -2
  444. package/contracts/{shared → upgradeability}/ProxyManager.sol +33 -4
  445. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  446. package/package.json +8 -5
  447. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  448. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  449. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  450. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  451. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  452. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
  453. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  454. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  455. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  456. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  457. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  458. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  459. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  460. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  461. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  462. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  463. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  464. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  465. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  466. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -864
  467. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  468. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -640
  469. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  470. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  471. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  472. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
  473. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  474. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  475. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  476. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  477. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  478. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  479. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
  480. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  481. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  482. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  483. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +0 -628
  485. package/contracts/instance/InstanceAccessManager.sol +0 -543
  486. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
  487. package/contracts/instance/base/Lifecycle.sol +0 -121
  488. package/contracts/instance/module/ISetup.sol +0 -33
  489. package/contracts/instance/module/ITreasury.sol +0 -23
  490. package/contracts/product/ProductService.sol +0 -210
  491. package/contracts/product/ProductServiceManager.sol +0 -54
  492. package/contracts/registry/RegistryAccessManager.sol +0 -216
  493. package/contracts/registry/ReleaseManager.sol +0 -328
  494. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  495. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
  496. /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -1,308 +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 {InstanceAccessManager} from "./InstanceAccessManager.sol";
12
- import {InstanceReader} from "./InstanceReader.sol";
13
- import {BundleManager} from "./BundleManager.sol";
14
- import {AccessManagerUpgradeableInitializeable} from "../shared/AccessManagerUpgradeableInitializeable.sol";
15
- import {InstanceStore} from "./InstanceStore.sol";
16
-
17
-
18
- library InstanceAuthorizationsLib
19
- {
20
- function grantInitialAuthorizations(
21
- InstanceAccessManager clonedAccessManager,
22
- Instance clonedInstance,
23
- BundleManager clonedBundleManager,
24
- InstanceStore clonedInstanceStore,
25
- address instanceOwner,
26
- IRegistry registry,
27
- VersionPart majorVersion)
28
- external
29
- {
30
- _createCoreAndGifRoles(clonedAccessManager);
31
- _createCoreTargets(clonedAccessManager, clonedInstance, clonedBundleManager, clonedInstanceStore);
32
- _grantDistributionServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
33
- _grantPoolServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
34
- _grantProductServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
35
- _grantApplicationServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
36
- _grantPolicyServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
37
- _grantClaimServiceAuthorizations(clonedAccessManager, clonedInstanceStore, registry, majorVersion);
38
- _grantBundleServiceAuthorizations(clonedAccessManager, clonedInstanceStore, clonedBundleManager, registry, majorVersion);
39
- _grantInstanceServiceAuthorizations(clonedAccessManager, clonedInstance, registry, majorVersion);
40
- _grantInstanceAuthorizations(clonedAccessManager, registry, majorVersion);
41
- _grantInstanceOwnerAuthorizations(clonedAccessManager, clonedInstance, registry, majorVersion);
42
- }
43
-
44
- function _createCoreAndGifRoles(InstanceAccessManager clonedAccessManager) private {
45
- // default roles controlled by ADMIN_ROLE -> core roles
46
- // all set/granted only once during cloning (the only exception is INSTANCE_OWNER_ROLE, hooked to instance nft)
47
- clonedAccessManager.createCoreRole(INSTANCE_SERVICE_ROLE(), "InstanceServiceRole");
48
- clonedAccessManager.createCoreRole(DISTRIBUTION_SERVICE_ROLE(), "DistributionServiceRole");
49
- clonedAccessManager.createCoreRole(POOL_SERVICE_ROLE(), "PoolServiceRole");
50
- clonedAccessManager.createCoreRole(APPLICATION_SERVICE_ROLE(), "ApplicationServiceRole");
51
- clonedAccessManager.createCoreRole(PRODUCT_SERVICE_ROLE(), "ProductServiceRole");
52
- clonedAccessManager.createCoreRole(CLAIM_SERVICE_ROLE(), "ClaimServiceRole");
53
- clonedAccessManager.createCoreRole(POLICY_SERVICE_ROLE(), "PolicyServiceRole");
54
- clonedAccessManager.createCoreRole(BUNDLE_SERVICE_ROLE(), "BundleServiceRole");
55
- // default roles controlled by INSTANCE_OWNER_ROLE -> gif roles
56
- clonedAccessManager.createGifRole(DISTRIBUTION_OWNER_ROLE(), "DistributionOwnerRole", INSTANCE_OWNER_ROLE());
57
- clonedAccessManager.createGifRole(POOL_OWNER_ROLE(), "PoolOwnerRole", INSTANCE_OWNER_ROLE());
58
- clonedAccessManager.createGifRole(PRODUCT_OWNER_ROLE(), "ProductOwnerRole", INSTANCE_OWNER_ROLE());
59
- }
60
-
61
- function _createCoreTargets(
62
- InstanceAccessManager clonedAccessManager,
63
- Instance clonedInstance,
64
- BundleManager clonedBundleManager,
65
- InstanceStore clonedInstanceStore)
66
- private
67
- {
68
- clonedAccessManager.createCoreTarget(address(clonedAccessManager), "InstanceAccessManager");// TODO create in instance access manager initializer?
69
- clonedAccessManager.createCoreTarget(address(clonedInstance), "Instance");// TODO create in instance access manager initializer?
70
- clonedAccessManager.createCoreTarget(address(clonedBundleManager), "BundleManager");
71
- clonedAccessManager.createCoreTarget(address(clonedInstanceStore), "InstanceStore");
72
- }
73
-
74
- function _grantDistributionServiceAuthorizations(
75
- InstanceAccessManager clonedAccessManager,
76
- InstanceStore clonedInstanceStore,
77
- IRegistry registry,
78
- VersionPart majorVersion)
79
- private
80
- {
81
- // configure authorization for distribution service on instance
82
- address distributionServiceAddress = registry.getServiceAddress(DISTRIBUTION(), majorVersion);
83
- clonedAccessManager.grantRole(DISTRIBUTION_SERVICE_ROLE(), distributionServiceAddress);
84
- bytes4[] memory instanceDistributionServiceSelectors = new bytes4[](11);
85
- instanceDistributionServiceSelectors[0] = clonedInstanceStore.createDistributionSetup.selector;
86
- instanceDistributionServiceSelectors[1] = clonedInstanceStore.updateDistributionSetup.selector;
87
- instanceDistributionServiceSelectors[2] = clonedInstanceStore.createDistributorType.selector;
88
- instanceDistributionServiceSelectors[3] = clonedInstanceStore.updateDistributorType.selector;
89
- instanceDistributionServiceSelectors[4] = clonedInstanceStore.updateDistributorTypeState.selector;
90
- instanceDistributionServiceSelectors[5] = clonedInstanceStore.createDistributor.selector;
91
- instanceDistributionServiceSelectors[6] = clonedInstanceStore.updateDistributor.selector;
92
- instanceDistributionServiceSelectors[7] = clonedInstanceStore.updateDistributorState.selector;
93
- instanceDistributionServiceSelectors[8] = clonedInstanceStore.createReferral.selector;
94
- instanceDistributionServiceSelectors[9] = clonedInstanceStore.updateReferral.selector;
95
- instanceDistributionServiceSelectors[10] = clonedInstanceStore.updateReferralState.selector;
96
- clonedAccessManager.setCoreTargetFunctionRole(
97
- "InstanceStore",
98
- instanceDistributionServiceSelectors,
99
- DISTRIBUTION_SERVICE_ROLE());
100
- }
101
-
102
- function _grantPoolServiceAuthorizations(
103
- InstanceAccessManager clonedAccessManager,
104
- InstanceStore clonedInstanceStore,
105
- IRegistry registry,
106
- VersionPart majorVersion)
107
- private
108
- {
109
- // configure authorization for pool service on instance
110
- address poolServiceAddress = registry.getServiceAddress(POOL(), majorVersion);
111
- clonedAccessManager.grantRole(POOL_SERVICE_ROLE(), address(poolServiceAddress));
112
- bytes4[] memory instancePoolServiceSelectors = new bytes4[](4);
113
- instancePoolServiceSelectors[0] = clonedInstanceStore.createPoolSetup.selector;
114
- instancePoolServiceSelectors[1] = clonedInstanceStore.updatePoolSetup.selector;
115
- clonedAccessManager.setCoreTargetFunctionRole(
116
- "InstanceStore",
117
- instancePoolServiceSelectors,
118
- POOL_SERVICE_ROLE());
119
- }
120
-
121
- function _grantProductServiceAuthorizations(
122
- InstanceAccessManager clonedAccessManager,
123
- InstanceStore clonedInstanceStore,
124
- IRegistry registry,
125
- VersionPart majorVersion)
126
- private
127
- {
128
- // configure authorization for product service on instance
129
- address productServiceAddress = registry.getServiceAddress(PRODUCT(), majorVersion);
130
- clonedAccessManager.grantRole(PRODUCT_SERVICE_ROLE(), address(productServiceAddress));
131
- bytes4[] memory instanceProductServiceSelectors = new bytes4[](5);
132
- instanceProductServiceSelectors[0] = clonedInstanceStore.createProductSetup.selector;
133
- instanceProductServiceSelectors[1] = clonedInstanceStore.updateProductSetup.selector;
134
- instanceProductServiceSelectors[2] = clonedInstanceStore.createRisk.selector;
135
- instanceProductServiceSelectors[3] = clonedInstanceStore.updateRisk.selector;
136
- instanceProductServiceSelectors[4] = clonedInstanceStore.updateRiskState.selector;
137
- clonedAccessManager.setCoreTargetFunctionRole(
138
- "InstanceStore",
139
- instanceProductServiceSelectors,
140
- PRODUCT_SERVICE_ROLE());
141
- }
142
-
143
- function _grantApplicationServiceAuthorizations(
144
- InstanceAccessManager clonedAccessManager,
145
- InstanceStore clonedInstanceStore,
146
- IRegistry registry,
147
- VersionPart majorVersion)
148
- private
149
- {
150
- // configure authorization for application services on instance
151
- address applicationServiceAddress = registry.getServiceAddress(APPLICATION(), majorVersion);
152
- clonedAccessManager.grantRole(APPLICATION_SERVICE_ROLE(), applicationServiceAddress);
153
- bytes4[] memory instanceApplicationServiceSelectors = new bytes4[](3);
154
- instanceApplicationServiceSelectors[0] = clonedInstanceStore.createApplication.selector;
155
- instanceApplicationServiceSelectors[1] = clonedInstanceStore.updateApplication.selector;
156
- instanceApplicationServiceSelectors[2] = clonedInstanceStore.updateApplicationState.selector;
157
- clonedAccessManager.setCoreTargetFunctionRole(
158
- "InstanceStore",
159
- instanceApplicationServiceSelectors,
160
- APPLICATION_SERVICE_ROLE());
161
- }
162
-
163
- function _grantPolicyServiceAuthorizations(
164
- InstanceAccessManager clonedAccessManager,
165
- InstanceStore clonedInstanceStore,
166
- IRegistry registry,
167
- VersionPart majorVersion)
168
- private
169
- {
170
- // configure authorization for policy services on instance
171
- address policyServiceAddress = registry.getServiceAddress(POLICY(), majorVersion);
172
- clonedAccessManager.grantRole(POLICY_SERVICE_ROLE(), policyServiceAddress);
173
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](2);
174
- instancePolicyServiceSelectors[0] = clonedInstanceStore.updatePolicy.selector;
175
- instancePolicyServiceSelectors[1] = clonedInstanceStore.updatePolicyState.selector;
176
- clonedAccessManager.setCoreTargetFunctionRole(
177
- "InstanceStore",
178
- instancePolicyServiceSelectors,
179
- POLICY_SERVICE_ROLE());
180
- }
181
-
182
- function _grantClaimServiceAuthorizations(
183
- InstanceAccessManager clonedAccessManager,
184
- InstanceStore clonedInstanceStore,
185
- IRegistry registry,
186
- VersionPart majorVersion)
187
- private
188
- {
189
- // configure authorization for claim/payout services on instance
190
- address claimServiceAddress = registry.getServiceAddress(CLAIM(), majorVersion);
191
- clonedAccessManager.grantRole(CLAIM_SERVICE_ROLE(), claimServiceAddress);
192
-
193
- bytes4[] memory instancePolicyServiceSelectors = new bytes4[](1);
194
- instancePolicyServiceSelectors[0] = clonedInstanceStore.updatePolicyClaims.selector;
195
- clonedAccessManager.setCoreTargetFunctionRole(
196
- "InstanceStore",
197
- instancePolicyServiceSelectors,
198
- CLAIM_SERVICE_ROLE());
199
-
200
- bytes4[] memory instanceClaimServiceSelectors = new bytes4[](4);
201
- instanceClaimServiceSelectors[0] = clonedInstanceStore.createClaim.selector;
202
- instanceClaimServiceSelectors[1] = clonedInstanceStore.updateClaim.selector;
203
- instanceClaimServiceSelectors[2] = clonedInstanceStore.createPayout.selector;
204
- instanceClaimServiceSelectors[3] = clonedInstanceStore.updatePayout.selector;
205
- clonedAccessManager.setCoreTargetFunctionRole(
206
- "InstanceStore",
207
- instanceClaimServiceSelectors,
208
- CLAIM_SERVICE_ROLE());
209
- }
210
-
211
- function _grantBundleServiceAuthorizations(
212
- InstanceAccessManager clonedAccessManager,
213
- InstanceStore clonedInstanceStore,
214
- BundleManager clonedBundleManager,
215
- IRegistry registry,
216
- VersionPart majorVersion)
217
- private
218
- {
219
- // configure authorization for bundle service on instance
220
- address bundleServiceAddress = registry.getServiceAddress(BUNDLE(), majorVersion);
221
- clonedAccessManager.grantRole(BUNDLE_SERVICE_ROLE(), address(bundleServiceAddress));
222
- bytes4[] memory instanceBundleServiceSelectors = new bytes4[](3);
223
- instanceBundleServiceSelectors[0] = clonedInstanceStore.createBundle.selector;
224
- instanceBundleServiceSelectors[1] = clonedInstanceStore.updateBundle.selector;
225
- instanceBundleServiceSelectors[2] = clonedInstanceStore.updateBundleState.selector;
226
- clonedAccessManager.setCoreTargetFunctionRole(
227
- "InstanceStore",
228
- instanceBundleServiceSelectors,
229
- BUNDLE_SERVICE_ROLE());
230
-
231
- // configure authorization for bundle service on bundle manager
232
- bytes4[] memory bundleManagerBundleServiceSelectors = new bytes4[](5);
233
- bundleManagerBundleServiceSelectors[0] = clonedBundleManager.linkPolicy.selector;
234
- bundleManagerBundleServiceSelectors[1] = clonedBundleManager.unlinkPolicy.selector;
235
- bundleManagerBundleServiceSelectors[2] = clonedBundleManager.add.selector;
236
- bundleManagerBundleServiceSelectors[3] = clonedBundleManager.lock.selector;
237
- bundleManagerBundleServiceSelectors[4] = clonedBundleManager.unlock.selector;
238
- clonedAccessManager.setCoreTargetFunctionRole(
239
- "BundleManager",
240
- bundleManagerBundleServiceSelectors,
241
- BUNDLE_SERVICE_ROLE());
242
- }
243
-
244
- function _grantInstanceServiceAuthorizations(
245
- InstanceAccessManager clonedAccessManager,
246
- Instance clonedInstance,
247
- IRegistry registry,
248
- VersionPart majorVersion)
249
- private
250
- {
251
- // configure authorization for instance service on instance
252
- address instanceServiceAddress = registry.getServiceAddress(INSTANCE(), majorVersion);
253
- clonedAccessManager.grantRole(INSTANCE_SERVICE_ROLE(), instanceServiceAddress);
254
- bytes4[] memory instanceInstanceServiceSelectors = new bytes4[](1);
255
- instanceInstanceServiceSelectors[0] = clonedInstance.setInstanceReader.selector;
256
- clonedAccessManager.setCoreTargetFunctionRole(
257
- "Instance",
258
- instanceInstanceServiceSelectors,
259
- INSTANCE_SERVICE_ROLE());
260
-
261
- // configure authorizations for instance service on instance access manager
262
- bytes4[] memory accessManagerInstanceServiceSelectors = new bytes4[](3);
263
- accessManagerInstanceServiceSelectors[0] = clonedAccessManager.createGifTarget.selector;
264
- accessManagerInstanceServiceSelectors[1] = clonedAccessManager.setTargetLockedByService.selector;
265
- accessManagerInstanceServiceSelectors[2] = clonedAccessManager.setCoreTargetFunctionRole.selector;
266
- clonedAccessManager.setCoreTargetFunctionRole(
267
- "InstanceAccessManager",
268
- accessManagerInstanceServiceSelectors,
269
- INSTANCE_SERVICE_ROLE());
270
- }
271
-
272
- function _grantInstanceAuthorizations(
273
- InstanceAccessManager clonedAccessManager,
274
- IRegistry registry,
275
- VersionPart majorVersion)
276
- private
277
- {
278
- bytes4[] memory accessManagerInstanceSelectors = new bytes4[](4);
279
- accessManagerInstanceSelectors[0] = clonedAccessManager.createRole.selector;
280
- accessManagerInstanceSelectors[1] = clonedAccessManager.createTarget.selector;
281
- accessManagerInstanceSelectors[2] = clonedAccessManager.setTargetFunctionRole.selector;
282
- accessManagerInstanceSelectors[3] = clonedAccessManager.setTargetLockedByInstance.selector;
283
- clonedAccessManager.setCoreTargetFunctionRole(
284
- "InstanceAccessManager",
285
- accessManagerInstanceSelectors,
286
- INSTANCE_ROLE());
287
- }
288
-
289
- function _grantInstanceOwnerAuthorizations(
290
- InstanceAccessManager clonedAccessManager,
291
- Instance clonedInstance,
292
- IRegistry registry,
293
- VersionPart majorVersion)
294
- private
295
- {
296
- // configure authorization for instance owner on instance access manager
297
- // instance owner role is granted/revoked ONLY by INSTANCE_ROLE
298
- bytes4[] memory instanceInstanceOwnerSelectors = new bytes4[](4);
299
- instanceInstanceOwnerSelectors[0] = clonedInstance.createRole.selector;
300
- instanceInstanceOwnerSelectors[1] = clonedInstance.createTarget.selector;
301
- instanceInstanceOwnerSelectors[2] = clonedInstance.setTargetFunctionRole.selector;
302
- instanceInstanceOwnerSelectors[3] = clonedInstance.setTargetLocked.selector;
303
- clonedAccessManager.setCoreTargetFunctionRole(
304
- "Instance",
305
- instanceInstanceOwnerSelectors,
306
- INSTANCE_OWNER_ROLE());
307
- }
308
- }
@@ -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
- }