@etherisc/gif-next 0.0.2-7c8d286-020 → 0.0.2-7d488b3-675

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 (358) hide show
  1. package/README.md +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +32 -48
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +26 -34
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +246 -361
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +39 -8
  12. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +23 -96
  14. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +184 -278
  17. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +0 -32
  19. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +109 -33
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -96
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +65 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +106 -142
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +53 -61
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +65 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -40
  36. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +17 -33
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -96
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +59 -75
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -96
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +118 -42
  48. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -96
  50. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  51. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +23 -23
  52. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  53. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +27 -43
  54. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  55. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -96
  56. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  57. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +29 -45
  58. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -96
  60. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  61. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  62. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  63. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +7 -85
  64. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  65. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +11 -54
  66. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/Instance.sol/Instance.json +25 -95
  68. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +405 -512
  70. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +41 -96
  72. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
  74. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +63 -86
  76. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +36 -26
  78. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  80. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  81. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  82. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  83. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  84. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  85. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  86. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  87. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  89. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  91. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  93. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  95. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  97. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  98. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  100. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +14 -14
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  102. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +30 -93
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +42 -58
  109. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +31 -39
  111. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -96
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  115. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +58 -74
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +39 -47
  118. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  120. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  121. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  123. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +22 -38
  124. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +74 -106
  126. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +47 -63
  128. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +26 -71
  130. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +23 -35
  132. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  133. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  134. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -96
  135. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  136. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +80 -96
  137. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +50 -58
  139. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  140. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +0 -21
  141. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  144. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +0 -21
  145. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  146. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  147. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +0 -21
  148. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  149. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +86 -94
  150. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  151. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +18 -452
  152. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +53 -57
  154. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  155. package/artifacts/contracts/product/PricingService.sol/PricingService.json +52 -89
  156. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +36 -44
  158. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  159. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  160. package/artifacts/contracts/product/RiskService.sol/RiskService.json +26 -55
  161. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  162. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +23 -27
  163. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  164. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  166. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  167. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  168. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  169. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  170. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +350 -440
  172. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  173. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
  174. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +19 -19
  176. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +368 -473
  178. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  180. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +124 -128
  182. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
  184. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  186. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  187. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  188. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +102 -63
  189. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  190. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -41
  191. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +4 -60
  194. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  196. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  197. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  198. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +24 -1
  200. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  202. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  203. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  204. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  208. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  209. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  210. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  211. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  213. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  214. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  215. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  216. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  217. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  218. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  219. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  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/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  225. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  226. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  227. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  228. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  229. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  230. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +9 -74
  231. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  232. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +3 -74
  233. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  234. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  235. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  236. package/artifacts/contracts/staking/Staking.sol/Staking.json +57 -141
  237. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
  239. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  240. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +34 -50
  241. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  242. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +57 -30
  243. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  244. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +29 -124
  245. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  246. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +23 -35
  247. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -142
  249. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  250. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +14 -24
  251. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  252. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  253. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  255. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  257. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  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/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  262. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  263. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  264. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  265. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  266. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  267. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +31 -33
  269. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  271. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  273. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  275. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  277. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  278. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  279. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  282. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  285. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  288. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -56
  290. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  291. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  292. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
  293. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  294. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  295. package/contracts/accounting/AccountingService.sol +3 -2
  296. package/contracts/authorization/AccessAdmin.sol +186 -201
  297. package/contracts/authorization/AccessManagerCloneable.sol +31 -40
  298. package/contracts/authorization/Authorization.sol +33 -61
  299. package/contracts/authorization/IAccessAdmin.sol +36 -63
  300. package/contracts/authorization/IAuthorization.sol +0 -6
  301. package/contracts/distribution/BasicDistribution.sol +3 -5
  302. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  303. package/contracts/distribution/Distribution.sol +47 -4
  304. package/contracts/distribution/DistributionService.sol +6 -10
  305. package/contracts/distribution/IDistributionComponent.sol +9 -0
  306. package/contracts/distribution/IDistributionService.sol +5 -3
  307. package/contracts/instance/IInstance.sol +8 -43
  308. package/contracts/instance/IInstanceService.sol +2 -14
  309. package/contracts/instance/Instance.sol +13 -62
  310. package/contracts/instance/InstanceAdmin.sol +107 -120
  311. package/contracts/instance/InstanceAuthorizationV3.sol +21 -43
  312. package/contracts/instance/InstanceReader.sol +1 -1
  313. package/contracts/instance/InstanceService.sol +60 -118
  314. package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
  315. package/contracts/oracle/OracleService.sol +4 -4
  316. package/contracts/pool/BasicPoolAuthorization.sol +1 -1
  317. package/contracts/pool/PoolLib.sol +1 -94
  318. package/contracts/pool/PoolService.sol +89 -91
  319. package/contracts/product/ApplicationService.sol +1 -10
  320. package/contracts/product/BasicProductAuthorization.sol +1 -1
  321. package/contracts/product/ClaimService.sol +0 -8
  322. package/contracts/product/IApplicationService.sol +0 -2
  323. package/contracts/product/IPricingService.sol +0 -1
  324. package/contracts/product/IRiskService.sol +0 -3
  325. package/contracts/product/PolicyService.sol +53 -35
  326. package/contracts/product/PolicyServiceLib.sol +1 -55
  327. package/contracts/product/PricingService.sol +0 -5
  328. package/contracts/product/RiskService.sol +0 -10
  329. package/contracts/registry/RegistryAdmin.sol +229 -133
  330. package/contracts/registry/ReleaseAdmin.sol +22 -30
  331. package/contracts/registry/ReleaseRegistry.sol +33 -39
  332. package/contracts/registry/ServiceAuthorizationV3.sol +3 -88
  333. package/contracts/shared/Component.sol +6 -6
  334. package/contracts/shared/ComponentService.sol +29 -33
  335. package/contracts/shared/ContractLib.sol +0 -28
  336. package/contracts/shared/IComponentService.sol +6 -4
  337. package/contracts/shared/InitializableERC165.sol +1 -9
  338. package/contracts/shared/NftOwnable.sol +1 -2
  339. package/contracts/shared/Registerable.sol +4 -1
  340. package/contracts/shared/TokenHandler.sol +4 -5
  341. package/contracts/staking/IStaking.sol +2 -12
  342. package/contracts/staking/IStakingService.sol +1 -11
  343. package/contracts/staking/{StakingLib.sol → StakeManagerLib.sol} +22 -79
  344. package/contracts/staking/Staking.sol +13 -33
  345. package/contracts/staking/StakingReader.sol +15 -5
  346. package/contracts/staking/StakingService.sol +2 -39
  347. package/contracts/staking/StakingStore.sol +1 -2
  348. package/contracts/type/ObjectType.sol +14 -5
  349. package/contracts/type/Version.sol +0 -39
  350. package/package.json +1 -1
  351. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +0 -4
  352. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +0 -673
  353. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +0 -4
  354. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +0 -878
  355. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +0 -4
  356. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +0 -469
  357. package/contracts/authorization/AccessAdminLib.sol +0 -183
  358. package/contracts/registry/RegistryAuthorization.sol +0 -267
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessAdmin} from "../authorization/AccessAdmin.sol";
5
- import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
6
5
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
7
6
  import {IAccess} from "../authorization/IAccess.sol";
8
7
  import {IService} from "../shared/IService.sol";
@@ -39,14 +38,13 @@ contract ReleaseAdmin is
39
38
  _;
40
39
  }
41
40
 
42
- // @dev Only used for master release admin
43
- constructor(address accessManager) {
44
- initialize(
45
- accessManager,
46
- "MasterReleaseAdmin");
41
+ /// @dev Only used for master release admin.
42
+ /// Contracts created via constructor come with disabled initializers.
43
+ constructor() {
44
+ initialize(new AccessManagerCloneable());
45
+ _disableInitializers();
47
46
  }
48
47
 
49
-
50
48
  function completeSetup(
51
49
  address registry,
52
50
  address releaseRegistry,
@@ -55,18 +53,11 @@ contract ReleaseAdmin is
55
53
  external
56
54
  reinitializer(uint64(release.toInt()))
57
55
  {
58
-
59
- // checks
60
- _checkRegistry(registry);
61
-
62
56
  AccessManagerCloneable(
63
57
  authority()).completeSetup(
64
58
  registry,
65
59
  release);
66
60
 
67
- // link nft ownability to registry
68
- _linkToNftOwnable(registry);
69
-
70
61
  _setupReleaseRegistry(releaseRegistry);
71
62
  }
72
63
 
@@ -77,13 +68,13 @@ contract ReleaseAdmin is
77
68
  IServiceAuthorization serviceAuthorization,
78
69
  IService service,
79
70
  ObjectType serviceDomain,
80
- VersionPart release
71
+ VersionPart releaseVersion
81
72
  )
82
73
  external
83
74
  restricted()
84
75
  {
85
- _createServiceTargetAndRole(service, serviceDomain, release);
86
- _authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, release);
76
+ _createServiceTargetAndRole(service, serviceDomain, releaseVersion);
77
+ _authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
87
78
  }
88
79
 
89
80
  /// @dev Locks/unlocks all release targets.
@@ -118,7 +109,7 @@ contract ReleaseAdmin is
118
109
  revert ErrorReleaseAdminNotService(address(service));
119
110
  }
120
111
 
121
- _setTargetLocked(address(service), locked);
112
+ _setTargetClosed(address(service), locked);
122
113
 
123
114
  emit LogReleaseAdminServiceLockChanged(service.getRelease(), address(service), locked);
124
115
  }
@@ -135,15 +126,16 @@ contract ReleaseAdmin is
135
126
  function _createServiceTargetAndRole(
136
127
  IService service,
137
128
  ObjectType serviceDomain,
138
- VersionPart release
129
+ VersionPart releaseVersion
139
130
  )
140
131
  private
141
132
  {
142
133
  string memory baseName = ObjectTypeLib.toName(serviceDomain);
134
+ uint256 versionInt = releaseVersion.toInt();
143
135
 
144
136
  // create service target
145
137
  string memory serviceTargetName = ObjectTypeLib.toVersionedName(
146
- baseName, "Service", release);
138
+ baseName, "Service", versionInt);
147
139
 
148
140
  _createTarget(
149
141
  address(service),
@@ -154,19 +146,19 @@ contract ReleaseAdmin is
154
146
  // create service role
155
147
  RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
156
148
  serviceDomain,
157
- release);
149
+ releaseVersion);
158
150
 
159
151
  if(!roleExists(serviceRoleId)) {
160
152
  _createRole(
161
153
  serviceRoleId,
162
- AccessAdminLib.toRole({
154
+ toRole({
163
155
  adminRoleId: ADMIN_ROLE(),
164
156
  roleType: RoleType.Contract,
165
157
  maxMemberCount: 1,
166
158
  name: ObjectTypeLib.toVersionedName(
167
159
  baseName,
168
160
  "ServiceRole",
169
- release)}));
161
+ versionInt)}));
170
162
  }
171
163
 
172
164
  _grantRoleToAccount(
@@ -179,7 +171,7 @@ contract ReleaseAdmin is
179
171
  IServiceAuthorization serviceAuthorization,
180
172
  IService service,
181
173
  ObjectType serviceDomain,
182
- VersionPart release
174
+ VersionPart releaseVersion
183
175
  )
184
176
  private
185
177
  {
@@ -197,21 +189,21 @@ contract ReleaseAdmin is
197
189
  } else {
198
190
  authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
199
191
  authorizedDomain,
200
- release);
192
+ releaseVersion);
201
193
  }
202
194
 
203
195
  if(!roleExists(authorizedRoleId)) {
204
196
  // create role for authorized domain
205
197
  _createRole(
206
198
  authorizedRoleId,
207
- AccessAdminLib.toRole({
199
+ toRole({
208
200
  adminRoleId: ADMIN_ROLE(),
209
201
  roleType: RoleType.Contract,
210
202
  maxMemberCount: 1,
211
203
  name: ObjectTypeLib.toVersionedName(
212
204
  ObjectTypeLib.toName(authorizedDomain),
213
205
  "Role",
214
- release)}));
206
+ releaseVersion.toInt())}));
215
207
  }
216
208
 
217
209
  // get authorized functions for authorized domain
@@ -236,7 +228,7 @@ contract ReleaseAdmin is
236
228
 
237
229
  _createRole(
238
230
  RELEASE_REGISTRY_ROLE(),
239
- AccessAdminLib.toRole({
231
+ toRole({
240
232
  adminRoleId: ADMIN_ROLE(),
241
233
  roleType: RoleType.Contract,
242
234
  maxMemberCount: 1,
@@ -244,8 +236,8 @@ contract ReleaseAdmin is
244
236
 
245
237
  FunctionInfo[] memory functions;
246
238
  functions = new FunctionInfo[](2);
247
- functions[0] = AccessAdminLib.toFunction(ReleaseAdmin.authorizeService.selector, "authorizeService");
248
- functions[1] = AccessAdminLib.toFunction(ReleaseAdmin.setServiceLocked.selector, "setServiceLocked");
239
+ functions[0] = toFunction(ReleaseAdmin.authorizeService.selector, "authorizeService");
240
+ functions[1] = toFunction(ReleaseAdmin.setServiceLocked.selector, "setServiceLocked");
249
241
  _authorizeTargetFunctions(address(this), RELEASE_REGISTRY_ROLE(), functions);
250
242
 
251
243
  _grantRoleToAccount(RELEASE_REGISTRY_ROLE(), releaseRegistry);
@@ -4,25 +4,27 @@ pragma solidity ^0.8.20;
4
4
  import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
5
5
  import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
6
6
 
7
+ import {ContractLib} from "../shared/ContractLib.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {ObjectType, ObjectTypeLib, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
10
+ import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
11
+ import {Seconds} from "../type/Seconds.sol";
12
+ import {StateId, SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED} from "../type/StateId.sol";
13
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
14
+
15
+ import {IService} from "../shared/IService.sol";
16
+
7
17
  import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
8
18
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
19
+
9
20
  import {IRegistry} from "./IRegistry.sol";
10
21
  import {IRelease} from "./IRelease.sol";
11
22
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
12
- import {IService} from "../shared/IService.sol";
13
23
  import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
14
-
15
- import {ContractLib} from "../shared/ContractLib.sol";
16
- import {NftId} from "../type/NftId.sol";
17
- import {ObjectType, ObjectTypeLib, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
18
24
  import {RegistryAdmin} from "./RegistryAdmin.sol";
19
25
  import {Registry} from "./Registry.sol";
20
- import {ReleaseAdmin} from "./ReleaseAdmin.sol";
21
26
  import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
22
- import {Seconds} from "../type/Seconds.sol";
23
- import {StateId, SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED} from "../type/StateId.sol";
24
- import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
25
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
27
+ import {ReleaseAdmin} from "./ReleaseAdmin.sol";
26
28
 
27
29
  /// @dev The ReleaseRegistry manages the lifecycle of major GIF releases and their services.
28
30
  /// The creation of a new GIF release is a multi-step process:
@@ -71,7 +73,7 @@ contract ReleaseRegistry is
71
73
  error ErrorReleaseRegistryServiceSelfRegistration(IService service);
72
74
  error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
73
75
 
74
- RegistryAdmin public immutable _registryAdmin;
76
+ RegistryAdmin public immutable _admin;
75
77
  Registry public immutable _registry;
76
78
 
77
79
  mapping(VersionPart release => IRelease.ReleaseInfo info) internal _releaseInfo;
@@ -85,7 +87,6 @@ contract ReleaseRegistry is
85
87
  uint256 internal _registeredServices = 0;
86
88
  uint256 internal _servicesToRegister = 0;
87
89
 
88
- // TODO move master relase admin outside constructor (same construction as for registry admin)
89
90
  constructor(Registry registry)
90
91
  AccessManaged(msg.sender)
91
92
  {
@@ -96,9 +97,9 @@ contract ReleaseRegistry is
96
97
  setAuthority(registry.getAuthority());
97
98
 
98
99
  _registry = registry;
99
- _registryAdmin = RegistryAdmin(_registry.getRegistryAdminAddress());
100
- _masterReleaseAdmin = new ReleaseAdmin(
101
- _cloneNewAccessManager());
100
+ _admin = RegistryAdmin(_registry.getRegistryAdminAddress());
101
+
102
+ _masterReleaseAdmin = new ReleaseAdmin();
102
103
 
103
104
  _next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
104
105
  }
@@ -252,16 +253,16 @@ contract ReleaseRegistry is
252
253
  revert ErrorReleaseRegistryRegistryServiceMissing(release);
253
254
  }
254
255
 
255
- _registryAdmin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
256
+ _admin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
256
257
 
257
258
  service = _registry.getServiceAddress(STAKING(), release);
258
259
  if(service != address(0)) {
259
- _registryAdmin.grantServiceRoleForAllVersions(IService(service), STAKING());
260
+ _admin.grantServiceRoleForAllVersions(IService(service), STAKING());
260
261
  }
261
262
 
262
263
  service = _registry.getServiceAddress(POOL(), release);
263
264
  if(service != address(0)) {
264
- _registryAdmin.grantServiceRoleForAllVersions(IService(service), POOL());
265
+ _admin.grantServiceRoleForAllVersions(IService(service), POOL());
265
266
  }
266
267
 
267
268
  _setReleaseLocked(release, false);
@@ -349,7 +350,7 @@ contract ReleaseRegistry is
349
350
  }
350
351
 
351
352
  function getRegistryAdmin() external view returns (address) {
352
- return address(_registryAdmin);
353
+ return address(_admin);
353
354
  }
354
355
 
355
356
  //--- IRegistryLinked ------------------------------------------------------//
@@ -367,23 +368,24 @@ contract ReleaseRegistry is
367
368
  _releaseInfo[release].releaseAdmin).setReleaseLocked(locked);
368
369
  }
369
370
 
371
+
370
372
  function _cloneNewReleaseAdmin(VersionPart release)
371
373
  private
372
374
  returns (ReleaseAdmin clonedAdmin)
373
375
  {
374
- // clone and setup release specific release admin
375
- clonedAdmin = ReleaseAdmin(
376
- Clones.clone(address(_masterReleaseAdmin)));
377
-
378
- string memory releaseAdminName = string(
379
- abi.encodePacked(
380
- "ReleaseAdmin_v",
381
- release.toString()));
376
+ AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
377
+ Clones.clone(
378
+ _masterReleaseAdmin.authority()
379
+ )
380
+ );
382
381
 
383
- clonedAdmin.initialize(
384
- address(_cloneNewAccessManager()),
385
- releaseAdminName);
382
+ clonedAdmin = ReleaseAdmin(
383
+ Clones.clone(
384
+ address(_masterReleaseAdmin)
385
+ )
386
+ );
386
387
 
388
+ clonedAdmin.initialize(clonedAccessManager);
387
389
  clonedAdmin.completeSetup(
388
390
  address(_registry),
389
391
  address(this), // release registry (this contract)
@@ -394,14 +396,6 @@ contract ReleaseRegistry is
394
396
  }
395
397
 
396
398
 
397
- function _cloneNewAccessManager()
398
- private
399
- returns (address accessManager)
400
- {
401
- return Clones.clone(address(_registryAdmin.authority()));
402
- }
403
-
404
-
405
399
  function _verifyServiceAuthorization(
406
400
  IServiceAuthorization serviceAuthorization,
407
401
  VersionPart releaseVersion,
@@ -413,7 +407,7 @@ contract ReleaseRegistry is
413
407
  {
414
408
  // authorization contract supports IServiceAuthorization interface
415
409
  if(!serviceAuthorization.supportsInterface(type(IServiceAuthorization).interfaceId)) {
416
- revert ErrorReleaseRegistryNotServiceAuth(address(serviceAuthorization));
410
+ revert ErrorReleaseRegistryNotServiceAuth(address(serviceAuthorization));
417
411
  }
418
412
 
419
413
  // authorizaions contract version matches with release version
@@ -7,14 +7,10 @@ import {
7
7
 
8
8
  import {IAccess} from "../authorization/IAccess.sol";
9
9
  import {IAccountingService} from "../accounting/IAccountingService.sol";
10
- import {IApplicationService} from "../product/IApplicationService.sol";
11
10
  import {IBundleService} from "../pool/IBundleService.sol";
12
11
  import {IClaimService} from "../product/IClaimService.sol";
13
- import {IComponentService} from "../shared/IComponentService.sol";
14
12
  import {IDistributionService} from "../distribution/IDistributionService.sol";
15
13
  import {IInstanceService} from "../instance/IInstanceService.sol";
16
- import {IOracleService} from "../oracle/IOracleService.sol";
17
- import {IPolicyService} from "../product/IPolicyService.sol";
18
14
  import {IPoolService} from "../pool/IPoolService.sol";
19
15
  import {IStakingService} from "../staking/IStakingService.sol";
20
16
  import {IRegistryService} from "./IRegistryService.sol";
@@ -66,9 +62,6 @@ contract ServiceAuthorizationV3
66
62
  _setupDistributionServiceAuthorization();
67
63
  _setupPoolServiceAuthorization();
68
64
  _setupBundleServiceAuthorization();
69
- _setupOracleServiceAuthorization();
70
- _setupApplicationServiceAuthorization();
71
- _setupPolicyServiceAuthorization();
72
65
  }
73
66
 
74
67
 
@@ -111,7 +104,6 @@ contract ServiceAuthorizationV3
111
104
  _authorize(functions, IStakingService.createInstanceTarget.selector, "createInstanceTarget");
112
105
  _authorize(functions, IStakingService.setInstanceLockingPeriod.selector, "setInstanceLockingPeriod");
113
106
  _authorize(functions, IStakingService.setInstanceRewardRate.selector, "setInstanceRewardRate");
114
- _authorize(functions, IStakingService.setInstanceMaxStakedAmount.selector, "setInstanceMaxStakedAmount");
115
107
  _authorize(functions, IStakingService.refillInstanceRewardReserves.selector, "refillInstanceRewardReserves");
116
108
  _authorize(functions, IStakingService.withdrawInstanceRewardReserves.selector, "withdrawInstanceRewardReserves");
117
109
 
@@ -131,16 +123,12 @@ contract ServiceAuthorizationV3
131
123
  {
132
124
  IAccess.FunctionInfo[] storage functions;
133
125
  functions = _authorizeForService(INSTANCE(), ALL());
134
- _authorize(functions, IInstanceService.setInstanceLocked.selector, "setInstanceLocked");
135
- _authorize(functions, IInstanceService.setTargetLocked.selector, "setTargetLocked");
136
-
137
126
  _authorize(functions, IInstanceService.createInstance.selector, "createInstance");
138
127
  _authorize(functions, IInstanceService.upgradeInstanceReader.selector, "upgradeInstanceReader");
139
128
  _authorize(functions, IInstanceService.upgradeMasterInstanceReader.selector, "upgradeMasterInstanceReader");
140
129
 
141
130
  _authorize(functions, IInstanceService.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
142
131
  _authorize(functions, IInstanceService.setStakingRewardRate.selector, "setStakingRewardRate");
143
- _authorize(functions, IInstanceService.setStakingMaxAmount.selector, "setStakingMaxAmount");
144
132
  _authorize(functions, IInstanceService.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
145
133
  _authorize(functions, IInstanceService.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
146
134
  }
@@ -155,6 +143,9 @@ contract ServiceAuthorizationV3
155
143
  _authorize(functions, IAccountingService.increaseBundleBalance.selector, "increaseBundleBalance");
156
144
  _authorize(functions, IAccountingService.decreaseBundleBalance.selector, "decreaseBundleBalance");
157
145
 
146
+ functions = _authorizeForService(ACCOUNTING(), POOL());
147
+ _authorize(functions, IAccountingService.decreaseBundleBalanceForPool.selector, "decreaseBundleBalanceForPool");
148
+
158
149
  functions = _authorizeForService(ACCOUNTING(), COMPONENT());
159
150
  _authorize(functions, IAccountingService.decreaseComponentFees.selector, "decreaseComponentFees");
160
151
 
@@ -180,19 +171,6 @@ contract ServiceAuthorizationV3
180
171
  function _setupComponentServiceAuthorization()
181
172
  internal
182
173
  {
183
- IAccess.FunctionInfo[] storage functions;
184
-
185
- functions = _authorizeForService(COMPONENT(), ALL());
186
- _authorize(functions, IComponentService.registerComponent.selector, "registerComponent");
187
- _authorize(functions, IComponentService.approveTokenHandler.selector, "approveTokenHandler");
188
- _authorize(functions, IComponentService.setWallet.selector, "setWallet");
189
- _authorize(functions, IComponentService.setLocked.selector, "setLocked");
190
- _authorize(functions, IComponentService.withdrawFees.selector, "withdrawFees");
191
- _authorize(functions, IComponentService.registerProduct.selector, "registerProduct");
192
- _authorize(functions, IComponentService.setProductFees.selector, "setProductFees");
193
- _authorize(functions, IComponentService.setDistributionFees.selector, "setDistributionFees");
194
- _authorize(functions, IComponentService.setPoolFees.selector, "setPoolFees");
195
-
196
174
  }
197
175
 
198
176
  /// @dev Distribution service function authorization.
@@ -213,14 +191,6 @@ contract ServiceAuthorizationV3
213
191
  IAccess.FunctionInfo[] storage functions;
214
192
  functions = _authorizeForService(CLAIM(), ALL());
215
193
  _authorize(functions, IClaimService.submit.selector, "submit");
216
- _authorize(functions, IClaimService.confirm.selector, "confirm");
217
- _authorize(functions, IClaimService.decline.selector, "decline");
218
- _authorize(functions, IClaimService.revoke.selector, "revoke");
219
- _authorize(functions, IClaimService.close.selector, "close");
220
- _authorize(functions, IClaimService.createPayoutForBeneficiary.selector, "createPayoutForBeneficiary");
221
- _authorize(functions, IClaimService.createPayout.selector, "createPayout");
222
- _authorize(functions, IClaimService.processPayout.selector, "processPayout");
223
- _authorize(functions, IClaimService.cancelPayout.selector, "cancelPayout");
224
194
  }
225
195
 
226
196
  /// @dev Distribution service function authorization.
@@ -231,13 +201,6 @@ contract ServiceAuthorizationV3
231
201
  functions = _authorizeForService(DISTRIBUTION(), POLICY());
232
202
  _authorize(functions, IDistributionService.processSale.selector, "processSale");
233
203
  _authorize(functions, IDistributionService.processReferral.selector, "processReferral");
234
-
235
- functions = _authorizeForService(DISTRIBUTION(), ALL());
236
- _authorize(functions, IDistributionService.createDistributorType.selector, "createDistributorType");
237
- _authorize(functions, IDistributionService.createDistributor.selector, "createDistributor");
238
- _authorize(functions, IDistributionService.changeDistributorType.selector, "changeDistributorType");
239
- _authorize(functions, IDistributionService.createReferral.selector, "createReferral");
240
- _authorize(functions, IDistributionService.withdrawCommission.selector, "withdrawCommission");
241
204
  }
242
205
 
243
206
 
@@ -256,13 +219,6 @@ contract ServiceAuthorizationV3
256
219
  _authorize(functions, IPoolService.processPayout.selector, "processPayout");
257
220
 
258
221
  functions = _authorizeForService(POOL(), ALL());
259
- _authorize(functions, IPoolService.setMaxBalanceAmount.selector, "setMaxBalanceAmount");
260
- _authorize(functions, IPoolService.closeBundle.selector, "closeBundle");
261
- _authorize(functions, IPoolService.processFundedClaim.selector, "processFundedClaim");
262
- _authorize(functions, IPoolService.stake.selector, "stake");
263
- _authorize(functions, IPoolService.unstake.selector, "unstake");
264
- _authorize(functions, IPoolService.fundPoolWallet.selector, "fundPoolWallet");
265
- _authorize(functions, IPoolService.defundPoolWallet.selector, "defundPoolWallet");
266
222
  _authorize(functions, IPoolService.withdrawBundleFees.selector, "withdrawBundleFees");
267
223
  }
268
224
 
@@ -287,46 +243,5 @@ contract ServiceAuthorizationV3
287
243
  _authorize(functions, IBundleService.unlock.selector, "unlock");
288
244
  _authorize(functions, IBundleService.setFee.selector, "setFee");
289
245
  }
290
-
291
- function _setupOracleServiceAuthorization()
292
- internal
293
- {
294
- IAccess.FunctionInfo[] storage functions;
295
-
296
- functions = _authorizeForService(ORACLE(), ALL());
297
- _authorize(functions, IOracleService.request.selector, "request");
298
- _authorize(functions, IOracleService.respond.selector, "respond");
299
- _authorize(functions, IOracleService.resend.selector, "resend");
300
- _authorize(functions, IOracleService.cancel.selector, "cancel");
301
- }
302
-
303
- function _setupApplicationServiceAuthorization()
304
- internal
305
- {
306
- IAccess.FunctionInfo[] storage functions;
307
-
308
- functions = _authorizeForService(APPLICATION(), ALL());
309
- _authorize(functions, IApplicationService.create.selector, "create");
310
- _authorize(functions, IApplicationService.renew.selector, "renew");
311
- _authorize(functions, IApplicationService.adjust.selector, "adjust");
312
- _authorize(functions, IApplicationService.revoke.selector, "revoke");
313
- }
314
-
315
- function _setupPolicyServiceAuthorization()
316
- internal
317
- {
318
- IAccess.FunctionInfo[] storage functions;
319
-
320
- functions = _authorizeForService(POLICY(), ALL());
321
- _authorize(functions, IPolicyService.decline.selector, "decline");
322
- _authorize(functions, IPolicyService.createPolicy.selector, "createPolicy");
323
- _authorize(functions, IPolicyService.collectPremium.selector, "collectPremium");
324
- _authorize(functions, IPolicyService.activate.selector, "activate");
325
- _authorize(functions, IPolicyService.adjustActivation.selector, "adjustActivation");
326
- _authorize(functions, IPolicyService.expire.selector, "expire");
327
- _authorize(functions, IPolicyService.expirePolicy.selector, "expirePolicy");
328
- _authorize(functions, IPolicyService.close.selector, "close");
329
-
330
- }
331
246
  }
332
247
 
@@ -4,13 +4,14 @@ pragma solidity ^0.8.20;
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
6
 
7
- import {Amount} from "../type/Amount.sol";
8
- import {ContractLib} from "./ContractLib.sol";
9
7
  import {IComponent} from "./IComponent.sol";
10
8
  import {IComponents} from "../instance/module/IComponents.sol";
11
9
  import {IComponentService} from "./IComponentService.sol";
12
10
  import {IRegistry} from "../registry/IRegistry.sol";
13
11
  import {IRelease} from "../registry/IRelease.sol";
12
+
13
+ import {Amount, AmountLib} from "../type/Amount.sol";
14
+ import {ContractLib} from "./ContractLib.sol";
14
15
  import {NftId} from "../type/NftId.sol";
15
16
  import {ObjectType, COMPONENT, STAKING} from "../type/ObjectType.sol";
16
17
  import {Registerable} from "../shared/Registerable.sol";
@@ -110,7 +111,7 @@ abstract contract Component is
110
111
  /// override internal function _nftTransferFrom to implement custom behaviour
111
112
  function nftTransferFrom(address from, address to, uint256 tokenId, address operator)
112
113
  external
113
- onlyChainNft
114
+ onlyChainNft()
114
115
  {
115
116
  _nftTransferFrom(from, to, tokenId, operator);
116
117
  }
@@ -186,8 +187,7 @@ abstract contract Component is
186
187
  { }
187
188
 
188
189
 
189
- /// @dev Sets the components wallet to the specified address.
190
- /// Depending on the source of the component information this function needs to be overwritten.
190
+ /// @dev depending on the source of the component information this function needs to be overwritten.
191
191
  /// eg for instance linked components that externally store this information with the instance store contract
192
192
  function _setWallet(
193
193
  address newWallet
@@ -202,7 +202,7 @@ abstract contract Component is
202
202
  internal
203
203
  virtual
204
204
  {
205
- _getComponentStorage()._componentService.setLocked(locked);
205
+ _getComponentStorage()._componentService.setLockedFromComponent(address(this), locked);
206
206
  }
207
207
 
208
208