@etherisc/gif-next 0.0.2-de9ede4-391 → 0.0.2-deb924b-641
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 +148 -62
- 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 +149 -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 +82 -12
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +68 -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 +79 -49
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +152 -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 +207 -192
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +53 -51
- 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 +97 -73
- 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 +127 -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 +152 -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 +106 -56
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +152 -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 +127 -40
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +280 -147
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +152 -33
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
- 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 +344 -99
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +127 -40
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +175 -199
- 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 +44 -272
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +96 -53
- 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 +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +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 +126 -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 +127 -40
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +102 -201
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -55
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +38 -80
- 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 +120 -175
- 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/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +236 -281
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +61 -47
- 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 +152 -33
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +244 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +55 -65
- 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 +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -68
- 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 +193 -173
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +45 -47
- 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 +26 -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 +64 -40
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +250 -221
- 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 +1849 -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 +315 -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 +105 -108
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +40 -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 -21
- 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 +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +41 -22
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +98 -3
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +48 -43
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +101 -71
- 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 +31 -19
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -57
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +137 -51
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +22 -20
- 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/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- 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 +156 -82
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +277 -229
- package/contracts/authorization/IAccessAdmin.sol +13 -7
- package/contracts/authorization/IAuthorization.sol +15 -1
- package/contracts/distribution/BasicDistribution.sol +7 -5
- package/contracts/distribution/BasicDistributionAuthorization.sol +21 -8
- package/contracts/distribution/Distribution.sol +10 -8
- package/contracts/distribution/DistributionService.sol +26 -25
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +14 -13
- 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/SimplePool.sol +0 -1
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
- package/contracts/examples/unpermissioned/SimpleProduct.sol +25 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
- package/contracts/instance/BundleSet.sol +4 -4
- package/contracts/instance/IInstance.sol +6 -7
- package/contracts/instance/IInstanceService.sol +2 -0
- package/contracts/instance/Instance.sol +19 -11
- package/contracts/instance/InstanceAdmin.sol +213 -64
- package/contracts/instance/InstanceAuthorizationV3.sol +8 -17
- package/contracts/instance/InstanceReader.sol +75 -34
- package/contracts/instance/InstanceService.sol +43 -31
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +1 -0
- package/contracts/instance/RiskSet.sol +11 -12
- package/contracts/instance/base/ObjectLifecycle.sol +2 -1
- package/contracts/instance/base/ObjectSet.sol +7 -8
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +0 -8
- package/contracts/instance/module/IDistribution.sol +2 -1
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- 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 +21 -13
- package/contracts/pool/BundleService.sol +28 -58
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -19
- package/contracts/pool/IPoolService.sol +50 -38
- package/contracts/pool/Pool.sol +9 -9
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +296 -154
- 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 +23 -8
- package/contracts/product/ClaimService.sol +157 -139
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +11 -6
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/PolicyService.sol +90 -144
- package/contracts/product/PolicyServiceLib.sol +65 -0
- 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 +51 -0
- package/contracts/product/RiskService.sol +61 -23
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/IRegistry.sol +8 -15
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +126 -229
- 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 +42 -2
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +27 -19
- package/contracts/shared/ComponentService.sol +85 -89
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +32 -3
- package/contracts/shared/IComponent.sol +3 -4
- package/contracts/shared/IComponentService.sol +0 -4
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InstanceLinkedComponent.sol +2 -2
- 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 +40 -88
- package/contracts/staking/IStaking.sol +1 -10
- package/contracts/staking/IStakingService.sol +11 -1
- package/contracts/staking/StakeManagerLib.sol +67 -16
- package/contracts/staking/Staking.sol +35 -20
- package/contracts/staking/StakingReader.sol +1 -16
- package/contracts/staking/StakingService.sol +53 -44
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/type/ObjectType.sol +41 -27
- package/contracts/type/RiskId.sol +5 -0
- package/contracts/type/RoleId.sol +24 -4
- package/contracts/type/Selector.sol +5 -0
- 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/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -2,23 +2,26 @@
|
|
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";
|
7
|
+
import {IComponent} from "../shared/IComponent.sol";
|
6
8
|
import {IRegistry} from "./IRegistry.sol";
|
7
9
|
import {IService} from "../shared/IService.sol";
|
8
10
|
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
9
11
|
import {IStaking} from "../staking/IStaking.sol";
|
10
|
-
import {ObjectType, ObjectTypeLib, ALL, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
|
12
|
+
import {ObjectType, ObjectTypeLib, ALL, COMPONENT, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
13
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
12
14
|
import {RoleId, RoleIdLib, ADMIN_ROLE, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
15
|
import {Staking} from "../staking/Staking.sol";
|
14
16
|
import {StakingStore} from "../staking/StakingStore.sol";
|
15
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
16
18
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
17
|
-
import {VersionPart} from "../type/Version.sol";
|
19
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
18
20
|
|
19
21
|
/*
|
20
22
|
1) GIF_MANAGER_ROLE
|
21
23
|
- can have arbitrary number of members
|
24
|
+
- responsible for release preparation
|
22
25
|
- responsible for services registrations
|
23
26
|
- responsible for token registration and activation
|
24
27
|
|
@@ -26,29 +29,38 @@ import {VersionPart} from "../type/Version.sol";
|
|
26
29
|
- admin of GIF_MANAGER_ROLE
|
27
30
|
- MUST have 1 member at any time
|
28
31
|
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
29
|
-
- responsible for creation and
|
32
|
+
- responsible for creation, activation and locking/unlocking of releases
|
30
33
|
*/
|
34
|
+
|
35
|
+
/// @dev The RegistryAdmin contract implements the central authorization for the GIF core contracts.
|
36
|
+
/// These are the release independent registry and staking contracts and their respective helper contracts.
|
37
|
+
/// The RegistryAdmin also manages the access from service contracts to the GIF core contracts
|
31
38
|
contract RegistryAdmin is
|
32
39
|
AccessAdmin
|
33
40
|
{
|
41
|
+
/// @dev gif core roles
|
34
42
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
35
43
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
36
|
-
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
37
44
|
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
45
|
+
string public constant STAKING_ROLE_NAME = "StakingRole";
|
46
|
+
|
47
|
+
/// @dev gif roles for external contracts
|
38
48
|
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
49
|
+
string public constant COMPONENT_SERVICE_ROLE_NAME = "ComponentServiceRole";
|
50
|
+
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
39
51
|
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
40
|
-
string public constant STAKING_ROLE_NAME = "StakingRole";
|
41
52
|
|
53
|
+
/// @dev gif core targets
|
54
|
+
string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
|
42
55
|
string public constant REGISTRY_TARGET_NAME = "Registry";
|
43
56
|
string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
|
44
|
-
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
45
57
|
string public constant STAKING_TARGET_NAME = "Staking";
|
46
58
|
string public constant STAKING_TH_TARGET_NAME = "StakingTH";
|
47
59
|
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
60
|
+
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
61
|
+
string public constant TOKEN_HANDLER_TARGET_NAME = "TokenHandler";
|
48
62
|
|
49
63
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
50
|
-
// TODO consider deleting this
|
51
|
-
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
52
64
|
|
53
65
|
address internal _registry;
|
54
66
|
address private _releaseRegistry;
|
@@ -56,17 +68,26 @@ contract RegistryAdmin is
|
|
56
68
|
address private _staking;
|
57
69
|
address private _stakingStore;
|
58
70
|
|
59
|
-
constructor()
|
71
|
+
constructor() {
|
72
|
+
initialize(new AccessManagerCloneable());
|
73
|
+
}
|
60
74
|
|
61
75
|
function completeSetup(
|
62
76
|
IRegistry registry,
|
63
77
|
address gifAdmin,
|
64
78
|
address gifManager
|
65
79
|
)
|
66
|
-
|
67
|
-
|
80
|
+
public
|
81
|
+
virtual
|
82
|
+
reinitializer(type(uint8).max)
|
68
83
|
onlyDeployer()
|
69
84
|
{
|
85
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
86
|
+
accessManager.completeSetup(
|
87
|
+
address(registry),
|
88
|
+
VersionPartLib.toVersionPart(type(uint8).max),
|
89
|
+
false);
|
90
|
+
|
70
91
|
_registry = address(registry);
|
71
92
|
_releaseRegistry = registry.getReleaseRegistryAddress();
|
72
93
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
@@ -74,48 +95,22 @@ contract RegistryAdmin is
|
|
74
95
|
_stakingStore = address(
|
75
96
|
IStaking(_staking).getStakingStore());
|
76
97
|
|
77
|
-
|
78
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
98
|
+
_createTargets();
|
79
99
|
|
80
100
|
_setupGifAdminRole(gifAdmin);
|
81
101
|
_setupGifManagerRole(gifManager);
|
82
102
|
|
83
|
-
|
84
|
-
|
85
|
-
_setupStaking();
|
86
|
-
}
|
87
|
-
|
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
|
+
_setupRegistryRoles();
|
104
|
+
_setupStakingRoles();
|
103
105
|
}
|
104
106
|
|
105
|
-
function
|
106
|
-
IService service,
|
107
|
-
ObjectType domain,
|
108
|
-
VersionPart version
|
109
|
-
)
|
107
|
+
/*function transferAdmin(address to)
|
110
108
|
external
|
111
|
-
restricted
|
109
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
112
110
|
{
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
version),
|
117
|
-
address(service));
|
118
|
-
}
|
111
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
112
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
113
|
+
}*/
|
119
114
|
|
120
115
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
121
116
|
external
|
@@ -126,21 +121,6 @@ contract RegistryAdmin is
|
|
126
121
|
address(service));
|
127
122
|
}
|
128
123
|
|
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
124
|
//--- view functions ----------------------------------------------------//
|
145
125
|
|
146
126
|
function getGifAdminRole() external view returns (RoleId) {
|
@@ -151,96 +131,29 @@ contract RegistryAdmin is
|
|
151
131
|
return GIF_MANAGER_ROLE();
|
152
132
|
}
|
153
133
|
|
154
|
-
//--- private functions
|
134
|
+
//--- private initialization functions -------------------------------------------//
|
155
135
|
|
156
|
-
function
|
157
|
-
|
158
|
-
|
159
|
-
VersionPart releaseVersion
|
160
|
-
)
|
161
|
-
private
|
136
|
+
function _createTargets()
|
137
|
+
private
|
138
|
+
onlyInitializing()
|
162
139
|
{
|
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
|
-
|
140
|
+
IStaking staking = IStaking(_staking);
|
141
|
+
address tokenHandler = address(staking.getTokenHandler());
|
199
142
|
|
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
|
-
}
|
143
|
+
_createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, false, false);
|
144
|
+
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
145
|
+
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
146
|
+
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
147
|
+
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
148
|
+
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
149
|
+
_createTarget(tokenHandler, TOKEN_HANDLER_TARGET_NAME, true, false);
|
235
150
|
}
|
236
151
|
|
237
|
-
//--- private initialization functions -------------------------------------------//
|
238
|
-
|
239
152
|
function _setupGifAdminRole(address gifAdmin)
|
240
153
|
private
|
241
154
|
onlyInitializing()
|
242
155
|
{
|
243
|
-
|
156
|
+
// create gif admin role
|
244
157
|
_createRole(
|
245
158
|
GIF_ADMIN_ROLE(),
|
246
159
|
toRole({
|
@@ -249,18 +162,17 @@ contract RegistryAdmin is
|
|
249
162
|
maxMemberCount: 2, // TODO decide on max member count
|
250
163
|
name: GIF_ADMIN_ROLE_NAME}));
|
251
164
|
|
252
|
-
// for
|
165
|
+
// grant permissions to the gif admin role for registry contract
|
253
166
|
FunctionInfo[] memory functions;
|
254
167
|
functions = new FunctionInfo[](1);
|
255
168
|
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
256
169
|
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
257
170
|
|
258
|
-
// for
|
259
|
-
functions = new FunctionInfo[](
|
171
|
+
// grant permissions to the gif admin role for release registry contract
|
172
|
+
functions = new FunctionInfo[](3);
|
260
173
|
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
261
174
|
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
262
|
-
functions[2] = toFunction(ReleaseRegistry.
|
263
|
-
functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
|
175
|
+
functions[2] = toFunction(ReleaseRegistry.setActive.selector, "setActive");
|
264
176
|
_authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
|
265
177
|
|
266
178
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
@@ -270,16 +182,16 @@ contract RegistryAdmin is
|
|
270
182
|
private
|
271
183
|
onlyInitializing()
|
272
184
|
{
|
273
|
-
|
185
|
+
// create gif manager role
|
274
186
|
_createRole(
|
275
187
|
GIF_MANAGER_ROLE(),
|
276
188
|
toRole({
|
277
189
|
adminRoleId: ADMIN_ROLE(),
|
278
190
|
roleType: RoleType.Gif,
|
279
|
-
maxMemberCount: 1,
|
191
|
+
maxMemberCount: 1, // TODO decide on max member count
|
280
192
|
name: GIF_MANAGER_ROLE_NAME}));
|
281
193
|
|
282
|
-
// for
|
194
|
+
// grant permissions to the gif manager role for token registry contract
|
283
195
|
FunctionInfo[] memory functions;
|
284
196
|
functions = new FunctionInfo[](5);
|
285
197
|
functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
|
@@ -290,7 +202,7 @@ contract RegistryAdmin is
|
|
290
202
|
functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
|
291
203
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
292
204
|
|
293
|
-
// for
|
205
|
+
// grant permissions to the gif manager role for release registry contract
|
294
206
|
functions = new FunctionInfo[](2);
|
295
207
|
functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
|
296
208
|
functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
|
@@ -299,14 +211,12 @@ contract RegistryAdmin is
|
|
299
211
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
300
212
|
}
|
301
213
|
|
302
|
-
|
303
|
-
|
304
|
-
private
|
214
|
+
function _setupRegistryRoles()
|
215
|
+
private
|
305
216
|
onlyInitializing()
|
306
217
|
{
|
307
|
-
|
308
|
-
|
309
|
-
|
218
|
+
// TODO use RELEASE_REGISTRY_ROLE instead
|
219
|
+
// create and grant release registry role
|
310
220
|
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
311
221
|
_createRole(
|
312
222
|
releaseRegistryRoleId,
|
@@ -315,27 +225,20 @@ contract RegistryAdmin is
|
|
315
225
|
roleType: RoleType.Contract,
|
316
226
|
maxMemberCount: 1,
|
317
227
|
name: RELEASE_REGISTRY_ROLE_NAME}));
|
228
|
+
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
318
229
|
|
230
|
+
// grant permissions to the release registry role for release admin contract
|
319
231
|
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");
|
232
|
+
functions = new FunctionInfo[](1);
|
233
|
+
functions[0] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
325
234
|
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
326
235
|
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
function _setupRegistry()
|
332
|
-
internal
|
333
|
-
virtual
|
334
|
-
onlyInitializing()
|
335
|
-
{
|
336
|
-
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
236
|
+
// grant permissions to the release registry role for registry contract
|
237
|
+
functions = new FunctionInfo[](1);
|
238
|
+
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
239
|
+
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
337
240
|
|
338
|
-
//
|
241
|
+
// create registry service role
|
339
242
|
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
340
243
|
_createRole(
|
341
244
|
registryServiceRoleId,
|
@@ -345,36 +248,56 @@ contract RegistryAdmin is
|
|
345
248
|
maxMemberCount: MAX_NUM_RELEASES,
|
346
249
|
name: REGISTRY_SERVICE_ROLE_NAME}));
|
347
250
|
|
348
|
-
//
|
349
|
-
FunctionInfo[] memory functions;
|
251
|
+
// grant permissions to the registry service role for registry contract
|
350
252
|
functions = new FunctionInfo[](2);
|
351
253
|
functions[0] = toFunction(IRegistry.register.selector, "register");
|
352
254
|
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
353
255
|
_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
256
|
}
|
361
257
|
|
362
258
|
|
363
|
-
function
|
259
|
+
function _setupStakingRoles()
|
364
260
|
private
|
365
261
|
onlyInitializing()
|
366
262
|
{
|
367
|
-
|
368
|
-
|
369
|
-
|
263
|
+
// create and grant staking contract role
|
264
|
+
RoleId stakingRoleId = RoleIdLib.roleForType(STAKING());
|
265
|
+
_createRole(
|
266
|
+
stakingRoleId,
|
267
|
+
toRole({
|
268
|
+
adminRoleId: ADMIN_ROLE(),
|
269
|
+
roleType: RoleType.Contract,
|
270
|
+
maxMemberCount: 1,
|
271
|
+
name: STAKING_ROLE_NAME}));
|
272
|
+
_grantRoleToAccount(stakingRoleId, _staking);
|
370
273
|
|
371
|
-
// staking
|
274
|
+
// grant permissions to the staking role for staking store contract
|
372
275
|
FunctionInfo[] memory functions;
|
373
|
-
functions = new FunctionInfo[](
|
374
|
-
functions[0] = toFunction(
|
375
|
-
|
276
|
+
functions = new FunctionInfo[](14);
|
277
|
+
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
278
|
+
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
279
|
+
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
280
|
+
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
281
|
+
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
282
|
+
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
283
|
+
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
284
|
+
functions[7] = toFunction(StakingStore.create.selector, "create");
|
285
|
+
functions[8] = toFunction(StakingStore.update.selector, "update");
|
286
|
+
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
287
|
+
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
288
|
+
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
289
|
+
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
290
|
+
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
291
|
+
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
292
|
+
|
293
|
+
// grant permissions to the staking role for token handler contract
|
294
|
+
IStaking staking = IStaking(_staking);
|
295
|
+
functions = new FunctionInfo[](2);
|
296
|
+
functions[0] = toFunction(TokenHandler.pullToken.selector, "pullToken");
|
297
|
+
functions[1] = toFunction(TokenHandler.pushToken.selector, "pushToken");
|
298
|
+
_authorizeTargetFunctions(address(staking.getTokenHandler()), stakingRoleId, functions);
|
376
299
|
|
377
|
-
//
|
300
|
+
// create staking service role
|
378
301
|
RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
|
379
302
|
_createRole(
|
380
303
|
stakingServiceRoleId,
|
@@ -384,7 +307,8 @@ contract RegistryAdmin is
|
|
384
307
|
maxMemberCount: MAX_NUM_RELEASES,
|
385
308
|
name: STAKING_SERVICE_ROLE_NAME}));
|
386
309
|
|
387
|
-
|
310
|
+
// grant permissions to the staking service role for staking contract
|
311
|
+
functions = new FunctionInfo[](11);
|
388
312
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
389
313
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
390
314
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -397,19 +321,16 @@ contract RegistryAdmin is
|
|
397
321
|
functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
|
398
322
|
functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
|
399
323
|
_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
324
|
|
325
|
+
// grant permissions to the staking service role for staking token handler
|
326
|
+
functions = new FunctionInfo[](3);
|
327
|
+
functions[0] = toFunction(TokenHandler.approve.selector, "approve");
|
328
|
+
functions[1] = toFunction(TokenHandler.pullToken.selector, "pullToken");
|
329
|
+
functions[2] = toFunction(TokenHandler.pushToken.selector, "pushToken");
|
407
330
|
_authorizeTargetFunctions(
|
408
|
-
address(
|
409
|
-
stakingServiceRoleId,
|
410
|
-
functions);
|
331
|
+
address(IComponent(_staking).getTokenHandler()), stakingServiceRoleId, functions);
|
411
332
|
|
412
|
-
//
|
333
|
+
// create pool service role
|
413
334
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
414
335
|
_createRole(
|
415
336
|
poolServiceRoleId,
|
@@ -419,39 +340,15 @@ contract RegistryAdmin is
|
|
419
340
|
maxMemberCount: MAX_NUM_RELEASES,
|
420
341
|
name: POOL_SERVICE_ROLE_NAME}));
|
421
342
|
|
422
|
-
// staking
|
343
|
+
// grant permissions to the pool service role for staking contract
|
423
344
|
functions = new FunctionInfo[](2);
|
424
345
|
functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
425
346
|
functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
426
347
|
_authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
|
427
348
|
|
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);
|
349
|
+
// grant permissions to public role for staking contract
|
350
|
+
functions = new FunctionInfo[](1);
|
351
|
+
functions[0] = toFunction(Staking.approveTokenHandler.selector, "approveTokenHandler");
|
352
|
+
_authorizeTargetFunctions(_staking, PUBLIC_ROLE(), functions);
|
456
353
|
}
|
457
354
|
}
|
@@ -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),
|