@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-04e2e0d-531
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 +131 -332
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +111 -57
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +107 -45
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +65 -19
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +370 -141
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1582 -202
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +25 -6
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
- 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 +263 -87
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +463 -149
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +317 -19
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -79
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
- package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
- package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +84 -212
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
- package/artifacts/contracts/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +61 -245
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +366 -5
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +753 -401
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +782 -553
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +392 -31
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1374 -2013
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
- package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3477 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +25 -16
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -10
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +312 -123
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +198 -33
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +250 -19
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +350 -79
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +67 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -86
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +519 -21
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +40 -31
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +39 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +77 -60
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +539 -314
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +551 -246
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +169 -111
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +221 -201
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
- package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/{ComponentVerifyingService.sol/ComponentVerifyingService.json → IAuthorizedComponent.sol/IAuthorizedComponent.json} +238 -90
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +136 -132
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -10
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1415 -134
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +109 -117
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1504 -192
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +143 -167
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
- 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/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +31 -31
- package/contracts/accounting/IAccountingService.sol +9 -8
- package/contracts/authorization/AccessAdmin.sol +281 -325
- package/contracts/authorization/AccessAdminLib.sol +535 -23
- package/contracts/authorization/AccessManagerCloneable.sol +3 -18
- package/contracts/authorization/Authorization.sol +64 -239
- package/contracts/authorization/IAccess.sol +29 -12
- package/contracts/authorization/IAccessAdmin.sol +25 -53
- package/contracts/authorization/IAuthorization.sol +3 -57
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +228 -34
- package/contracts/distribution/BasicDistribution.sol +3 -4
- package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
- package/contracts/distribution/Distribution.sol +9 -8
- package/contracts/distribution/DistributionService.sol +127 -62
- package/contracts/distribution/IDistributionComponent.sol +3 -1
- package/contracts/distribution/IDistributionService.sol +21 -8
- package/contracts/examples/fire/FireProduct.sol +6 -6
- package/contracts/examples/flight/FlightLib.sol +337 -0
- package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
- package/contracts/examples/flight/FlightNft.sol +234 -0
- package/contracts/examples/flight/FlightOracle.sol +226 -0
- package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
- package/contracts/examples/flight/FlightPool.sol +89 -0
- package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
- package/contracts/examples/flight/FlightProduct.sol +687 -0
- package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
- package/contracts/examples/flight/FlightProductManager.sol +49 -0
- package/contracts/examples/flight/FlightUSD.sol +28 -0
- package/contracts/examples/flight/originalV1.sol +396 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
- package/contracts/instance/BaseStore.sol +97 -0
- package/contracts/instance/IBaseStore.sol +45 -0
- package/contracts/instance/IInstance.sol +57 -6
- package/contracts/instance/IInstanceService.sol +44 -7
- package/contracts/instance/Instance.sol +111 -56
- package/contracts/instance/InstanceAdmin.sol +150 -294
- package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
- package/contracts/instance/InstanceReader.sol +384 -394
- package/contracts/instance/InstanceService.sol +190 -134
- package/contracts/instance/InstanceStore.sol +153 -128
- package/contracts/instance/ProductStore.sol +290 -0
- package/contracts/instance/RiskSet.sol +10 -2
- package/contracts/instance/TargetNames.sol +10 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectLifecycle.sol +2 -6
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +15 -5
- package/contracts/instance/module/IDistribution.sol +17 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +3 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +12 -12
- package/contracts/oracle/Oracle.sol +6 -8
- package/contracts/oracle/OracleService.sol +8 -8
- package/contracts/pool/BasicPool.sol +4 -16
- package/contracts/pool/BasicPoolAuthorization.sol +10 -5
- package/contracts/pool/BundleService.sol +34 -43
- package/contracts/pool/IBundleService.sol +14 -13
- package/contracts/pool/IPoolService.sol +8 -3
- package/contracts/pool/Pool.sol +6 -18
- package/contracts/pool/PoolLib.sol +127 -2
- package/contracts/pool/PoolService.sol +41 -182
- package/contracts/product/ApplicationService.sol +64 -11
- package/contracts/product/BasicProduct.sol +2 -3
- package/contracts/product/BasicProductAuthorization.sol +13 -5
- package/contracts/product/ClaimService.sol +99 -105
- package/contracts/product/IApplicationService.sol +21 -2
- package/contracts/product/IClaimService.sol +5 -4
- package/contracts/product/IPolicyService.sol +10 -3
- package/contracts/product/IRiskService.sol +18 -3
- package/contracts/product/PolicyService.sol +41 -60
- package/contracts/product/PolicyServiceLib.sol +83 -7
- package/contracts/product/PricingService.sol +28 -31
- package/contracts/product/Product.sol +40 -16
- package/contracts/product/RiskService.sol +50 -15
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +15 -9
- package/contracts/registry/IRelease.sol +6 -3
- package/contracts/registry/Registry.sol +15 -9
- package/contracts/registry/RegistryAdmin.sol +39 -118
- package/contracts/registry/RegistryAuthorization.sol +139 -69
- package/contracts/registry/RegistryService.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +59 -106
- package/contracts/registry/ReleaseRegistry.sol +20 -12
- package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
- package/contracts/registry/TokenRegistry.sol +56 -52
- package/contracts/shared/Component.sol +8 -8
- package/contracts/shared/ComponentService.sol +250 -262
- package/contracts/shared/ContractLib.sol +106 -75
- package/contracts/shared/EcdsaChecker.sol +5 -0
- package/contracts/shared/IAuthorizedComponent.sol +15 -0
- package/contracts/shared/IComponent.sol +1 -1
- package/contracts/shared/IComponentService.sol +15 -15
- package/contracts/shared/IInstanceLinkedComponent.sol +2 -5
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IRegisterable.sol +0 -1
- package/contracts/shared/InstanceLinkedComponent.sol +64 -26
- package/contracts/shared/NftOwnable.sol +3 -1
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/Service.sol +6 -4
- package/contracts/staking/IStaking.sol +263 -70
- package/contracts/staking/IStakingService.sol +40 -85
- package/contracts/staking/ITargetLimitHandler.sol +17 -0
- package/contracts/staking/Staking.sol +469 -217
- package/contracts/staking/StakingLib.sol +38 -124
- package/contracts/staking/StakingManager.sol +4 -3
- package/contracts/staking/StakingReader.sol +62 -71
- package/contracts/staking/StakingService.sol +43 -186
- package/contracts/staking/StakingServiceManager.sol +1 -0
- package/contracts/staking/StakingStore.sol +1093 -331
- package/contracts/staking/TargetHandler.sol +132 -0
- package/contracts/staking/TargetManagerLib.sol +69 -46
- package/contracts/type/Amount.sol +4 -0
- package/contracts/type/Blocknumber.sol +17 -22
- package/contracts/type/ChainId.sol +101 -0
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/NftId.sol +3 -3
- package/contracts/type/ObjectType.sol +17 -33
- package/contracts/type/Referral.sol +6 -0
- package/contracts/type/RequestIdSet.sol +62 -0
- package/contracts/type/RoleId.sol +57 -59
- package/contracts/type/Seconds.sol +23 -0
- package/contracts/type/String.sol +42 -0
- package/contracts/type/Timestamp.sol +14 -3
- package/contracts/type/UFixed.sol +28 -10
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +26 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +6 -3
- package/package.json +2 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
- package/contracts/shared/ComponentVerifyingService.sol +0 -128
- package/contracts/shared/IKeyValueStore.sol +0 -54
- package/contracts/shared/KeyValueStore.sol +0 -131
- package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -6,29 +6,216 @@ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/acce
|
|
6
6
|
import {IAccess} from "./IAccess.sol";
|
7
7
|
import {IAccessAdmin} from "./IAccessAdmin.sol";
|
8
8
|
import {IAuthorization} from "./IAuthorization.sol";
|
9
|
+
import {IComponent} from "../shared/IComponent.sol";
|
10
|
+
import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
|
9
11
|
import {IRegistry} from "../registry/IRegistry.sol";
|
12
|
+
import {IService} from "../shared/IService.sol";
|
13
|
+
import {IServiceAuthorization} from "./IServiceAuthorization.sol";
|
10
14
|
|
15
|
+
import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
|
16
|
+
import {BlocknumberLib} from "../type/Blocknumber.sol";
|
11
17
|
import {ContractLib} from "../shared/ContractLib.sol";
|
12
18
|
import {ObjectType} from "../type/ObjectType.sol";
|
13
|
-
import {RoleId} from "../type/RoleId.sol";
|
14
|
-
import {SelectorLib} from "../type/Selector.sol";
|
19
|
+
import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
20
|
+
import {Selector, SelectorLib} from "../type/Selector.sol";
|
15
21
|
import {Str, StrLib} from "../type/String.sol";
|
16
22
|
import {TimestampLib} from "../type/Timestamp.sol";
|
17
|
-
import {VersionPart} from "../type/Version.sol";
|
23
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
24
|
|
19
25
|
|
20
26
|
library AccessAdminLib { // ACCESS_ADMIN_LIB
|
21
27
|
|
28
|
+
string public constant TOKEN_HANDLER_SUFFIX = "Th";
|
29
|
+
string public constant ROLE_SUFFIX = "_Role";
|
30
|
+
|
31
|
+
uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
|
32
|
+
uint64 public constant COMPONENT_ROLE_FACTOR = 1000;
|
33
|
+
uint64 public constant COMPONENT_ROLE_MAX = 19000;
|
34
|
+
|
35
|
+
uint64 public constant CORE_ROLE_MIN = 100;
|
36
|
+
uint64 public constant SERVICE_ROLE_MIN = 1000; // + service domain * SERVICE_ROLE_FACTOR + release
|
37
|
+
uint64 public constant SERVICE_ROLE_FACTOR = 1000;
|
38
|
+
uint64 public constant INSTANCE_ROLE_MIN = 100000;
|
39
|
+
|
40
|
+
// MUST match with Authorization.COMPONENT_ROLE_MIN
|
41
|
+
uint64 public constant COMPONENT_ROLE_MIN = 110000;
|
42
|
+
|
43
|
+
uint64 public constant CUSTOM_ROLE_MIN = 1000000;
|
44
|
+
|
45
|
+
|
46
|
+
function ADMIN_ROLE_NAME() public pure returns (string memory) {
|
47
|
+
return "AdminRole";
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
function isAdminRoleName(string memory name) public pure returns (bool) {
|
52
|
+
return StrLib.eq(name, ADMIN_ROLE_NAME());
|
53
|
+
}
|
54
|
+
|
55
|
+
|
56
|
+
function PUBLIC_ROLE_NAME() public pure returns (string memory) {
|
57
|
+
return "PublicRole";
|
58
|
+
}
|
59
|
+
|
60
|
+
|
61
|
+
function getAdminRole() public pure returns (RoleId adminRoleId) {
|
62
|
+
// see oz AccessManagerUpgradeable
|
63
|
+
return RoleId.wrap(type(uint64).min);
|
64
|
+
}
|
65
|
+
|
66
|
+
|
67
|
+
function getPublicRole() public pure returns (RoleId publicRoleId) {
|
68
|
+
// see oz AccessManagerUpgradeable
|
69
|
+
return RoleId.wrap(type(uint64).max);
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
function isAdminOrPublicRole(string memory name)
|
74
|
+
public
|
75
|
+
view
|
76
|
+
returns (bool)
|
77
|
+
{
|
78
|
+
return StrLib.eq(name, ADMIN_ROLE_NAME())
|
79
|
+
|| StrLib.eq(name, PUBLIC_ROLE_NAME());
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
function isDynamicRoleId(RoleId roleId)
|
84
|
+
public
|
85
|
+
pure
|
86
|
+
returns (bool)
|
87
|
+
{
|
88
|
+
return roleId.toInt() >= COMPONENT_ROLE_MIN;
|
89
|
+
}
|
90
|
+
|
91
|
+
|
92
|
+
function adminRoleInfo()
|
93
|
+
public
|
94
|
+
view
|
95
|
+
returns (IAccess.RoleInfo memory)
|
96
|
+
{
|
97
|
+
return roleInfo(
|
98
|
+
getAdminRole(),
|
99
|
+
IAccess.TargetType.Core,
|
100
|
+
1,
|
101
|
+
ADMIN_ROLE_NAME());
|
102
|
+
}
|
103
|
+
|
104
|
+
|
105
|
+
function publicRoleInfo()
|
106
|
+
public
|
107
|
+
view
|
108
|
+
returns (IAccess.RoleInfo memory)
|
109
|
+
{
|
110
|
+
return roleInfo(
|
111
|
+
getAdminRole(),
|
112
|
+
IAccess.TargetType.Custom,
|
113
|
+
type(uint32).max,
|
114
|
+
PUBLIC_ROLE_NAME());
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
function coreRoleInfo(string memory name)
|
119
|
+
public
|
120
|
+
view
|
121
|
+
returns (IAccess.RoleInfo memory)
|
122
|
+
{
|
123
|
+
return roleInfo(
|
124
|
+
getAdminRole(),
|
125
|
+
IAccess.TargetType.Core,
|
126
|
+
1,
|
127
|
+
name);
|
128
|
+
}
|
129
|
+
|
130
|
+
|
131
|
+
function serviceRoleInfo(string memory serviceName)
|
132
|
+
public
|
133
|
+
view
|
134
|
+
returns (IAccess.RoleInfo memory)
|
135
|
+
{
|
136
|
+
return roleInfo(
|
137
|
+
getAdminRole(),
|
138
|
+
IAccess.TargetType.Service,
|
139
|
+
1,
|
140
|
+
serviceName);
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
/// @dev Creates a role info object from the provided parameters
|
145
|
+
function roleInfo(
|
146
|
+
RoleId adminRoleId,
|
147
|
+
IAccess.TargetType targetType,
|
148
|
+
uint32 maxMemberCount,
|
149
|
+
string memory roleName
|
150
|
+
)
|
151
|
+
public
|
152
|
+
view
|
153
|
+
returns (IAccess.RoleInfo memory info)
|
154
|
+
{
|
155
|
+
return IAccess.RoleInfo({
|
156
|
+
name: StrLib.toStr(roleName),
|
157
|
+
adminRoleId: adminRoleId,
|
158
|
+
targetType: targetType,
|
159
|
+
maxMemberCount: maxMemberCount,
|
160
|
+
createdAt: TimestampLib.current(),
|
161
|
+
pausedAt: TimestampLib.max(),
|
162
|
+
lastUpdateIn: BlocknumberLib.current()});
|
163
|
+
}
|
164
|
+
|
165
|
+
|
166
|
+
function getSelectors(
|
167
|
+
IAccess.FunctionInfo[] memory functions
|
168
|
+
)
|
169
|
+
public
|
170
|
+
pure
|
171
|
+
returns (
|
172
|
+
bytes4[] memory selectors
|
173
|
+
)
|
174
|
+
{
|
175
|
+
uint256 n = functions.length;
|
176
|
+
selectors = new bytes4[](n);
|
177
|
+
for (uint256 i = 0; i < n; i++) {
|
178
|
+
selectors[i] = functions[i].selector.toBytes4();
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
|
183
|
+
function checkInitParameters(
|
184
|
+
address authority,
|
185
|
+
string memory adminName
|
186
|
+
)
|
187
|
+
public
|
188
|
+
view
|
189
|
+
{
|
190
|
+
// only contract check (authority might not yet be initialized at this time)
|
191
|
+
if (!ContractLib.isContract(authority)) {
|
192
|
+
revert IAccessAdmin.ErrorAccessAdminAuthorityNotContract(authority);
|
193
|
+
}
|
194
|
+
|
195
|
+
// check name not empty
|
196
|
+
if (bytes(adminName).length == 0) {
|
197
|
+
revert IAccessAdmin.ErrorAccessAdminAccessManagerEmptyName();
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
201
|
+
|
22
202
|
function checkRoleCreation(
|
23
203
|
IAccessAdmin accessAdmin,
|
24
204
|
RoleId roleId,
|
25
|
-
IAccess.RoleInfo memory info
|
205
|
+
IAccess.RoleInfo memory info,
|
206
|
+
bool revertOnExistingRole
|
26
207
|
)
|
27
208
|
public
|
28
209
|
view
|
210
|
+
returns (bool isAdminOrPublicRole)
|
29
211
|
{
|
30
|
-
// check
|
31
|
-
if(
|
212
|
+
// check
|
213
|
+
if (roleId == ADMIN_ROLE() || roleId == PUBLIC_ROLE()) {
|
214
|
+
return true;
|
215
|
+
}
|
216
|
+
|
217
|
+
// check role does not yet exist
|
218
|
+
if(revertOnExistingRole && accessAdmin.roleExists(roleId)) {
|
32
219
|
revert IAccessAdmin.ErrorAccessAdminRoleAlreadyCreated(
|
33
220
|
roleId,
|
34
221
|
accessAdmin.getRoleInfo(roleId).name.toString());
|
@@ -45,13 +232,52 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
45
232
|
}
|
46
233
|
|
47
234
|
// check role name is not used for another role
|
48
|
-
RoleId roleIdForName = accessAdmin.getRoleForName(StrLib.toString(info.name));
|
49
|
-
if(
|
235
|
+
(RoleId roleIdForName, bool exists) = accessAdmin.getRoleForName(StrLib.toString(info.name));
|
236
|
+
if(revertOnExistingRole && exists) {
|
50
237
|
revert IAccessAdmin.ErrorAccessAdminRoleNameAlreadyExists(
|
51
238
|
roleId,
|
52
239
|
info.name.toString(),
|
53
240
|
roleIdForName);
|
54
241
|
}
|
242
|
+
|
243
|
+
return false;
|
244
|
+
}
|
245
|
+
|
246
|
+
|
247
|
+
function checkRoleExists(
|
248
|
+
IAccessAdmin accessAdmin,
|
249
|
+
RoleId roleId,
|
250
|
+
bool onlyActiveRole,
|
251
|
+
bool allowAdminAndPublicRoles
|
252
|
+
)
|
253
|
+
internal
|
254
|
+
view
|
255
|
+
{
|
256
|
+
// check role exists
|
257
|
+
if (!accessAdmin.roleExists(roleId)) {
|
258
|
+
revert IAccessAdmin.ErrorAccessAdminRoleUnknown(roleId);
|
259
|
+
}
|
260
|
+
|
261
|
+
// if onlyActiveRoles: check if role is disabled
|
262
|
+
if (onlyActiveRole && accessAdmin.getRoleInfo(roleId).pausedAt <= TimestampLib.current()) {
|
263
|
+
revert IAccessAdmin.ErrorAccessAdminRoleIsPaused(roleId);
|
264
|
+
}
|
265
|
+
|
266
|
+
// if not allowAdminAndPublicRoles, check if role is admin or public role
|
267
|
+
if (!allowAdminAndPublicRoles) {
|
268
|
+
checkNotAdminOrPublicRole(roleId);
|
269
|
+
}
|
270
|
+
}
|
271
|
+
|
272
|
+
|
273
|
+
function checkNotAdminOrPublicRole(RoleId roleId) public pure {
|
274
|
+
if (roleId == ADMIN_ROLE()) {
|
275
|
+
revert IAccessAdmin.ErrorAccessAdminInvalidUseOfAdminRole();
|
276
|
+
}
|
277
|
+
|
278
|
+
if (roleId == PUBLIC_ROLE()) {
|
279
|
+
revert IAccessAdmin.ErrorAccessAdminInvalidUseOfPublicRole();
|
280
|
+
}
|
55
281
|
}
|
56
282
|
|
57
283
|
function checkTargetCreation(
|
@@ -97,7 +323,73 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
97
323
|
revert IAccessAdmin.ErrorAccessAdminTargetAuthorityMismatch(accessAdmin.authority(), targetAuthority);
|
98
324
|
}
|
99
325
|
}
|
326
|
+
}
|
327
|
+
|
328
|
+
|
329
|
+
function checkComponentInitialization(
|
330
|
+
IAccessAdmin accessAdmin,
|
331
|
+
IAuthorization instanceAuthorization,
|
332
|
+
address componentAddress,
|
333
|
+
ObjectType expectedType
|
334
|
+
)
|
335
|
+
public
|
336
|
+
view
|
337
|
+
returns (IAuthorization componentAuthorization)
|
338
|
+
{
|
339
|
+
checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
|
340
|
+
|
341
|
+
VersionPart expecteRelease = accessAdmin.getRelease();
|
342
|
+
IAuthorizedComponent component = IAuthorizedComponent(componentAddress);
|
343
|
+
componentAuthorization = component.getAuthorization();
|
100
344
|
|
345
|
+
checkAuthorization(
|
346
|
+
address(instanceAuthorization),
|
347
|
+
address(componentAuthorization),
|
348
|
+
expectedType,
|
349
|
+
expecteRelease,
|
350
|
+
false, // expectServiceAuthorization,
|
351
|
+
false); // checkAlreadyInitialized
|
352
|
+
}
|
353
|
+
|
354
|
+
|
355
|
+
function checkTargetAndRoleForFunctions(
|
356
|
+
IAccessAdmin accessAdmin,
|
357
|
+
address target,
|
358
|
+
RoleId roleId,
|
359
|
+
bool onlyComponentOrContractTargets
|
360
|
+
)
|
361
|
+
public
|
362
|
+
view
|
363
|
+
{
|
364
|
+
// check target exists
|
365
|
+
IAccess.TargetType targetType = accessAdmin.getTargetInfo(target).targetType;
|
366
|
+
if (targetType == IAccess.TargetType.Undefined) {
|
367
|
+
revert IAccessAdmin.ErrorAccessAdminTargetNotCreated(target);
|
368
|
+
}
|
369
|
+
|
370
|
+
// check target type
|
371
|
+
if (onlyComponentOrContractTargets) {
|
372
|
+
if (targetType != IAccess.TargetType.Component && targetType != IAccess.TargetType.Contract) {
|
373
|
+
revert IAccessAdmin.ErrorAccessAdminNotComponentOrCustomTarget(target);
|
374
|
+
}
|
375
|
+
}
|
376
|
+
|
377
|
+
// check role exist
|
378
|
+
checkRoleExists(accessAdmin, roleId, true, true);
|
379
|
+
}
|
380
|
+
|
381
|
+
|
382
|
+
function checkTargetExists(
|
383
|
+
IAccessAdmin accessAdmin,
|
384
|
+
address target
|
385
|
+
)
|
386
|
+
public
|
387
|
+
view
|
388
|
+
{
|
389
|
+
// check not yet created
|
390
|
+
if (!accessAdmin.targetExists(target)) {
|
391
|
+
revert IAccessAdmin.ErrorAccessAdminTargetNotCreated(target);
|
392
|
+
}
|
101
393
|
}
|
102
394
|
|
103
395
|
|
@@ -106,6 +398,7 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
106
398
|
address authorization,
|
107
399
|
ObjectType expectedDomain,
|
108
400
|
VersionPart expectedRelease,
|
401
|
+
bool expectServiceAuthorization,
|
109
402
|
bool checkAlreadyInitialized
|
110
403
|
)
|
111
404
|
public
|
@@ -118,8 +411,14 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
118
411
|
}
|
119
412
|
|
120
413
|
// check contract type matches
|
121
|
-
if (
|
122
|
-
|
414
|
+
if (expectServiceAuthorization) {
|
415
|
+
if (!ContractLib.supportsInterface(authorization, type(IServiceAuthorization).interfaceId)) {
|
416
|
+
revert IAccessAdmin.ErrorAccessAdminNotServiceAuthorization(authorization);
|
417
|
+
}
|
418
|
+
} else {
|
419
|
+
if (!ContractLib.supportsInterface(authorization, type(IAuthorization).interfaceId)) {
|
420
|
+
revert IAccessAdmin.ErrorAccessAdminNotAuthorization(authorization);
|
421
|
+
}
|
123
422
|
}
|
124
423
|
|
125
424
|
// check domain matches
|
@@ -144,6 +443,8 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
144
443
|
public
|
145
444
|
view
|
146
445
|
{
|
446
|
+
checkRegistry(registry);
|
447
|
+
|
147
448
|
ObjectType tagetType = IRegistry(registry).getObjectInfo(target).objectType;
|
148
449
|
if (tagetType.eqz()) {
|
149
450
|
revert IAccessAdmin.ErrorAccessAdminNotRegistered(target);
|
@@ -154,30 +455,241 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
|
|
154
455
|
}
|
155
456
|
}
|
156
457
|
|
157
|
-
|
458
|
+
|
459
|
+
function checkRegistry(
|
460
|
+
address registry
|
461
|
+
)
|
462
|
+
public
|
463
|
+
view
|
464
|
+
{
|
465
|
+
if (!ContractLib.isRegistry(registry)) {
|
466
|
+
revert IAccessAdmin.ErrorAccessAdminNotRegistry(registry);
|
467
|
+
}
|
468
|
+
}
|
469
|
+
|
470
|
+
|
471
|
+
function getAuthorizedRole(
|
472
|
+
IAccessAdmin accessAdmin,
|
473
|
+
IAuthorization authorization,
|
474
|
+
RoleId roleId
|
475
|
+
)
|
476
|
+
public
|
477
|
+
view
|
478
|
+
returns (RoleId authorizedRoleId)
|
479
|
+
{
|
480
|
+
string memory roleName = authorization.getRoleInfo(roleId).name.toString();
|
481
|
+
(authorizedRoleId, ) = accessAdmin.getRoleForName(roleName);
|
482
|
+
}
|
483
|
+
|
484
|
+
|
485
|
+
function getFunctionRoleId(
|
486
|
+
AccessManagerCloneable authority,
|
487
|
+
address target,
|
488
|
+
Selector selector
|
489
|
+
)
|
490
|
+
public
|
491
|
+
view
|
492
|
+
returns (RoleId functionRoleId)
|
493
|
+
{
|
494
|
+
return RoleIdLib.toRoleId(
|
495
|
+
authority.getTargetFunctionRole(
|
496
|
+
target,
|
497
|
+
selector.toBytes4()));
|
498
|
+
}
|
499
|
+
|
500
|
+
|
501
|
+
function getServiceRoleId(
|
502
|
+
address serviceAddress,
|
503
|
+
IAccess.TargetType serviceTargetType
|
504
|
+
)
|
505
|
+
public
|
506
|
+
view
|
507
|
+
returns (RoleId serviceRoleId)
|
508
|
+
{
|
509
|
+
IService service = IService(serviceAddress);
|
510
|
+
|
511
|
+
if (serviceTargetType == IAccess.TargetType.Service) {
|
512
|
+
return RoleIdLib.toServiceRoleId(service.getDomain(), service.getRelease());
|
513
|
+
} else if (serviceTargetType == IAccess.TargetType.GenericService) {
|
514
|
+
return RoleIdLib.toGenericServiceRoleId(service.getDomain());
|
515
|
+
}
|
516
|
+
|
517
|
+
revert IAccessAdmin.ErrorAccessAdminInvalidServiceType(serviceAddress, serviceTargetType);
|
518
|
+
}
|
519
|
+
|
520
|
+
|
521
|
+
function getVersionedServiceRoleId(
|
522
|
+
ObjectType serviceDomain,
|
523
|
+
VersionPart release
|
524
|
+
)
|
525
|
+
public
|
526
|
+
pure
|
527
|
+
returns (RoleId serviceRoleId)
|
528
|
+
{
|
529
|
+
return RoleIdLib.toRoleId(
|
530
|
+
SERVICE_ROLE_MIN + SERVICE_ROLE_FACTOR * serviceDomain.toInt() + release.toInt());
|
531
|
+
}
|
532
|
+
|
533
|
+
|
534
|
+
function getGenericServiceRoleId(
|
535
|
+
ObjectType serviceDomain
|
536
|
+
)
|
537
|
+
public
|
538
|
+
pure
|
539
|
+
returns (RoleId serviceRoleId)
|
540
|
+
{
|
541
|
+
return RoleIdLib.toRoleId(
|
542
|
+
SERVICE_ROLE_MIN + SERVICE_ROLE_FACTOR * serviceDomain.toInt() + VersionPartLib.releaseMax().toInt());
|
543
|
+
}
|
544
|
+
|
545
|
+
|
546
|
+
function getCustomRoleId(uint64 index)
|
547
|
+
public
|
548
|
+
pure
|
549
|
+
returns (RoleId customRoleId)
|
550
|
+
{
|
551
|
+
return RoleIdLib.toRoleId(CUSTOM_ROLE_MIN + index);
|
552
|
+
}
|
553
|
+
|
554
|
+
|
555
|
+
function isCustomRole(RoleId roleId)
|
556
|
+
public
|
557
|
+
pure
|
558
|
+
returns (bool)
|
559
|
+
{
|
560
|
+
return roleId.toInt() >= CUSTOM_ROLE_MIN;
|
561
|
+
}
|
562
|
+
|
563
|
+
|
564
|
+
function getTargetRoleId(
|
565
|
+
address target,
|
566
|
+
IAccess.TargetType targetType,
|
567
|
+
uint64 index
|
568
|
+
)
|
158
569
|
public
|
570
|
+
view
|
571
|
+
returns (RoleId targetRoleId)
|
572
|
+
{
|
573
|
+
if (targetType == IAccess.TargetType.Core) {
|
574
|
+
return RoleIdLib.toRoleId(CORE_ROLE_MIN + index);
|
575
|
+
}
|
576
|
+
|
577
|
+
if (targetType == IAccess.TargetType.Service || targetType == IAccess.TargetType.GenericService ) {
|
578
|
+
return getServiceRoleId(target, targetType);
|
579
|
+
}
|
580
|
+
|
581
|
+
if (targetType == IAccess.TargetType.Instance) {
|
582
|
+
return RoleIdLib.toRoleId(INSTANCE_ROLE_MIN + index);
|
583
|
+
}
|
584
|
+
|
585
|
+
if (targetType == IAccess.TargetType.Component) {
|
586
|
+
return RoleIdLib.toRoleId(COMPONENT_ROLE_MIN + index);
|
587
|
+
}
|
588
|
+
|
589
|
+
if (targetType == IAccess.TargetType.Custom
|
590
|
+
|| targetType == IAccess.TargetType.Contract)
|
591
|
+
{
|
592
|
+
return RoleIdLib.toRoleId(CUSTOM_ROLE_MIN + index);
|
593
|
+
}
|
594
|
+
|
595
|
+
revert IAccessAdmin.ErrorAccessAdminInvalidTargetType(target, targetType);
|
596
|
+
}
|
597
|
+
|
598
|
+
|
599
|
+
function getTokenHandler(
|
600
|
+
address target,
|
601
|
+
string memory targetName,
|
602
|
+
IAccess.TargetType targetType
|
603
|
+
)
|
604
|
+
public
|
605
|
+
view
|
606
|
+
returns (
|
607
|
+
address tokenHandler,
|
608
|
+
string memory tokenHandlerName
|
609
|
+
)
|
610
|
+
{
|
611
|
+
// not component or core (we need to check core because of staking)
|
612
|
+
if (targetType != IAccess.TargetType.Component && targetType != IAccess.TargetType.Core) {
|
613
|
+
return (address(0), "");
|
614
|
+
}
|
615
|
+
|
616
|
+
// not contract
|
617
|
+
if (!ContractLib.isContract(target)) {
|
618
|
+
return (address(0), "");
|
619
|
+
}
|
620
|
+
|
621
|
+
// not component
|
622
|
+
if (!ContractLib.supportsInterface(target, type(IComponent).interfaceId)) {
|
623
|
+
return (address(0), "");
|
624
|
+
}
|
625
|
+
|
626
|
+
tokenHandler = address(IComponent(target).getTokenHandler());
|
627
|
+
tokenHandlerName = string(abi.encodePacked(targetName, TOKEN_HANDLER_SUFFIX));
|
628
|
+
}
|
629
|
+
|
630
|
+
|
631
|
+
function toFunctionGrantingString(
|
632
|
+
IAccessAdmin accessAdmin,
|
633
|
+
Str functionName,
|
634
|
+
RoleId roleId
|
635
|
+
)
|
636
|
+
public
|
637
|
+
view
|
638
|
+
returns (string memory)
|
639
|
+
{
|
640
|
+
return string(
|
641
|
+
abi.encodePacked(
|
642
|
+
functionName.toString(),
|
643
|
+
"(): ",
|
644
|
+
getRoleName(accessAdmin, roleId)));
|
645
|
+
}
|
646
|
+
|
647
|
+
|
648
|
+
function getRoleName(
|
649
|
+
IAccessAdmin accessAdmin,
|
650
|
+
RoleId roleId
|
651
|
+
)
|
652
|
+
public
|
159
653
|
view
|
160
|
-
returns (
|
161
|
-
{
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
createdAt: TimestampLib.blockTimestamp(),
|
168
|
-
pausedAt: TimestampLib.max()
|
169
|
-
});
|
654
|
+
returns (string memory)
|
655
|
+
{
|
656
|
+
if (accessAdmin.roleExists(roleId)) {
|
657
|
+
return accessAdmin.getRoleInfo(roleId).name.toString();
|
658
|
+
}
|
659
|
+
|
660
|
+
return "<unknown-role>";
|
170
661
|
}
|
171
662
|
|
172
|
-
|
663
|
+
|
664
|
+
function toRoleName(string memory name) public pure returns (string memory) {
|
665
|
+
return string(
|
666
|
+
abi.encodePacked(
|
667
|
+
name,
|
668
|
+
ROLE_SUFFIX));
|
669
|
+
}
|
670
|
+
|
671
|
+
|
672
|
+
function toFunction(
|
673
|
+
bytes4 selector,
|
674
|
+
string memory name
|
675
|
+
)
|
173
676
|
public
|
174
677
|
view
|
175
678
|
returns (IAccess.FunctionInfo memory)
|
176
679
|
{
|
680
|
+
if(selector == bytes4(0)) {
|
681
|
+
revert IAccessAdmin.ErrorAccessAdminSelectorZero();
|
682
|
+
}
|
683
|
+
|
684
|
+
if(bytes(name).length == 0) {
|
685
|
+
revert IAccessAdmin.ErrorAccessAdminFunctionNameEmpty();
|
686
|
+
}
|
687
|
+
|
177
688
|
return IAccess.FunctionInfo({
|
178
689
|
name: StrLib.toStr(name),
|
179
690
|
selector: SelectorLib.toSelector(selector),
|
180
|
-
createdAt: TimestampLib.
|
691
|
+
createdAt: TimestampLib.current(),
|
692
|
+
lastUpdateIn: BlocknumberLib.current()});
|
181
693
|
}
|
182
694
|
|
183
695
|
}
|
@@ -24,6 +24,8 @@ contract AccessManagerCloneable is
|
|
24
24
|
error ErrorAccessManagerTargetAdminLocked(address target);
|
25
25
|
error ErrorAccessManagerCallerAdminLocked(address caller);
|
26
26
|
|
27
|
+
event LogAccessManagerLocked(address indexed accessManager, bool indexed locked);
|
28
|
+
|
27
29
|
VersionPart private _release;
|
28
30
|
bool private _isLocked;
|
29
31
|
|
@@ -62,24 +64,6 @@ contract AccessManagerCloneable is
|
|
62
64
|
_checkAndSetRelease(release);
|
63
65
|
}
|
64
66
|
|
65
|
-
// /// @dev Completes the setup of the access manager.
|
66
|
-
// /// Links the access manager to the registry and sets the release version.
|
67
|
-
// function completeSetup(
|
68
|
-
// address registry,
|
69
|
-
// VersionPart release,
|
70
|
-
// bool verifyRelease
|
71
|
-
// )
|
72
|
-
// public
|
73
|
-
// onlyAdminRole
|
74
|
-
// reinitializer(uint64(release.toInt()))
|
75
|
-
// {
|
76
|
-
// _checkAndSetRegistry(registry);
|
77
|
-
|
78
|
-
// if (verifyRelease) {
|
79
|
-
// _checkAndSetRelease(release);
|
80
|
-
// }
|
81
|
-
// }
|
82
|
-
|
83
67
|
/// @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.
|
84
68
|
/// Feturn values as in OpenZeppelin AccessManager.
|
85
69
|
/// For a locked manager the function reverts with ErrorAccessManagerTargetAdminLocked.
|
@@ -112,6 +96,7 @@ contract AccessManagerCloneable is
|
|
112
96
|
onlyAdminRole()
|
113
97
|
{
|
114
98
|
_isLocked = locked;
|
99
|
+
emit LogAccessManagerLocked(address(this), locked);
|
115
100
|
}
|
116
101
|
|
117
102
|
|