@etherisc/gif-next 0.0.2-ff1bf36-818 → 0.0.2-ff795d8-141
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 +82 -8
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +658 -259
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1279 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- 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 +507 -206
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +177 -441
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +96 -325
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +473 -326
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +187 -125
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +287 -101
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +505 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +255 -57
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +510 -162
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1010 -334
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1471 -466
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +272 -231
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +897 -638
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- 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 +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +129 -317
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- 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 +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +105 -269
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +145 -309
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +180 -369
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -134
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +135 -158
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +318 -306
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +133 -308
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +538 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +538 -557
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +177 -111
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +206 -163
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +124 -98
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +267 -370
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +423 -242
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -64
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +258 -209
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +366 -288
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +152 -122
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +242 -332
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -140
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +259 -362
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +169 -176
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +129 -95
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +763 -382
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2140 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +487 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +430 -623
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +680 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -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 +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +104 -268
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +197 -118
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +300 -337
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +142 -103
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
- 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 +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- 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 +94 -38
- 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 +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- 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 +19 -19
- 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 +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
- 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/contracts/accounting/AccountingService.sol +261 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +464 -266
- package/contracts/authorization/AccessAdminLib.sol +387 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -202
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +80 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +254 -24
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +39 -89
- package/contracts/distribution/DistributionService.sol +235 -115
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +40 -26
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +96 -17
- package/contracts/instance/IInstanceService.sol +49 -31
- package/contracts/instance/Instance.sol +181 -69
- package/contracts/instance/InstanceAdmin.sol +279 -184
- package/contracts/instance/InstanceAuthorizationV3.sol +117 -58
- package/contracts/instance/InstanceReader.sol +365 -68
- package/contracts/instance/InstanceService.sol +271 -208
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +10 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +49 -28
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +7 -19
- package/contracts/oracle/OracleService.sol +117 -85
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +33 -9
- package/contracts/pool/BundleService.sol +93 -134
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +73 -71
- package/contracts/pool/Pool.sol +139 -124
- package/contracts/pool/PoolLib.sol +353 -0
- package/contracts/pool/PoolService.sol +332 -286
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +54 -26
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +10 -13
- package/contracts/product/BasicProductAuthorization.sol +30 -12
- package/contracts/product/ClaimService.sol +372 -150
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +43 -8
- package/contracts/product/IPolicyService.sol +39 -28
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +365 -309
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +64 -59
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +142 -85
- package/contracts/product/RiskService.sol +91 -34
- package/contracts/product/RiskServiceManager.sol +4 -4
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +64 -28
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +357 -203
- package/contracts/registry/RegistryAdmin.sol +110 -296
- package/contracts/registry/RegistryAuthorization.sol +277 -0
- package/contracts/registry/RegistryService.sol +37 -48
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +275 -240
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -57
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +66 -124
- package/contracts/shared/ComponentService.sol +395 -375
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +357 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +42 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -50
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +25 -13
- package/contracts/staking/IStakingService.sol +19 -4
- package/contracts/staking/Staking.sol +101 -52
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +85 -25
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +72 -36
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +8 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +79 -43
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -3,215 +3,172 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAccess} from "./IAccess.sol";
|
5
5
|
import {IAuthorization} from "./IAuthorization.sol";
|
6
|
+
|
7
|
+
import {ADMIN_ROLE_NAME, PUBLIC_ROLE_NAME} from "./AccessAdmin.sol";
|
6
8
|
import {ObjectType, ObjectTypeLib} from "../type/ObjectType.sol";
|
7
|
-
import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
|
9
|
+
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
8
10
|
import {SelectorLib} from "../type/Selector.sol";
|
11
|
+
import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
|
9
12
|
import {Str, StrLib} from "../type/String.sol";
|
10
13
|
import {TimestampLib} from "../type/Timestamp.sol";
|
11
14
|
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
15
|
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
contract Authorization is
|
18
|
+
ServiceAuthorization,
|
19
|
+
IAuthorization
|
15
20
|
{
|
16
|
-
uint256 public constant GIF_VERSION = 3;
|
17
|
-
string public constant ROLE_NAME_SUFFIX = "Role";
|
18
|
-
string public constant SERVICE_ROLE_NAME_SUFFIX = "ServiceRole";
|
19
|
-
|
20
|
-
string internal _mainTargetName = "Component";
|
21
|
-
Str[] internal _targets;
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
}
|
175
|
-
|
176
|
-
/// @dev Use this method to to add an authorized target.
|
177
|
-
function _addTarget(string memory name) internal {
|
178
|
-
_addTargetWithRole(name, RoleIdLib.zero(), "");
|
179
|
-
}
|
180
|
-
|
181
|
-
/// @dev Use this method to authorize the specified role to access the target.
|
182
|
-
function _authorizeForTarget(string memory target, RoleId authorizedRoleId)
|
183
|
-
internal
|
184
|
-
returns (IAccess.FunctionInfo[] storage authorizatedFunctions)
|
185
|
-
{
|
186
|
-
Str targetStr = StrLib.toStr(target);
|
187
|
-
_authorizedRoles[targetStr].push(authorizedRoleId);
|
188
|
-
return _authorizedFunctions[targetStr][authorizedRoleId];
|
189
|
-
}
|
190
|
-
|
191
|
-
/// @dev Use this method to authorize a specific function authorization
|
192
|
-
function _authorize(IAccess.FunctionInfo[] storage functions, bytes4 selector, string memory name) internal {
|
193
|
-
functions.push(
|
194
|
-
IAccess.FunctionInfo({
|
195
|
-
selector: SelectorLib.toSelector(selector),
|
196
|
-
name: StrLib.toStr(name),
|
197
|
-
createdAt: TimestampLib.blockTimestamp()}));
|
198
|
-
}
|
199
|
-
|
200
|
-
function _toTargetRoleName(string memory targetName) internal view returns (string memory) {
|
201
|
-
return string(
|
202
|
-
abi.encodePacked(
|
203
|
-
targetName,
|
204
|
-
ROLE_NAME_SUFFIX));
|
205
|
-
}
|
206
|
-
|
207
|
-
/// @dev creates a role info object from the provided parameters
|
208
|
-
function _toRoleInfo(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) internal view returns (RoleInfo memory info) {
|
209
|
-
return RoleInfo({
|
210
|
-
name: StrLib.toStr(name),
|
211
|
-
adminRoleId: adminRoleId,
|
212
|
-
roleType: roleType,
|
213
|
-
maxMemberCount: maxMemberCount,
|
214
|
-
createdAt: TimestampLib.blockTimestamp()});
|
215
|
-
}
|
22
|
+
// MUST match with AccessAdminLib.COMPONENT_ROLE_MIN
|
23
|
+
uint64 public constant COMPONENT_ROLE_MIN = 110000;
|
24
|
+
|
25
|
+
uint64 internal _nextGifContractRoleId;
|
26
|
+
|
27
|
+
string internal _tokenHandlerName = "ComponentTh";
|
28
|
+
Str internal _tokenHandlerTarget;
|
29
|
+
|
30
|
+
|
31
|
+
constructor(
|
32
|
+
string memory mainTargetName,
|
33
|
+
ObjectType domain,
|
34
|
+
uint8 release,
|
35
|
+
string memory commitHash,
|
36
|
+
bool isComponent,
|
37
|
+
bool includeTokenHandler
|
38
|
+
)
|
39
|
+
ServiceAuthorization(mainTargetName, domain, release, commitHash)
|
40
|
+
{
|
41
|
+
_nextGifContractRoleId = 10;
|
42
|
+
|
43
|
+
// setup main target
|
44
|
+
if (isComponent) {
|
45
|
+
if (domain.eqz()) {
|
46
|
+
revert ErrorAuthorizationTargetDomainZero();
|
47
|
+
}
|
48
|
+
|
49
|
+
RoleId mainRoleId = RoleIdLib.toRoleId(COMPONENT_ROLE_MIN);
|
50
|
+
string memory mainRolName = _toTargetRoleName(_mainTargetName);
|
51
|
+
|
52
|
+
_addTargetWithRole(
|
53
|
+
_mainTargetName,
|
54
|
+
mainRoleId,
|
55
|
+
mainRolName);
|
56
|
+
} else {
|
57
|
+
_addGifTarget(_mainTargetName);
|
58
|
+
}
|
59
|
+
|
60
|
+
// setup use case specific parts
|
61
|
+
_setupServiceTargets();
|
62
|
+
_setupRoles(); // not including main target role
|
63
|
+
_setupTargets(); // not including main target (and token handler target)
|
64
|
+
_setupTargetAuthorizations(); // not including token handler target
|
65
|
+
|
66
|
+
// setup component token handler
|
67
|
+
if (includeTokenHandler) {
|
68
|
+
_tokenHandlerName = string(abi.encodePacked(mainTargetName, "Th"));
|
69
|
+
_tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
|
70
|
+
_addTarget(_tokenHandlerName);
|
71
|
+
_setupTokenHandlerAuthorizations();
|
72
|
+
}
|
73
|
+
|
74
|
+
_registerInterfaceNotInitializing(type(IAuthorization).interfaceId);
|
75
|
+
}
|
76
|
+
|
77
|
+
|
78
|
+
function getTokenHandlerName() public view returns(string memory) {
|
79
|
+
return _tokenHandlerName;
|
80
|
+
}
|
81
|
+
|
82
|
+
function getTokenHandlerTarget() public view returns(Str) {
|
83
|
+
return _tokenHandlerTarget;
|
84
|
+
}
|
85
|
+
|
86
|
+
function getTarget(string memory targetName) public pure returns(Str target) {
|
87
|
+
return StrLib.toStr(targetName);
|
88
|
+
}
|
89
|
+
|
90
|
+
function getTargets() external view returns(Str[] memory targets) {
|
91
|
+
return _targets;
|
92
|
+
}
|
93
|
+
|
94
|
+
function targetExists(Str target) external view returns(bool exists) {
|
95
|
+
return target == _mainTarget || _targetExists[target];
|
96
|
+
}
|
97
|
+
|
98
|
+
/// @dev Sets up the relevant service targets for the component.
|
99
|
+
/// Overwrite this function for use case specific authorizations.
|
100
|
+
// solhint-disable-next-line no-empty-blocks
|
101
|
+
function _setupServiceTargets() internal virtual { }
|
102
|
+
|
103
|
+
/// @dev Sets up the relevant (non-service) targets for the component.
|
104
|
+
/// Overwrite this function for use case specific authorizations.
|
105
|
+
// solhint-disable-next-line no-empty-blocks
|
106
|
+
function _setupTargets() internal virtual { }
|
107
|
+
|
108
|
+
/// @dev Sets up the relevant roles for the component.
|
109
|
+
/// Overwrite this function for use case specific authorizations.
|
110
|
+
// solhint-disable-next-line no-empty-blocks
|
111
|
+
function _setupRoles() internal virtual {}
|
112
|
+
|
113
|
+
/// @dev Sets up the relevant component's token handler authorizations.
|
114
|
+
/// Overwrite this function for use case specific authorizations.
|
115
|
+
// solhint-disable-next-line no-empty-blocks
|
116
|
+
function _setupTokenHandlerAuthorizations() internal virtual {}
|
117
|
+
|
118
|
+
/// @dev Sets up the relevant target authorizations for the component.
|
119
|
+
/// Overwrite this function for use case specific authorizations.
|
120
|
+
// solhint-disable-next-line no-empty-blocks
|
121
|
+
function _setupTargetAuthorizations() internal virtual {}
|
122
|
+
|
123
|
+
|
124
|
+
/// @dev Add a contract role for the provided role id and name.
|
125
|
+
function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
|
126
|
+
_addRole(
|
127
|
+
roleId,
|
128
|
+
_toRoleInfo(
|
129
|
+
adminRoleId,
|
130
|
+
RoleType.Custom,
|
131
|
+
maxMemberCount,
|
132
|
+
name));
|
133
|
+
}
|
134
|
+
|
135
|
+
/// @dev Add a gif target with its corresponding contract role
|
136
|
+
function _addGifTarget(string memory contractName) internal {
|
137
|
+
RoleId contractRoleId = RoleIdLib.toRoleId(_nextGifContractRoleId++);
|
138
|
+
string memory contractRoleName = string(
|
139
|
+
abi.encodePacked(
|
140
|
+
contractName,
|
141
|
+
ROLE_NAME_SUFFIX));
|
142
|
+
|
143
|
+
_addTargetWithRole(
|
144
|
+
contractName,
|
145
|
+
contractRoleId,
|
146
|
+
contractRoleName);
|
147
|
+
}
|
148
|
+
|
149
|
+
|
150
|
+
/// @dev Use this method to to add an authorized target.
|
151
|
+
function _addTarget(string memory name) internal {
|
152
|
+
_addTargetWithRole(name, RoleIdLib.zero(), "");
|
153
|
+
}
|
154
|
+
|
155
|
+
|
156
|
+
/// @dev Role id for targets registry, staking and instance
|
157
|
+
function _toTargetRoleId(ObjectType targetDomain)
|
158
|
+
internal
|
159
|
+
pure
|
160
|
+
returns (RoleId targetRoleId)
|
161
|
+
{
|
162
|
+
return RoleIdLib.toRoleId(100 * targetDomain.toInt());
|
163
|
+
}
|
164
|
+
|
165
|
+
|
166
|
+
/// @dev Returns the role name for the specified target name
|
167
|
+
function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
|
168
|
+
return string(
|
169
|
+
abi.encodePacked(
|
170
|
+
targetName,
|
171
|
+
ROLE_NAME_SUFFIX));
|
172
|
+
}
|
216
173
|
}
|
217
174
|
|
@@ -10,37 +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
37
|
}
|
25
38
|
|
39
|
+
// TODO recalc slot allocation
|
26
40
|
struct TargetInfo {
|
27
41
|
Str name;
|
28
|
-
|
42
|
+
TargetType targetType;
|
43
|
+
RoleId roleId;
|
29
44
|
Timestamp createdAt;
|
30
45
|
}
|
31
46
|
|
32
47
|
struct FunctionInfo {
|
48
|
+
// slot 0
|
33
49
|
Str name; // function name
|
50
|
+
// slot 1
|
34
51
|
Selector selector; // function selector
|
35
52
|
Timestamp createdAt;
|
36
53
|
}
|
37
54
|
|
38
55
|
struct RoleNameInfo {
|
56
|
+
// slot 0
|
39
57
|
RoleId roleId;
|
40
58
|
bool exists;
|
41
59
|
}
|
42
60
|
|
43
61
|
struct TargeNameInfo {
|
62
|
+
// slot 0
|
44
63
|
address target;
|
45
64
|
bool exists;
|
46
65
|
}
|
@@ -4,133 +4,134 @@ 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";
|
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";
|
7
13
|
import {RoleId} from "../type/RoleId.sol";
|
8
|
-
import {Selector} from "../type/Selector.sol";
|
9
14
|
import {Str} from "../type/String.sol";
|
10
|
-
import {
|
15
|
+
import {VersionPart} from "../type/Version.sol";
|
11
16
|
|
17
|
+
/// @dev Base interface for registry admin, release admin, and instance admin
|
12
18
|
interface IAccessAdmin is
|
13
19
|
IAccessManaged,
|
14
|
-
IAccess
|
20
|
+
IAccess,
|
21
|
+
IRegistryLinked,
|
22
|
+
IRelease
|
15
23
|
{
|
16
24
|
|
17
|
-
// roles
|
18
|
-
event
|
19
|
-
event
|
20
|
-
|
25
|
+
// roles, targets and functions
|
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);
|
28
|
+
|
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);
|
21
32
|
|
22
33
|
// only deployer modifier
|
23
|
-
error
|
34
|
+
error ErrorAccessAdminNotDeployer();
|
24
35
|
|
25
36
|
// only role admin modifier
|
26
|
-
error
|
37
|
+
error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
|
27
38
|
|
28
39
|
// only role owner modifier
|
29
|
-
error
|
40
|
+
error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
|
41
|
+
|
42
|
+
// only custom role modifier
|
43
|
+
error ErrorAccessAdminRoleNotCustom(RoleId roleId);
|
44
|
+
|
45
|
+
// initialization
|
46
|
+
error ErrorAccessAdminNotRegistry(address registry);
|
47
|
+
error ErrorAccessAdminAuthorityNotContract(address authority);
|
48
|
+
error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
|
49
|
+
error ErrorAccessAdminAccessManagerEmptyName();
|
50
|
+
|
51
|
+
// check target
|
52
|
+
error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
|
53
|
+
error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
|
54
|
+
error ErrorAccessAdminTargetNotCreated(address target);
|
55
|
+
error ErrorAccessAdminTargetNotRegistered(address target);
|
56
|
+
error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
|
57
|
+
|
58
|
+
// check authorization
|
59
|
+
error ErrorAccessAdminAlreadyInitialized(address authorization);
|
60
|
+
error ErrorAccessAdminNotAuthorization(address authorization);
|
61
|
+
error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
|
62
|
+
error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
|
63
|
+
error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
|
64
|
+
|
65
|
+
// link to nft
|
66
|
+
error ErrorAccessAdminNotRegistered(address registerable);
|
30
67
|
|
31
68
|
// initialize authority
|
32
|
-
error
|
33
|
-
error ErrorAdminRoleMissing();
|
69
|
+
error ErrorAccessAdminAdminRoleMissing();
|
34
70
|
|
35
71
|
// create role
|
36
|
-
error
|
37
|
-
error
|
38
|
-
error
|
39
|
-
error
|
72
|
+
error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
|
73
|
+
error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
|
74
|
+
error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
|
75
|
+
error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
|
40
76
|
|
41
77
|
// grant/revoke/renounce role
|
42
|
-
error
|
43
|
-
error
|
44
|
-
error
|
45
|
-
error
|
46
|
-
error
|
78
|
+
error ErrorAccessAdminRoleUnknown(RoleId roleId);
|
79
|
+
error ErrorAccessAdminRoleIsLocked(RoleId roleId);
|
80
|
+
error ErrorAccessAdminRoleIsPaused(RoleId roleId);
|
81
|
+
error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
|
82
|
+
error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
|
83
|
+
error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
|
47
84
|
|
48
85
|
// create target
|
49
|
-
error
|
50
|
-
error
|
51
|
-
error
|
52
|
-
error
|
53
|
-
error
|
86
|
+
error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
|
87
|
+
error ErrorAccessAdminTargetNameEmpty(address target);
|
88
|
+
error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
|
89
|
+
error ErrorAccessAdminTargetNotAccessManaged(address target);
|
90
|
+
error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
|
54
91
|
|
55
92
|
// lock target
|
56
|
-
error
|
93
|
+
error ErrorAccessAdminTagetNotLockable();
|
94
|
+
error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
|
57
95
|
|
58
96
|
// authorize target functions
|
59
|
-
error
|
97
|
+
error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
|
60
98
|
|
61
99
|
// check target
|
62
|
-
error
|
63
|
-
|
64
|
-
/// @dev Set the disabled status of the speicified role.
|
65
|
-
/// Role disabling only prevents the role from being granted to new accounts.
|
66
|
-
/// Existing role members may still execute functions that are authorized for that role.
|
67
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
68
|
-
// TODO move to instance admin
|
69
|
-
// function setRoleDisabled(RoleId roleId, bool disabled) external;
|
70
|
-
|
71
|
-
/// @dev Grant the specified account the provided role.
|
72
|
-
/// Permissioned: the caller must have the roles admin role.
|
73
|
-
// TODO move to instance admin
|
74
|
-
// function grantRole(address account, RoleId roleId) external;
|
75
|
-
|
76
|
-
/// @dev Revoke the provided role from the specified account.
|
77
|
-
/// Permissioned: the caller must have the roles admin role.
|
78
|
-
// TODO move to instance admin
|
79
|
-
// function revokeRole(address account, RoleId roleId) external;
|
80
|
-
|
81
|
-
/// @dev Removes the provided role from the caller
|
82
|
-
// TODO move to instance admin
|
83
|
-
// function renounceRole(RoleId roleId) external;
|
84
|
-
|
85
|
-
/// @dev Set the locked status of the speicified contract.
|
86
|
-
/// IMPORTANT: using this function the AccessManager might itself be put into locked state from which it cannot be unlocked again.
|
87
|
-
/// Overwrite this function if a different use case specific behaviour is required.
|
88
|
-
/// Alternatively, add specific function to just unlock this contract without a restricted() modifier.
|
89
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
90
|
-
// TODO move to instance admin
|
91
|
-
// function setTargetLocked(address target, bool locked) external;
|
92
|
-
|
93
|
-
/// @dev Specifies which functions of the target can be accessed by the provided role.
|
94
|
-
/// Previously existing authorizations will be overwritten.
|
95
|
-
/// Authorizing the admin role is not allowed, use function unauthorizedFunctions for this.
|
96
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
97
|
-
// TODO move to instance admin
|
98
|
-
// function authorizeFunctions(address target, RoleId roleId, FunctionInfo[] memory functions) external;
|
99
|
-
|
100
|
-
/// @dev Specifies for which functionss to remove any previous authorization
|
101
|
-
/// Permissioned: the caller must have the manager role (getManagerRole).
|
102
|
-
// TODO move to instance admin
|
103
|
-
// function unauthorizeFunctions(address target, FunctionInfo[] memory functions) external;
|
100
|
+
error ErrorAccessAdminTargetUnknown(address target);
|
104
101
|
|
105
102
|
//--- view functions ----------------------------------------------------//
|
106
103
|
|
104
|
+
function getAuthorization() external view returns (IAuthorization authorization);
|
105
|
+
function getLinkedNftId() external view returns (NftId linkedNftId);
|
106
|
+
function getLinkedOwner() external view returns (address linkedOwner);
|
107
|
+
|
108
|
+
function isLocked() external view returns (bool locked);
|
109
|
+
|
107
110
|
function roles() external view returns (uint256 numberOfRoles);
|
108
111
|
function getRoleId(uint256 idx) external view returns (RoleId roleId);
|
109
112
|
function getAdminRole() external view returns (RoleId roleId);
|
110
113
|
function getPublicRole() external view returns (RoleId roleId);
|
111
114
|
|
112
115
|
function roleExists(RoleId roleId) external view returns (bool exists);
|
116
|
+
function getRoleForName(string memory name) external view returns (RoleId roleId);
|
113
117
|
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
114
|
-
function
|
118
|
+
function isRoleActive(RoleId roleId) external view returns (bool isActive);
|
119
|
+
function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
|
115
120
|
|
116
|
-
function
|
117
|
-
function
|
121
|
+
function isRoleMember(RoleId roleId, address account) external view returns (bool);
|
122
|
+
function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
|
118
123
|
function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
|
119
124
|
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
|
120
125
|
|
121
126
|
function targetExists(address target) external view returns (bool exists);
|
122
|
-
function
|
127
|
+
function getTargetForName(Str name) external view returns (address target);
|
123
128
|
function targets() external view returns (uint256 numberOfTargets);
|
124
129
|
function getTargetAddress(uint256 idx) external view returns (address target);
|
125
130
|
function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
|
126
|
-
function
|
131
|
+
function isTargetLocked(address target) external view returns (bool locked);
|
127
132
|
|
128
133
|
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
129
134
|
function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
|
130
|
-
function canCall(address caller, address target, Selector selector) external view returns (bool can);
|
131
135
|
|
132
|
-
function toRole(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) external view returns (RoleInfo memory);
|
133
|
-
function toFunction(bytes4 selector, string memory name) external view returns (FunctionInfo memory);
|
134
|
-
function isAccessManaged(address target) external view returns (bool);
|
135
136
|
function deployer() external view returns (address);
|
136
137
|
}
|