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