@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
@@ -2,7 +2,6 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
5
|
-
import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
|
6
5
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
7
6
|
import {IAccess} from "../authorization/IAccess.sol";
|
8
7
|
import {IService} from "../shared/IService.sol";
|
@@ -39,14 +38,13 @@ contract ReleaseAdmin is
|
|
39
38
|
_;
|
40
39
|
}
|
41
40
|
|
42
|
-
|
43
|
-
constructor
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
/// @dev Only used for master release admin.
|
42
|
+
/// Contracts created via constructor come with disabled initializers.
|
43
|
+
constructor() {
|
44
|
+
initialize(new AccessManagerCloneable());
|
45
|
+
_disableInitializers();
|
47
46
|
}
|
48
47
|
|
49
|
-
|
50
48
|
function completeSetup(
|
51
49
|
address registry,
|
52
50
|
address releaseRegistry,
|
@@ -55,18 +53,11 @@ contract ReleaseAdmin is
|
|
55
53
|
external
|
56
54
|
reinitializer(uint64(release.toInt()))
|
57
55
|
{
|
58
|
-
|
59
|
-
// checks
|
60
|
-
_checkRegistry(registry);
|
61
|
-
|
62
56
|
AccessManagerCloneable(
|
63
57
|
authority()).completeSetup(
|
64
58
|
registry,
|
65
59
|
release);
|
66
60
|
|
67
|
-
// link nft ownability to registry
|
68
|
-
_linkToNftOwnable(registry);
|
69
|
-
|
70
61
|
_setupReleaseRegistry(releaseRegistry);
|
71
62
|
}
|
72
63
|
|
@@ -77,13 +68,13 @@ contract ReleaseAdmin is
|
|
77
68
|
IServiceAuthorization serviceAuthorization,
|
78
69
|
IService service,
|
79
70
|
ObjectType serviceDomain,
|
80
|
-
VersionPart
|
71
|
+
VersionPart releaseVersion
|
81
72
|
)
|
82
73
|
external
|
83
74
|
restricted()
|
84
75
|
{
|
85
|
-
_createServiceTargetAndRole(service, serviceDomain,
|
86
|
-
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain,
|
76
|
+
_createServiceTargetAndRole(service, serviceDomain, releaseVersion);
|
77
|
+
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
|
87
78
|
}
|
88
79
|
|
89
80
|
/// @dev Locks/unlocks all release targets.
|
@@ -118,7 +109,7 @@ contract ReleaseAdmin is
|
|
118
109
|
revert ErrorReleaseAdminNotService(address(service));
|
119
110
|
}
|
120
111
|
|
121
|
-
|
112
|
+
_setTargetClosed(address(service), locked);
|
122
113
|
|
123
114
|
emit LogReleaseAdminServiceLockChanged(service.getRelease(), address(service), locked);
|
124
115
|
}
|
@@ -135,15 +126,16 @@ contract ReleaseAdmin is
|
|
135
126
|
function _createServiceTargetAndRole(
|
136
127
|
IService service,
|
137
128
|
ObjectType serviceDomain,
|
138
|
-
VersionPart
|
129
|
+
VersionPart releaseVersion
|
139
130
|
)
|
140
131
|
private
|
141
132
|
{
|
142
133
|
string memory baseName = ObjectTypeLib.toName(serviceDomain);
|
134
|
+
uint256 versionInt = releaseVersion.toInt();
|
143
135
|
|
144
136
|
// create service target
|
145
137
|
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
146
|
-
baseName, "Service",
|
138
|
+
baseName, "Service", versionInt);
|
147
139
|
|
148
140
|
_createTarget(
|
149
141
|
address(service),
|
@@ -154,19 +146,19 @@ contract ReleaseAdmin is
|
|
154
146
|
// create service role
|
155
147
|
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
156
148
|
serviceDomain,
|
157
|
-
|
149
|
+
releaseVersion);
|
158
150
|
|
159
151
|
if(!roleExists(serviceRoleId)) {
|
160
152
|
_createRole(
|
161
153
|
serviceRoleId,
|
162
|
-
|
154
|
+
toRole({
|
163
155
|
adminRoleId: ADMIN_ROLE(),
|
164
156
|
roleType: RoleType.Contract,
|
165
157
|
maxMemberCount: 1,
|
166
158
|
name: ObjectTypeLib.toVersionedName(
|
167
159
|
baseName,
|
168
160
|
"ServiceRole",
|
169
|
-
|
161
|
+
versionInt)}));
|
170
162
|
}
|
171
163
|
|
172
164
|
_grantRoleToAccount(
|
@@ -179,7 +171,7 @@ contract ReleaseAdmin is
|
|
179
171
|
IServiceAuthorization serviceAuthorization,
|
180
172
|
IService service,
|
181
173
|
ObjectType serviceDomain,
|
182
|
-
VersionPart
|
174
|
+
VersionPart releaseVersion
|
183
175
|
)
|
184
176
|
private
|
185
177
|
{
|
@@ -197,21 +189,21 @@ contract ReleaseAdmin is
|
|
197
189
|
} else {
|
198
190
|
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
199
191
|
authorizedDomain,
|
200
|
-
|
192
|
+
releaseVersion);
|
201
193
|
}
|
202
194
|
|
203
195
|
if(!roleExists(authorizedRoleId)) {
|
204
196
|
// create role for authorized domain
|
205
197
|
_createRole(
|
206
198
|
authorizedRoleId,
|
207
|
-
|
199
|
+
toRole({
|
208
200
|
adminRoleId: ADMIN_ROLE(),
|
209
201
|
roleType: RoleType.Contract,
|
210
202
|
maxMemberCount: 1,
|
211
203
|
name: ObjectTypeLib.toVersionedName(
|
212
204
|
ObjectTypeLib.toName(authorizedDomain),
|
213
205
|
"Role",
|
214
|
-
|
206
|
+
releaseVersion.toInt())}));
|
215
207
|
}
|
216
208
|
|
217
209
|
// get authorized functions for authorized domain
|
@@ -236,7 +228,7 @@ contract ReleaseAdmin is
|
|
236
228
|
|
237
229
|
_createRole(
|
238
230
|
RELEASE_REGISTRY_ROLE(),
|
239
|
-
|
231
|
+
toRole({
|
240
232
|
adminRoleId: ADMIN_ROLE(),
|
241
233
|
roleType: RoleType.Contract,
|
242
234
|
maxMemberCount: 1,
|
@@ -244,8 +236,8 @@ contract ReleaseAdmin is
|
|
244
236
|
|
245
237
|
FunctionInfo[] memory functions;
|
246
238
|
functions = new FunctionInfo[](2);
|
247
|
-
functions[0] =
|
248
|
-
functions[1] =
|
239
|
+
functions[0] = toFunction(ReleaseAdmin.authorizeService.selector, "authorizeService");
|
240
|
+
functions[1] = toFunction(ReleaseAdmin.setServiceLocked.selector, "setServiceLocked");
|
249
241
|
_authorizeTargetFunctions(address(this), RELEASE_REGISTRY_ROLE(), functions);
|
250
242
|
|
251
243
|
_grantRoleToAccount(RELEASE_REGISTRY_ROLE(), releaseRegistry);
|
@@ -4,25 +4,27 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
5
5
|
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
6
6
|
|
7
|
+
import {ContractLib} from "../shared/ContractLib.sol";
|
8
|
+
import {NftId} from "../type/NftId.sol";
|
9
|
+
import {ObjectType, ObjectTypeLib, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
|
10
|
+
import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
11
|
+
import {Seconds} from "../type/Seconds.sol";
|
12
|
+
import {StateId, SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED} from "../type/StateId.sol";
|
13
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
14
|
+
|
15
|
+
import {IService} from "../shared/IService.sol";
|
16
|
+
|
7
17
|
import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
|
8
18
|
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
19
|
+
|
9
20
|
import {IRegistry} from "./IRegistry.sol";
|
10
21
|
import {IRelease} from "./IRelease.sol";
|
11
22
|
import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
|
12
|
-
import {IService} from "../shared/IService.sol";
|
13
23
|
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
14
|
-
|
15
|
-
import {ContractLib} from "../shared/ContractLib.sol";
|
16
|
-
import {NftId} from "../type/NftId.sol";
|
17
|
-
import {ObjectType, ObjectTypeLib, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
|
18
24
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
19
25
|
import {Registry} from "./Registry.sol";
|
20
|
-
import {ReleaseAdmin} from "./ReleaseAdmin.sol";
|
21
26
|
import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
|
22
|
-
import {
|
23
|
-
import {StateId, SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED} from "../type/StateId.sol";
|
24
|
-
import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
|
25
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
27
|
+
import {ReleaseAdmin} from "./ReleaseAdmin.sol";
|
26
28
|
|
27
29
|
/// @dev The ReleaseRegistry manages the lifecycle of major GIF releases and their services.
|
28
30
|
/// The creation of a new GIF release is a multi-step process:
|
@@ -71,7 +73,7 @@ contract ReleaseRegistry is
|
|
71
73
|
error ErrorReleaseRegistryServiceSelfRegistration(IService service);
|
72
74
|
error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
|
73
75
|
|
74
|
-
RegistryAdmin public immutable
|
76
|
+
RegistryAdmin public immutable _admin;
|
75
77
|
Registry public immutable _registry;
|
76
78
|
|
77
79
|
mapping(VersionPart release => IRelease.ReleaseInfo info) internal _releaseInfo;
|
@@ -85,7 +87,6 @@ contract ReleaseRegistry is
|
|
85
87
|
uint256 internal _registeredServices = 0;
|
86
88
|
uint256 internal _servicesToRegister = 0;
|
87
89
|
|
88
|
-
// TODO move master relase admin outside constructor (same construction as for registry admin)
|
89
90
|
constructor(Registry registry)
|
90
91
|
AccessManaged(msg.sender)
|
91
92
|
{
|
@@ -96,9 +97,9 @@ contract ReleaseRegistry is
|
|
96
97
|
setAuthority(registry.getAuthority());
|
97
98
|
|
98
99
|
_registry = registry;
|
99
|
-
|
100
|
-
|
101
|
-
|
100
|
+
_admin = RegistryAdmin(_registry.getRegistryAdminAddress());
|
101
|
+
|
102
|
+
_masterReleaseAdmin = new ReleaseAdmin();
|
102
103
|
|
103
104
|
_next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
|
104
105
|
}
|
@@ -252,16 +253,16 @@ contract ReleaseRegistry is
|
|
252
253
|
revert ErrorReleaseRegistryRegistryServiceMissing(release);
|
253
254
|
}
|
254
255
|
|
255
|
-
|
256
|
+
_admin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
|
256
257
|
|
257
258
|
service = _registry.getServiceAddress(STAKING(), release);
|
258
259
|
if(service != address(0)) {
|
259
|
-
|
260
|
+
_admin.grantServiceRoleForAllVersions(IService(service), STAKING());
|
260
261
|
}
|
261
262
|
|
262
263
|
service = _registry.getServiceAddress(POOL(), release);
|
263
264
|
if(service != address(0)) {
|
264
|
-
|
265
|
+
_admin.grantServiceRoleForAllVersions(IService(service), POOL());
|
265
266
|
}
|
266
267
|
|
267
268
|
_setReleaseLocked(release, false);
|
@@ -349,7 +350,7 @@ contract ReleaseRegistry is
|
|
349
350
|
}
|
350
351
|
|
351
352
|
function getRegistryAdmin() external view returns (address) {
|
352
|
-
return address(
|
353
|
+
return address(_admin);
|
353
354
|
}
|
354
355
|
|
355
356
|
//--- IRegistryLinked ------------------------------------------------------//
|
@@ -367,23 +368,24 @@ contract ReleaseRegistry is
|
|
367
368
|
_releaseInfo[release].releaseAdmin).setReleaseLocked(locked);
|
368
369
|
}
|
369
370
|
|
371
|
+
|
370
372
|
function _cloneNewReleaseAdmin(VersionPart release)
|
371
373
|
private
|
372
374
|
returns (ReleaseAdmin clonedAdmin)
|
373
375
|
{
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
abi.encodePacked(
|
380
|
-
"ReleaseAdmin_v",
|
381
|
-
release.toString()));
|
376
|
+
AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
|
377
|
+
Clones.clone(
|
378
|
+
_masterReleaseAdmin.authority()
|
379
|
+
)
|
380
|
+
);
|
382
381
|
|
383
|
-
clonedAdmin
|
384
|
-
|
385
|
-
|
382
|
+
clonedAdmin = ReleaseAdmin(
|
383
|
+
Clones.clone(
|
384
|
+
address(_masterReleaseAdmin)
|
385
|
+
)
|
386
|
+
);
|
386
387
|
|
388
|
+
clonedAdmin.initialize(clonedAccessManager);
|
387
389
|
clonedAdmin.completeSetup(
|
388
390
|
address(_registry),
|
389
391
|
address(this), // release registry (this contract)
|
@@ -394,14 +396,6 @@ contract ReleaseRegistry is
|
|
394
396
|
}
|
395
397
|
|
396
398
|
|
397
|
-
function _cloneNewAccessManager()
|
398
|
-
private
|
399
|
-
returns (address accessManager)
|
400
|
-
{
|
401
|
-
return Clones.clone(address(_registryAdmin.authority()));
|
402
|
-
}
|
403
|
-
|
404
|
-
|
405
399
|
function _verifyServiceAuthorization(
|
406
400
|
IServiceAuthorization serviceAuthorization,
|
407
401
|
VersionPart releaseVersion,
|
@@ -413,7 +407,7 @@ contract ReleaseRegistry is
|
|
413
407
|
{
|
414
408
|
// authorization contract supports IServiceAuthorization interface
|
415
409
|
if(!serviceAuthorization.supportsInterface(type(IServiceAuthorization).interfaceId)) {
|
416
|
-
|
410
|
+
revert ErrorReleaseRegistryNotServiceAuth(address(serviceAuthorization));
|
417
411
|
}
|
418
412
|
|
419
413
|
// authorizaions contract version matches with release version
|
@@ -7,14 +7,10 @@ import {
|
|
7
7
|
|
8
8
|
import {IAccess} from "../authorization/IAccess.sol";
|
9
9
|
import {IAccountingService} from "../accounting/IAccountingService.sol";
|
10
|
-
import {IApplicationService} from "../product/IApplicationService.sol";
|
11
10
|
import {IBundleService} from "../pool/IBundleService.sol";
|
12
11
|
import {IClaimService} from "../product/IClaimService.sol";
|
13
|
-
import {IComponentService} from "../shared/IComponentService.sol";
|
14
12
|
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
15
13
|
import {IInstanceService} from "../instance/IInstanceService.sol";
|
16
|
-
import {IOracleService} from "../oracle/IOracleService.sol";
|
17
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
18
14
|
import {IPoolService} from "../pool/IPoolService.sol";
|
19
15
|
import {IStakingService} from "../staking/IStakingService.sol";
|
20
16
|
import {IRegistryService} from "./IRegistryService.sol";
|
@@ -66,9 +62,6 @@ contract ServiceAuthorizationV3
|
|
66
62
|
_setupDistributionServiceAuthorization();
|
67
63
|
_setupPoolServiceAuthorization();
|
68
64
|
_setupBundleServiceAuthorization();
|
69
|
-
_setupOracleServiceAuthorization();
|
70
|
-
_setupApplicationServiceAuthorization();
|
71
|
-
_setupPolicyServiceAuthorization();
|
72
65
|
}
|
73
66
|
|
74
67
|
|
@@ -111,7 +104,6 @@ contract ServiceAuthorizationV3
|
|
111
104
|
_authorize(functions, IStakingService.createInstanceTarget.selector, "createInstanceTarget");
|
112
105
|
_authorize(functions, IStakingService.setInstanceLockingPeriod.selector, "setInstanceLockingPeriod");
|
113
106
|
_authorize(functions, IStakingService.setInstanceRewardRate.selector, "setInstanceRewardRate");
|
114
|
-
_authorize(functions, IStakingService.setInstanceMaxStakedAmount.selector, "setInstanceMaxStakedAmount");
|
115
107
|
_authorize(functions, IStakingService.refillInstanceRewardReserves.selector, "refillInstanceRewardReserves");
|
116
108
|
_authorize(functions, IStakingService.withdrawInstanceRewardReserves.selector, "withdrawInstanceRewardReserves");
|
117
109
|
|
@@ -131,16 +123,12 @@ contract ServiceAuthorizationV3
|
|
131
123
|
{
|
132
124
|
IAccess.FunctionInfo[] storage functions;
|
133
125
|
functions = _authorizeForService(INSTANCE(), ALL());
|
134
|
-
_authorize(functions, IInstanceService.setInstanceLocked.selector, "setInstanceLocked");
|
135
|
-
_authorize(functions, IInstanceService.setTargetLocked.selector, "setTargetLocked");
|
136
|
-
|
137
126
|
_authorize(functions, IInstanceService.createInstance.selector, "createInstance");
|
138
127
|
_authorize(functions, IInstanceService.upgradeInstanceReader.selector, "upgradeInstanceReader");
|
139
128
|
_authorize(functions, IInstanceService.upgradeMasterInstanceReader.selector, "upgradeMasterInstanceReader");
|
140
129
|
|
141
130
|
_authorize(functions, IInstanceService.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
|
142
131
|
_authorize(functions, IInstanceService.setStakingRewardRate.selector, "setStakingRewardRate");
|
143
|
-
_authorize(functions, IInstanceService.setStakingMaxAmount.selector, "setStakingMaxAmount");
|
144
132
|
_authorize(functions, IInstanceService.refillStakingRewardReserves.selector, "refillStakingRewardReserves");
|
145
133
|
_authorize(functions, IInstanceService.withdrawStakingRewardReserves.selector, "withdrawStakingRewardReserves");
|
146
134
|
}
|
@@ -155,6 +143,9 @@ contract ServiceAuthorizationV3
|
|
155
143
|
_authorize(functions, IAccountingService.increaseBundleBalance.selector, "increaseBundleBalance");
|
156
144
|
_authorize(functions, IAccountingService.decreaseBundleBalance.selector, "decreaseBundleBalance");
|
157
145
|
|
146
|
+
functions = _authorizeForService(ACCOUNTING(), POOL());
|
147
|
+
_authorize(functions, IAccountingService.decreaseBundleBalanceForPool.selector, "decreaseBundleBalanceForPool");
|
148
|
+
|
158
149
|
functions = _authorizeForService(ACCOUNTING(), COMPONENT());
|
159
150
|
_authorize(functions, IAccountingService.decreaseComponentFees.selector, "decreaseComponentFees");
|
160
151
|
|
@@ -180,19 +171,6 @@ contract ServiceAuthorizationV3
|
|
180
171
|
function _setupComponentServiceAuthorization()
|
181
172
|
internal
|
182
173
|
{
|
183
|
-
IAccess.FunctionInfo[] storage functions;
|
184
|
-
|
185
|
-
functions = _authorizeForService(COMPONENT(), ALL());
|
186
|
-
_authorize(functions, IComponentService.registerComponent.selector, "registerComponent");
|
187
|
-
_authorize(functions, IComponentService.approveTokenHandler.selector, "approveTokenHandler");
|
188
|
-
_authorize(functions, IComponentService.setWallet.selector, "setWallet");
|
189
|
-
_authorize(functions, IComponentService.setLocked.selector, "setLocked");
|
190
|
-
_authorize(functions, IComponentService.withdrawFees.selector, "withdrawFees");
|
191
|
-
_authorize(functions, IComponentService.registerProduct.selector, "registerProduct");
|
192
|
-
_authorize(functions, IComponentService.setProductFees.selector, "setProductFees");
|
193
|
-
_authorize(functions, IComponentService.setDistributionFees.selector, "setDistributionFees");
|
194
|
-
_authorize(functions, IComponentService.setPoolFees.selector, "setPoolFees");
|
195
|
-
|
196
174
|
}
|
197
175
|
|
198
176
|
/// @dev Distribution service function authorization.
|
@@ -213,14 +191,6 @@ contract ServiceAuthorizationV3
|
|
213
191
|
IAccess.FunctionInfo[] storage functions;
|
214
192
|
functions = _authorizeForService(CLAIM(), ALL());
|
215
193
|
_authorize(functions, IClaimService.submit.selector, "submit");
|
216
|
-
_authorize(functions, IClaimService.confirm.selector, "confirm");
|
217
|
-
_authorize(functions, IClaimService.decline.selector, "decline");
|
218
|
-
_authorize(functions, IClaimService.revoke.selector, "revoke");
|
219
|
-
_authorize(functions, IClaimService.close.selector, "close");
|
220
|
-
_authorize(functions, IClaimService.createPayoutForBeneficiary.selector, "createPayoutForBeneficiary");
|
221
|
-
_authorize(functions, IClaimService.createPayout.selector, "createPayout");
|
222
|
-
_authorize(functions, IClaimService.processPayout.selector, "processPayout");
|
223
|
-
_authorize(functions, IClaimService.cancelPayout.selector, "cancelPayout");
|
224
194
|
}
|
225
195
|
|
226
196
|
/// @dev Distribution service function authorization.
|
@@ -231,13 +201,6 @@ contract ServiceAuthorizationV3
|
|
231
201
|
functions = _authorizeForService(DISTRIBUTION(), POLICY());
|
232
202
|
_authorize(functions, IDistributionService.processSale.selector, "processSale");
|
233
203
|
_authorize(functions, IDistributionService.processReferral.selector, "processReferral");
|
234
|
-
|
235
|
-
functions = _authorizeForService(DISTRIBUTION(), ALL());
|
236
|
-
_authorize(functions, IDistributionService.createDistributorType.selector, "createDistributorType");
|
237
|
-
_authorize(functions, IDistributionService.createDistributor.selector, "createDistributor");
|
238
|
-
_authorize(functions, IDistributionService.changeDistributorType.selector, "changeDistributorType");
|
239
|
-
_authorize(functions, IDistributionService.createReferral.selector, "createReferral");
|
240
|
-
_authorize(functions, IDistributionService.withdrawCommission.selector, "withdrawCommission");
|
241
204
|
}
|
242
205
|
|
243
206
|
|
@@ -256,13 +219,6 @@ contract ServiceAuthorizationV3
|
|
256
219
|
_authorize(functions, IPoolService.processPayout.selector, "processPayout");
|
257
220
|
|
258
221
|
functions = _authorizeForService(POOL(), ALL());
|
259
|
-
_authorize(functions, IPoolService.setMaxBalanceAmount.selector, "setMaxBalanceAmount");
|
260
|
-
_authorize(functions, IPoolService.closeBundle.selector, "closeBundle");
|
261
|
-
_authorize(functions, IPoolService.processFundedClaim.selector, "processFundedClaim");
|
262
|
-
_authorize(functions, IPoolService.stake.selector, "stake");
|
263
|
-
_authorize(functions, IPoolService.unstake.selector, "unstake");
|
264
|
-
_authorize(functions, IPoolService.fundPoolWallet.selector, "fundPoolWallet");
|
265
|
-
_authorize(functions, IPoolService.defundPoolWallet.selector, "defundPoolWallet");
|
266
222
|
_authorize(functions, IPoolService.withdrawBundleFees.selector, "withdrawBundleFees");
|
267
223
|
}
|
268
224
|
|
@@ -287,46 +243,5 @@ contract ServiceAuthorizationV3
|
|
287
243
|
_authorize(functions, IBundleService.unlock.selector, "unlock");
|
288
244
|
_authorize(functions, IBundleService.setFee.selector, "setFee");
|
289
245
|
}
|
290
|
-
|
291
|
-
function _setupOracleServiceAuthorization()
|
292
|
-
internal
|
293
|
-
{
|
294
|
-
IAccess.FunctionInfo[] storage functions;
|
295
|
-
|
296
|
-
functions = _authorizeForService(ORACLE(), ALL());
|
297
|
-
_authorize(functions, IOracleService.request.selector, "request");
|
298
|
-
_authorize(functions, IOracleService.respond.selector, "respond");
|
299
|
-
_authorize(functions, IOracleService.resend.selector, "resend");
|
300
|
-
_authorize(functions, IOracleService.cancel.selector, "cancel");
|
301
|
-
}
|
302
|
-
|
303
|
-
function _setupApplicationServiceAuthorization()
|
304
|
-
internal
|
305
|
-
{
|
306
|
-
IAccess.FunctionInfo[] storage functions;
|
307
|
-
|
308
|
-
functions = _authorizeForService(APPLICATION(), ALL());
|
309
|
-
_authorize(functions, IApplicationService.create.selector, "create");
|
310
|
-
_authorize(functions, IApplicationService.renew.selector, "renew");
|
311
|
-
_authorize(functions, IApplicationService.adjust.selector, "adjust");
|
312
|
-
_authorize(functions, IApplicationService.revoke.selector, "revoke");
|
313
|
-
}
|
314
|
-
|
315
|
-
function _setupPolicyServiceAuthorization()
|
316
|
-
internal
|
317
|
-
{
|
318
|
-
IAccess.FunctionInfo[] storage functions;
|
319
|
-
|
320
|
-
functions = _authorizeForService(POLICY(), ALL());
|
321
|
-
_authorize(functions, IPolicyService.decline.selector, "decline");
|
322
|
-
_authorize(functions, IPolicyService.createPolicy.selector, "createPolicy");
|
323
|
-
_authorize(functions, IPolicyService.collectPremium.selector, "collectPremium");
|
324
|
-
_authorize(functions, IPolicyService.activate.selector, "activate");
|
325
|
-
_authorize(functions, IPolicyService.adjustActivation.selector, "adjustActivation");
|
326
|
-
_authorize(functions, IPolicyService.expire.selector, "expire");
|
327
|
-
_authorize(functions, IPolicyService.expirePolicy.selector, "expirePolicy");
|
328
|
-
_authorize(functions, IPolicyService.close.selector, "close");
|
329
|
-
|
330
|
-
}
|
331
246
|
}
|
332
247
|
|
@@ -4,13 +4,14 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
6
|
|
7
|
-
import {Amount} from "../type/Amount.sol";
|
8
|
-
import {ContractLib} from "./ContractLib.sol";
|
9
7
|
import {IComponent} from "./IComponent.sol";
|
10
8
|
import {IComponents} from "../instance/module/IComponents.sol";
|
11
9
|
import {IComponentService} from "./IComponentService.sol";
|
12
10
|
import {IRegistry} from "../registry/IRegistry.sol";
|
13
11
|
import {IRelease} from "../registry/IRelease.sol";
|
12
|
+
|
13
|
+
import {Amount, AmountLib} from "../type/Amount.sol";
|
14
|
+
import {ContractLib} from "./ContractLib.sol";
|
14
15
|
import {NftId} from "../type/NftId.sol";
|
15
16
|
import {ObjectType, COMPONENT, STAKING} from "../type/ObjectType.sol";
|
16
17
|
import {Registerable} from "../shared/Registerable.sol";
|
@@ -110,7 +111,7 @@ abstract contract Component is
|
|
110
111
|
/// override internal function _nftTransferFrom to implement custom behaviour
|
111
112
|
function nftTransferFrom(address from, address to, uint256 tokenId, address operator)
|
112
113
|
external
|
113
|
-
onlyChainNft
|
114
|
+
onlyChainNft()
|
114
115
|
{
|
115
116
|
_nftTransferFrom(from, to, tokenId, operator);
|
116
117
|
}
|
@@ -186,8 +187,7 @@ abstract contract Component is
|
|
186
187
|
{ }
|
187
188
|
|
188
189
|
|
189
|
-
/// @dev
|
190
|
-
/// Depending on the source of the component information this function needs to be overwritten.
|
190
|
+
/// @dev depending on the source of the component information this function needs to be overwritten.
|
191
191
|
/// eg for instance linked components that externally store this information with the instance store contract
|
192
192
|
function _setWallet(
|
193
193
|
address newWallet
|
@@ -202,7 +202,7 @@ abstract contract Component is
|
|
202
202
|
internal
|
203
203
|
virtual
|
204
204
|
{
|
205
|
-
_getComponentStorage()._componentService.
|
205
|
+
_getComponentStorage()._componentService.setLockedFromComponent(address(this), locked);
|
206
206
|
}
|
207
207
|
|
208
208
|
|