@etherisc/gif-next 0.0.2-7c8d286-020 → 0.0.2-7d488b3-675
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 +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +32 -48
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +26 -34
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +246 -361
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +39 -8
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +23 -96
- 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 +184 -278
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +0 -32
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +109 -33
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -96
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +65 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +106 -142
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +53 -61
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +65 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -40
- 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 +17 -33
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -96
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +59 -75
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -96
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +118 -42
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -96
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +23 -23
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +27 -43
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -96
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +29 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -96
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +7 -85
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +11 -54
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +25 -95
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +405 -512
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +41 -96
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +63 -86
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +36 -26
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +14 -14
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +30 -93
- 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/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +42 -58
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +31 -39
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -96
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +58 -74
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +39 -47
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +22 -38
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +74 -106
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +47 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +26 -71
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +23 -35
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -96
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +80 -96
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +50 -58
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +0 -21
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +0 -21
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +0 -21
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +86 -94
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +18 -452
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +53 -57
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +52 -89
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +36 -44
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +26 -55
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +23 -27
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- 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 +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +350 -440
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +19 -19
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +368 -473
- 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 +124 -128
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +102 -63
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -41
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +4 -60
- 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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +24 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- 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/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- 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/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- 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 +2 -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/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/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 +9 -74
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +3 -74
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +57 -141
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +34 -50
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +57 -30
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +29 -124
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +23 -35
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -142
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +14 -24
- 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/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +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/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 +31 -33
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- 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/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -56
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -2
- package/contracts/authorization/AccessAdmin.sol +186 -201
- package/contracts/authorization/AccessManagerCloneable.sol +31 -40
- package/contracts/authorization/Authorization.sol +33 -61
- package/contracts/authorization/IAccessAdmin.sol +36 -63
- package/contracts/authorization/IAuthorization.sol +0 -6
- package/contracts/distribution/BasicDistribution.sol +3 -5
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +47 -4
- package/contracts/distribution/DistributionService.sol +6 -10
- package/contracts/distribution/IDistributionComponent.sol +9 -0
- package/contracts/distribution/IDistributionService.sol +5 -3
- package/contracts/instance/IInstance.sol +8 -43
- package/contracts/instance/IInstanceService.sol +2 -14
- package/contracts/instance/Instance.sol +13 -62
- package/contracts/instance/InstanceAdmin.sol +107 -120
- package/contracts/instance/InstanceAuthorizationV3.sol +21 -43
- package/contracts/instance/InstanceReader.sol +1 -1
- package/contracts/instance/InstanceService.sol +60 -118
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
- package/contracts/oracle/OracleService.sol +4 -4
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/PoolLib.sol +1 -94
- package/contracts/pool/PoolService.sol +89 -91
- package/contracts/product/ApplicationService.sol +1 -10
- package/contracts/product/BasicProductAuthorization.sol +1 -1
- package/contracts/product/ClaimService.sol +0 -8
- package/contracts/product/IApplicationService.sol +0 -2
- package/contracts/product/IPricingService.sol +0 -1
- package/contracts/product/IRiskService.sol +0 -3
- package/contracts/product/PolicyService.sol +53 -35
- package/contracts/product/PolicyServiceLib.sol +1 -55
- package/contracts/product/PricingService.sol +0 -5
- package/contracts/product/RiskService.sol +0 -10
- package/contracts/registry/RegistryAdmin.sol +229 -133
- package/contracts/registry/ReleaseAdmin.sol +22 -30
- package/contracts/registry/ReleaseRegistry.sol +33 -39
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -88
- package/contracts/shared/Component.sol +6 -6
- package/contracts/shared/ComponentService.sol +29 -33
- package/contracts/shared/ContractLib.sol +0 -28
- package/contracts/shared/IComponentService.sol +6 -4
- package/contracts/shared/InitializableERC165.sol +1 -9
- package/contracts/shared/NftOwnable.sol +1 -2
- package/contracts/shared/Registerable.sol +4 -1
- package/contracts/shared/TokenHandler.sol +4 -5
- package/contracts/staking/IStaking.sol +2 -12
- package/contracts/staking/IStakingService.sol +1 -11
- package/contracts/staking/{StakingLib.sol → StakeManagerLib.sol} +22 -79
- package/contracts/staking/Staking.sol +13 -33
- package/contracts/staking/StakingReader.sol +15 -5
- package/contracts/staking/StakingService.sol +2 -39
- package/contracts/staking/StakingStore.sol +1 -2
- package/contracts/type/ObjectType.sol +14 -5
- package/contracts/type/Version.sol +0 -39
- package/package.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +0 -673
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +0 -878
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +0 -469
- package/contracts/authorization/AccessAdminLib.sol +0 -183
- package/contracts/registry/RegistryAuthorization.sol +0 -267
@@ -10,7 +10,7 @@ import {IInstance} from "./IInstance.sol";
|
|
10
10
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
11
11
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
12
12
|
import {NftId} from "../type/NftId.sol";
|
13
|
-
import {ObjectType
|
13
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
14
14
|
import {RoleId, RoleIdLib} from "../type/RoleId.sol";
|
15
15
|
import {Str, StrLib} from "../type/String.sol";
|
16
16
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
@@ -21,19 +21,18 @@ contract InstanceAdmin is
|
|
21
21
|
AccessAdmin
|
22
22
|
{
|
23
23
|
string public constant INSTANCE_TARGET_NAME = "Instance";
|
24
|
-
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
25
24
|
string public constant INSTANCE_STORE_TARGET_NAME = "InstanceStore";
|
25
|
+
string public constant INSTANCE_ADMIN_TARGET_NAME = "InstanceAdmin";
|
26
26
|
string public constant BUNDLE_SET_TARGET_NAME = "BundleSet";
|
27
|
-
string public constant
|
27
|
+
string public constant RISK_SET_TAGET_NAME = "RiskSet";
|
28
28
|
|
29
29
|
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000; // MUST be even
|
30
30
|
|
31
|
-
error
|
32
|
-
|
33
|
-
error ErrorInstanceAdminNotRegistered(address
|
34
|
-
error ErrorInstanceAdminNotInstance(address instance);
|
35
|
-
error ErrorInstanceAdminAlreadyAuthorized(address instance);
|
31
|
+
error ErrorInstanceAdminCallerNotInstanceOwner(address caller);
|
32
|
+
error ErrorInstanceAdminInstanceAlreadyLocked();
|
33
|
+
error ErrorInstanceAdminNotRegistered(address target);
|
36
34
|
|
35
|
+
error ErrorInstanceAdminAlreadyAuthorized(address target);
|
37
36
|
error ErrorInstanceAdminNotComponentRole(RoleId roleId);
|
38
37
|
error ErrorInstanceAdminRoleAlreadyExists(RoleId roleId);
|
39
38
|
error ErrorInstanceAdminRoleTypeNotContract(RoleId roleId, IAccess.RoleType roleType);
|
@@ -43,134 +42,119 @@ contract InstanceAdmin is
|
|
43
42
|
|
44
43
|
IInstance internal _instance;
|
45
44
|
IRegistry internal _registry;
|
46
|
-
VersionPart internal _release;
|
47
45
|
uint64 internal _customIdNext;
|
48
46
|
|
49
47
|
mapping(address target => RoleId roleId) internal _targetRoleId;
|
50
48
|
uint64 internal _components;
|
51
49
|
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
IAuthorization internal _instanceAuthorization;
|
51
|
+
|
52
|
+
|
53
|
+
modifier onlyInstanceOwner() {
|
54
|
+
if(msg.sender != _registry.ownerOf(address(_instance))) {
|
55
|
+
revert ErrorInstanceAdminCallerNotInstanceOwner(msg.sender);
|
55
56
|
}
|
56
57
|
_;
|
57
58
|
}
|
58
59
|
|
59
60
|
/// @dev Only used for master instance admin.
|
60
|
-
constructor
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
/// Contracts created via constructor come with disabled initializers.
|
62
|
+
constructor(
|
63
|
+
address instanceAuthorization
|
64
|
+
) {
|
65
|
+
initialize(new AccessManagerCloneable());
|
66
|
+
|
67
|
+
_instanceAuthorization = IAuthorization(instanceAuthorization);
|
68
|
+
|
69
|
+
_disableInitializers();
|
64
70
|
}
|
65
71
|
|
66
72
|
|
73
|
+
function initialize(
|
74
|
+
AccessManagerCloneable clonedAccessManager,
|
75
|
+
IRegistry registry,
|
76
|
+
VersionPart release
|
77
|
+
)
|
78
|
+
external
|
79
|
+
initializer()
|
80
|
+
{
|
81
|
+
__AccessAdmin_init(clonedAccessManager);
|
82
|
+
|
83
|
+
clonedAccessManager.completeSetup(
|
84
|
+
address(registry),
|
85
|
+
release);
|
86
|
+
|
87
|
+
_registry = registry;
|
88
|
+
}
|
89
|
+
|
67
90
|
/// @dev Completes the initialization of this instance admin using the provided instance, registry and version.
|
68
91
|
/// Important: Initialization of instance admin is only complete after calling this function.
|
69
92
|
/// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
|
70
93
|
function completeSetup(
|
71
|
-
address registry,
|
72
94
|
address instance,
|
73
|
-
address authorization
|
74
|
-
VersionPart release
|
95
|
+
address authorization
|
75
96
|
)
|
76
97
|
external
|
77
|
-
reinitializer(uint64(
|
98
|
+
reinitializer(uint64(getRelease().toInt()))
|
78
99
|
onlyDeployer()
|
79
100
|
{
|
80
|
-
// checks
|
81
|
-
_checkRegistry(registry);
|
82
|
-
_checkIsRegistered(registry, instance, INSTANCE());
|
83
|
-
|
84
|
-
AccessManagerCloneable(
|
85
|
-
authority()).completeSetup(
|
86
|
-
registry,
|
87
|
-
release);
|
88
|
-
|
89
|
-
_checkAuthorization(authorization, INSTANCE(), release, true);
|
90
|
-
|
91
|
-
// effects
|
92
|
-
_registry = IRegistry(registry);
|
93
|
-
_release = release;
|
94
|
-
|
95
|
-
_instance = IInstance(instance);
|
96
|
-
_authorization = IAuthorization(authorization);
|
97
101
|
_components = 0;
|
98
102
|
_customIdNext = CUSTOM_ROLE_ID_MIN;
|
103
|
+
_instance = IInstance(instance);
|
104
|
+
_instanceAuthorization = IAuthorization(authorization);
|
105
|
+
|
106
|
+
_checkTargetIsReadyForAuthorization(instance);
|
99
107
|
|
100
|
-
//
|
101
|
-
|
108
|
+
// check matching releases
|
109
|
+
if (_instanceAuthorization.getRelease() != getRelease()) {
|
110
|
+
revert ErrorInstanceAdminReleaseMismatch();
|
111
|
+
}
|
102
112
|
|
103
113
|
// create instance role and target
|
104
114
|
_setupInstance(instance);
|
105
115
|
|
106
116
|
// add instance authorization
|
107
|
-
_createRoles(
|
108
|
-
// _createTargets(_authorization);
|
109
|
-
_setupInstanceHelperTargetsWithRoles();
|
110
|
-
_createTargetAuthorizations(_authorization);
|
111
|
-
}
|
112
|
-
|
117
|
+
_createRoles(_instanceAuthorization);
|
113
118
|
|
114
|
-
|
115
|
-
|
116
|
-
{
|
117
|
-
_createTargetWithRole(address(this), INSTANCE_ADMIN_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_ADMIN_TARGET_NAME)));
|
118
|
-
_createTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(INSTANCE_STORE_TARGET_NAME)));
|
119
|
-
_createTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(BUNDLE_SET_TARGET_NAME)));
|
120
|
-
_createTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TARGET_NAME, authorization.getTargetRole(StrLib.toStr(RISK_SET_TARGET_NAME)));
|
119
|
+
_setupInstanceHelperTargetsWithRoles();
|
120
|
+
_createTargetAuthorizations(_instanceAuthorization);
|
121
121
|
}
|
122
122
|
|
123
123
|
|
124
124
|
/// @dev Initializes the authorization for the specified component.
|
125
125
|
/// Important: The component MUST be registered.
|
126
126
|
function initializeComponentAuthorization(
|
127
|
-
|
128
|
-
ObjectType expectedType
|
127
|
+
IInstanceLinkedComponent component
|
129
128
|
)
|
130
129
|
external
|
131
130
|
restricted()
|
132
131
|
{
|
133
132
|
// checks
|
134
|
-
|
135
|
-
|
136
|
-
IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
|
137
|
-
IAuthorization authorization = component.getAuthorization();
|
138
|
-
_checkAuthorization(address(authorization), expectedType, getRelease(), false);
|
133
|
+
_checkTargetIsReadyForAuthorization(address(component));
|
139
134
|
|
140
|
-
//
|
141
|
-
|
142
|
-
_setupComponentAndTokenHandler(component, expectedType);
|
135
|
+
// setup target and role for component (including token handler)
|
136
|
+
_setupComponentAndTokenHandler(component);
|
143
137
|
|
144
|
-
// create other roles
|
145
|
-
|
138
|
+
// create other roles
|
139
|
+
IAuthorization authorization = component.getAuthorization();
|
140
|
+
_createRoles(authorization);
|
146
141
|
_createTargetAuthorizations(authorization);
|
147
142
|
}
|
148
143
|
|
149
|
-
function getRelease()
|
150
|
-
public
|
151
|
-
view
|
152
|
-
override
|
153
|
-
returns (VersionPart release)
|
154
|
-
{
|
155
|
-
return _release;
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
144
|
// create instance role and target
|
160
145
|
function _setupInstance(address instance) internal {
|
161
|
-
|
162
146
|
// create instance role
|
163
|
-
RoleId instanceRoleId =
|
164
|
-
|
147
|
+
RoleId instanceRoleId = _instanceAuthorization.getTargetRole(
|
148
|
+
_instanceAuthorization.getMainTarget());
|
165
149
|
|
166
150
|
_createRole(
|
167
151
|
instanceRoleId,
|
168
|
-
|
152
|
+
_instanceAuthorization.getRoleInfo(instanceRoleId));
|
169
153
|
|
170
154
|
// create instance target
|
171
155
|
_createTarget(
|
172
156
|
instance,
|
173
|
-
|
157
|
+
_instanceAuthorization.getMainTargetName(),
|
174
158
|
true, // checkAuthority
|
175
159
|
false); // custom
|
176
160
|
|
@@ -202,28 +186,21 @@ contract InstanceAdmin is
|
|
202
186
|
|
203
187
|
function setInstanceLocked(bool locked)
|
204
188
|
external
|
205
|
-
|
206
|
-
onlyInstanceService()
|
189
|
+
onlyInstanceOwner()
|
207
190
|
{
|
208
191
|
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
192
|
+
|
193
|
+
if(accessManager.isLocked() == locked) {
|
194
|
+
revert ErrorInstanceAdminInstanceAlreadyLocked();
|
195
|
+
}
|
209
196
|
accessManager.setLocked(locked);
|
210
197
|
}
|
211
198
|
|
212
|
-
|
213
199
|
function setTargetLocked(address target, bool locked)
|
214
|
-
external
|
215
|
-
// not restricted(): might need to operate on targets while instance is locked
|
216
|
-
onlyInstanceService()
|
217
|
-
{
|
218
|
-
_setTargetLocked(target, locked);
|
219
|
-
}
|
220
|
-
|
221
|
-
|
222
|
-
function setComponentLocked(address target, bool locked)
|
223
200
|
external
|
224
201
|
restricted()
|
225
202
|
{
|
226
|
-
|
203
|
+
_setTargetClosed(target, locked);
|
227
204
|
}
|
228
205
|
|
229
206
|
/// @dev Returns the number of components that have been registered with this instance.
|
@@ -241,15 +218,12 @@ contract InstanceAdmin is
|
|
241
218
|
view
|
242
219
|
returns (IAuthorization instanceAuthorizaion)
|
243
220
|
{
|
244
|
-
return
|
221
|
+
return _instanceAuthorization;
|
245
222
|
}
|
246
223
|
|
247
224
|
// ------------------- Internal functions ------------------- //
|
248
225
|
|
249
|
-
function _setupComponentAndTokenHandler(
|
250
|
-
IInstanceLinkedComponent component,
|
251
|
-
ObjectType componentType
|
252
|
-
)
|
226
|
+
function _setupComponentAndTokenHandler(IInstanceLinkedComponent component)
|
253
227
|
internal
|
254
228
|
{
|
255
229
|
|
@@ -266,27 +240,25 @@ contract InstanceAdmin is
|
|
266
240
|
true, // checkAuthority
|
267
241
|
false); // custom
|
268
242
|
|
269
|
-
// create component's token handler target
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
false);
|
281
|
-
|
282
|
-
// token handler does not require its own role
|
283
|
-
// token handler is not calling other components
|
284
|
-
}
|
243
|
+
// create component's token handler target
|
244
|
+
NftId componentNftId = _registry.getNftIdForAddress(address(component));
|
245
|
+
address tokenHandler = address(
|
246
|
+
_instance.getInstanceReader().getComponentInfo(
|
247
|
+
componentNftId).tokenHandler);
|
248
|
+
|
249
|
+
_createTarget(
|
250
|
+
tokenHandler,
|
251
|
+
authorization.getTokenHandlerName(),
|
252
|
+
true,
|
253
|
+
false);
|
285
254
|
|
286
255
|
// assign component role to component
|
287
256
|
_grantRoleToAccount(
|
288
257
|
componentRoleId,
|
289
258
|
address(component));
|
259
|
+
|
260
|
+
// token handler does not require its own role
|
261
|
+
// token handler is not calling other components
|
290
262
|
}
|
291
263
|
|
292
264
|
|
@@ -340,6 +312,20 @@ contract InstanceAdmin is
|
|
340
312
|
}
|
341
313
|
|
342
314
|
|
315
|
+
function _checkTargetIsReadyForAuthorization(address target)
|
316
|
+
internal
|
317
|
+
view
|
318
|
+
{
|
319
|
+
if (!_registry.isRegistered(target)) {
|
320
|
+
revert ErrorInstanceAdminNotRegistered(target);
|
321
|
+
}
|
322
|
+
|
323
|
+
if (targetExists(target)) {
|
324
|
+
revert ErrorInstanceAdminAlreadyAuthorized(target);
|
325
|
+
}
|
326
|
+
}
|
327
|
+
|
328
|
+
|
343
329
|
function _createRoles(IAuthorization authorization)
|
344
330
|
internal
|
345
331
|
{
|
@@ -406,7 +392,7 @@ contract InstanceAdmin is
|
|
406
392
|
{
|
407
393
|
// check that target name is defined in authorization specification
|
408
394
|
Str name = StrLib.toStr(targetName);
|
409
|
-
if (!
|
395
|
+
if (!_instanceAuthorization.targetExists(name)) {
|
410
396
|
revert ErrorInstanceAdminExpectedTargetMissing(targetName);
|
411
397
|
}
|
412
398
|
|
@@ -418,7 +404,7 @@ contract InstanceAdmin is
|
|
418
404
|
false);
|
419
405
|
|
420
406
|
// assign target role if defined
|
421
|
-
RoleId targetRoleId =
|
407
|
+
RoleId targetRoleId = _instanceAuthorization.getTargetRole(name);
|
422
408
|
if (targetRoleId != RoleIdLib.zero()) {
|
423
409
|
_grantRoleToAccount(targetRoleId, target);
|
424
410
|
}
|
@@ -427,16 +413,17 @@ contract InstanceAdmin is
|
|
427
413
|
function _setupInstanceHelperTargetsWithRoles()
|
428
414
|
internal
|
429
415
|
{
|
416
|
+
// _checkAndCreateTargetWithRole(address(_instance), INSTANCE_TARGET_NAME);
|
430
417
|
|
431
418
|
// create module targets
|
432
419
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceStore()), INSTANCE_STORE_TARGET_NAME);
|
433
420
|
_checkAndCreateTargetWithRole(address(_instance.getInstanceAdmin()), INSTANCE_ADMIN_TARGET_NAME);
|
434
421
|
_checkAndCreateTargetWithRole(address(_instance.getBundleSet()), BUNDLE_SET_TARGET_NAME);
|
435
|
-
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()),
|
422
|
+
_checkAndCreateTargetWithRole(address(_instance.getRiskSet()), RISK_SET_TAGET_NAME);
|
436
423
|
|
437
|
-
// create targets for services that need to access the
|
438
|
-
ObjectType[] memory serviceDomains =
|
439
|
-
VersionPart release =
|
424
|
+
// create targets for services that need to access the module targets
|
425
|
+
ObjectType[] memory serviceDomains = _instanceAuthorization.getServiceDomains();
|
426
|
+
VersionPart release = _instanceAuthorization.getRelease();
|
440
427
|
ObjectType serviceDomain;
|
441
428
|
|
442
429
|
for (uint256 i = 0; i < serviceDomains.length; i++) {
|
@@ -444,7 +431,7 @@ contract InstanceAdmin is
|
|
444
431
|
|
445
432
|
_checkAndCreateTargetWithRole(
|
446
433
|
_registry.getServiceAddress(serviceDomain, release),
|
447
|
-
|
434
|
+
_instanceAuthorization.getServiceTarget(serviceDomain).toString());
|
448
435
|
}
|
449
436
|
}
|
450
437
|
}
|
@@ -1,16 +1,17 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
4
|
+
import {
|
5
|
+
ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK
|
6
|
+
} from "../../contracts/type/ObjectType.sol";
|
5
7
|
|
6
|
-
import {Authorization} from "../authorization/Authorization.sol";
|
7
|
-
import {ACCOUNTING, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, RISK} from "../../contracts/type/ObjectType.sol";
|
8
8
|
import {BundleSet} from "../instance/BundleSet.sol";
|
9
|
+
import {RiskSet} from "../instance/RiskSet.sol";
|
10
|
+
import {IAccess} from "../authorization/IAccess.sol";
|
9
11
|
import {Instance} from "../instance/Instance.sol";
|
10
12
|
import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
|
11
13
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
12
|
-
import {
|
13
|
-
import {RiskSet} from "../instance/RiskSet.sol";
|
14
|
+
import {Authorization} from "../authorization/Authorization.sol";
|
14
15
|
|
15
16
|
|
16
17
|
contract InstanceAuthorizationV3
|
@@ -26,10 +27,19 @@ contract InstanceAuthorizationV3
|
|
26
27
|
string public constant RISK_SET_TARGET_NAME = "RiskSet";
|
27
28
|
|
28
29
|
constructor()
|
29
|
-
Authorization(INSTANCE_TARGET_NAME, INSTANCE()
|
30
|
+
Authorization(INSTANCE_TARGET_NAME, INSTANCE())
|
30
31
|
{ }
|
31
32
|
|
32
|
-
function
|
33
|
+
function _setupTargets()
|
34
|
+
internal
|
35
|
+
override
|
36
|
+
{
|
37
|
+
// instance supporting targets
|
38
|
+
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
39
|
+
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
40
|
+
_addTarget(BUNDLE_SET_TARGET_NAME);
|
41
|
+
_addTarget(RISK_SET_TARGET_NAME);
|
42
|
+
|
33
43
|
// service targets relevant to instance
|
34
44
|
_addServiceTargetWithRole(INSTANCE());
|
35
45
|
_addServiceTargetWithRole(ACCOUNTING());
|
@@ -44,19 +54,6 @@ contract InstanceAuthorizationV3
|
|
44
54
|
_addServiceTargetWithRole(CLAIM());
|
45
55
|
}
|
46
56
|
|
47
|
-
function _setupTargets()
|
48
|
-
internal
|
49
|
-
override
|
50
|
-
{
|
51
|
-
// instance supporting targets
|
52
|
-
// _addGifContractTarget(INSTANCE_ADMIN_TARGET_NAME);
|
53
|
-
_addTarget(INSTANCE_ADMIN_TARGET_NAME);
|
54
|
-
_addTarget(INSTANCE_STORE_TARGET_NAME);
|
55
|
-
_addTarget(BUNDLE_SET_TARGET_NAME);
|
56
|
-
_addTarget(RISK_SET_TARGET_NAME);
|
57
|
-
|
58
|
-
}
|
59
|
-
|
60
57
|
|
61
58
|
function _setupTargetAuthorizations()
|
62
59
|
internal
|
@@ -110,24 +107,6 @@ contract InstanceAuthorizationV3
|
|
110
107
|
{
|
111
108
|
IAccess.FunctionInfo[] storage functions;
|
112
109
|
|
113
|
-
// authorize instance service role
|
114
|
-
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, PUBLIC_ROLE());
|
115
|
-
_authorize(functions, Instance.registerProduct.selector, "registerProduct");
|
116
|
-
_authorize(functions, Instance.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
117
|
-
|
118
|
-
// staking
|
119
|
-
_authorize(functions, Instance.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
120
|
-
_authorize(functions, Instance.setStakingRewardRate.selector, "setStakingRewardRate");
|
121
|
-
_authorize(functions, Instance.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
122
|
-
_authorize(functions, Instance.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
123
|
-
|
124
|
-
// custom authz
|
125
|
-
_authorize(functions, Instance.createRole.selector, "createRole");
|
126
|
-
_authorize(functions, Instance.grantRole.selector, "grantRole");
|
127
|
-
_authorize(functions, Instance.revokeRole.selector, "revokeRole");
|
128
|
-
_authorize(functions, Instance.createTarget.selector, "createTarget");
|
129
|
-
_authorize(functions, Instance.setTargetFunctionRole.selector, "setTargetFunctionRole");
|
130
|
-
|
131
110
|
// authorize instance service role
|
132
111
|
functions = _authorizeForTarget(INSTANCE_TARGET_NAME, getServiceRole(INSTANCE()));
|
133
112
|
_authorize(functions, Instance.setInstanceReader.selector, "setInstanceReader");
|
@@ -139,15 +118,14 @@ contract InstanceAuthorizationV3
|
|
139
118
|
{
|
140
119
|
IAccess.FunctionInfo[] storage functions;
|
141
120
|
|
142
|
-
// authorize
|
143
|
-
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME,
|
144
|
-
_authorize(functions, InstanceAdmin.
|
145
|
-
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
121
|
+
// authorize instance role
|
122
|
+
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getComponentRole(INSTANCE()));
|
123
|
+
_authorize(functions, InstanceAdmin.grantRole.selector, "grantRole");
|
146
124
|
|
147
125
|
// authorize component service role
|
148
126
|
functions = _authorizeForTarget(INSTANCE_ADMIN_TARGET_NAME, getServiceRole(COMPONENT()));
|
149
127
|
_authorize(functions, InstanceAdmin.initializeComponentAuthorization.selector, "initializeComponentAuthoriz");
|
150
|
-
_authorize(functions, InstanceAdmin.
|
128
|
+
_authorize(functions, InstanceAdmin.setTargetLocked.selector, "setTargetLocked");
|
151
129
|
}
|
152
130
|
|
153
131
|
|