@etherisc/gif-next 0.0.2-da2c7dd-538 → 0.0.2-da87b00-860
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 +57 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +106 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +91 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +58 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +573 -288
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +8 -39
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +295 -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 +452 -210
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +119 -14
- 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 +64 -142
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +275 -59
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -88
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +448 -148
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -77
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -87
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +296 -20
- 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 +109 -100
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +145 -124
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +274 -58
- 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 +126 -166
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +39 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -138
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +274 -58
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -180
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +274 -58
- 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 +427 -28
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +335 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +430 -62
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +822 -402
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +299 -58
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +619 -402
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +367 -64
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -55
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +448 -374
- 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 +20 -20
- 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 +33 -35
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +294 -53
- 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 -21
- 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 -21
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +87 -42
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +96 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -69
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +274 -58
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +300 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +186 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +238 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -31
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +346 -87
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +121 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +273 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +103 -41
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -48
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +274 -58
- 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 +113 -75
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +208 -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 +50 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +224 -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 +511 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +118 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +116 -114
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +100 -70
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -42
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +258 -44
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +84 -42
- 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 +33 -22
- 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 +71 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +704 -472
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
- 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 +76 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +710 -407
- 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 +184 -128
- 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 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +212 -232
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +113 -71
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +130 -39
- 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 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +119 -147
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -21
- 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/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -21
- 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 +1450 -140
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +161 -110
- 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 +1624 -272
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +135 -68
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +200 -157
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +86 -52
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1600 -818
- 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 +159 -87
- 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 +10 -10
- 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 +93 -37
- 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 +33 -31
- 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 +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +56 -2
- 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 +65 -27
- 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 +4 -2
- package/contracts/authorization/AccessAdmin.sol +389 -298
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +60 -228
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +81 -80
- package/contracts/authorization/IAuthorization.sol +3 -51
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +248 -34
- package/contracts/distribution/BasicDistribution.sol +6 -6
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +10 -52
- package/contracts/distribution/DistributionService.sol +154 -64
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +24 -10
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +6 -10
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -23
- package/contracts/instance/IInstance.sol +87 -12
- package/contracts/instance/IInstanceService.sol +52 -7
- package/contracts/instance/Instance.sol +148 -48
- package/contracts/instance/InstanceAdmin.sol +227 -281
- package/contracts/instance/InstanceAuthorizationV3.sol +79 -26
- package/contracts/instance/InstanceReader.sol +375 -380
- package/contracts/instance/InstanceService.sol +230 -134
- 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/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +19 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +2 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +2 -4
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +3 -16
- 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 -16
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -184
- package/contracts/product/ApplicationService.sol +83 -15
- package/contracts/product/BasicProduct.sol +1 -3
- package/contracts/product/BasicProductAuthorization.sol +11 -4
- package/contracts/product/ClaimService.sol +56 -58
- package/contracts/product/IApplicationService.sol +24 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +9 -2
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +21 -3
- package/contracts/product/PolicyService.sol +31 -68
- package/contracts/product/PolicyServiceLib.sol +79 -5
- package/contracts/product/PricingService.sol +33 -31
- package/contracts/product/Product.sol +38 -14
- package/contracts/product/RiskService.sol +55 -9
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +100 -263
- package/contracts/registry/RegistryAuthorization.sol +336 -0
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +62 -112
- package/contracts/registry/ReleaseRegistry.sol +57 -43
- package/contracts/registry/ServiceAuthorizationV3.sol +128 -33
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +18 -31
- package/contracts/shared/ComponentService.sol +239 -244
- package/contracts/shared/ContractLib.sol +134 -75
- package/contracts/shared/IComponent.sol +1 -4
- package/contracts/shared/IComponentService.sol +21 -22
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +4 -7
- package/contracts/shared/KeyValueStore.sol +3 -3
- package/contracts/shared/NftOwnable.sol +4 -2
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Registerable.sol +1 -4
- package/contracts/shared/Service.sol +6 -4
- package/contracts/shared/TokenHandler.sol +5 -4
- package/contracts/staking/IStaking.sol +266 -64
- package/contracts/staking/IStakingService.sol +44 -82
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +473 -202
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +58 -77
- package/contracts/staking/StakingService.sol +49 -158
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1089 -330
- 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/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +21 -17
- 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 +28 -10
- package/contracts/type/Version.sol +39 -0
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +25 -11
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -2
- 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/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- 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
@@ -1,131 +1,74 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IAccess} from "./IAccess.sol";
|
5
4
|
import {IAuthorization} from "./IAuthorization.sol";
|
6
|
-
|
7
|
-
import {
|
8
|
-
import {
|
5
|
+
|
6
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
7
|
+
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
8
|
+
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
9
9
|
import {Str, StrLib} from "../type/String.sol";
|
10
|
-
import {TimestampLib} from "../type/Timestamp.sol";
|
11
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
10
|
|
13
|
-
contract Authorization
|
14
|
-
is IAuthorization
|
15
|
-
{
|
16
|
-
uint256 public constant GIF_RELEASE = 3;
|
17
11
|
|
18
|
-
|
19
|
-
|
12
|
+
contract Authorization is
|
13
|
+
ServiceAuthorization,
|
14
|
+
IAuthorization
|
15
|
+
{
|
20
16
|
|
21
|
-
|
22
|
-
|
17
|
+
// MUST match with AccessAdminLib.COMPONENT_ROLE_MIN
|
18
|
+
uint64 public constant COMPONENT_ROLE_MIN = 110000;
|
23
19
|
|
24
|
-
|
25
|
-
string internal _tokenHandlerName = "ComponentTH";
|
20
|
+
uint64 internal _nextGifContractRoleId;
|
26
21
|
|
27
|
-
|
22
|
+
string internal _tokenHandlerName = "ComponentTh";
|
28
23
|
Str internal _tokenHandlerTarget;
|
29
|
-
Str[] internal _targets;
|
30
|
-
|
31
|
-
mapping(Str target => RoleId roleid) internal _targetRole;
|
32
|
-
mapping(Str target => bool exists) internal _targetExists;
|
33
|
-
|
34
|
-
RoleId[] internal _roles;
|
35
|
-
mapping(RoleId role => RoleInfo info) internal _roleInfo;
|
36
|
-
|
37
|
-
mapping(Str target => RoleId[] authorizedRoles) internal _authorizedRoles;
|
38
|
-
mapping(Str target => mapping(RoleId authorizedRole => IAccess.FunctionInfo[] functions)) internal _authorizedFunctions;
|
39
24
|
|
40
25
|
|
41
26
|
constructor(
|
42
27
|
string memory mainTargetName,
|
43
|
-
ObjectType
|
28
|
+
ObjectType domain,
|
29
|
+
uint8 release,
|
30
|
+
string memory commitHash,
|
31
|
+
bool isComponent,
|
32
|
+
bool includeTokenHandler
|
44
33
|
)
|
34
|
+
ServiceAuthorization(mainTargetName, domain, release, commitHash)
|
45
35
|
{
|
46
|
-
|
47
|
-
if (bytes(mainTargetName).length == 0) {
|
48
|
-
revert ErrorAuthorizationMainTargetNameEmpty();
|
49
|
-
}
|
50
|
-
|
51
|
-
if (targetDomain.eqz()) {
|
52
|
-
revert ErrorAuthorizationTargetDomainZero();
|
53
|
-
}
|
36
|
+
_nextGifContractRoleId = 10;
|
54
37
|
|
55
|
-
//
|
56
|
-
|
57
|
-
|
58
|
-
|
38
|
+
// setup main target
|
39
|
+
if (isComponent) {
|
40
|
+
if (domain.eqz()) {
|
41
|
+
revert ErrorAuthorizationTargetDomainZero();
|
42
|
+
}
|
59
43
|
|
60
|
-
|
61
|
-
|
44
|
+
RoleId mainRoleId = RoleIdLib.toRoleId(COMPONENT_ROLE_MIN);
|
45
|
+
string memory mainRolName = _toTargetRoleName(_mainTargetName);
|
62
46
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
_targetRole[_mainTarget] = mainRoleId;
|
70
|
-
|
71
|
-
// add token handler target for components
|
72
|
-
if (targetDomain == PRODUCT()
|
73
|
-
|| targetDomain == DISTRIBUTION()
|
74
|
-
|| targetDomain == ORACLE()
|
75
|
-
|| targetDomain == POOL()
|
76
|
-
) {
|
77
|
-
_addTarget(_tokenHandlerName);
|
47
|
+
_addTargetWithRole(
|
48
|
+
_mainTargetName,
|
49
|
+
mainRoleId,
|
50
|
+
mainRolName);
|
51
|
+
} else {
|
52
|
+
_addGifTarget(_mainTargetName);
|
78
53
|
}
|
79
54
|
|
80
|
-
// setup token handler target
|
81
|
-
_tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
|
82
|
-
|
83
55
|
// setup use case specific parts
|
84
56
|
_setupServiceTargets();
|
85
57
|
_setupRoles(); // not including main target role
|
86
58
|
_setupTargets(); // not including main target (and token handler target)
|
87
|
-
|
88
|
-
_setupTokenHandlerAuthorizations();
|
89
59
|
_setupTargetAuthorizations(); // not including token handler target
|
90
|
-
}
|
91
|
-
|
92
|
-
function getServiceDomains() external view returns(ObjectType[] memory serviceDomains) {
|
93
|
-
return _serviceDomains;
|
94
|
-
}
|
95
|
-
|
96
|
-
function getComponentRole(ObjectType componentDomain) public view returns(RoleId roleId) {
|
97
|
-
return RoleIdLib.toComponentRoleId(componentDomain, 0);
|
98
|
-
}
|
99
|
-
|
100
|
-
function getServiceRole(ObjectType serviceDomain) public virtual pure returns (RoleId serviceRoleId) {
|
101
|
-
return RoleIdLib.roleForTypeAndVersion(
|
102
|
-
serviceDomain,
|
103
|
-
getRelease());
|
104
|
-
}
|
105
60
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
function roleExists(RoleId roleId) public view returns(bool exists) {
|
115
|
-
return _roleInfo[roleId].roleType != RoleType.Undefined;
|
116
|
-
}
|
117
|
-
|
118
|
-
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory info) {
|
119
|
-
return _roleInfo[roleId];
|
120
|
-
}
|
61
|
+
// setup component token handler
|
62
|
+
if (includeTokenHandler) {
|
63
|
+
_tokenHandlerName = string(abi.encodePacked(mainTargetName, "Th"));
|
64
|
+
_tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
|
65
|
+
_addTarget(_tokenHandlerName);
|
66
|
+
_setupTokenHandlerAuthorizations();
|
67
|
+
}
|
121
68
|
|
122
|
-
|
123
|
-
return _mainTargetName;
|
69
|
+
_registerInterfaceNotInitializing(type(IAuthorization).interfaceId);
|
124
70
|
}
|
125
71
|
|
126
|
-
function getMainTarget() public view returns(Str) {
|
127
|
-
return _mainTarget;
|
128
|
-
}
|
129
72
|
|
130
73
|
function getTokenHandlerName() public view returns(string memory) {
|
131
74
|
return _tokenHandlerName;
|
@@ -135,7 +78,7 @@ contract Authorization
|
|
135
78
|
return _tokenHandlerTarget;
|
136
79
|
}
|
137
80
|
|
138
|
-
function getTarget(string memory targetName) public
|
81
|
+
function getTarget(string memory targetName) public pure returns(Str target) {
|
139
82
|
return StrLib.toStr(targetName);
|
140
83
|
}
|
141
84
|
|
@@ -147,97 +90,31 @@ contract Authorization
|
|
147
90
|
return target == _mainTarget || _targetExists[target];
|
148
91
|
}
|
149
92
|
|
150
|
-
function getTargetRole(Str target) external view returns(RoleId roleId) {
|
151
|
-
return _targetRole[target];
|
152
|
-
}
|
153
|
-
|
154
|
-
function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds) {
|
155
|
-
return _authorizedRoles[target];
|
156
|
-
}
|
157
|
-
|
158
|
-
function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions) {
|
159
|
-
return _authorizedFunctions[target][roleId];
|
160
|
-
}
|
161
|
-
|
162
|
-
function getRelease() public virtual pure returns(VersionPart release) {
|
163
|
-
return VersionPartLib.toVersionPart(GIF_RELEASE);
|
164
|
-
}
|
165
|
-
|
166
93
|
/// @dev Sets up the relevant service targets for the component.
|
167
94
|
/// Overwrite this function for use case specific authorizations.
|
95
|
+
// solhint-disable-next-line no-empty-blocks
|
168
96
|
function _setupServiceTargets() internal virtual { }
|
169
97
|
|
170
98
|
/// @dev Sets up the relevant (non-service) targets for the component.
|
171
99
|
/// Overwrite this function for use case specific authorizations.
|
100
|
+
// solhint-disable-next-line no-empty-blocks
|
172
101
|
function _setupTargets() internal virtual { }
|
173
102
|
|
174
103
|
/// @dev Sets up the relevant roles for the component.
|
175
104
|
/// Overwrite this function for use case specific authorizations.
|
105
|
+
// solhint-disable-next-line no-empty-blocks
|
176
106
|
function _setupRoles() internal virtual {}
|
177
107
|
|
178
108
|
/// @dev Sets up the relevant component's token handler authorizations.
|
179
109
|
/// Overwrite this function for use case specific authorizations.
|
110
|
+
// solhint-disable-next-line no-empty-blocks
|
180
111
|
function _setupTokenHandlerAuthorizations() internal virtual {}
|
181
112
|
|
182
113
|
/// @dev Sets up the relevant target authorizations for the component.
|
183
114
|
/// Overwrite this function for use case specific authorizations.
|
115
|
+
// solhint-disable-next-line no-empty-blocks
|
184
116
|
function _setupTargetAuthorizations() internal virtual {}
|
185
117
|
|
186
|
-
/// @dev Add the service target role for the specified service domain
|
187
|
-
function _addServiceTargetWithRole(ObjectType serviceDomain) internal {
|
188
|
-
// add service domain
|
189
|
-
_serviceDomains.push(serviceDomain);
|
190
|
-
|
191
|
-
// get versioned target name
|
192
|
-
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
193
|
-
ObjectTypeLib.toName(serviceDomain),
|
194
|
-
"Service",
|
195
|
-
getRelease().toInt());
|
196
|
-
|
197
|
-
_serviceTarget[serviceDomain] = StrLib.toStr(serviceTargetName);
|
198
|
-
|
199
|
-
RoleId serviceRoleId = getServiceRole(serviceDomain);
|
200
|
-
string memory serviceRoleName = ObjectTypeLib.toVersionedName(
|
201
|
-
ObjectTypeLib.toName(serviceDomain),
|
202
|
-
"ServiceRole",
|
203
|
-
getRelease().toInt());
|
204
|
-
|
205
|
-
_addTargetWithRole(
|
206
|
-
serviceTargetName,
|
207
|
-
serviceRoleId,
|
208
|
-
serviceRoleName);
|
209
|
-
}
|
210
|
-
|
211
|
-
|
212
|
-
/// @dev Use this method to to add an authorized role.
|
213
|
-
function _addRole(RoleId roleId, RoleInfo memory info) internal {
|
214
|
-
_roles.push(roleId);
|
215
|
-
_roleInfo[roleId] = info;
|
216
|
-
}
|
217
|
-
|
218
|
-
|
219
|
-
/// @dev Add a contract role for the provided role id and name.
|
220
|
-
function _addContractRole(RoleId roleId, string memory name) internal {
|
221
|
-
_addRole(
|
222
|
-
roleId,
|
223
|
-
_toRoleInfo(
|
224
|
-
ADMIN_ROLE(),
|
225
|
-
RoleType.Contract,
|
226
|
-
1,
|
227
|
-
name));
|
228
|
-
}
|
229
|
-
|
230
|
-
|
231
|
-
/// @dev Add the versioned service role for the specified service domain
|
232
|
-
function _addServiceRole(ObjectType serviceDomain) internal {
|
233
|
-
_addContractRole(
|
234
|
-
getServiceRole(serviceDomain),
|
235
|
-
ObjectTypeLib.toVersionedName(
|
236
|
-
ObjectTypeLib.toName(serviceDomain),
|
237
|
-
SERVICE_ROLE_NAME_SUFFIX,
|
238
|
-
getRelease().toInt()));
|
239
|
-
}
|
240
|
-
|
241
118
|
|
242
119
|
/// @dev Add a contract role for the provided role id and name.
|
243
120
|
function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
|
@@ -250,31 +127,18 @@ contract Authorization
|
|
250
127
|
name));
|
251
128
|
}
|
252
129
|
|
130
|
+
/// @dev Add a gif target with its corresponding contract role
|
131
|
+
function _addGifTarget(string memory contractName) internal {
|
132
|
+
RoleId contractRoleId = RoleIdLib.toRoleId(_nextGifContractRoleId++);
|
133
|
+
string memory contractRoleName = string(
|
134
|
+
abi.encodePacked(
|
135
|
+
contractName,
|
136
|
+
ROLE_NAME_SUFFIX));
|
253
137
|
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
string memory roleName
|
259
|
-
)
|
260
|
-
internal
|
261
|
-
{
|
262
|
-
// add target
|
263
|
-
Str target = StrLib.toStr(targetName);
|
264
|
-
_targets.push(target);
|
265
|
-
|
266
|
-
_targetExists[target] = true;
|
267
|
-
|
268
|
-
// link role to target if defined
|
269
|
-
if (roleId != RoleIdLib.zero()) {
|
270
|
-
// add role if new
|
271
|
-
if (!roleExists(roleId)) {
|
272
|
-
_addContractRole(roleId, roleName);
|
273
|
-
}
|
274
|
-
|
275
|
-
// link target to role
|
276
|
-
_targetRole[target] = roleId;
|
277
|
-
}
|
138
|
+
_addTargetWithRole(
|
139
|
+
contractName,
|
140
|
+
contractRoleId,
|
141
|
+
contractRoleName);
|
278
142
|
}
|
279
143
|
|
280
144
|
|
@@ -284,54 +148,22 @@ contract Authorization
|
|
284
148
|
}
|
285
149
|
|
286
150
|
|
287
|
-
/// @dev
|
288
|
-
function _authorizeForTarget(string memory target, RoleId authorizedRoleId)
|
289
|
-
internal
|
290
|
-
returns (IAccess.FunctionInfo[] storage authorizatedFunctions)
|
291
|
-
{
|
292
|
-
Str targetStr = StrLib.toStr(target);
|
293
|
-
_authorizedRoles[targetStr].push(authorizedRoleId);
|
294
|
-
return _authorizedFunctions[targetStr][authorizedRoleId];
|
295
|
-
}
|
296
|
-
|
297
|
-
|
298
|
-
/// @dev Use this method to authorize a specific function authorization
|
299
|
-
function _authorize(IAccess.FunctionInfo[] storage functions, bytes4 selector, string memory name) internal {
|
300
|
-
functions.push(
|
301
|
-
IAccess.FunctionInfo({
|
302
|
-
selector: SelectorLib.toSelector(selector),
|
303
|
-
name: StrLib.toStr(name),
|
304
|
-
createdAt: TimestampLib.blockTimestamp()}));
|
305
|
-
}
|
306
|
-
|
307
|
-
|
308
|
-
/// @dev role id for targets registry, staking and instance
|
151
|
+
/// @dev Role id for targets registry, staking and instance
|
309
152
|
function _toTargetRoleId(ObjectType targetDomain)
|
310
153
|
internal
|
311
154
|
pure
|
312
155
|
returns (RoleId targetRoleId)
|
313
156
|
{
|
314
|
-
return RoleIdLib.
|
157
|
+
return RoleIdLib.toRoleId(100 * targetDomain.toInt());
|
315
158
|
}
|
316
159
|
|
317
160
|
|
161
|
+
/// @dev Returns the role name for the specified target name
|
318
162
|
function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
|
319
163
|
return string(
|
320
164
|
abi.encodePacked(
|
321
165
|
targetName,
|
322
166
|
ROLE_NAME_SUFFIX));
|
323
167
|
}
|
324
|
-
|
325
|
-
|
326
|
-
/// @dev creates a role info object from the provided parameters
|
327
|
-
function _toRoleInfo(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) internal view returns (RoleInfo memory info) {
|
328
|
-
return RoleInfo({
|
329
|
-
name: StrLib.toStr(name),
|
330
|
-
adminRoleId: adminRoleId,
|
331
|
-
roleType: roleType,
|
332
|
-
maxMemberCount: maxMemberCount,
|
333
|
-
createdAt: TimestampLib.blockTimestamp(),
|
334
|
-
pausedAt: TimestampLib.max()});
|
335
|
-
}
|
336
168
|
}
|
337
169
|
|
@@ -10,38 +10,56 @@ interface IAccess {
|
|
10
10
|
|
11
11
|
enum RoleType {
|
12
12
|
Undefined, // no role must have this type
|
13
|
+
Core, // GIF core roles
|
13
14
|
Contract, // roles assigned to contracts, cannot be revoked
|
14
|
-
|
15
|
+
Custom // use case specific rules for components
|
16
|
+
}
|
17
|
+
|
18
|
+
enum TargetType {
|
19
|
+
Undefined, // no target must have this type
|
20
|
+
Core, // GIF core contracts
|
21
|
+
GenericService, // release independent service contracts
|
22
|
+
Service, // service contracts
|
23
|
+
Instance, // instance contracts
|
24
|
+
Component, // instance contracts
|
15
25
|
Custom // use case specific rules for components
|
16
26
|
}
|
17
27
|
|
18
28
|
struct RoleInfo {
|
19
|
-
|
20
|
-
|
21
|
-
|
29
|
+
// slot 0
|
30
|
+
RoleId adminRoleId;
|
31
|
+
RoleType roleType;
|
32
|
+
uint32 maxMemberCount;
|
33
|
+
Timestamp createdAt;
|
34
|
+
Timestamp pausedAt;
|
35
|
+
// slot 1
|
22
36
|
Str name;
|
23
|
-
Timestamp createdAt;
|
24
|
-
Timestamp pausedAt;
|
25
37
|
}
|
26
38
|
|
39
|
+
// TODO recalc slot allocation
|
27
40
|
struct TargetInfo {
|
28
41
|
Str name;
|
29
|
-
|
42
|
+
TargetType targetType;
|
43
|
+
RoleId roleId;
|
30
44
|
Timestamp createdAt;
|
31
45
|
}
|
32
46
|
|
33
47
|
struct FunctionInfo {
|
48
|
+
// slot 0
|
34
49
|
Str name; // function name
|
50
|
+
// slot 1
|
35
51
|
Selector selector; // function selector
|
36
52
|
Timestamp createdAt;
|
37
53
|
}
|
38
54
|
|
39
55
|
struct RoleNameInfo {
|
56
|
+
// slot 0
|
40
57
|
RoleId roleId;
|
41
58
|
bool exists;
|
42
59
|
}
|
43
60
|
|
44
61
|
struct TargeNameInfo {
|
62
|
+
// slot 0
|
45
63
|
address target;
|
46
64
|
bool exists;
|
47
65
|
}
|
@@ -4,113 +4,114 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
|
+
import {IAuthorization} from "./IAuthorization.sol";
|
7
8
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
9
|
+
import {IRelease} from "../registry/IRelease.sol";
|
10
|
+
|
11
|
+
import {NftId} from "../type/NftId.sol";
|
12
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
8
13
|
import {RoleId} from "../type/RoleId.sol";
|
9
|
-
import {Selector} from "../type/Selector.sol";
|
10
14
|
import {Str} from "../type/String.sol";
|
11
15
|
import {VersionPart} from "../type/Version.sol";
|
12
16
|
|
17
|
+
/// @dev Base interface for registry admin, release admin, and instance admin
|
13
18
|
interface IAccessAdmin is
|
14
19
|
IAccessManaged,
|
15
20
|
IAccess,
|
16
|
-
IRegistryLinked
|
21
|
+
IRegistryLinked,
|
22
|
+
IRelease
|
17
23
|
{
|
18
24
|
|
19
25
|
// roles, targets and functions
|
20
|
-
event LogAccessAdminRoleCreated(RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
|
21
|
-
event LogAccessAdminTargetCreated(address target,
|
26
|
+
event LogAccessAdminRoleCreated(string admin, RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
|
27
|
+
event LogAccessAdminTargetCreated(string admin, string name, bool managed, address target, RoleId roleId);
|
22
28
|
|
23
|
-
event LogAccessAdminRoleGranted(address account, string roleName);
|
24
|
-
event LogAccessAdminRoleRevoked(address account, string roleName);
|
25
|
-
event LogAccessAdminFunctionGranted(
|
29
|
+
event LogAccessAdminRoleGranted(string admin, address account, string roleName);
|
30
|
+
event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
|
31
|
+
event LogAccessAdminFunctionGranted(string admin, address target, string func);
|
26
32
|
|
27
33
|
// only deployer modifier
|
28
|
-
error
|
34
|
+
error ErrorAccessAdminNotDeployer();
|
29
35
|
|
30
36
|
// only role admin modifier
|
31
|
-
error
|
37
|
+
error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
|
32
38
|
|
33
39
|
// only role owner modifier
|
34
|
-
error
|
40
|
+
error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
|
41
|
+
|
42
|
+
// role management
|
43
|
+
error ErrorAccessAdminInvalidUserOfAdminRole();
|
44
|
+
error ErrorAccessAdminInvalidUserOfPublicRole();
|
45
|
+
error ErrorAccessAdminRoleNotCustom(RoleId roleId);
|
46
|
+
|
47
|
+
// initialization
|
48
|
+
error ErrorAccessAdminNotRegistry(address registry);
|
49
|
+
error ErrorAccessAdminAuthorityNotContract(address authority);
|
50
|
+
error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
|
51
|
+
error ErrorAccessAdminAccessManagerEmptyName();
|
52
|
+
|
53
|
+
// check target
|
54
|
+
error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
|
55
|
+
error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
|
56
|
+
error ErrorAccessAdminTargetNotCreated(address target);
|
57
|
+
error ErrorAccessAdminTargetNotRegistered(address target);
|
58
|
+
error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
|
59
|
+
|
60
|
+
// check authorization
|
61
|
+
error ErrorAccessAdminAlreadyInitialized(address authorization);
|
62
|
+
error ErrorAccessAdminNotAuthorization(address authorization);
|
63
|
+
error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
|
64
|
+
error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
|
65
|
+
error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
|
66
|
+
|
67
|
+
// link to nft
|
68
|
+
error ErrorAccessAdminNotRegistered(address registerable);
|
35
69
|
|
36
70
|
// initialize authority
|
37
|
-
error
|
71
|
+
error ErrorAccessAdminAdminRoleMissing();
|
38
72
|
|
39
73
|
// create role
|
40
|
-
error
|
41
|
-
error
|
42
|
-
error
|
43
|
-
error
|
74
|
+
error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
|
75
|
+
error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
|
76
|
+
error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
|
77
|
+
error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
|
44
78
|
|
45
79
|
// grant/revoke/renounce role
|
46
|
-
error
|
47
|
-
error
|
48
|
-
error
|
49
|
-
error
|
50
|
-
error
|
51
|
-
error
|
80
|
+
error ErrorAccessAdminRoleUnknown(RoleId roleId);
|
81
|
+
error ErrorAccessAdminRoleIsLocked(RoleId roleId);
|
82
|
+
error ErrorAccessAdminRoleIsPaused(RoleId roleId);
|
83
|
+
error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
|
84
|
+
error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
|
85
|
+
error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
|
52
86
|
|
53
87
|
// create target
|
54
|
-
error
|
55
|
-
error
|
56
|
-
error
|
57
|
-
error
|
58
|
-
error
|
88
|
+
error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
|
89
|
+
error ErrorAccessAdminTargetNameEmpty(address target);
|
90
|
+
error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
|
91
|
+
error ErrorAccessAdminTargetNotAccessManaged(address target);
|
92
|
+
error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
|
59
93
|
|
60
94
|
// lock target
|
61
|
-
error
|
62
|
-
error
|
95
|
+
error ErrorAccessAdminTagetNotLockable();
|
96
|
+
error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
|
63
97
|
|
64
98
|
// authorize target functions
|
65
|
-
error
|
99
|
+
error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
|
100
|
+
|
101
|
+
// toFunction
|
102
|
+
error ErrorAccessAdminSelectorZero();
|
103
|
+
error ErrorAccessAdminFunctionNameEmpty();
|
66
104
|
|
67
105
|
// check target
|
68
|
-
error
|
69
|
-
|
70
|
-
/// @dev Set the disabled status of the speicified role.
|
71
|
-
/// Role disabling only prevents the role from being granted to new accounts.
|
72
|
-
/// Existing role members may still execute functions that are authorized for that role.
|
73
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
74
|
-
// TODO move to instance admin
|
75
|
-
// function setRoleDisabled(RoleId roleId, bool disabled) external;
|
76
|
-
|
77
|
-
/// @dev Grant the specified account the provided role.
|
78
|
-
/// Permissioned: the caller must have the roles admin role.
|
79
|
-
// TODO move to instance admin
|
80
|
-
// function grantRole(address account, RoleId roleId) external;
|
81
|
-
|
82
|
-
/// @dev Revoke the provided role from the specified account.
|
83
|
-
/// Permissioned: the caller must have the roles admin role.
|
84
|
-
// TODO move to instance admin
|
85
|
-
// function revokeRole(address account, RoleId roleId) external;
|
86
|
-
|
87
|
-
/// @dev Removes the provided role from the caller
|
88
|
-
// TODO move to instance admin
|
89
|
-
// function renounceRole(RoleId roleId) external;
|
90
|
-
|
91
|
-
/// @dev Set the locked status of the speicified contract.
|
92
|
-
/// IMPORTANT: using this function the AccessManager might itself be put into locked state from which it cannot be unlocked again.
|
93
|
-
/// Overwrite this function if a different use case specific behaviour is required.
|
94
|
-
/// Alternatively, add specific function to just unlock this contract without a restricted() modifier.
|
95
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
96
|
-
// TODO move to instance admin
|
97
|
-
// function setTargetLocked(address target, bool locked) external;
|
98
|
-
|
99
|
-
/// @dev Specifies which functions of the target can be accessed by the provided role.
|
100
|
-
/// Previously existing authorizations will be overwritten.
|
101
|
-
/// Authorizing the admin role is not allowed, use function unauthorizedFunctions for this.
|
102
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
103
|
-
// TODO move to instance admin
|
104
|
-
// function authorizeFunctions(address target, RoleId roleId, FunctionInfo[] memory functions) external;
|
105
|
-
|
106
|
-
/// @dev Specifies for which functionss to remove any previous authorization
|
107
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
108
|
-
// TODO move to instance admin
|
109
|
-
// function unauthorizeFunctions(address target, FunctionInfo[] memory functions) external;
|
106
|
+
error ErrorAccessAdminTargetUnknown(address target);
|
110
107
|
|
111
108
|
//--- view functions ----------------------------------------------------//
|
112
109
|
|
113
|
-
function
|
110
|
+
function getAuthorization() external view returns (IAuthorization authorization);
|
111
|
+
function getLinkedNftId() external view returns (NftId linkedNftId);
|
112
|
+
function getLinkedOwner() external view returns (address linkedOwner);
|
113
|
+
|
114
|
+
function isLocked() external view returns (bool locked);
|
114
115
|
|
115
116
|
function roles() external view returns (uint256 numberOfRoles);
|
116
117
|
function getRoleId(uint256 idx) external view returns (RoleId roleId);
|
@@ -118,26 +119,26 @@ interface IAccessAdmin is
|
|
118
119
|
function getPublicRole() external view returns (RoleId roleId);
|
119
120
|
|
120
121
|
function roleExists(RoleId roleId) external view returns (bool exists);
|
122
|
+
function roleExists(string memory roleName) external view returns (bool exists);
|
123
|
+
function getRoleForName(string memory name) external view returns (RoleId roleId);
|
121
124
|
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
122
|
-
function
|
125
|
+
function isRoleActive(RoleId roleId) external view returns (bool isActive);
|
126
|
+
function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
|
123
127
|
|
124
|
-
function
|
125
|
-
function
|
128
|
+
function isRoleMember(RoleId roleId, address account) external view returns (bool);
|
129
|
+
function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
|
126
130
|
function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
|
127
131
|
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
|
128
132
|
|
129
133
|
function targetExists(address target) external view returns (bool exists);
|
130
|
-
function
|
134
|
+
function getTargetForName(Str name) external view returns (address target);
|
131
135
|
function targets() external view returns (uint256 numberOfTargets);
|
132
136
|
function getTargetAddress(uint256 idx) external view returns (address target);
|
133
137
|
function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
|
134
|
-
function
|
138
|
+
function isTargetLocked(address target) external view returns (bool locked);
|
135
139
|
|
136
140
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
137
141
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
138
|
-
function canCall(address caller, address target, Selector selector) external view returns (bool can);
|
139
142
|
|
140
|
-
function toRole(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) external view returns (RoleInfo memory);
|
141
|
-
function toFunction(bytes4 selector, string memory name) external view returns (FunctionInfo memory);
|
142
143
|
function deployer() external view returns (address);
|
143
144
|
}
|