@etherisc/gif-next 0.0.2-d67ce7f-686 → 0.0.2-d6a50e7-658
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 +32 -8
- 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 +158 -70
- 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 -37
- 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 +175 -371
- 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 +115 -295
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +239 -295
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +125 -119
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +115 -143
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +127 -64
- 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 +2040 -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 +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
- 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 +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- 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 +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
- 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 +193 -45
- 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 +165 -157
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +317 -143
- 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 +927 -262
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +131 -266
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -92
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +692 -443
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -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 +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/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 +127 -323
- 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 +102 -130
- 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 +103 -283
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +125 -305
- 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 +170 -337
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +111 -133
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +86 -67
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +124 -163
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +303 -207
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +122 -313
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +384 -410
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +122 -104
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +238 -357
- 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 +421 -222
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -108
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +303 -9
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +302 -150
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +235 -202
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +347 -378
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +115 -109
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +227 -314
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +236 -355
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +315 -34
- 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 +521 -95
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +275 -160
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
- 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 +412 -246
- 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 +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +89 -240
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +502 -617
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +137 -133
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
- 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 +89 -88
- 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 +102 -130
- 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 +15 -47
- 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/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -282
- 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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +674 -49
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
- 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 +64 -94
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +217 -359
- 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 +119 -104
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +100 -171
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +98 -84
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +149 -108
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +55 -24
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/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/Seconds.sol/SecondsLib.json +26 -2
- 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 +71 -70
- 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 +192 -124
- package/contracts/authorization/AccessManagerCloneable.sol +136 -3
- package/contracts/authorization/Authorization.sol +111 -40
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +10 -6
- 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 +33 -41
- package/contracts/distribution/DistributionService.sol +112 -91
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +14 -11
- 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 +438 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +16 -36
- package/contracts/instance/IInstanceService.sol +9 -29
- package/contracts/instance/Instance.sol +47 -66
- package/contracts/instance/InstanceAdmin.sol +133 -73
- package/contracts/instance/InstanceAuthorizationV3.sol +55 -34
- package/contracts/instance/InstanceReader.sol +218 -27
- package/contracts/instance/InstanceService.sol +125 -164
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +10 -1
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IComponents.sol +14 -10
- package/contracts/instance/module/IPolicy.sol +25 -24
- 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 +7 -17
- package/contracts/oracle/OracleService.sol +113 -81
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +35 -26
- package/contracts/pool/BasicPoolAuthorization.sol +14 -4
- package/contracts/pool/BundleService.sol +105 -117
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +8 -20
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +52 -48
- package/contracts/pool/Pool.sol +145 -128
- package/contracts/pool/PoolService.sol +297 -207
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +72 -43
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +11 -12
- package/contracts/product/BasicProductAuthorization.sol +1 -3
- package/contracts/product/ClaimService.sol +422 -138
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +43 -7
- package/contracts/product/IPolicyService.sol +42 -37
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +477 -283
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +66 -62
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +143 -91
- package/contracts/product/RiskService.sol +151 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +58 -28
- 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 +353 -203
- package/contracts/registry/RegistryAdmin.sol +161 -182
- package/contracts/registry/RegistryService.sol +37 -48
- 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 +258 -232
- package/contracts/registry/ServiceAuthorizationV3.sol +94 -52
- package/contracts/registry/TokenRegistry.sol +6 -8
- package/contracts/shared/Component.sol +72 -127
- package/contracts/shared/ComponentService.sol +427 -377
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +252 -0
- package/contracts/shared/IComponent.sol +8 -18
- package/contracts/shared/IComponentService.sol +45 -37
- package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -47
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +55 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +15 -32
- package/contracts/shared/TokenHandler.sol +356 -29
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +11 -5
- package/contracts/staking/IStakingService.sol +0 -3
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +71 -61
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +12 -5
- package/contracts/staking/StakingService.sol +57 -25
- package/contracts/staking/StakingServiceManager.sol +2 -2
- package/contracts/staking/TargetManagerLib.sol +7 -3
- 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 +36 -17
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +35 -4
- package/contracts/type/RoleId.sol +4 -13
- package/contracts/type/Seconds.sol +8 -0
- package/contracts/type/StateId.sol +15 -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/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- 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/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -2,22 +2,25 @@
|
|
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";
|
8
9
|
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
9
10
|
import {IStaking} from "../staking/IStaking.sol";
|
10
|
-
import {ObjectType, ObjectTypeLib, ALL, POOL, RELEASE} from "../type/ObjectType.sol";
|
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
|
-
import {
|
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,83 +28,87 @@ 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
|
29
|
-
|
30
|
-
createServiceTarget(type, release)
|
31
|
-
createServiceRole(type,release)
|
32
|
-
getServiceRole(type, release)
|
31
|
+
- responsible for creation, activation and locking/unlocking of releases
|
33
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
|
34
37
|
contract RegistryAdmin is
|
35
38
|
AccessAdmin
|
36
39
|
{
|
37
|
-
|
38
|
-
|
40
|
+
/// @dev gif core roles
|
39
41
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
40
42
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
41
|
-
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
42
43
|
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
43
|
-
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
44
44
|
string public constant STAKING_ROLE_NAME = "StakingRole";
|
45
45
|
|
46
|
+
/// @dev gif roles for external contracts
|
47
|
+
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
48
|
+
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
49
|
+
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
50
|
+
|
51
|
+
/// @dev gif core targets
|
52
|
+
string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
|
53
|
+
string public constant REGISTRY_TARGET_NAME = "Registry";
|
46
54
|
string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
|
47
|
-
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
48
55
|
string public constant STAKING_TARGET_NAME = "Staking";
|
56
|
+
string public constant STAKING_TH_TARGET_NAME = "StakingTH";
|
49
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";
|
50
60
|
|
51
61
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
52
62
|
|
53
|
-
|
54
|
-
|
63
|
+
address internal _registry;
|
55
64
|
address private _releaseRegistry;
|
56
65
|
address private _tokenRegistry;
|
57
66
|
address private _staking;
|
58
67
|
address private _stakingStore;
|
59
|
-
bool private _setupCompleted;
|
60
68
|
|
61
|
-
constructor()
|
69
|
+
constructor() {
|
70
|
+
initialize(new AccessManagerCloneable());
|
71
|
+
}
|
62
72
|
|
63
73
|
function completeSetup(
|
64
74
|
IRegistry registry,
|
65
75
|
address gifAdmin,
|
66
76
|
address gifManager
|
67
77
|
)
|
68
|
-
|
78
|
+
public
|
79
|
+
virtual
|
80
|
+
reinitializer(type(uint8).max)
|
69
81
|
onlyDeployer()
|
70
82
|
{
|
71
|
-
|
72
|
-
|
83
|
+
AccessManagerCloneable accessManager = AccessManagerCloneable(authority());
|
84
|
+
accessManager.completeSetup(
|
85
|
+
address(registry),
|
86
|
+
VersionPartLib.toVersionPart(type(uint8).max),
|
87
|
+
false);
|
73
88
|
|
89
|
+
_registry = address(registry);
|
74
90
|
_releaseRegistry = registry.getReleaseRegistryAddress();
|
75
91
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
76
92
|
_staking = registry.getStakingAddress();
|
77
93
|
_stakingStore = address(
|
78
94
|
IStaking(_staking).getStakingStore());
|
79
95
|
|
80
|
-
|
81
|
-
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, true, false);
|
96
|
+
_createTargets();
|
82
97
|
|
83
98
|
_setupGifAdminRole(gifAdmin);
|
84
99
|
_setupGifManagerRole(gifManager);
|
85
100
|
|
86
|
-
|
87
|
-
|
101
|
+
_setupRegistryRoles();
|
102
|
+
_setupStakingRoles();
|
88
103
|
}
|
89
104
|
|
90
|
-
|
91
|
-
/// @dev Sets up authorizaion for specified service.
|
92
|
-
/// For all authorized services its authorized functions are enabled.
|
93
|
-
/// Permissioned function: Access is restricted to release manager.
|
94
|
-
function authorizeService(
|
95
|
-
IServiceAuthorization serviceAuthorization,
|
96
|
-
IService service
|
97
|
-
)
|
105
|
+
/*function transferAdmin(address to)
|
98
106
|
external
|
99
|
-
restricted
|
107
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
100
108
|
{
|
101
|
-
|
102
|
-
|
103
|
-
}
|
104
|
-
|
109
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
110
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
111
|
+
}*/
|
105
112
|
|
106
113
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
107
114
|
external
|
@@ -112,92 +119,6 @@ contract RegistryAdmin is
|
|
112
119
|
address(service));
|
113
120
|
}
|
114
121
|
|
115
|
-
|
116
|
-
function _createServiceTargetAndRole(IService service)
|
117
|
-
private
|
118
|
-
{
|
119
|
-
ObjectType serviceDomain = service.getDomain();
|
120
|
-
string memory baseName = ObjectTypeLib.toName(serviceDomain);
|
121
|
-
VersionPart version = service.getVersion().toMajorPart();
|
122
|
-
uint256 versionInt = version.toInt();
|
123
|
-
|
124
|
-
// create service target
|
125
|
-
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
126
|
-
baseName, "Service", versionInt);
|
127
|
-
|
128
|
-
_createTarget(
|
129
|
-
address(service),
|
130
|
-
serviceTargetName,
|
131
|
-
true,
|
132
|
-
false);
|
133
|
-
|
134
|
-
// create service role
|
135
|
-
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
136
|
-
serviceDomain,
|
137
|
-
version);
|
138
|
-
|
139
|
-
_createRole(
|
140
|
-
serviceRoleId,
|
141
|
-
toRole({
|
142
|
-
adminRoleId: ADMIN_ROLE(),
|
143
|
-
roleType: RoleType.Contract,
|
144
|
-
maxMemberCount: 1,
|
145
|
-
name: ObjectTypeLib.toVersionedName(
|
146
|
-
baseName,
|
147
|
-
"ServiceRole",
|
148
|
-
versionInt)}));
|
149
|
-
|
150
|
-
_grantRoleToAccount(
|
151
|
-
serviceRoleId,
|
152
|
-
address(service));
|
153
|
-
}
|
154
|
-
|
155
|
-
|
156
|
-
function _authorizeServiceFunctions(
|
157
|
-
IServiceAuthorization serviceAuthorization,
|
158
|
-
IService service
|
159
|
-
)
|
160
|
-
private
|
161
|
-
{
|
162
|
-
ObjectType serviceDomain = service.getDomain();
|
163
|
-
ObjectType authorizedDomain;
|
164
|
-
RoleId authorizedRoleId;
|
165
|
-
|
166
|
-
VersionPart release = service.getVersion().toMajorPart();
|
167
|
-
ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
|
168
|
-
|
169
|
-
for (uint256 i = 0; i < authorizedDomains.length; i++) {
|
170
|
-
authorizedDomain = authorizedDomains[i];
|
171
|
-
|
172
|
-
// derive authorized role from authorized domain
|
173
|
-
if (authorizedDomain == ALL()) {
|
174
|
-
authorizedRoleId = PUBLIC_ROLE();
|
175
|
-
} else {
|
176
|
-
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
177
|
-
authorizedDomain,
|
178
|
-
release);
|
179
|
-
}
|
180
|
-
|
181
|
-
// get authorized functions for authorized domain
|
182
|
-
IAccess.FunctionInfo[] memory authorizatedFunctions = serviceAuthorization.getAuthorizedFunctions(
|
183
|
-
serviceDomain,
|
184
|
-
authorizedDomain);
|
185
|
-
|
186
|
-
_authorizeTargetFunctions(
|
187
|
-
address(service),
|
188
|
-
authorizedRoleId,
|
189
|
-
authorizatedFunctions);
|
190
|
-
}
|
191
|
-
}
|
192
|
-
|
193
|
-
/*function transferAdmin(address to)
|
194
|
-
external
|
195
|
-
restricted // only with GIF_ADMIN_ROLE or nft owner
|
196
|
-
{
|
197
|
-
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
198
|
-
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
199
|
-
}*/
|
200
|
-
|
201
122
|
//--- view functions ----------------------------------------------------//
|
202
123
|
|
203
124
|
function getGifAdminRole() external view returns (RoleId) {
|
@@ -208,10 +129,29 @@ contract RegistryAdmin is
|
|
208
129
|
return GIF_MANAGER_ROLE();
|
209
130
|
}
|
210
131
|
|
211
|
-
//--- private functions
|
132
|
+
//--- private initialization functions -------------------------------------------//
|
133
|
+
|
134
|
+
function _createTargets()
|
135
|
+
private
|
136
|
+
onlyInitializing()
|
137
|
+
{
|
138
|
+
IStaking staking = IStaking(_staking);
|
139
|
+
address tokenHandler = address(staking.getTokenHandler());
|
212
140
|
|
213
|
-
|
214
|
-
|
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);
|
148
|
+
}
|
149
|
+
|
150
|
+
function _setupGifAdminRole(address gifAdmin)
|
151
|
+
private
|
152
|
+
onlyInitializing()
|
153
|
+
{
|
154
|
+
// create gif admin role
|
215
155
|
_createRole(
|
216
156
|
GIF_ADMIN_ROLE(),
|
217
157
|
toRole({
|
@@ -220,29 +160,36 @@ contract RegistryAdmin is
|
|
220
160
|
maxMemberCount: 2, // TODO decide on max member count
|
221
161
|
name: GIF_ADMIN_ROLE_NAME}));
|
222
162
|
|
223
|
-
// for
|
163
|
+
// grant permissions to the gif admin role for registry contract
|
224
164
|
FunctionInfo[] memory functions;
|
225
|
-
functions = new FunctionInfo[](
|
165
|
+
functions = new FunctionInfo[](1);
|
166
|
+
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
167
|
+
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
168
|
+
|
169
|
+
// grant permissions to the gif admin role for release registry contract
|
170
|
+
functions = new FunctionInfo[](3);
|
226
171
|
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
227
172
|
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
228
|
-
functions[2] = toFunction(ReleaseRegistry.
|
229
|
-
functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
|
173
|
+
functions[2] = toFunction(ReleaseRegistry.setActive.selector, "setActive");
|
230
174
|
_authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
|
231
175
|
|
232
176
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
233
177
|
}
|
234
178
|
|
235
|
-
function _setupGifManagerRole(address gifManager)
|
236
|
-
|
179
|
+
function _setupGifManagerRole(address gifManager)
|
180
|
+
private
|
181
|
+
onlyInitializing()
|
182
|
+
{
|
183
|
+
// create gif manager role
|
237
184
|
_createRole(
|
238
185
|
GIF_MANAGER_ROLE(),
|
239
186
|
toRole({
|
240
187
|
adminRoleId: ADMIN_ROLE(),
|
241
188
|
roleType: RoleType.Gif,
|
242
|
-
maxMemberCount: 1,
|
189
|
+
maxMemberCount: 1, // TODO decide on max member count
|
243
190
|
name: GIF_MANAGER_ROLE_NAME}));
|
244
191
|
|
245
|
-
// for
|
192
|
+
// grant permissions to the gif manager role for token registry contract
|
246
193
|
FunctionInfo[] memory functions;
|
247
194
|
functions = new FunctionInfo[](5);
|
248
195
|
functions[0] = toFunction(TokenRegistry.registerToken.selector, "registerToken");
|
@@ -253,7 +200,7 @@ contract RegistryAdmin is
|
|
253
200
|
functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
|
254
201
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
255
202
|
|
256
|
-
// for
|
203
|
+
// grant permissions to the gif manager role for release registry contract
|
257
204
|
functions = new FunctionInfo[](2);
|
258
205
|
functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
|
259
206
|
functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
|
@@ -262,11 +209,12 @@ contract RegistryAdmin is
|
|
262
209
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
263
210
|
}
|
264
211
|
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
212
|
+
function _setupRegistryRoles()
|
213
|
+
private
|
214
|
+
onlyInitializing()
|
215
|
+
{
|
216
|
+
// TODO use RELEASE_REGISTRY_ROLE instead
|
217
|
+
// create and grant release registry role
|
270
218
|
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
271
219
|
_createRole(
|
272
220
|
releaseRegistryRoleId,
|
@@ -275,22 +223,79 @@ contract RegistryAdmin is
|
|
275
223
|
roleType: RoleType.Contract,
|
276
224
|
maxMemberCount: 1,
|
277
225
|
name: RELEASE_REGISTRY_ROLE_NAME}));
|
226
|
+
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
278
227
|
|
228
|
+
// grant permissions to the release registry role for release admin contract
|
279
229
|
FunctionInfo[] memory functions;
|
280
|
-
functions = new FunctionInfo[](
|
281
|
-
functions[0] = toFunction(RegistryAdmin.
|
282
|
-
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
230
|
+
functions = new FunctionInfo[](1);
|
231
|
+
functions[0] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
283
232
|
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
284
233
|
|
285
|
-
|
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);
|
238
|
+
|
239
|
+
// create registry service role
|
240
|
+
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
241
|
+
_createRole(
|
242
|
+
registryServiceRoleId,
|
243
|
+
toRole({
|
244
|
+
adminRoleId: ADMIN_ROLE(),
|
245
|
+
roleType: RoleType.Contract,
|
246
|
+
maxMemberCount: MAX_NUM_RELEASES,
|
247
|
+
name: REGISTRY_SERVICE_ROLE_NAME}));
|
248
|
+
|
249
|
+
// grant permissions to the registry service role for registry contract
|
250
|
+
functions = new FunctionInfo[](2);
|
251
|
+
functions[0] = toFunction(IRegistry.register.selector, "register");
|
252
|
+
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
253
|
+
_authorizeTargetFunctions(_registry, registryServiceRoleId, functions);
|
286
254
|
}
|
287
255
|
|
288
256
|
|
289
|
-
function
|
290
|
-
|
291
|
-
|
257
|
+
function _setupStakingRoles()
|
258
|
+
private
|
259
|
+
onlyInitializing()
|
260
|
+
{
|
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);
|
292
271
|
|
293
|
-
// staking
|
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);
|
297
|
+
|
298
|
+
// create staking service role
|
294
299
|
RoleId stakingServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(STAKING());
|
295
300
|
_createRole(
|
296
301
|
stakingServiceRoleId,
|
@@ -300,8 +305,8 @@ contract RegistryAdmin is
|
|
300
305
|
maxMemberCount: MAX_NUM_RELEASES,
|
301
306
|
name: STAKING_SERVICE_ROLE_NAME}));
|
302
307
|
|
303
|
-
|
304
|
-
functions = new FunctionInfo[](
|
308
|
+
// grant permissions to the staking service role for staking contract
|
309
|
+
functions = new FunctionInfo[](11);
|
305
310
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
306
311
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
307
312
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -313,11 +318,9 @@ contract RegistryAdmin is
|
|
313
318
|
functions[8] = toFunction(IStaking.restake.selector, "restake");
|
314
319
|
functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
|
315
320
|
functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
|
316
|
-
functions[11] = toFunction(IStaking.collectDipAmount.selector, "collectDipAmount");
|
317
|
-
functions[12] = toFunction(IStaking.transferDipAmount.selector, "transferDipAmount");
|
318
321
|
_authorizeTargetFunctions(_staking, stakingServiceRoleId, functions);
|
319
322
|
|
320
|
-
//
|
323
|
+
// create pool service role
|
321
324
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
322
325
|
_createRole(
|
323
326
|
poolServiceRoleId,
|
@@ -327,39 +330,15 @@ contract RegistryAdmin is
|
|
327
330
|
maxMemberCount: MAX_NUM_RELEASES,
|
328
331
|
name: POOL_SERVICE_ROLE_NAME}));
|
329
332
|
|
330
|
-
// staking
|
333
|
+
// grant permissions to the pool service role for staking contract
|
331
334
|
functions = new FunctionInfo[](2);
|
332
335
|
functions[0] = toFunction(IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
333
336
|
functions[1] = toFunction(IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
334
337
|
_authorizeTargetFunctions(_staking, poolServiceRoleId, functions);
|
335
338
|
|
336
|
-
//
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
toRole({
|
341
|
-
adminRoleId: ADMIN_ROLE(),
|
342
|
-
roleType: RoleType.Contract,
|
343
|
-
maxMemberCount: 1,
|
344
|
-
name: STAKING_ROLE_NAME}));
|
345
|
-
|
346
|
-
functions = new FunctionInfo[](14);
|
347
|
-
functions[0] = toFunction(StakingStore.setStakingRate.selector, "setStakingRate");
|
348
|
-
functions[1] = toFunction(StakingStore.createTarget.selector, "createTarget");
|
349
|
-
functions[2] = toFunction(StakingStore.updateTarget.selector, "updateTarget");
|
350
|
-
functions[3] = toFunction(StakingStore.increaseReserves.selector, "increaseReserves");
|
351
|
-
functions[4] = toFunction(StakingStore.decreaseReserves.selector, "decreaseReserves");
|
352
|
-
functions[5] = toFunction(StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
|
353
|
-
functions[6] = toFunction(StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
|
354
|
-
functions[7] = toFunction(StakingStore.create.selector, "create");
|
355
|
-
functions[8] = toFunction(StakingStore.update.selector, "update");
|
356
|
-
functions[9] = toFunction(StakingStore.increaseStake.selector, "increaseStake");
|
357
|
-
functions[10] = toFunction(StakingStore.restakeRewards.selector, "restakeRewards");
|
358
|
-
functions[11] = toFunction(StakingStore.updateRewards.selector, "updateRewards");
|
359
|
-
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
360
|
-
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
361
|
-
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
362
|
-
|
363
|
-
_grantRoleToAccount(stakingRoleId, _staking);
|
339
|
+
// grant permissions to public role for staking contract
|
340
|
+
functions = new FunctionInfo[](1);
|
341
|
+
functions[0] = toFunction(Staking.approveTokenHandler.selector, "approveTokenHandler");
|
342
|
+
_authorizeTargetFunctions(_staking, PUBLIC_ROLE(), functions);
|
364
343
|
}
|
365
344
|
}
|