@etherisc/gif-next 0.0.2-fe88ad7-208 → 0.0.2-fe8cf39-182
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 +85 -23
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -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 +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1379 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1130 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1016 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1509 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +864 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +915 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1008 -0
- 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 +1475 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -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 +1479 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2426 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +357 -1341
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +397 -195
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +465 -2543
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1929 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1591 -584
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +479 -396
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +380 -92
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
- 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 +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- 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 +4 -0
- package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +880 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +410 -345
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +222 -289
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IPricingService.sol/IPricingService.json} +297 -231
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +524 -281
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +160 -173
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +601 -35
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +289 -222
- 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 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +1020 -71
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1928 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +348 -274
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +362 -78
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1333 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +361 -97
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/Component.sol/Component.json} +280 -248
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1571 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +820 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +155 -152
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -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 +4 -0
- package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +282 -182
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1203 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +363 -323
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -15
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +124 -146
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +159 -55
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +144 -159
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1494 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +469 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1917 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +796 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1380 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +736 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- 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 +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +199 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +689 -0
- package/contracts/authorization/AccessManagerCloneable.sol +149 -0
- package/contracts/authorization/Authorization.sol +337 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +143 -0
- package/contracts/authorization/IAuthorization.sol +74 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +141 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
- package/contracts/distribution/Distribution.sol +289 -0
- package/contracts/distribution/DistributionService.sol +358 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +101 -0
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +90 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +438 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +63 -55
- package/contracts/instance/IInstanceService.sol +55 -22
- package/contracts/instance/Instance.sol +182 -204
- package/contracts/instance/InstanceAdmin.sol +437 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
- package/contracts/instance/InstanceReader.sol +402 -80
- package/contracts/instance/InstanceService.sol +329 -263
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +298 -0
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +113 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +8 -8
- package/contracts/instance/module/IComponents.sol +51 -0
- package/contracts/instance/module/IDistribution.sol +8 -5
- package/contracts/instance/module/IPolicy.sol +59 -19
- package/contracts/instance/module/IRisk.sol +4 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +156 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +76 -0
- package/contracts/pool/BundleService.sol +395 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +115 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +165 -0
- package/contracts/pool/Pool.sol +345 -0
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +757 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +259 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +51 -0
- package/contracts/product/BasicProductAuthorization.sol +56 -0
- package/contracts/product/ClaimService.sol +632 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +66 -0
- package/contracts/product/IClaimService.sol +135 -0
- package/contracts/product/IPolicyService.sol +95 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +62 -0
- package/contracts/product/IRiskService.sol +33 -0
- package/contracts/product/PolicyService.sol +682 -0
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +304 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +478 -0
- package/contracts/product/RiskService.sol +145 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +83 -36
- package/contracts/registry/IRegistry.sol +105 -30
- package/contracts/registry/IRegistryService.sol +38 -34
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +544 -210
- package/contracts/registry/RegistryAdmin.sol +354 -0
- package/contracts/registry/RegistryService.sol +119 -201
- package/contracts/registry/RegistryServiceManager.sol +24 -33
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +511 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +247 -0
- package/contracts/registry/TokenRegistry.sol +263 -60
- package/contracts/shared/Component.sol +227 -0
- package/contracts/shared/ComponentService.sol +692 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ComponentVerifyingService.sol +128 -0
- package/contracts/shared/ContractLib.sol +253 -0
- package/contracts/shared/IComponent.sol +61 -0
- package/contracts/shared/IComponentService.sol +112 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +15 -12
- package/contracts/shared/IPolicyHolder.sol +35 -0
- package/contracts/shared/IRegisterable.sol +25 -5
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +12 -5
- package/contracts/shared/InitializableERC165.sol +27 -0
- package/contracts/shared/InstanceLinkedComponent.sol +197 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +75 -82
- package/contracts/shared/PolicyHolder.sol +62 -0
- package/contracts/shared/Registerable.sol +57 -38
- package/contracts/shared/RegistryLinked.sol +38 -0
- package/contracts/shared/Service.sol +42 -35
- package/contracts/shared/TokenHandler.sol +326 -12
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +171 -0
- package/contracts/staking/IStakingService.sol +172 -0
- package/contracts/staking/StakeManagerLib.sol +276 -0
- package/contracts/staking/Staking.sol +546 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +52 -0
- package/contracts/staking/StakingReader.sol +180 -0
- package/contracts/staking/StakingService.sol +464 -0
- package/contracts/staking/StakingServiceManager.sol +45 -0
- package/contracts/staking/StakingStore.sol +606 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +150 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/type/ClaimId.sol +80 -0
- package/contracts/{types → type}/DistributorType.sol +2 -2
- package/contracts/{types → type}/Fee.sol +33 -23
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +28 -15
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +303 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +6 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +74 -0
- package/contracts/type/RoleId.sol +182 -0
- package/contracts/type/Seconds.sol +101 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/{types → type}/StateId.sol +48 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +33 -19
- package/contracts/{types → type}/UFixed.sol +41 -121
- package/contracts/{types → type}/Version.sol +20 -7
- package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
- package/contracts/upgradeability/ProxyManager.sol +232 -0
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/upgradeability/Versionable.sol +59 -0
- package/package.json +11 -7
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -397
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -945
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -432
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -499
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -993
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -546
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/BaseComponent.sol +0 -159
- package/contracts/components/Distribution.sol +0 -163
- package/contracts/components/IBaseComponent.sol +0 -34
- package/contracts/components/IDistributionComponent.sol +0 -44
- package/contracts/components/IPoolComponent.sol +0 -66
- package/contracts/components/IProductComponent.sol +0 -35
- package/contracts/components/Pool.sol +0 -271
- package/contracts/components/Product.sol +0 -292
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
- package/contracts/instance/BundleManager.sol +0 -129
- package/contracts/instance/IInstanceBase.sol +0 -26
- package/contracts/instance/InstanceAccessManager.sol +0 -303
- package/contracts/instance/InstanceBase.sol +0 -41
- package/contracts/instance/ObjectManager.sol +0 -101
- package/contracts/instance/base/ComponentServiceBase.sol +0 -82
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/module/IAccess.sol +0 -48
- package/contracts/instance/module/ISetup.sol +0 -46
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/BundleService.sol +0 -260
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ComponentOwnerService.sol +0 -315
- package/contracts/instance/service/DistributionService.sol +0 -113
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -45
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPolicyService.sol +0 -87
- package/contracts/instance/service/IPoolService.sol +0 -20
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -503
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -124
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -170
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -210
- package/contracts/registry/ReleaseManager.sol +0 -348
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -25
- package/contracts/shared/ProxyManager.sol +0 -94
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
- package/contracts/shared/Versionable.sol +0 -147
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -152
- package/contracts/types/RiskId.sol +0 -43
- package/contracts/types/RoleId.sol +0 -90
@@ -0,0 +1,149 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
|
+
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
6
|
+
import {IAccessManager} from "@openzeppelin/contracts/access/manager/IAccessManager.sol";
|
7
|
+
|
8
|
+
import {InitializableERC165} from "../shared/InitializableERC165.sol";
|
9
|
+
import {RegistryLinked} from "../shared/RegistryLinked.sol";
|
10
|
+
import {VersionPart, VersionLib} from "../type/Version.sol";
|
11
|
+
|
12
|
+
|
13
|
+
/// @dev An AccessManager based on OpenZeppelin that is cloneable and has a central lock property.
|
14
|
+
/// The lock property allows to lock all services of a release in a central place.
|
15
|
+
/// Cloned by upon release preparation and instance cloning.
|
16
|
+
contract AccessManagerCloneable is
|
17
|
+
AccessManagerUpgradeable,
|
18
|
+
InitializableERC165,
|
19
|
+
RegistryLinked
|
20
|
+
{
|
21
|
+
error ErrorAccessManagerCallerNotAdmin(address caller);
|
22
|
+
error ErrorAccessManagerRegistryAlreadySet(address registry);
|
23
|
+
error ErrorAccessManagerInvalidRelease(VersionPart release);
|
24
|
+
|
25
|
+
error ErrorAccessManagerTargetAdminLocked(address target);
|
26
|
+
error ErrorAccessManagerCallerAdminLocked(address caller);
|
27
|
+
|
28
|
+
VersionPart private _release;
|
29
|
+
bool private _isLocked;
|
30
|
+
|
31
|
+
modifier onlyAdminRole() {
|
32
|
+
(bool isMember, ) = hasRole(ADMIN_ROLE, msg.sender);
|
33
|
+
if(!isMember) {
|
34
|
+
revert ErrorAccessManagerCallerNotAdmin(msg.sender);
|
35
|
+
}
|
36
|
+
_;
|
37
|
+
}
|
38
|
+
|
39
|
+
function initialize(address admin)
|
40
|
+
external
|
41
|
+
initializer()
|
42
|
+
{
|
43
|
+
__AccessManager_init(admin);
|
44
|
+
_initializeERC165();
|
45
|
+
_registerInterface(type(IAccessManager).interfaceId);
|
46
|
+
}
|
47
|
+
|
48
|
+
|
49
|
+
/// @dev Completes the setup of the access manager.
|
50
|
+
/// Links the access manager to the registry and sets the release version.
|
51
|
+
function completeSetup(
|
52
|
+
address registry,
|
53
|
+
VersionPart release
|
54
|
+
)
|
55
|
+
external
|
56
|
+
onlyAdminRole
|
57
|
+
reinitializer(uint64(release.toInt()))
|
58
|
+
{
|
59
|
+
_completeSetup(registry, release, true);
|
60
|
+
}
|
61
|
+
|
62
|
+
/// @dev Completes the setup of the access manager.
|
63
|
+
/// Links the access manager to the registry and sets the release version.
|
64
|
+
function completeSetup(
|
65
|
+
address registry,
|
66
|
+
VersionPart release,
|
67
|
+
bool verifyRelease
|
68
|
+
)
|
69
|
+
public
|
70
|
+
onlyAdminRole
|
71
|
+
reinitializer(uint64(release.toInt()))
|
72
|
+
{
|
73
|
+
_completeSetup(registry, release, verifyRelease);
|
74
|
+
}
|
75
|
+
|
76
|
+
/// @dev Returns true if the caller is authorized to call the target with the given selector and the manager lock is not set to locked.
|
77
|
+
/// Feturn values as in OpenZeppelin AccessManager.
|
78
|
+
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
79
|
+
function canCall(
|
80
|
+
address caller,
|
81
|
+
address target,
|
82
|
+
bytes4 selector
|
83
|
+
)
|
84
|
+
public
|
85
|
+
view
|
86
|
+
virtual override
|
87
|
+
returns (
|
88
|
+
bool immediate,
|
89
|
+
uint32 delay
|
90
|
+
)
|
91
|
+
{
|
92
|
+
(immediate, delay) = super.canCall(caller, target, selector);
|
93
|
+
|
94
|
+
// locking of all contracts under control of this access manager
|
95
|
+
if (isLocked()) {
|
96
|
+
revert ErrorAccessManagerTargetAdminLocked(target);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
|
101
|
+
/// @dev Locks/unlocks all services of this access manager.
|
102
|
+
/// Only the corresponding access admin can lock/unlock the services.
|
103
|
+
function setLocked(bool locked)
|
104
|
+
external
|
105
|
+
onlyAdminRole()
|
106
|
+
{
|
107
|
+
_isLocked = locked;
|
108
|
+
}
|
109
|
+
|
110
|
+
|
111
|
+
/// @dev Returns the release version of this access manager.
|
112
|
+
/// For the registry admin release 3 is returned.
|
113
|
+
/// For the release admin and the instance admin the actual release version is returned.
|
114
|
+
function getRelease() external view returns (VersionPart release) {
|
115
|
+
return _release;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/// @dev Returns true iff all contracts of this access manager are locked.
|
120
|
+
function isLocked()
|
121
|
+
public
|
122
|
+
view
|
123
|
+
returns (bool)
|
124
|
+
{
|
125
|
+
return _isLocked;
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
function _completeSetup(
|
130
|
+
address registry,
|
131
|
+
VersionPart release,
|
132
|
+
bool verifyRelease
|
133
|
+
)
|
134
|
+
internal
|
135
|
+
{
|
136
|
+
// checks
|
137
|
+
if(address(getRegistry()) != address(0)) {
|
138
|
+
revert ErrorAccessManagerRegistryAlreadySet(address(getRegistry()) );
|
139
|
+
}
|
140
|
+
|
141
|
+
if (verifyRelease && !release.isValidRelease()) {
|
142
|
+
revert ErrorAccessManagerInvalidRelease(release);
|
143
|
+
}
|
144
|
+
|
145
|
+
// effects
|
146
|
+
__RegistryLinked_init(registry);
|
147
|
+
_release = release;
|
148
|
+
}
|
149
|
+
}
|
@@ -0,0 +1,337 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccess} from "./IAccess.sol";
|
5
|
+
import {IAuthorization} from "./IAuthorization.sol";
|
6
|
+
import {ObjectType, ObjectTypeLib, PRODUCT, ORACLE, DISTRIBUTION, POOL} from "../type/ObjectType.sol";
|
7
|
+
import {RoleId, RoleIdLib, ADMIN_ROLE} from "../type/RoleId.sol";
|
8
|
+
import {SelectorLib} from "../type/Selector.sol";
|
9
|
+
import {Str, StrLib} from "../type/String.sol";
|
10
|
+
import {TimestampLib} from "../type/Timestamp.sol";
|
11
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
|
+
|
13
|
+
contract Authorization
|
14
|
+
is IAuthorization
|
15
|
+
{
|
16
|
+
uint256 public constant GIF_RELEASE = 3;
|
17
|
+
|
18
|
+
string public constant ROLE_NAME_SUFFIX = "Role";
|
19
|
+
string public constant SERVICE_ROLE_NAME_SUFFIX = "ServiceRole";
|
20
|
+
|
21
|
+
ObjectType[] internal _serviceDomains;
|
22
|
+
mapping(ObjectType domain => Str target) internal _serviceTarget;
|
23
|
+
|
24
|
+
string internal _mainTargetName = "Component";
|
25
|
+
string internal _tokenHandlerName = "ComponentTH";
|
26
|
+
|
27
|
+
Str internal _mainTarget;
|
28
|
+
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
|
+
|
40
|
+
|
41
|
+
constructor(
|
42
|
+
string memory mainTargetName,
|
43
|
+
ObjectType targetDomain
|
44
|
+
)
|
45
|
+
{
|
46
|
+
// checks
|
47
|
+
if (bytes(mainTargetName).length == 0) {
|
48
|
+
revert ErrorAuthorizationMainTargetNameEmpty();
|
49
|
+
}
|
50
|
+
|
51
|
+
if (targetDomain.eqz()) {
|
52
|
+
revert ErrorAuthorizationTargetDomainZero();
|
53
|
+
}
|
54
|
+
|
55
|
+
// effects
|
56
|
+
// setup main target, main role id and main role info
|
57
|
+
_mainTargetName = mainTargetName;
|
58
|
+
_tokenHandlerName = string(abi.encodePacked(mainTargetName, "TH"));
|
59
|
+
|
60
|
+
RoleId mainRoleId = RoleIdLib.toComponentRoleId(targetDomain, 0);
|
61
|
+
string memory mainRolName = _toTargetRoleName(mainTargetName);
|
62
|
+
|
63
|
+
_addTargetWithRole(
|
64
|
+
_mainTargetName,
|
65
|
+
mainRoleId,
|
66
|
+
mainRolName);
|
67
|
+
|
68
|
+
_mainTarget = StrLib.toStr(mainTargetName);
|
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);
|
78
|
+
}
|
79
|
+
|
80
|
+
// setup token handler target
|
81
|
+
_tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
|
82
|
+
|
83
|
+
// setup use case specific parts
|
84
|
+
_setupServiceTargets();
|
85
|
+
_setupRoles(); // not including main target role
|
86
|
+
_setupTargets(); // not including main target (and token handler target)
|
87
|
+
|
88
|
+
_setupTokenHandlerAuthorizations();
|
89
|
+
_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
|
+
|
106
|
+
function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget) {
|
107
|
+
return _serviceTarget[serviceDomain];
|
108
|
+
}
|
109
|
+
|
110
|
+
function getRoles() external view returns(RoleId[] memory roles) {
|
111
|
+
return _roles;
|
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
|
+
}
|
121
|
+
|
122
|
+
function getMainTargetName() public virtual view returns (string memory name) {
|
123
|
+
return _mainTargetName;
|
124
|
+
}
|
125
|
+
|
126
|
+
function getMainTarget() public view returns(Str) {
|
127
|
+
return _mainTarget;
|
128
|
+
}
|
129
|
+
|
130
|
+
function getTokenHandlerName() public view returns(string memory) {
|
131
|
+
return _tokenHandlerName;
|
132
|
+
}
|
133
|
+
|
134
|
+
function getTokenHandlerTarget() public view returns(Str) {
|
135
|
+
return _tokenHandlerTarget;
|
136
|
+
}
|
137
|
+
|
138
|
+
function getTarget(string memory targetName) public view returns(Str target) {
|
139
|
+
return StrLib.toStr(targetName);
|
140
|
+
}
|
141
|
+
|
142
|
+
function getTargets() external view returns(Str[] memory targets) {
|
143
|
+
return _targets;
|
144
|
+
}
|
145
|
+
|
146
|
+
function targetExists(Str target) external view returns(bool exists) {
|
147
|
+
return target == _mainTarget || _targetExists[target];
|
148
|
+
}
|
149
|
+
|
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
|
+
/// @dev Sets up the relevant service targets for the component.
|
167
|
+
/// Overwrite this function for use case specific authorizations.
|
168
|
+
function _setupServiceTargets() internal virtual { }
|
169
|
+
|
170
|
+
/// @dev Sets up the relevant (non-service) targets for the component.
|
171
|
+
/// Overwrite this function for use case specific authorizations.
|
172
|
+
function _setupTargets() internal virtual { }
|
173
|
+
|
174
|
+
/// @dev Sets up the relevant roles for the component.
|
175
|
+
/// Overwrite this function for use case specific authorizations.
|
176
|
+
function _setupRoles() internal virtual {}
|
177
|
+
|
178
|
+
/// @dev Sets up the relevant component's token handler authorizations.
|
179
|
+
/// Overwrite this function for use case specific authorizations.
|
180
|
+
function _setupTokenHandlerAuthorizations() internal virtual {}
|
181
|
+
|
182
|
+
/// @dev Sets up the relevant target authorizations for the component.
|
183
|
+
/// Overwrite this function for use case specific authorizations.
|
184
|
+
function _setupTargetAuthorizations() internal virtual {}
|
185
|
+
|
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
|
+
|
242
|
+
/// @dev Add a contract role for the provided role id and name.
|
243
|
+
function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
|
244
|
+
_addRole(
|
245
|
+
roleId,
|
246
|
+
_toRoleInfo(
|
247
|
+
adminRoleId,
|
248
|
+
RoleType.Custom,
|
249
|
+
maxMemberCount,
|
250
|
+
name));
|
251
|
+
}
|
252
|
+
|
253
|
+
|
254
|
+
/// @dev Use this method to to add an authorized target together with its target role.
|
255
|
+
function _addTargetWithRole(
|
256
|
+
string memory targetName,
|
257
|
+
RoleId roleId,
|
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
|
+
}
|
278
|
+
}
|
279
|
+
|
280
|
+
|
281
|
+
/// @dev Use this method to to add an authorized target.
|
282
|
+
function _addTarget(string memory name) internal {
|
283
|
+
_addTargetWithRole(name, RoleIdLib.zero(), "");
|
284
|
+
}
|
285
|
+
|
286
|
+
|
287
|
+
/// @dev Use this method to authorize the specified role to access the target.
|
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
|
309
|
+
function _toTargetRoleId(ObjectType targetDomain)
|
310
|
+
internal
|
311
|
+
pure
|
312
|
+
returns (RoleId targetRoleId)
|
313
|
+
{
|
314
|
+
return RoleIdLib.roleForType(targetDomain);
|
315
|
+
}
|
316
|
+
|
317
|
+
|
318
|
+
function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
|
319
|
+
return string(
|
320
|
+
abi.encodePacked(
|
321
|
+
targetName,
|
322
|
+
ROLE_NAME_SUFFIX));
|
323
|
+
}
|
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
|
+
}
|
337
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {RoleId} from "../type/RoleId.sol";
|
5
|
+
import {Selector} from "../type/Selector.sol";
|
6
|
+
import {Str} from "../type/String.sol";
|
7
|
+
import {Timestamp} from "../type/Timestamp.sol";
|
8
|
+
|
9
|
+
interface IAccess {
|
10
|
+
|
11
|
+
enum RoleType {
|
12
|
+
Undefined, // no role must have this type
|
13
|
+
Contract, // roles assigned to contracts, cannot be revoked
|
14
|
+
Gif, // framework roles that may be freely assigned and revoked
|
15
|
+
Custom // use case specific rules for components
|
16
|
+
}
|
17
|
+
|
18
|
+
struct RoleInfo {
|
19
|
+
RoleId adminRoleId;
|
20
|
+
RoleType roleType;
|
21
|
+
uint32 maxMemberCount;
|
22
|
+
Str name;
|
23
|
+
Timestamp createdAt;
|
24
|
+
Timestamp pausedAt;
|
25
|
+
}
|
26
|
+
|
27
|
+
struct TargetInfo {
|
28
|
+
Str name;
|
29
|
+
bool isCustom;
|
30
|
+
Timestamp createdAt;
|
31
|
+
}
|
32
|
+
|
33
|
+
struct FunctionInfo {
|
34
|
+
Str name; // function name
|
35
|
+
Selector selector; // function selector
|
36
|
+
Timestamp createdAt;
|
37
|
+
}
|
38
|
+
|
39
|
+
struct RoleNameInfo {
|
40
|
+
RoleId roleId;
|
41
|
+
bool exists;
|
42
|
+
}
|
43
|
+
|
44
|
+
struct TargeNameInfo {
|
45
|
+
address target;
|
46
|
+
bool exists;
|
47
|
+
}
|
48
|
+
|
49
|
+
}
|
@@ -0,0 +1,143 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
|
+
|
6
|
+
import {IAccess} from "./IAccess.sol";
|
7
|
+
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
8
|
+
import {RoleId} from "../type/RoleId.sol";
|
9
|
+
import {Selector} from "../type/Selector.sol";
|
10
|
+
import {Str} from "../type/String.sol";
|
11
|
+
import {VersionPart} from "../type/Version.sol";
|
12
|
+
|
13
|
+
interface IAccessAdmin is
|
14
|
+
IAccessManaged,
|
15
|
+
IAccess,
|
16
|
+
IRegistryLinked
|
17
|
+
{
|
18
|
+
|
19
|
+
// roles, targets and functions
|
20
|
+
event LogAccessAdminRoleCreated(RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
|
21
|
+
event LogAccessAdminTargetCreated(address target, string name);
|
22
|
+
|
23
|
+
event LogAccessAdminRoleGranted(address account, string roleName);
|
24
|
+
event LogAccessAdminRoleRevoked(address account, string roleName);
|
25
|
+
event LogAccessAdminFunctionGranted(address target, string functionName, string roleName);
|
26
|
+
|
27
|
+
// only deployer modifier
|
28
|
+
error ErrorNotDeployer();
|
29
|
+
|
30
|
+
// only role admin modifier
|
31
|
+
error ErrorNotAdminOfRole(RoleId adminRoleId);
|
32
|
+
|
33
|
+
// only role owner modifier
|
34
|
+
error ErrorNotRoleOwner(RoleId roleId);
|
35
|
+
|
36
|
+
// initialize authority
|
37
|
+
error ErrorAdminRoleMissing();
|
38
|
+
|
39
|
+
// create role
|
40
|
+
error ErrorRoleAlreadyCreated(RoleId roleId, string name);
|
41
|
+
error ErrorRoleAdminNotExisting(RoleId adminRoleId);
|
42
|
+
error ErrorRoleNameEmpty(RoleId roleId);
|
43
|
+
error ErrorRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
|
44
|
+
|
45
|
+
// grant/revoke/renounce role
|
46
|
+
error ErrorRoleUnknown(RoleId roleId);
|
47
|
+
error ErrorRoleIsLocked(RoleId roleId);
|
48
|
+
error ErrorRoleIsPaused(RoleId roleId);
|
49
|
+
error ErrorRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
|
50
|
+
error ErrorRoleMemberNotContract(RoleId roleId, address notContract);
|
51
|
+
error ErrorRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
|
52
|
+
|
53
|
+
// create target
|
54
|
+
error ErrorTargetAlreadyCreated(address target, string name);
|
55
|
+
error ErrorTargetNameEmpty(address target);
|
56
|
+
error ErrorTargetNameAlreadyExists(address target, string name, address existingTarget);
|
57
|
+
error ErrorTargetNotAccessManaged(address target);
|
58
|
+
error ErrorTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
|
59
|
+
|
60
|
+
// lock target
|
61
|
+
error ErrorTagetNotLockable();
|
62
|
+
error ErrorTargetAlreadyLocked(address target, bool isLocked);
|
63
|
+
|
64
|
+
// authorize target functions
|
65
|
+
error ErrorAuthorizeForAdminRoleInvalid(address target);
|
66
|
+
|
67
|
+
// check target
|
68
|
+
error ErrorTargetUnknown(address target);
|
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;
|
110
|
+
|
111
|
+
//--- view functions ----------------------------------------------------//
|
112
|
+
|
113
|
+
function getRelease() external view returns (VersionPart release);
|
114
|
+
|
115
|
+
function roles() external view returns (uint256 numberOfRoles);
|
116
|
+
function getRoleId(uint256 idx) external view returns (RoleId roleId);
|
117
|
+
function getAdminRole() external view returns (RoleId roleId);
|
118
|
+
function getPublicRole() external view returns (RoleId roleId);
|
119
|
+
|
120
|
+
function roleExists(RoleId roleId) external view returns (bool exists);
|
121
|
+
function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
|
122
|
+
function getRoleForName(Str name) external view returns (RoleNameInfo memory);
|
123
|
+
|
124
|
+
function hasRole(address account, RoleId roleId) external view returns (bool);
|
125
|
+
function hasAdminRole(address account, RoleId roleId) external view returns (bool);
|
126
|
+
function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
|
127
|
+
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
|
128
|
+
|
129
|
+
function targetExists(address target) external view returns (bool exists);
|
130
|
+
function isTargetLocked(address target) external view returns (bool locked);
|
131
|
+
function targets() external view returns (uint256 numberOfTargets);
|
132
|
+
function getTargetAddress(uint256 idx) external view returns (address target);
|
133
|
+
function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
|
134
|
+
function getTargetForName(Str name) external view returns (address target);
|
135
|
+
|
136
|
+
function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
|
137
|
+
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
|
+
|
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
|
+
function deployer() external view returns (address);
|
143
|
+
}
|