@etherisc/gif-next 0.0.2-b7d6ed2-016 → 0.0.2-b7e6198-021
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.
- package/README.md +12 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +100 -32
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +80 -34
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +52 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +267 -97
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +652 -36
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +222 -47
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +175 -27
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +85 -12
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +52 -17
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +221 -60
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +20 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +368 -139
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +129 -67
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +19 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +228 -15
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +81 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +102 -51
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +220 -59
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -23
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +34 -15
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +85 -50
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +220 -59
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +264 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +220 -59
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +336 -33
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +277 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +349 -74
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +608 -295
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +242 -56
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +478 -290
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +303 -29
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -31
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +148 -84
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +23 -4
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +234 -56
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +85 -39
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +37 -26
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +220 -59
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +294 -117
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +113 -47
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +180 -27
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +19 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +220 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +19 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +88 -22
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +324 -65
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +110 -52
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +82 -32
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +19 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +220 -59
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +102 -64
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +55 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -0
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +157 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +508 -18
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +107 -61
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -72
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +89 -39
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +19 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +70 -32
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +18 -7
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +56 -45
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +380 -238
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +261 -65
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +47 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +65 -27
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +384 -186
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +131 -79
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +169 -174
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +98 -52
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +84 -105
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +6 -6
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +6 -6
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1383 -117
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +94 -114
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1473 -176
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +73 -72
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +113 -58
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -150
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +128 -164
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +73 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1620 -820
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +142 -80
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +55 -17
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +15 -3
- package/contracts/accounting/IAccountingService.sol +2 -0
- package/contracts/authorization/AccessAdmin.sol +264 -188
- package/contracts/authorization/AccessAdminLib.sol +222 -9
- package/contracts/authorization/Authorization.sol +38 -234
- package/contracts/authorization/IAccess.sol +14 -4
- package/contracts/authorization/IAccessAdmin.sol +19 -45
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +2 -2
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +7 -4
- package/contracts/distribution/DistributionService.sol +98 -35
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +20 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/IInstance.sol +44 -5
- package/contracts/instance/IInstanceService.sol +35 -6
- package/contracts/instance/Instance.sol +86 -43
- package/contracts/instance/InstanceAdmin.sol +162 -229
- package/contracts/instance/InstanceAuthorizationV3.sol +60 -29
- package/contracts/instance/InstanceReader.sol +371 -389
- package/contracts/instance/InstanceService.sol +123 -82
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/oracle/BasicOracle.sol +1 -1
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/Oracle.sol +2 -2
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +3 -14
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +7 -2
- package/contracts/pool/Pool.sol +4 -14
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +40 -181
- package/contracts/product/ApplicationService.sol +62 -9
- package/contracts/product/BasicProduct.sol +1 -1
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +56 -58
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +31 -50
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +22 -25
- package/contracts/product/Product.sol +38 -12
- package/contracts/product/RiskService.sol +48 -12
- package/contracts/registry/IRegistry.sol +11 -9
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +33 -100
- package/contracts/registry/RegistryAuthorization.sol +121 -52
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +42 -100
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +54 -53
- package/contracts/shared/Component.sol +6 -2
- package/contracts/shared/ComponentService.sol +234 -255
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +12 -13
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -5
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +258 -70
- package/contracts/staking/IStakingService.sol +39 -84
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +467 -215
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +42 -185
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +16 -3
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +19 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +4 -2
- package/contracts/type/UFixed.sol +1 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +15 -3
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -485
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -8,13 +8,12 @@ import {IRegistry} from "../registry/IRegistry.sol";
|
|
8
8
|
import {IInstance} from "./IInstance.sol";
|
9
9
|
|
10
10
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
11
12
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
17
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
13
|
+
import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
|
14
|
+
import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
|
15
|
+
import {Str} from "../type/String.sol";
|
16
|
+
import {VersionPart} from "../type/Version.sol";
|
18
17
|
|
19
18
|
|
20
19
|
contract InstanceAdmin is
|
@@ -26,29 +25,22 @@ contract InstanceAdmin is
|
|
26
25
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
26
|
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
28
27
|
|
29
|
-
|
30
|
-
|
28
|
+
// onlyInstanceService
|
31
29
|
error ErrorInstanceAdminNotInstanceService(address caller);
|
32
30
|
|
33
|
-
|
34
|
-
error
|
35
|
-
error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
36
|
-
|
37
|
-
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
38
|
-
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
39
|
-
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
40
|
-
|
41
|
-
error ErrorInstanceAdminReleaseMismatch();
|
42
|
-
error ErrorInstanceAdminExpectedTargetMissing(string targetName);
|
31
|
+
// authorizeFunctions
|
32
|
+
error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
|
43
33
|
|
44
34
|
IInstance internal _instance;
|
45
35
|
IRegistry internal _registry;
|
46
36
|
VersionPart internal _release;
|
47
|
-
|
37
|
+
|
38
|
+
uint64 internal _customRoleIdNext;
|
48
39
|
|
49
40
|
mapping(address target => RoleId roleId) internal _targetRoleId;
|
50
41
|
uint64 internal _components;
|
51
42
|
|
43
|
+
|
52
44
|
modifier onlyInstanceService() {
|
53
45
|
if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
|
54
46
|
revert ErrorInstanceAdminNotInstanceService(msg.sender);
|
@@ -69,24 +61,23 @@ contract InstanceAdmin is
|
|
69
61
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
70
62
|
function completeSetup(
|
71
63
|
address registry,
|
72
|
-
address instance,
|
73
64
|
address authorization,
|
74
|
-
VersionPart release
|
65
|
+
VersionPart release,
|
66
|
+
address instance
|
75
67
|
)
|
76
68
|
external
|
77
69
|
reinitializer(uint64(release.toInt()))
|
78
70
|
onlyDeployer()
|
79
71
|
{
|
80
72
|
// checks
|
81
|
-
|
82
|
-
_checkIsRegistered(registry, instance, INSTANCE());
|
73
|
+
AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
|
83
74
|
|
84
75
|
AccessManagerCloneable(
|
85
76
|
authority()).completeSetup(
|
86
77
|
registry,
|
87
78
|
release);
|
88
79
|
|
89
|
-
_checkAuthorization(authorization, INSTANCE(), release, true);
|
80
|
+
_checkAuthorization(authorization, INSTANCE(), release, false, true);
|
90
81
|
|
91
82
|
// effects
|
92
83
|
_registry = IRegistry(registry);
|
@@ -95,29 +86,63 @@ contract InstanceAdmin is
|
|
95
86
|
_instance = IInstance(instance);
|
96
87
|
_authorization = IAuthorization(authorization);
|
97
88
|
_components = 0;
|
98
|
-
|
89
|
+
_customRoleIdNext = 0;
|
99
90
|
|
100
91
|
// link nft ownability to instance
|
101
92
|
_linkToNftOwnable(instance);
|
102
93
|
|
103
|
-
//
|
104
|
-
|
94
|
+
// setup instance targets
|
95
|
+
_createInstanceTargets(_authorization.getMainTargetName());
|
105
96
|
|
106
|
-
//
|
97
|
+
// setup non-contract roles
|
98
|
+
_setupServiceRoles(_authorization);
|
107
99
|
_createRoles(_authorization);
|
108
|
-
|
109
|
-
|
100
|
+
|
101
|
+
// authorize functions of instance contracts
|
110
102
|
_createTargetAuthorizations(_authorization);
|
111
103
|
}
|
112
104
|
|
113
105
|
|
114
|
-
|
106
|
+
/// @dev grants the service roles to the service addresses based on the authorization specification.
|
107
|
+
/// Service addresses used for the granting are determined by the registry and the release of this instance.
|
108
|
+
function _setupServiceRoles(IAuthorization authorization)
|
115
109
|
internal
|
116
110
|
{
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
111
|
+
ObjectType[] memory serviceDomains = authorization.getServiceDomains();
|
112
|
+
|
113
|
+
for(uint256 i = 0; i < serviceDomains.length; i++) {
|
114
|
+
ObjectType serviceDomain = serviceDomains[i];
|
115
|
+
RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
|
116
|
+
string memory serviceRoleName = authorization.getRoleName(serviceRoleId);
|
117
|
+
|
118
|
+
// create service role if missing
|
119
|
+
if (!roleExists(serviceRoleId)) {
|
120
|
+
_createRole(
|
121
|
+
serviceRoleId,
|
122
|
+
AccessAdminLib.toRole(
|
123
|
+
ADMIN_ROLE(),
|
124
|
+
IAccess.RoleType.Contract,
|
125
|
+
1,
|
126
|
+
serviceRoleName));
|
127
|
+
}
|
128
|
+
|
129
|
+
// grant service role to service
|
130
|
+
address service = _registry.getServiceAddress(serviceDomain, _release);
|
131
|
+
_grantRoleToAccount(
|
132
|
+
serviceRoleId,
|
133
|
+
service);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
function _createInstanceTargets(string memory instanceTargetName)
|
139
|
+
internal
|
140
|
+
{
|
141
|
+
_createManagedTarget(address(_instance), instanceTargetName, TargetType.Instance);
|
142
|
+
_createManagedTarget(address(this), INSTANCE_ADMIN_TARGET_NAME, TargetType.Instance);
|
143
|
+
_createManagedTarget(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, TargetType.Instance);
|
144
|
+
_createManagedTarget(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, TargetType.Instance);
|
145
|
+
_createManagedTarget(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, TargetType.Instance);
|
121
146
|
}
|
122
147
|
|
123
148
|
|
@@ -131,19 +156,19 @@ contract InstanceAdmin is
|
|
131
156
|
restricted()
|
132
157
|
{
|
133
158
|
// checks
|
134
|
-
|
159
|
+
AccessAdminLib.checkIsRegistered(address(getRegistry()), componentAddress, expectedType);
|
135
160
|
|
136
161
|
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
137
162
|
IAuthorization authorization = component.getAuthorization();
|
138
|
-
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
163
|
+
_checkAuthorization(address(authorization), expectedType, getRelease(), false, false);
|
139
164
|
|
140
165
|
// effects
|
141
|
-
// setup target and role for component (including token handler if applicable)
|
142
|
-
_setupComponentAndTokenHandler(component, expectedType);
|
143
|
-
|
144
|
-
// create other roles and function authorizations
|
145
166
|
_createRoles(authorization);
|
167
|
+
_createManagedTarget(componentAddress, authorization.getMainTargetName(), TargetType.Component);
|
146
168
|
_createTargetAuthorizations(authorization);
|
169
|
+
|
170
|
+
// increase component count
|
171
|
+
_components++;
|
147
172
|
}
|
148
173
|
|
149
174
|
function getRelease()
|
@@ -156,38 +181,45 @@ contract InstanceAdmin is
|
|
156
181
|
}
|
157
182
|
|
158
183
|
|
159
|
-
|
160
|
-
function
|
184
|
+
/// @dev Creates a custom role.
|
185
|
+
function createRole(
|
186
|
+
string memory name,
|
187
|
+
RoleId adminRoleId,
|
188
|
+
uint32 maxMemberCount
|
189
|
+
)
|
190
|
+
external
|
191
|
+
restricted()
|
192
|
+
returns (RoleId roleId)
|
193
|
+
{
|
194
|
+
// check role does not yet exist
|
195
|
+
if (roleExists(name)) {
|
196
|
+
revert ErrorAccessAdminRoleAlreadyCreated(
|
197
|
+
getRoleForName(name),
|
198
|
+
name);
|
199
|
+
}
|
161
200
|
|
162
|
-
// create
|
163
|
-
|
164
|
-
_authorization.getMainTarget());
|
201
|
+
// create roleId
|
202
|
+
roleId = AccessAdminLib.getCustomRoleId(_customRoleIdNext++);
|
165
203
|
|
204
|
+
// create role
|
166
205
|
_createRole(
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
_authorization.getMainTargetName(),
|
174
|
-
true, // checkAuthority
|
175
|
-
false); // custom
|
176
|
-
|
177
|
-
// assign instance role to instance
|
178
|
-
_grantRoleToAccount(
|
179
|
-
instanceRoleId,
|
180
|
-
instance);
|
206
|
+
roleId,
|
207
|
+
AccessAdminLib.toRole(
|
208
|
+
adminRoleId,
|
209
|
+
IAccess.RoleType.Custom,
|
210
|
+
maxMemberCount,
|
211
|
+
name));
|
181
212
|
}
|
182
213
|
|
183
|
-
/// @dev Creates a custom role
|
184
|
-
// TODO implement
|
185
|
-
// function createRole()
|
186
|
-
// external
|
187
|
-
// restricted()
|
188
|
-
// {
|
189
214
|
|
190
|
-
|
215
|
+
/// @dev Activtes/pauses the specified role.
|
216
|
+
function setRoleActive(RoleId roleId, bool active)
|
217
|
+
external
|
218
|
+
restricted()
|
219
|
+
{
|
220
|
+
_setRoleActive(roleId, active);
|
221
|
+
}
|
222
|
+
|
191
223
|
|
192
224
|
/// @dev Grants the provided role to the specified account
|
193
225
|
function grantRole(
|
@@ -200,6 +232,62 @@ contract InstanceAdmin is
|
|
200
232
|
}
|
201
233
|
|
202
234
|
|
235
|
+
/// @dev Revokes the provided role from the specified account
|
236
|
+
function revokeRole(
|
237
|
+
RoleId roleId,
|
238
|
+
address account)
|
239
|
+
external
|
240
|
+
restricted()
|
241
|
+
{
|
242
|
+
_revokeRoleFromAccount(roleId, account);
|
243
|
+
}
|
244
|
+
|
245
|
+
|
246
|
+
/// @dev Create a new custom target.
|
247
|
+
/// The target needs to be an access managed contract.
|
248
|
+
function createTarget(
|
249
|
+
address target,
|
250
|
+
string memory name
|
251
|
+
)
|
252
|
+
external
|
253
|
+
restricted()
|
254
|
+
returns (RoleId contractRoleId)
|
255
|
+
{
|
256
|
+
return _createManagedTarget(
|
257
|
+
target,
|
258
|
+
name,
|
259
|
+
TargetType.Custom);
|
260
|
+
}
|
261
|
+
|
262
|
+
|
263
|
+
/// @dev Add function authorizations for the specified component or custom target.
|
264
|
+
function authorizeFunctions(
|
265
|
+
address target,
|
266
|
+
RoleId roleId,
|
267
|
+
IAccess.FunctionInfo[] memory functions
|
268
|
+
)
|
269
|
+
external
|
270
|
+
restricted()
|
271
|
+
{
|
272
|
+
_checkComponentOrCustomTarget(target);
|
273
|
+
_authorizeTargetFunctions(target, roleId, functions, true);
|
274
|
+
}
|
275
|
+
|
276
|
+
|
277
|
+
/// @dev Removes function authorizations for the specified component or custom target.
|
278
|
+
function unauthorizeFunctions(
|
279
|
+
address target,
|
280
|
+
IAccess.FunctionInfo[] memory functions
|
281
|
+
)
|
282
|
+
external
|
283
|
+
restricted()
|
284
|
+
{
|
285
|
+
_checkComponentOrCustomTarget(target);
|
286
|
+
_authorizeTargetFunctions(target, ADMIN_ROLE(), functions, false);
|
287
|
+
}
|
288
|
+
|
289
|
+
|
290
|
+
/// @dev locks the instance and all its releated targets including component and custom targets.
|
203
291
|
function setInstanceLocked(bool locked)
|
204
292
|
external
|
205
293
|
// not restricted(): need to operate on locked instances to unlock instance
|
@@ -246,100 +334,6 @@ contract InstanceAdmin is
|
|
246
334
|
|
247
335
|
// ------------------- Internal functions ------------------- //
|
248
336
|
|
249
|
-
function _setupComponentAndTokenHandler(
|
250
|
-
IInstanceLinkedComponent component,
|
251
|
-
ObjectType componentType
|
252
|
-
)
|
253
|
-
internal
|
254
|
-
{
|
255
|
-
|
256
|
-
IAuthorization authorization = component.getAuthorization();
|
257
|
-
string memory targetName = authorization.getMainTargetName();
|
258
|
-
|
259
|
-
// create component role and target
|
260
|
-
RoleId componentRoleId = _createComponentRoleId(component, authorization);
|
261
|
-
|
262
|
-
// create component's target
|
263
|
-
_createTarget(
|
264
|
-
address(component),
|
265
|
-
targetName,
|
266
|
-
true, // checkAuthority
|
267
|
-
false); // custom
|
268
|
-
|
269
|
-
// create component's token handler target if app
|
270
|
-
if (componentType != ORACLE()) {
|
271
|
-
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
272
|
-
address tokenHandler = address(
|
273
|
-
_instance.getInstanceReader().getComponentInfo(
|
274
|
-
componentNftId).tokenHandler);
|
275
|
-
|
276
|
-
_createTarget(
|
277
|
-
tokenHandler,
|
278
|
-
authorization.getTokenHandlerName(),
|
279
|
-
true,
|
280
|
-
false);
|
281
|
-
|
282
|
-
// token handler does not require its own role
|
283
|
-
// token handler is not calling other components
|
284
|
-
}
|
285
|
-
|
286
|
-
// assign component role to component
|
287
|
-
_grantRoleToAccount(
|
288
|
-
componentRoleId,
|
289
|
-
address(component));
|
290
|
-
}
|
291
|
-
|
292
|
-
|
293
|
-
function _createComponentRoleId(
|
294
|
-
IInstanceLinkedComponent component,
|
295
|
-
IAuthorization authorization
|
296
|
-
)
|
297
|
-
internal
|
298
|
-
returns (RoleId componentRoleId)
|
299
|
-
{
|
300
|
-
// checks
|
301
|
-
// check component is not yet authorized
|
302
|
-
if (_targetRoleId[address(component)].gtz()) {
|
303
|
-
revert ErrorInstanceAdminAlreadyAuthorized(address(component));
|
304
|
-
}
|
305
|
-
|
306
|
-
// check generic component role
|
307
|
-
RoleId genericComponentRoleId = authorization.getTargetRole(
|
308
|
-
authorization.getMainTarget());
|
309
|
-
|
310
|
-
if (!genericComponentRoleId.isComponentRole()) {
|
311
|
-
revert ErrorInstanceAdminNotComponentRole(genericComponentRoleId);
|
312
|
-
}
|
313
|
-
|
314
|
-
// check component role does not exist
|
315
|
-
componentRoleId = toComponentRole(
|
316
|
-
genericComponentRoleId,
|
317
|
-
_components);
|
318
|
-
|
319
|
-
if (roleExists(componentRoleId)) {
|
320
|
-
revert ErrorInstanceAdminRoleAlreadyExists(componentRoleId);
|
321
|
-
}
|
322
|
-
|
323
|
-
// check role info
|
324
|
-
IAccess.RoleInfo memory roleInfo = authorization.getRoleInfo(
|
325
|
-
genericComponentRoleId);
|
326
|
-
|
327
|
-
if (roleInfo.roleType != IAccess.RoleType.Contract) {
|
328
|
-
revert ErrorInstanceAdminRoleTypeNotContract(
|
329
|
-
componentRoleId,
|
330
|
-
roleInfo.roleType);
|
331
|
-
}
|
332
|
-
|
333
|
-
// effects
|
334
|
-
_targetRoleId[address(component)] = componentRoleId;
|
335
|
-
_components++;
|
336
|
-
|
337
|
-
_createRole(
|
338
|
-
componentRoleId,
|
339
|
-
roleInfo);
|
340
|
-
}
|
341
|
-
|
342
|
-
|
343
337
|
function _createRoles(IAuthorization authorization)
|
344
338
|
internal
|
345
339
|
{
|
@@ -347,12 +341,8 @@ contract InstanceAdmin is
|
|
347
341
|
RoleId mainTargetRoleId = authorization.getTargetRole(
|
348
342
|
authorization.getMainTarget());
|
349
343
|
|
350
|
-
RoleId roleId;
|
351
|
-
RoleInfo memory roleInfo;
|
352
|
-
|
353
344
|
for(uint256 i = 0; i < roles.length; i++) {
|
354
|
-
|
355
|
-
roleId = roles[i];
|
345
|
+
RoleId roleId = roles[i];
|
356
346
|
|
357
347
|
// skip main target role, create role if not exists
|
358
348
|
if (roleId != mainTargetRoleId && !roleExists(roleId)) {
|
@@ -364,16 +354,6 @@ contract InstanceAdmin is
|
|
364
354
|
}
|
365
355
|
|
366
356
|
|
367
|
-
function toComponentRole(RoleId roleId, uint64 componentIdx)
|
368
|
-
internal
|
369
|
-
pure
|
370
|
-
returns (RoleId)
|
371
|
-
{
|
372
|
-
return RoleIdLib.toRoleId(
|
373
|
-
RoleIdLib.toInt(roleId) + componentIdx);
|
374
|
-
}
|
375
|
-
|
376
|
-
|
377
357
|
function _createTargetAuthorizations(IAuthorization authorization)
|
378
358
|
internal
|
379
359
|
{
|
@@ -383,68 +363,21 @@ contract InstanceAdmin is
|
|
383
363
|
for(uint256 i = 0; i < targets.length; i++) {
|
384
364
|
target = targets[i];
|
385
365
|
RoleId[] memory authorizedRoles = authorization.getAuthorizedRoles(target);
|
386
|
-
RoleId authorizedRole;
|
387
366
|
|
388
367
|
for(uint256 j = 0; j < authorizedRoles.length; j++) {
|
389
|
-
|
390
|
-
|
391
|
-
_authorizeTargetFunctions(
|
392
|
-
getTargetForName(target),
|
393
|
-
authorizedRole,
|
394
|
-
authorization.getAuthorizedFunctions(
|
395
|
-
target,
|
396
|
-
authorizedRole));
|
368
|
+
_authorizeFunctions(authorization, target, authorizedRoles[j]);
|
397
369
|
}
|
398
370
|
}
|
399
371
|
}
|
400
372
|
|
401
|
-
function _checkAndCreateTargetWithRole(
|
402
|
-
address target,
|
403
|
-
string memory targetName
|
404
|
-
)
|
405
|
-
internal
|
406
|
-
{
|
407
|
-
// check that target name is defined in authorization specification
|
408
|
-
Str name = StrLib.toStr(targetName);
|
409
|
-
if (!_authorization.targetExists(name)) {
|
410
|
-
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
411
|
-
}
|
412
|
-
|
413
|
-
// create named target
|
414
|
-
_createTarget(
|
415
|
-
target,
|
416
|
-
targetName,
|
417
|
-
false, // check authority TODO check normal targets, don't check service targets (they share authority with release admin)
|
418
|
-
false);
|
419
|
-
|
420
|
-
// assign target role if defined
|
421
|
-
RoleId targetRoleId = _authorization.getTargetRole(name);
|
422
|
-
if (targetRoleId != RoleIdLib.zero()) {
|
423
|
-
_grantRoleToAccount(targetRoleId, target);
|
424
|
-
}
|
425
|
-
}
|
426
373
|
|
427
|
-
function
|
374
|
+
function _checkComponentOrCustomTarget(address target)
|
428
375
|
internal
|
376
|
+
view
|
429
377
|
{
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
434
|
-
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
435
|
-
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME);
|
436
|
-
|
437
|
-
// create targets for services that need to access the instance targets
|
438
|
-
ObjectType[] memory serviceDomains = _authorization.getServiceDomains();
|
439
|
-
VersionPart release = _authorization.getRelease();
|
440
|
-
ObjectType serviceDomain;
|
441
|
-
|
442
|
-
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
443
|
-
serviceDomain = serviceDomains[i];
|
444
|
-
|
445
|
-
_checkAndCreateTargetWithRole(
|
446
|
-
_registry.getServiceAddress(serviceDomain, release),
|
447
|
-
_authorization.getServiceTarget(serviceDomain).toString());
|
378
|
+
IAccess.TargetType targetType = getTargetInfo(target).targetType;
|
379
|
+
if (targetType != TargetType.Component && targetType != TargetType.Custom) {
|
380
|
+
revert ErrorInstanceAdminNotComponentOrCustomTarget(target);
|
448
381
|
}
|
449
382
|
}
|
450
383
|
}
|
@@ -2,14 +2,15 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IAccess} from "../authorization/IAccess.sol";
|
5
|
+
import {IInstance} from "../instance/Instance.sol";
|
5
6
|
|
7
|
+
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
6
8
|
import {Authorization} from "../authorization/Authorization.sol";
|
7
9
|
import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
|
8
10
|
import {BundleSet} from "../instance/BundleSet.sol";
|
9
|
-
import {Instance} from "../instance/Instance.sol";
|
10
11
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
11
12
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
12
|
-
import {PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
|
+
import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
14
|
import {RiskSet} from "../instance/RiskSet.sol";
|
14
15
|
|
15
16
|
|
@@ -18,6 +19,7 @@ contract InstanceAuthorizationV3
|
|
18
19
|
{
|
19
20
|
|
20
21
|
string public constant INSTANCE_ROLE_NAME = "InstanceRole";
|
22
|
+
string public constant INSTANCE_OWNER_ROLE_NAME = "InstanceOwnerRole";
|
21
23
|
|
22
24
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
23
25
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
@@ -26,22 +28,41 @@ contract InstanceAuthorizationV3
|
|
26
28
|
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
27
29
|
|
28
30
|
constructor()
|
29
|
-
Authorization(
|
31
|
+
Authorization(
|
32
|
+
INSTANCE_TARGET_NAME,
|
33
|
+
INSTANCE(),
|
34
|
+
3,
|
35
|
+
COMMIT_HASH,
|
36
|
+
false,
|
37
|
+
false)
|
30
38
|
{ }
|
31
39
|
|
32
40
|
function _setupServiceTargets() internal virtual override {
|
33
41
|
// service targets relevant to instance
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
_authorizeServiceDomain(INSTANCE(), address(10));
|
43
|
+
_authorizeServiceDomain(ACCOUNTING(), address(11));
|
44
|
+
_authorizeServiceDomain(COMPONENT(), address(12));
|
45
|
+
_authorizeServiceDomain(DISTRIBUTION(), address(13));
|
46
|
+
_authorizeServiceDomain(ORACLE(), address(14));
|
47
|
+
_authorizeServiceDomain(POOL(), address(15));
|
48
|
+
_authorizeServiceDomain(BUNDLE(), address(16));
|
49
|
+
_authorizeServiceDomain(RISK(), address(17));
|
50
|
+
_authorizeServiceDomain(APPLICATION(), address(18));
|
51
|
+
_authorizeServiceDomain(POLICY(), address(19));
|
52
|
+
_authorizeServiceDomain(CLAIM(), address(20));
|
53
|
+
}
|
54
|
+
|
55
|
+
function _setupRoles()
|
56
|
+
internal
|
57
|
+
override
|
58
|
+
{
|
59
|
+
_addRole(
|
60
|
+
INSTANCE_OWNER_ROLE(),
|
61
|
+
AccessAdminLib.toRole(
|
62
|
+
ADMIN_ROLE(),
|
63
|
+
RoleType.Custom,
|
64
|
+
0, // max member count special case: instance nft owner is sole role owner
|
65
|
+
INSTANCE_OWNER_ROLE_NAME));
|
45
66
|
}
|
46
67
|
|
47
68
|
function _setupTargets()
|
@@ -49,7 +70,6 @@ contract InstanceAuthorizationV3
|
|
49
70
|
override
|
50
71
|
{
|
51
72
|
// instance supporting targets
|
52
|
-
// _addGifContractTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
73
|
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
54
74
|
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
55
75
|
_addTarget(BUNDLE_SET_TARGET_NAME);
|
@@ -95,7 +115,7 @@ contract InstanceAuthorizationV3
|
|
95
115
|
// authorize risk service role
|
96
116
|
functions = _authorizeForTarget(RISK_SET_TARGET_NAME, getServiceRole(RISK()));
|
97
117
|
_authorize(functions, RiskSet.add.selector, "add");
|
98
|
-
_authorize(functions, RiskSet.
|
118
|
+
_authorize(functions, RiskSet.deactivate.selector, "deactivate");
|
99
119
|
_authorize(functions, RiskSet.activate.selector, "activate");
|
100
120
|
|
101
121
|
// authorize policy service role
|
@@ -112,25 +132,28 @@ contract InstanceAuthorizationV3
|
|
112
132
|
|
113
133
|
// authorize instance service role
|
114
134
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
|
115
|
-
_authorize(functions,
|
116
|
-
_authorize(functions,
|
135
|
+
_authorize(functions, IInstance.registerProduct.selector, "registerProduct");
|
136
|
+
_authorize(functions, IInstance.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
117
137
|
|
118
138
|
// staking
|
119
|
-
_authorize(functions,
|
120
|
-
_authorize(functions,
|
121
|
-
_authorize(functions,
|
122
|
-
_authorize(functions,
|
139
|
+
_authorize(functions, IInstance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
140
|
+
_authorize(functions, IInstance.setStakingRewardRate.selector, "setStakingRewardRate");
|
141
|
+
_authorize(functions, IInstance.setStakingMaxAmount.selector, "setStakingMaxAmount");
|
142
|
+
_authorize(functions, IInstance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
143
|
+
_authorize(functions, IInstance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
123
144
|
|
124
145
|
// custom authz
|
125
|
-
_authorize(functions,
|
126
|
-
_authorize(functions,
|
127
|
-
_authorize(functions,
|
128
|
-
_authorize(functions,
|
129
|
-
_authorize(functions,
|
146
|
+
_authorize(functions, IInstance.createRole.selector, "createRole");
|
147
|
+
_authorize(functions, IInstance.setRoleActive.selector, "setRoleActive");
|
148
|
+
_authorize(functions, IInstance.grantRole.selector, "grantRole");
|
149
|
+
_authorize(functions, IInstance.revokeRole.selector, "revokeRole");
|
150
|
+
_authorize(functions, IInstance.createTarget.selector, "createTarget");
|
151
|
+
_authorize(functions, IInstance.authorizeFunctions.selector, "authorizeFunctions");
|
152
|
+
_authorize(functions, IInstance.unauthorizeFunctions.selector, "unauthorizeFunctions");
|
130
153
|
|
131
154
|
// authorize instance service role
|
132
155
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
133
|
-
_authorize(functions,
|
156
|
+
_authorize(functions, IInstance.setInstanceReader.selector, "setInstanceReader");
|
134
157
|
}
|
135
158
|
|
136
159
|
|
@@ -141,8 +164,16 @@ contract InstanceAuthorizationV3
|
|
141
164
|
|
142
165
|
// authorize component service role
|
143
166
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(INSTANCE()));
|
144
|
-
_authorize(functions, InstanceAdmin.
|
167
|
+
_authorize(functions, InstanceAdmin.createRole.selector, "createRole");
|
168
|
+
_authorize(functions, InstanceAdmin.setRoleActive.selector, "setRoleActive");
|
169
|
+
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
170
|
+
_authorize(functions, InstanceAdmin.revokeRole.selector, "revokeRole");
|
171
|
+
|
172
|
+
_authorize(functions, InstanceAdmin.createTarget.selector, "createTarget");
|
173
|
+
_authorize(functions, InstanceAdmin.authorizeFunctions.selector, "authorizeFunctions");
|
174
|
+
_authorize(functions, InstanceAdmin.unauthorizeFunctions.selector, "unauthorizeFunctions");
|
145
175
|
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
176
|
+
_authorize(functions, InstanceAdmin.setInstanceLocked.selector, "setInstanceLocked");
|
146
177
|
|
147
178
|
// authorize component service role
|
148
179
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|