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