@etherisc/gif-next 0.0.2-de9ede4-391 → 0.0.2-df69269-973
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/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +65 -58
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +20 -22
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +27 -3
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +103 -55
- 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 +233 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +115 -21
- 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 +37 -5
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +42 -13
- 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 +77 -47
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +90 -33
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +51 -21
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +117 -110
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -48
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +38 -8
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +27 -3
- 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 +76 -42
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +233 -184
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +90 -33
- 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 +104 -54
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +90 -33
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -45
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +98 -48
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +93 -40
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +262 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +90 -33
- 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 +54 -21
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +53 -3
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +80 -40
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +289 -92
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +97 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +81 -195
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +65 -58
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +20 -22
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +40 -268
- 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/module/IAccess.sol/IAccess.dbg.json +1 -1
- 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 +68 -38
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +92 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +38 -8
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +52 -22
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +75 -68
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +25 -27
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -21
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +93 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +101 -94
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +38 -40
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +27 -3
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +38 -8
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +27 -3
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +51 -21
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +85 -78
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +30 -32
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +57 -50
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +16 -18
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +157 -112
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +90 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +249 -150
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +57 -55
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +27 -3
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +143 -3
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +27 -3
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +144 -99
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +95 -88
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +35 -37
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +85 -78
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -33
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +157 -112
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +76 -77
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +25 -19
- 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/IRegistry.sol/IRegistry.json +7 -2
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +45 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +176 -214
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -44
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +11 -13
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
- 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 +307 -49
- 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 +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +51 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +113 -90
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -38
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +57 -4
- 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 +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -8
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -3
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +38 -8
- 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/IRegisterable.sol/IRegisterable.json +120 -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/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +51 -21
- 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/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +3 -3
- 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 +38 -8
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +27 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +90 -57
- 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 +27 -19
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +59 -52
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +17 -19
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +22 -22
- 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 +2 -2
- 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 +23 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- 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/Timestamp.sol/TimestampLib.json +2 -2
- 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 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
- 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 -4
- package/contracts/accounting/AccountingServiceManager.sol +1 -1
- package/contracts/authorization/AccessAdmin.sol +115 -71
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +268 -227
- package/contracts/authorization/IAccessAdmin.sol +6 -3
- package/contracts/authorization/IAuthorization.sol +7 -1
- package/contracts/distribution/BasicDistributionAuthorization.sol +9 -8
- package/contracts/distribution/DistributionService.sol +6 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
- package/contracts/examples/fire/FireProduct.sol +3 -1
- package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +18 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +0 -1
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +17 -9
- package/contracts/instance/InstanceAdmin.sol +227 -53
- package/contracts/instance/InstanceAuthorizationV3.sol +14 -8
- package/contracts/instance/InstanceReader.sol +6 -6
- package/contracts/instance/InstanceService.sol +41 -29
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +1 -0
- package/contracts/instance/RiskSet.sol +7 -9
- package/contracts/instance/base/ObjectLifecycle.sol +2 -1
- package/contracts/instance/module/IComponents.sol +0 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +11 -10
- package/contracts/oracle/Oracle.sol +1 -1
- package/contracts/oracle/OracleService.sol +16 -15
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPoolAuthorization.sol +10 -9
- package/contracts/pool/BundleService.sol +3 -3
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/PoolService.sol +4 -4
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +3 -3
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -0
- package/contracts/product/BasicProductAuthorization.sol +10 -9
- package/contracts/product/ClaimService.sol +144 -50
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IClaimService.sol +13 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +3 -3
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +23 -19
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +36 -0
- package/contracts/product/RiskService.sol +65 -21
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +6 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +3 -2
- package/contracts/registry/RegistryAdmin.sol +117 -230
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +124 -99
- package/contracts/registry/ServiceAuthorizationV3.sol +36 -1
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +24 -17
- package/contracts/shared/ComponentService.sol +63 -51
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ContractLib.sol +29 -1
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/NftOwnable.sol +4 -4
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +45 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +8 -27
- package/contracts/shared/TokenHandler.sol +2 -2
- package/contracts/staking/Staking.sol +23 -12
- package/contracts/staking/StakingService.sol +2 -3
- package/contracts/type/ObjectType.sol +41 -27
- package/contracts/type/RiskId.sol +5 -0
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/Version.sol +15 -5
- package/contracts/upgradeability/ProxyManager.sol +1 -1
- package/package.json +1 -1
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {AccessAdmin} from "../authorization/AccessAdmin.sol";
|
5
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
5
6
|
import {IAccess} from "../authorization/IAccess.sol";
|
6
7
|
import {IRegistry} from "./IRegistry.sol";
|
7
8
|
import {IService} from "../shared/IService.sol";
|
@@ -14,11 +15,12 @@ import {Staking} from "../staking/Staking.sol";
|
|
14
15
|
import {StakingStore} from "../staking/StakingStore.sol";
|
15
16
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
17
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
17
|
-
import {VersionPart} from "../type/Version.sol";
|
18
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
19
|
|
19
20
|
/*
|
20
21
|
1) GIF_MANAGER_ROLE
|
21
22
|
- can have arbitrary number of members
|
23
|
+
- responsible for release preparation
|
22
24
|
- responsible for services registrations
|
23
25
|
- responsible for token registration and activation
|
24
26
|
|
@@ -26,29 +28,37 @@ import {VersionPart} from "../type/Version.sol";
|
|
26
28
|
- admin of GIF_MANAGER_ROLE
|
27
29
|
- MUST have 1 member at any time
|
28
30
|
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
29
|
-
- responsible for creation and
|
31
|
+
- responsible for creation, activation and locking/unlocking of releases
|
30
32
|
*/
|
33
|
+
|
34
|
+
/// @dev The RegistryAdmin contract implements the central authorization for the GIF core contracts.
|
35
|
+
/// These are the release independent registry and staking contracts and their respective helper contracts.
|
36
|
+
/// The RegistryAdmin also manages the access from service contracts to the GIF core contracts
|
31
37
|
contract RegistryAdmin is
|
32
38
|
AccessAdmin
|
33
39
|
{
|
40
|
+
/// @dev gif core roles
|
34
41
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
35
42
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
36
|
-
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
37
43
|
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
44
|
+
string public constant STAKING_ROLE_NAME = "StakingRole";
|
45
|
+
|
46
|
+
/// @dev gif roles for external contracts
|
38
47
|
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
48
|
+
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
39
49
|
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
40
|
-
string public constant STAKING_ROLE_NAME = "StakingRole";
|
41
50
|
|
51
|
+
/// @dev gif core targets
|
52
|
+
string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
|
42
53
|
string public constant REGISTRY_TARGET_NAME = "Registry";
|
43
54
|
string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
|
44
|
-
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
45
55
|
string public constant STAKING_TARGET_NAME = "Staking";
|
46
56
|
string public constant STAKING_TH_TARGET_NAME = "StakingTH";
|
47
57
|
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
58
|
+
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
59
|
+
string public constant TOKEN_HANDLER_TARGET_NAME = "TokenHandler";
|
48
60
|
|
49
61
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
50
|
-
// TODO consider deleting this
|
51
|
-
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
52
62
|
|
53
63
|
address internal _registry;
|
54
64
|
address private _releaseRegistry;
|
@@ -56,17 +66,26 @@ contract RegistryAdmin is
|
|
56
66
|
address private _staking;
|
57
67
|
address private _stakingStore;
|
58
68
|
|
59
|
-
constructor()
|
69
|
+
constructor() {
|
70
|
+
initialize(new AccessManagerCloneable());
|
71
|
+
}
|
60
72
|
|
61
73
|
function completeSetup(
|
62
74
|
IRegistry registry,
|
63
75
|
address gifAdmin,
|
64
76
|
address gifManager
|
65
77
|
)
|
66
|
-
|
67
|
-
|
78
|
+
public
|
79
|
+
virtual
|
80
|
+
reinitializer(type(uint8).max)
|
68
81
|
onlyDeployer()
|
69
82
|
{
|
83
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
84
|
+
accessManager.completeSetup(
|
85
|
+
address(registry),
|
86
|
+
VersionPartLib.toVersionPart(type(uint8).max),
|
87
|
+
false);
|
88
|
+
|
70
89
|
_registry = address(registry);
|
71
90
|
_releaseRegistry = registry.getReleaseRegistryAddress();
|
72
91
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
@@ -74,48 +93,22 @@ contract RegistryAdmin is
|
|
74
93
|
_stakingStore = address(
|
75
94
|
IStaking(_staking).getStakingStore());
|
76
95
|
|
77
|
-
|
78
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
96
|
+
_createTargets();
|
79
97
|
|
80
98
|
_setupGifAdminRole(gifAdmin);
|
81
99
|
_setupGifManagerRole(gifManager);
|
82
100
|
|
83
|
-
|
84
|
-
|
85
|
-
_setupStaking();
|
101
|
+
_setupRegistryRoles();
|
102
|
+
_setupStakingRoles();
|
86
103
|
}
|
87
104
|
|
88
|
-
|
89
|
-
/// @dev Sets up authorizaion for specified service.
|
90
|
-
/// For all authorized services its authorized functions are enabled.
|
91
|
-
/// Permissioned function: Access is restricted to release manager.
|
92
|
-
function authorizeService(
|
93
|
-
IServiceAuthorization serviceAuthorization,
|
94
|
-
IService service,
|
95
|
-
ObjectType serviceDomain,
|
96
|
-
VersionPart releaseVersion
|
97
|
-
)
|
98
|
-
external
|
99
|
-
restricted()
|
100
|
-
{
|
101
|
-
_createServiceTargetAndRole(service, serviceDomain, releaseVersion);
|
102
|
-
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
|
103
|
-
}
|
104
|
-
|
105
|
-
function grantServiceRole(
|
106
|
-
IService service,
|
107
|
-
ObjectType domain,
|
108
|
-
VersionPart version
|
109
|
-
)
|
105
|
+
/*function transferAdmin(address to)
|
110
106
|
external
|
111
|
-
restricted
|
107
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
112
108
|
{
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
version),
|
117
|
-
address(service));
|
118
|
-
}
|
109
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
110
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
111
|
+
}*/
|
119
112
|
|
120
113
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
121
114
|
external
|
@@ -126,21 +119,6 @@ contract RegistryAdmin is
|
|
126
119
|
address(service));
|
127
120
|
}
|
128
121
|
|
129
|
-
function setServiceLocked(IService service, bool locked)
|
130
|
-
external
|
131
|
-
restricted()
|
132
|
-
{
|
133
|
-
_setTargetClosed(address(service), locked);
|
134
|
-
}
|
135
|
-
|
136
|
-
/*function transferAdmin(address to)
|
137
|
-
external
|
138
|
-
restricted // only with GIF_ADMIN_ROLE or nft owner
|
139
|
-
{
|
140
|
-
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
141
|
-
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
142
|
-
}*/
|
143
|
-
|
144
122
|
//--- view functions ----------------------------------------------------//
|
145
123
|
|
146
124
|
function getGifAdminRole() external view returns (RoleId) {
|
@@ -151,96 +129,29 @@ contract RegistryAdmin is
|
|
151
129
|
return GIF_MANAGER_ROLE();
|
152
130
|
}
|
153
131
|
|
154
|
-
//--- private functions
|
132
|
+
//--- private initialization functions -------------------------------------------//
|
155
133
|
|
156
|
-
function
|
157
|
-
|
158
|
-
|
159
|
-
VersionPart releaseVersion
|
160
|
-
)
|
161
|
-
private
|
134
|
+
function _createTargets()
|
135
|
+
private
|
136
|
+
onlyInitializing()
|
162
137
|
{
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
// create service target
|
167
|
-
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
168
|
-
baseName, "Service", versionInt);
|
169
|
-
|
170
|
-
_createTarget(
|
171
|
-
address(service),
|
172
|
-
serviceTargetName,
|
173
|
-
true,
|
174
|
-
false);
|
175
|
-
|
176
|
-
_setTargetClosed(address(service), true);
|
177
|
-
|
178
|
-
// create service role
|
179
|
-
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
180
|
-
serviceDomain,
|
181
|
-
releaseVersion);
|
182
|
-
|
183
|
-
_createRole(
|
184
|
-
serviceRoleId,
|
185
|
-
toRole({
|
186
|
-
adminRoleId: ADMIN_ROLE(),
|
187
|
-
roleType: RoleType.Contract,
|
188
|
-
maxMemberCount: 1,
|
189
|
-
name: ObjectTypeLib.toVersionedName(
|
190
|
-
baseName,
|
191
|
-
"ServiceRole",
|
192
|
-
versionInt)}));
|
193
|
-
|
194
|
-
_grantRoleToAccount(
|
195
|
-
serviceRoleId,
|
196
|
-
address(service));
|
197
|
-
}
|
198
|
-
|
138
|
+
IStaking staking = IStaking(_staking);
|
139
|
+
address tokenHandler = address(staking.getTokenHandler());
|
199
140
|
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
{
|
208
|
-
ObjectType authorizedDomain;
|
209
|
-
RoleId authorizedRoleId;
|
210
|
-
|
211
|
-
ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
|
212
|
-
|
213
|
-
for (uint256 i = 0; i < authorizedDomains.length; i++) {
|
214
|
-
authorizedDomain = authorizedDomains[i];
|
215
|
-
|
216
|
-
// derive authorized role from authorized domain
|
217
|
-
if (authorizedDomain == ALL()) {
|
218
|
-
authorizedRoleId = PUBLIC_ROLE();
|
219
|
-
} else {
|
220
|
-
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
221
|
-
authorizedDomain,
|
222
|
-
releaseVersion);
|
223
|
-
}
|
224
|
-
|
225
|
-
// get authorized functions for authorized domain
|
226
|
-
IAccess.FunctionInfo[] memory authorizatedFunctions = serviceAuthorization.getAuthorizedFunctions(
|
227
|
-
serviceDomain,
|
228
|
-
authorizedDomain);
|
229
|
-
|
230
|
-
_authorizeTargetFunctions(
|
231
|
-
address(service),
|
232
|
-
authorizedRoleId,
|
233
|
-
authorizatedFunctions);
|
234
|
-
}
|
141
|
+
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
|
142
|
+
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
143
|
+
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
144
|
+
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
145
|
+
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
146
|
+
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
147
|
+
_createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
|
235
148
|
}
|
236
149
|
|
237
|
-
//--- private initialization functions -------------------------------------------//
|
238
|
-
|
239
150
|
function _setupGifAdminRole(address gifAdmin)
|
240
151
|
private
|
241
152
|
onlyInitializing()
|
242
153
|
{
|
243
|
-
|
154
|
+
// create gif admin role
|
244
155
|
_createRole(
|
245
156
|
GIF_ADMIN_ROLE(),
|
246
157
|
toRole({
|
@@ -249,18 +160,17 @@ contract RegistryAdmin is
|
|
249
160
|
maxMemberCount: 2, // TODO decide on max member count
|
250
161
|
name: GIF_ADMIN_ROLE_NAME}));
|
251
162
|
|
252
|
-
// for
|
163
|
+
// grant permissions to the gif admin role for registry contract
|
253
164
|
FunctionInfo[] memory functions;
|
254
165
|
functions = new FunctionInfo[](1);
|
255
166
|
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
256
167
|
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
257
168
|
|
258
|
-
// for
|
259
|
-
functions = new FunctionInfo[](
|
169
|
+
// grant permissions to the gif admin role for release registry contract
|
170
|
+
functions = new FunctionInfo[](3);
|
260
171
|
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
261
172
|
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
262
|
-
functions[2] = toFunction(ReleaseRegistry.
|
263
|
-
functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
|
173
|
+
functions[2] = toFunction(ReleaseRegistry.setActive.selector, "setActive");
|
264
174
|
_authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
|
265
175
|
|
266
176
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
@@ -270,16 +180,16 @@ contract RegistryAdmin is
|
|
270
180
|
private
|
271
181
|
onlyInitializing()
|
272
182
|
{
|
273
|
-
|
183
|
+
// create gif manager role
|
274
184
|
_createRole(
|
275
185
|
GIF_MANAGER_ROLE(),
|
276
186
|
toRole({
|
277
187
|
adminRoleId: ADMIN_ROLE(),
|
278
188
|
roleType: RoleType.Gif,
|
279
|
-
maxMemberCount: 1,
|
189
|
+
maxMemberCount: 1, // TODO decide on max member count
|
280
190
|
name: GIF_MANAGER_ROLE_NAME}));
|
281
191
|
|
282
|
-
// for
|
192
|
+
// grant permissions to the gif manager role for token registry contract
|
283
193
|
FunctionInfo[] memory functions;
|
284
194
|
functions = new FunctionInfo[](5);
|
285
195
|
functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
|
@@ -290,7 +200,7 @@ contract RegistryAdmin is
|
|
290
200
|
functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
|
291
201
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
292
202
|
|
293
|
-
// for
|
203
|
+
// grant permissions to the gif manager role for release registry contract
|
294
204
|
functions = new FunctionInfo[](2);
|
295
205
|
functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
|
296
206
|
functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
|
@@ -299,14 +209,12 @@ contract RegistryAdmin is
|
|
299
209
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
300
210
|
}
|
301
211
|
|
302
|
-
|
303
|
-
|
304
|
-
private
|
212
|
+
function _setupRegistryRoles()
|
213
|
+
private
|
305
214
|
onlyInitializing()
|
306
215
|
{
|
307
|
-
|
308
|
-
|
309
|
-
|
216
|
+
// TODO use RELEASE_REGISTRY_ROLE instead
|
217
|
+
// create and grant release registry role
|
310
218
|
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
311
219
|
_createRole(
|
312
220
|
releaseRegistryRoleId,
|
@@ -315,27 +223,20 @@ contract RegistryAdmin is
|
|
315
223
|
roleType: RoleType.Contract,
|
316
224
|
maxMemberCount: 1,
|
317
225
|
name: RELEASE_REGISTRY_ROLE_NAME}));
|
226
|
+
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
318
227
|
|
228
|
+
// grant permissions to the release registry role for release admin contract
|
319
229
|
FunctionInfo[] memory functions;
|
320
|
-
functions = new FunctionInfo[](
|
321
|
-
functions[0] = toFunction(RegistryAdmin.
|
322
|
-
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
323
|
-
functions[2] = toFunction(RegistryAdmin.grantServiceRole.selector, "grantServiceRole");
|
324
|
-
functions[3] = toFunction(RegistryAdmin.setServiceLocked.selector, "setServiceLocked");
|
230
|
+
functions = new FunctionInfo[](1);
|
231
|
+
functions[0] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
325
232
|
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
326
233
|
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
function _setupRegistry()
|
332
|
-
internal
|
333
|
-
virtual
|
334
|
-
onlyInitializing()
|
335
|
-
{
|
336
|
-
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
234
|
+
// grant permissions to the release registry role for registry contract
|
235
|
+
functions = new FunctionInfo[](1);
|
236
|
+
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
237
|
+
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
337
238
|
|
338
|
-
//
|
239
|
+
// create registry service role
|
339
240
|
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
340
241
|
_createRole(
|
341
242
|
registryServiceRoleId,
|
@@ -345,36 +246,56 @@ contract RegistryAdmin is
|
|
345
246
|
maxMemberCount: MAX_NUM_RELEASES,
|
346
247
|
name: REGISTRY_SERVICE_ROLE_NAME}));
|
347
248
|
|
348
|
-
//
|
349
|
-
FunctionInfo[] memory functions;
|
249
|
+
// grant permissions to the registry service role for registry contract
|
350
250
|
functions = new FunctionInfo[](2);
|
351
251
|
functions[0] = toFunction(IRegistry.register.selector, "register");
|
352
252
|
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
353
253
|
_authorizeTargetFunctions(_registry, registryServiceRoleId, functions);
|
354
|
-
|
355
|
-
// authorize release registry
|
356
|
-
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
357
|
-
functions = new FunctionInfo[](1);
|
358
|
-
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
359
|
-
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
360
254
|
}
|
361
255
|
|
362
256
|
|
363
|
-
function
|
257
|
+
function _setupStakingRoles()
|
364
258
|
private
|
365
259
|
onlyInitializing()
|
366
260
|
{
|
367
|
-
|
368
|
-
|
369
|
-
|
261
|
+
// create and grant staking contract role
|
262
|
+
RoleId stakingRoleId = RoleIdLib.roleForType(STAKING());
|
263
|
+
_createRole(
|
264
|
+
stakingRoleId,
|
265
|
+
toRole({
|
266
|
+
adminRoleId: ADMIN_ROLE(),
|
267
|
+
roleType: RoleType.Contract,
|
268
|
+
maxMemberCount: 1,
|
269
|
+
name: STAKING_ROLE_NAME}));
|
270
|
+
_grantRoleToAccount(stakingRoleId, _staking);
|
370
271
|
|
371
|
-
// staking
|
272
|
+
// grant permissions to the staking role for staking store contract
|
372
273
|
FunctionInfo[] memory functions;
|
373
|
-
functions = new FunctionInfo[](
|
374
|
-
functions[0] = toFunction(
|
375
|
-
|
274
|
+
functions = new FunctionInfo[](14);
|
275
|
+
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
276
|
+
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
277
|
+
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
278
|
+
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
279
|
+
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
280
|
+
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
281
|
+
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
282
|
+
functions[7] = toFunction(StakingStore.create.selector, "create");
|
283
|
+
functions[8] = toFunction(StakingStore.update.selector, "update");
|
284
|
+
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
285
|
+
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
286
|
+
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
287
|
+
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
288
|
+
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
289
|
+
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
290
|
+
|
291
|
+
// grant permissions to the staking role for token handler contract
|
292
|
+
IStaking staking = IStaking(_staking);
|
293
|
+
functions = new FunctionInfo[](2);
|
294
|
+
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
295
|
+
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
296
|
+
_authorizeTargetFunctions(address(staking.getTokenHandler()), stakingRoleId, functions);
|
376
297
|
|
377
|
-
//
|
298
|
+
// create staking service role
|
378
299
|
RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
|
379
300
|
_createRole(
|
380
301
|
stakingServiceRoleId,
|
@@ -384,7 +305,8 @@ contract RegistryAdmin is
|
|
384
305
|
maxMemberCount: MAX_NUM_RELEASES,
|
385
306
|
name: STAKING_SERVICE_ROLE_NAME}));
|
386
307
|
|
387
|
-
|
308
|
+
// grant permissions to the staking service role for staking contract
|
309
|
+
functions = new FunctionInfo[](11);
|
388
310
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
389
311
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
390
312
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -397,19 +319,8 @@ contract RegistryAdmin is
|
|
397
319
|
functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
|
398
320
|
functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
|
399
321
|
_authorizeTargetFunctions(_staking, stakingServiceRoleId, functions);
|
400
|
-
|
401
|
-
// grant token handler authorizations
|
402
|
-
IStaking staking = IStaking(_staking);
|
403
|
-
functions = new FunctionInfo[](2);
|
404
|
-
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
405
|
-
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
406
|
-
|
407
|
-
_authorizeTargetFunctions(
|
408
|
-
address(staking.getTokenHandler()),
|
409
|
-
stakingServiceRoleId,
|
410
|
-
functions);
|
411
322
|
|
412
|
-
//
|
323
|
+
// create pool service role
|
413
324
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
414
325
|
_createRole(
|
415
326
|
poolServiceRoleId,
|
@@ -419,39 +330,15 @@ contract RegistryAdmin is
|
|
419
330
|
maxMemberCount: MAX_NUM_RELEASES,
|
420
331
|
name: POOL_SERVICE_ROLE_NAME}));
|
421
332
|
|
422
|
-
// staking
|
333
|
+
// grant permissions to the pool service role for staking contract
|
423
334
|
functions = new FunctionInfo[](2);
|
424
335
|
functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
425
336
|
functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
426
337
|
_authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
|
427
338
|
|
428
|
-
//
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
toRole({
|
433
|
-
adminRoleId: ADMIN_ROLE(),
|
434
|
-
roleType: RoleType.Contract,
|
435
|
-
maxMemberCount: 1,
|
436
|
-
name: STAKING_ROLE_NAME}));
|
437
|
-
|
438
|
-
functions = new FunctionInfo[](14);
|
439
|
-
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
440
|
-
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
441
|
-
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
442
|
-
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
443
|
-
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
444
|
-
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
445
|
-
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
446
|
-
functions[7] = toFunction(StakingStore.create.selector, "create");
|
447
|
-
functions[8] = toFunction(StakingStore.update.selector, "update");
|
448
|
-
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
449
|
-
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
450
|
-
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
451
|
-
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
452
|
-
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
453
|
-
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
454
|
-
|
455
|
-
_grantRoleToAccount(stakingRoleId, _staking);
|
339
|
+
// grant permissions to public role for staking contract
|
340
|
+
functions = new FunctionInfo[](1);
|
341
|
+
functions[0] = toFunction(Staking.approveTokenHandler.selector, "approveTokenHandler");
|
342
|
+
_authorizeTargetFunctions(_staking, PUBLIC_ROLE(), functions);
|
456
343
|
}
|
457
344
|
}
|
@@ -33,11 +33,11 @@ contract RegistryService is
|
|
33
33
|
initializer()
|
34
34
|
{
|
35
35
|
(
|
36
|
-
address
|
37
|
-
address
|
36
|
+
address authority,
|
37
|
+
address registry
|
38
38
|
) = abi.decode(data, (address, address));
|
39
39
|
|
40
|
-
|
40
|
+
__Service_init(authority, registry, owner);
|
41
41
|
_registerInterface(type(IRegistryService).interfaceId);
|
42
42
|
}
|
43
43
|
|
@@ -31,7 +31,7 @@ contract RegistryServiceManager is
|
|
31
31
|
}
|
32
32
|
|
33
33
|
RegistryService srv = new RegistryService{ salt: salt }();
|
34
|
-
bytes memory data = abi.encode(
|
34
|
+
bytes memory data = abi.encode(authority, registry);
|
35
35
|
IVersionable versionable = initialize(
|
36
36
|
registry,
|
37
37
|
address(srv),
|