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