@etherisc/gif-next 0.0.2-e769e2e-077 → 0.0.2-e79d227-681
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 +77 -10
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
- 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 +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +154 -546
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +380 -229
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +198 -96
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +186 -238
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +223 -47
- 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 +1429 -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 +1979 -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 +1430 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +153 -86
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +181 -119
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +174 -215
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1666 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +574 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +876 -160
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +260 -268
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +163 -81
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +506 -338
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +990 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +766 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +456 -187
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +218 -80
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +264 -26
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +115 -354
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -223
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +152 -682
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +590 -382
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +190 -76
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +147 -161
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +147 -77
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +343 -168
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +200 -90
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +88 -8
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +196 -7
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +364 -121
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +134 -86
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +176 -160
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +51 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +475 -294
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +199 -81
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +229 -275
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +172 -102
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +201 -486
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -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 +412 -35
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +225 -196
- 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 +761 -87
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1899 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +278 -306
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +154 -78
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +185 -135
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +79 -274
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +626 -252
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +209 -99
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +55 -101
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -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/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +74 -79
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +561 -13
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +120 -108
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -13
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +36 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +49 -1
- 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 +129 -360
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -98
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +26 -55
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +62 -87
- 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 +55 -101
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
- 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 +462 -634
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +546 -48
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +613 -871
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +185 -81
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +633 -173
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +166 -68
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -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 +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- 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 +47 -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 +149 -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 +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +99 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- 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 +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +616 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +289 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +137 -0
- package/contracts/authorization/IAuthorization.sol +60 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +139 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +145 -124
- package/contracts/distribution/DistributionService.sol +156 -99
- package/contracts/distribution/DistributionServiceManager.sol +13 -25
- package/contracts/distribution/IDistributionComponent.sol +27 -41
- package/contracts/distribution/IDistributionService.sol +29 -10
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +431 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +39 -44
- package/contracts/instance/IInstanceService.sol +33 -42
- package/contracts/instance/Instance.sol +137 -124
- package/contracts/instance/InstanceAdmin.sol +278 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +217 -0
- package/contracts/instance/InstanceReader.sol +249 -36
- package/contracts/instance/InstanceService.sol +227 -151
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +85 -57
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/BalanceStore.sol +12 -7
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/ObjectSet.sol +78 -0
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +11 -13
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +1 -0
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +156 -0
- package/contracts/oracle/OracleService.sol +309 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +68 -0
- package/contracts/pool/BundleService.sol +232 -122
- package/contracts/pool/BundleServiceManager.sol +13 -25
- package/contracts/pool/IBundleService.sol +34 -18
- package/contracts/pool/IPoolComponent.sol +20 -70
- package/contracts/pool/IPoolService.sol +57 -51
- package/contracts/pool/Pool.sol +208 -162
- package/contracts/pool/PoolService.sol +372 -181
- package/contracts/pool/PoolServiceManager.sol +12 -24
- package/contracts/product/ApplicationService.sol +90 -84
- package/contracts/product/ApplicationServiceManager.sol +12 -9
- package/contracts/product/BasicProduct.sol +49 -0
- package/contracts/product/BasicProductAuthorization.sol +42 -0
- package/contracts/product/ClaimService.sol +331 -153
- package/contracts/product/ClaimServiceManager.sol +12 -9
- package/contracts/product/IApplicationService.sol +7 -3
- package/contracts/product/IClaimService.sol +35 -5
- package/contracts/product/IPolicyService.sol +47 -35
- package/contracts/product/IPricingService.sol +11 -11
- package/contracts/product/IProductComponent.sol +26 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -2
- package/contracts/product/PolicyService.sol +524 -262
- package/contracts/product/PolicyServiceManager.sol +12 -27
- package/contracts/product/PricingService.sol +64 -64
- package/contracts/product/PricingServiceManager.sol +12 -24
- package/contracts/product/Product.sol +189 -139
- package/contracts/product/{ProductService.sol → RiskService.sol} +35 -50
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -37
- package/contracts/registry/IRegistry.sol +90 -28
- package/contracts/registry/IRegistryService.sol +26 -43
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +424 -228
- package/contracts/registry/RegistryAdmin.sol +451 -0
- package/contracts/registry/RegistryService.sol +63 -149
- package/contracts/registry/RegistryServiceManager.sol +23 -30
- package/contracts/registry/ReleaseLifecycle.sol +30 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +175 -0
- package/contracts/registry/TokenRegistry.sol +187 -59
- package/contracts/shared/Component.sol +56 -125
- package/contracts/shared/ComponentService.sol +411 -201
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +40 -23
- package/contracts/shared/ContractLib.sol +224 -0
- package/contracts/shared/IComponent.sol +11 -18
- package/contracts/shared/IComponentService.sol +52 -13
- package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
- package/contracts/shared/IKeyValueStore.sol +2 -1
- package/contracts/shared/ILifecycle.sol +3 -2
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IPolicyHolder.sol +12 -17
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +103 -43
- package/contracts/shared/KeyValueStore.sol +30 -68
- package/contracts/shared/Lifecycle.sol +30 -63
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +31 -22
- package/contracts/shared/PolicyHolder.sol +18 -50
- package/contracts/shared/Registerable.sol +19 -11
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +44 -37
- package/contracts/shared/TokenHandler.sol +358 -27
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +133 -37
- package/contracts/staking/IStakingService.sol +93 -41
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +394 -101
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +24 -18
- package/contracts/staking/StakingReader.sol +190 -0
- package/contracts/staking/StakingService.sol +282 -42
- package/contracts/staking/StakingServiceManager.sol +10 -7
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +39 -3
- package/contracts/type/Blocknumber.sol +20 -2
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +16 -4
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +178 -65
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +31 -5
- package/contracts/type/RoleId.sol +98 -74
- package/contracts/type/Seconds.sol +48 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +41 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +38 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +90 -27
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +11 -7
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- 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 -673
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -636
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -308
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -688
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- 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/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
- package/contracts/instance/base/ObjectManager.sol +0 -82
- package/contracts/product/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -213
- package/contracts/registry/ReleaseManager.sol +0 -375
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,375 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
5
|
-
|
6
|
-
import {NftId} from "../type/NftId.sol";
|
7
|
-
import {RoleId} from "../type/RoleId.sol";
|
8
|
-
import {ObjectType, ObjectTypeLib, zeroObjectType, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
|
9
|
-
import {Version, VersionLib, VersionPart, VersionPartLib} from "../type/Version.sol";
|
10
|
-
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
11
|
-
|
12
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
13
|
-
import {IRegistry} from "./IRegistry.sol";
|
14
|
-
import {IRegistryService} from "./IRegistryService.sol";
|
15
|
-
import {IService} from "../shared/IService.sol";
|
16
|
-
import {IStaking} from "../staking/IStaking.sol";
|
17
|
-
|
18
|
-
import {Registry} from "./Registry.sol";
|
19
|
-
import {RegistryAccessManager} from "./RegistryAccessManager.sol";
|
20
|
-
import {ServiceAuthorizationsLib} from "./ServiceAuthorizationsLib.sol";
|
21
|
-
import {TokenRegistry} from "./TokenRegistry.sol";
|
22
|
-
|
23
|
-
contract ReleaseManager is AccessManaged
|
24
|
-
{
|
25
|
-
using ObjectTypeLib for ObjectType;
|
26
|
-
|
27
|
-
event LogReleaseCreation(VersionPart version);
|
28
|
-
event LogReleaseActivation(VersionPart version);
|
29
|
-
|
30
|
-
// createNextRelease
|
31
|
-
error NotRegistryService();
|
32
|
-
error UnexpectedServiceAuthority(address expected, address found);
|
33
|
-
|
34
|
-
// register staking
|
35
|
-
error ErrorReleaseManagerStakingAlreadySet(address stakingAddress);
|
36
|
-
|
37
|
-
// registerService
|
38
|
-
error NotService();
|
39
|
-
|
40
|
-
// activateNextRelease
|
41
|
-
error ReleaseNotCreated();
|
42
|
-
error ReleaseRegistrationNotFinished();
|
43
|
-
|
44
|
-
// _getAndVerifyContractInfo
|
45
|
-
error ErrorReleaseManagerUnexpectedRegisterableAddress(address expected, address actual);
|
46
|
-
error ErrorReleaseManagerIsInterceptorTrue();
|
47
|
-
error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
|
48
|
-
error NotRegisterableOwner(address expectedOwner, address actualOwner);
|
49
|
-
error SelfRegistration();
|
50
|
-
error RegisterableOwnerIsRegistered();
|
51
|
-
|
52
|
-
// _verifyService
|
53
|
-
error UnexpectedServiceVersion(VersionPart expected, VersionPart found);
|
54
|
-
error UnexpectedServiceDomain(ObjectType expected, ObjectType found);
|
55
|
-
|
56
|
-
// _verifyAndStoreConfig
|
57
|
-
error ConfigMissing();
|
58
|
-
error ConfigServiceDomainInvalid(uint configArrayIndex, ObjectType domain);
|
59
|
-
error ConfigSelectorZero(uint configArrayIndex);
|
60
|
-
error SelectorAlreadyExists(VersionPart releaseVersion, ObjectType serviceDomain);
|
61
|
-
|
62
|
-
RegistryAccessManager private immutable _accessManager;
|
63
|
-
Registry private immutable _registry;
|
64
|
-
TokenRegistry private immutable _tokenRegistry;
|
65
|
-
IStaking private _staking;
|
66
|
-
|
67
|
-
VersionPart immutable _initial;// first active major version
|
68
|
-
VersionPart _latest;// latest active major version
|
69
|
-
VersionPart _next;// major version to create and activate
|
70
|
-
|
71
|
-
mapping(VersionPart majorVersion => IRegistry.ReleaseInfo info) _release;
|
72
|
-
|
73
|
-
// registry service function selector assigned to domain
|
74
|
-
mapping(VersionPart majorVersion => mapping(ObjectType serviceDomain => bytes4[])) _selectors;
|
75
|
-
|
76
|
-
uint _awaitingRegistration; // "services left to register" counter
|
77
|
-
|
78
|
-
mapping(address registryService => bool isActive) _active;
|
79
|
-
|
80
|
-
mapping(VersionPart majorVersion => bool isValid) _valid; // TODO refactor to use _active only
|
81
|
-
|
82
|
-
constructor(
|
83
|
-
RegistryAccessManager accessManager,
|
84
|
-
VersionPart initialVersion
|
85
|
-
)
|
86
|
-
AccessManaged(accessManager.authority())
|
87
|
-
{
|
88
|
-
require(initialVersion.toInt() > 0, "ReleaseManager: initial version is 0");
|
89
|
-
|
90
|
-
_accessManager = accessManager;
|
91
|
-
|
92
|
-
_initial = initialVersion;
|
93
|
-
_next = initialVersion;
|
94
|
-
|
95
|
-
_registry = new Registry();
|
96
|
-
_tokenRegistry = new TokenRegistry(address(_registry));
|
97
|
-
|
98
|
-
_registry.setTokenRegistry(address(_tokenRegistry));
|
99
|
-
}
|
100
|
-
|
101
|
-
function registerStaking(
|
102
|
-
address stakingAddress,
|
103
|
-
address stakingOwner
|
104
|
-
)
|
105
|
-
external
|
106
|
-
restricted // GIF_ADMIN_ROLE
|
107
|
-
returns(NftId nftId)
|
108
|
-
{
|
109
|
-
// verify staking contract
|
110
|
-
_getAndVerifyContractInfo(stakingAddress, STAKING(), stakingOwner);
|
111
|
-
_staking = IStaking(stakingAddress);
|
112
|
-
|
113
|
-
nftId = _registry.registerStaking(
|
114
|
-
stakingAddress,
|
115
|
-
stakingOwner);
|
116
|
-
|
117
|
-
_staking.linkToRegisteredNftId();
|
118
|
-
}
|
119
|
-
|
120
|
-
/// @dev skips previous release if was not activated
|
121
|
-
function createNextRelease()
|
122
|
-
external
|
123
|
-
restricted // GIF_ADMIN_ROLE
|
124
|
-
{
|
125
|
-
// allow to register new registry service for next version
|
126
|
-
// TODO check/test: assignment to _next likely missing ...
|
127
|
-
VersionPartLib.toVersionPart(_next.toInt() + 1);
|
128
|
-
|
129
|
-
// disallow registration of regular services for next version while registry service is not registered
|
130
|
-
_awaitingRegistration = 0;
|
131
|
-
|
132
|
-
emit LogReleaseCreation(_next);
|
133
|
-
}
|
134
|
-
|
135
|
-
function activateNextRelease()
|
136
|
-
external
|
137
|
-
restricted // GIF_ADMIN_ROLE
|
138
|
-
{
|
139
|
-
VersionPart version = _next;
|
140
|
-
address service = _registry.getServiceAddress(REGISTRY(), version);
|
141
|
-
|
142
|
-
// release was created
|
143
|
-
if(service == address(0)) {
|
144
|
-
revert ReleaseNotCreated();
|
145
|
-
}
|
146
|
-
|
147
|
-
// release fully deployed
|
148
|
-
if(_awaitingRegistration > 0) {
|
149
|
-
revert ReleaseRegistrationNotFinished();
|
150
|
-
}
|
151
|
-
|
152
|
-
//setTargetClosed(service, false);
|
153
|
-
|
154
|
-
_latest = version;
|
155
|
-
|
156
|
-
_active[service] = true;
|
157
|
-
_valid[version] = true;
|
158
|
-
|
159
|
-
emit LogReleaseActivation(version);
|
160
|
-
}
|
161
|
-
|
162
|
-
// TODO implement reliable way this function can only be called directly after createNextRelease()
|
163
|
-
// IMPORTANT: MUST never be possible to create with access/release manager, token registry
|
164
|
-
// callable once per release after release creation
|
165
|
-
// can not register regular services
|
166
|
-
function registerRegistryService(IRegistryService service)
|
167
|
-
external
|
168
|
-
restricted // GIF_MANAGER_ROLE
|
169
|
-
returns(NftId nftId)
|
170
|
-
{
|
171
|
-
if(!service.supportsInterface(type(IRegistryService).interfaceId)) {
|
172
|
-
revert NotRegistryService();
|
173
|
-
}
|
174
|
-
|
175
|
-
// TODO unreliable! MUST guarantee the same authority -> how?
|
176
|
-
address serviceAuthority = service.authority();
|
177
|
-
if(serviceAuthority != authority()) {
|
178
|
-
revert UnexpectedServiceAuthority(
|
179
|
-
authority(),
|
180
|
-
serviceAuthority);
|
181
|
-
}
|
182
|
-
|
183
|
-
IRegistry.ObjectInfo memory info = _getAndVerifyContractInfo(address(service), SERVICE(), msg.sender);
|
184
|
-
|
185
|
-
VersionPart majorVersion = _next;
|
186
|
-
ObjectType domain = REGISTRY();
|
187
|
-
_verifyService(service, majorVersion, domain);
|
188
|
-
_createRelease(service.getFunctionConfigs());
|
189
|
-
|
190
|
-
nftId = _registry.registerService(info, majorVersion, domain);
|
191
|
-
|
192
|
-
// external call
|
193
|
-
service.linkToRegisteredNftId();
|
194
|
-
}
|
195
|
-
|
196
|
-
// TODO adding service to release -> synchronized with proxy upgrades or simple addServiceToRelease(service, version, selector)?
|
197
|
-
// TODO removing service from release? -> set _active to false forever, but keep all other records?
|
198
|
-
function registerService(IService service)
|
199
|
-
external
|
200
|
-
restricted // GIF_MANAGER_ROLE
|
201
|
-
returns(NftId nftId)
|
202
|
-
{
|
203
|
-
if(!service.supportsInterface(type(IService).interfaceId)) {
|
204
|
-
revert NotService();
|
205
|
-
}
|
206
|
-
|
207
|
-
IRegistry.ObjectInfo memory info = _getAndVerifyContractInfo(address(service), SERVICE(), msg.sender);
|
208
|
-
VersionPart majorVersion = getNextVersion();
|
209
|
-
ObjectType domain = _release[majorVersion].domains[_awaitingRegistration];// reversed registration order of services specified in RegistryService config
|
210
|
-
_verifyService(service, majorVersion, domain);
|
211
|
-
|
212
|
-
// setup and grant unique role if service does registrations
|
213
|
-
bytes4[] memory selectors = _selectors[majorVersion][domain];
|
214
|
-
address registryService = _registry.getServiceAddress(REGISTRY(), majorVersion);
|
215
|
-
if(selectors.length > 0) {
|
216
|
-
_accessManager.setAndGrantUniqueRole(
|
217
|
-
address(service),
|
218
|
-
registryService,
|
219
|
-
selectors);
|
220
|
-
}
|
221
|
-
|
222
|
-
// service to service authorization
|
223
|
-
ServiceAuthorizationsLib.ServiceAuthorization memory authz = ServiceAuthorizationsLib.getAuthorizations(domain);
|
224
|
-
for(uint8 idx = 0; idx < authz.authorizedRole.length; idx++) {
|
225
|
-
_accessManager.setTargetFunctionRole(
|
226
|
-
address(service),
|
227
|
-
authz.authorizedSelectors[idx],
|
228
|
-
authz.authorizedRole[idx]);
|
229
|
-
}
|
230
|
-
|
231
|
-
_awaitingRegistration--;
|
232
|
-
|
233
|
-
nftId = _registry.registerService(info, majorVersion, domain);
|
234
|
-
|
235
|
-
// external call
|
236
|
-
service.linkToRegisteredNftId();
|
237
|
-
}
|
238
|
-
|
239
|
-
//--- view functions ----------------------------------------------------//
|
240
|
-
|
241
|
-
function isActiveRegistryService(address service) external view returns(bool)
|
242
|
-
{
|
243
|
-
return _active[service];
|
244
|
-
}
|
245
|
-
|
246
|
-
function isValidRelease(VersionPart version) external view returns(bool)
|
247
|
-
{
|
248
|
-
return _valid[version];
|
249
|
-
}
|
250
|
-
|
251
|
-
function getRegistryAddress() external view returns(address)
|
252
|
-
{
|
253
|
-
return address(_registry);
|
254
|
-
}
|
255
|
-
|
256
|
-
function getReleaseInfo(VersionPart version) external view returns(IRegistry.ReleaseInfo memory)
|
257
|
-
{
|
258
|
-
return _release[version];
|
259
|
-
}
|
260
|
-
|
261
|
-
function getNextVersion() public view returns(VersionPart)
|
262
|
-
{
|
263
|
-
return _next;
|
264
|
-
}
|
265
|
-
|
266
|
-
function getLatestVersion() external view returns(VersionPart) {
|
267
|
-
return _latest;
|
268
|
-
}
|
269
|
-
|
270
|
-
function getInitialVersion() external view returns(VersionPart) {
|
271
|
-
return _initial;
|
272
|
-
}
|
273
|
-
|
274
|
-
//--- private functions ----------------------------------------------------//
|
275
|
-
|
276
|
-
function _getAndVerifyContractInfo(
|
277
|
-
address registerableAddress,
|
278
|
-
ObjectType expectedType,
|
279
|
-
address expectedOwner // assume always valid, can not be 0
|
280
|
-
)
|
281
|
-
internal
|
282
|
-
// view
|
283
|
-
returns(
|
284
|
-
IRegistry.ObjectInfo memory info
|
285
|
-
)
|
286
|
-
{
|
287
|
-
info = IRegisterable(registerableAddress).getInitialInfo();
|
288
|
-
|
289
|
-
if(info.objectAddress != registerableAddress) {
|
290
|
-
revert ErrorReleaseManagerUnexpectedRegisterableAddress(registerableAddress, info.objectAddress);
|
291
|
-
}
|
292
|
-
|
293
|
-
if(info.isInterceptor) {
|
294
|
-
revert ErrorReleaseManagerIsInterceptorTrue();
|
295
|
-
}
|
296
|
-
|
297
|
-
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
298
|
-
revert UnexpectedRegisterableType(expectedType, info.objectType);
|
299
|
-
}
|
300
|
-
|
301
|
-
address owner = info.initialOwner;
|
302
|
-
|
303
|
-
if(owner != expectedOwner) { // registerable owner protection
|
304
|
-
revert NotRegisterableOwner(expectedOwner, owner);
|
305
|
-
}
|
306
|
-
|
307
|
-
if(owner == address(registerableAddress)) {
|
308
|
-
revert SelfRegistration();
|
309
|
-
}
|
310
|
-
|
311
|
-
if(_registry.isRegistered(owner)) {
|
312
|
-
revert RegisterableOwnerIsRegistered();
|
313
|
-
}
|
314
|
-
}
|
315
|
-
|
316
|
-
function _verifyService(
|
317
|
-
IService service,
|
318
|
-
VersionPart expectedVersion,
|
319
|
-
ObjectType expectedDomain
|
320
|
-
)
|
321
|
-
internal
|
322
|
-
view
|
323
|
-
returns(ObjectType)
|
324
|
-
{
|
325
|
-
Version version = service.getVersion();
|
326
|
-
VersionPart majorVersion = version.toMajorPart();
|
327
|
-
if(majorVersion != expectedVersion) {
|
328
|
-
revert UnexpectedServiceVersion(expectedVersion, majorVersion);
|
329
|
-
}
|
330
|
-
|
331
|
-
if(service.getDomain() != expectedDomain) {
|
332
|
-
revert UnexpectedServiceDomain(expectedDomain, service.getDomain());
|
333
|
-
}
|
334
|
-
|
335
|
-
return expectedDomain;
|
336
|
-
}
|
337
|
-
|
338
|
-
// TODO check if registry supports types specified in the config array
|
339
|
-
function _createRelease(IRegistryService.FunctionConfig[] memory config)
|
340
|
-
internal
|
341
|
-
{
|
342
|
-
VersionPart version = getNextVersion();
|
343
|
-
|
344
|
-
if(config.length == 0) {
|
345
|
-
revert ConfigMissing();
|
346
|
-
}
|
347
|
-
// always in release
|
348
|
-
_release[version].domains.push(REGISTRY());
|
349
|
-
for(uint idx = 0; idx < config.length; idx++)
|
350
|
-
{
|
351
|
-
ObjectType domain = config[idx].serviceDomain;
|
352
|
-
// not "registry service" / zero domain
|
353
|
-
if(
|
354
|
-
domain == REGISTRY() ||
|
355
|
-
domain.eqz()
|
356
|
-
) { revert ConfigServiceDomainInvalid(idx, domain); }
|
357
|
-
|
358
|
-
bytes4[] memory selectors = config[idx].authorizedSelectors;
|
359
|
-
|
360
|
-
// TODO can be zero -> e.g. duplicate domain, first with zero selector, second with non zero selector -> need to check _release[version].domains.contains(domain) instead
|
361
|
-
// no overwrite
|
362
|
-
if(_selectors[version][domain].length > 0) {
|
363
|
-
revert SelectorAlreadyExists(version, domain);
|
364
|
-
}
|
365
|
-
|
366
|
-
_selectors[version][domain] = selectors;
|
367
|
-
_release[version].domains.push(domain);
|
368
|
-
}
|
369
|
-
// TODO set when activated?
|
370
|
-
_release[version].createdAt = TimestampLib.blockTimestamp();
|
371
|
-
//_release[version].updatedAt = TimestampLib.blockTimestamp();
|
372
|
-
|
373
|
-
_awaitingRegistration = config.length;
|
374
|
-
}
|
375
|
-
}
|
@@ -1,173 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {
|
5
|
-
RoleId,
|
6
|
-
PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE,
|
7
|
-
APPLICATION_SERVICE_ROLE, BUNDLE_SERVICE_ROLE, COMPONENT_SERVICE_ROLE, DISTRIBUTION_SERVICE_ROLE, INSTANCE_SERVICE_ROLE, POLICY_SERVICE_ROLE, POOL_SERVICE_ROLE, PRODUCT_SERVICE_ROLE, STAKING_SERVICE_ROLE
|
8
|
-
} from "../../contracts/type/RoleId.sol";
|
9
|
-
|
10
|
-
import {
|
11
|
-
ObjectType,
|
12
|
-
REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE
|
13
|
-
} from "../../contracts/type/ObjectType.sol";
|
14
|
-
|
15
|
-
import {ComponentService} from "../shared/ComponentService.sol";
|
16
|
-
import {InstanceService} from "../instance/InstanceService.sol";
|
17
|
-
import {RegistryService} from "./RegistryService.sol";
|
18
|
-
|
19
|
-
library ServiceAuthorizationsLib {
|
20
|
-
|
21
|
-
struct ServiceAuthorization {
|
22
|
-
RoleId[] authorizedRole;
|
23
|
-
bytes4[][] authorizedSelectors;
|
24
|
-
}
|
25
|
-
|
26
|
-
/// @dev returns the full list of gif service domains for this release.
|
27
|
-
/// services need to be registered for the release in revers order of this list.
|
28
|
-
function getDomains()
|
29
|
-
external
|
30
|
-
pure
|
31
|
-
returns(
|
32
|
-
ObjectType[] memory domain
|
33
|
-
)
|
34
|
-
{
|
35
|
-
domain = new ObjectType[](11);
|
36
|
-
domain[0] = POLICY();
|
37
|
-
domain[1] = APPLICATION();
|
38
|
-
domain[2] = CLAIM();
|
39
|
-
domain[3] = PRODUCT();
|
40
|
-
domain[4] = POOL();
|
41
|
-
domain[5] = BUNDLE();
|
42
|
-
domain[6] = PRICE();
|
43
|
-
domain[7] = DISTRIBUTION();
|
44
|
-
domain[8] = COMPONENT();
|
45
|
-
domain[9] = INSTANCE();
|
46
|
-
domain[10] = STAKING();
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
/// @dev given the target domain this function returns the list of authorized function signatures per authorized domain.
|
51
|
-
function getAuthorizations(ObjectType domain)
|
52
|
-
external
|
53
|
-
pure
|
54
|
-
returns(
|
55
|
-
ServiceAuthorization memory authorizations
|
56
|
-
)
|
57
|
-
{
|
58
|
-
if(domain == REGISTRY()) { return _getRegistryServiceAuthorization(); }
|
59
|
-
if(domain == INSTANCE()) { return _getInstanceServiceAuthorization(); }
|
60
|
-
if(domain == COMPONENT()) { return _getComponentServiceAuthorization(); }
|
61
|
-
|
62
|
-
// disallows access to all functions with a restricted modifier
|
63
|
-
return _getDefaultAuthorizations();
|
64
|
-
}
|
65
|
-
|
66
|
-
|
67
|
-
/// @dev registry service authorization.
|
68
|
-
/// returns all authorized function signatures per authorized domain.
|
69
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
70
|
-
function _getRegistryServiceAuthorization()
|
71
|
-
internal
|
72
|
-
pure
|
73
|
-
returns (ServiceAuthorization memory authz)
|
74
|
-
{
|
75
|
-
uint8 authorizedRoles = 8;
|
76
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
77
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
78
|
-
|
79
|
-
// TODO role ids need to have a stable setup, this is not the case currently
|
80
|
-
authz.authorizedRole[0] = APPLICATION_SERVICE_ROLE();
|
81
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
82
|
-
authz.authorizedSelectors[0][0] = RegistryService.registerPolicy.selector;
|
83
|
-
|
84
|
-
authz.authorizedRole[1] = POOL_SERVICE_ROLE();
|
85
|
-
authz.authorizedSelectors[1] = new bytes4[](1);
|
86
|
-
authz.authorizedSelectors[1][0] = RegistryService.registerPool.selector;
|
87
|
-
|
88
|
-
authz.authorizedRole[2] = BUNDLE_SERVICE_ROLE();
|
89
|
-
authz.authorizedSelectors[2] = new bytes4[](1);
|
90
|
-
authz.authorizedSelectors[2][0] = RegistryService.registerBundle.selector;
|
91
|
-
|
92
|
-
authz.authorizedRole[3] = DISTRIBUTION_SERVICE_ROLE();
|
93
|
-
authz.authorizedSelectors[3] = new bytes4[](2);
|
94
|
-
authz.authorizedSelectors[3][0] = RegistryService.registerDistribution.selector;
|
95
|
-
authz.authorizedSelectors[3][1] = RegistryService.registerDistributor.selector;
|
96
|
-
|
97
|
-
authz.authorizedRole[4] = COMPONENT_SERVICE_ROLE();
|
98
|
-
authz.authorizedSelectors[4] = new bytes4[](1);
|
99
|
-
authz.authorizedSelectors[4][0] = RegistryService.registerComponent.selector;
|
100
|
-
|
101
|
-
authz.authorizedRole[5] = INSTANCE_SERVICE_ROLE();
|
102
|
-
authz.authorizedSelectors[5] = new bytes4[](1);
|
103
|
-
authz.authorizedSelectors[5][0] = RegistryService.registerInstance.selector;
|
104
|
-
|
105
|
-
authz.authorizedRole[6] = STAKING_SERVICE_ROLE();
|
106
|
-
authz.authorizedSelectors[6] = new bytes4[](1);
|
107
|
-
authz.authorizedSelectors[6][0] = RegistryService.registerStaking.selector;
|
108
|
-
|
109
|
-
authz.authorizedRole[7] = PRODUCT_SERVICE_ROLE();
|
110
|
-
authz.authorizedSelectors[7] = new bytes4[](1);
|
111
|
-
authz.authorizedSelectors[7][0] = RegistryService.registerProduct.selector;
|
112
|
-
}
|
113
|
-
|
114
|
-
|
115
|
-
/// @dev instance service authorization.
|
116
|
-
/// returns all authorized function signatures per authorized domain.
|
117
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
118
|
-
function _getInstanceServiceAuthorization()
|
119
|
-
internal
|
120
|
-
pure
|
121
|
-
returns (ServiceAuthorization memory authz)
|
122
|
-
{
|
123
|
-
uint8 authorizedRoles = 1;
|
124
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
125
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
126
|
-
|
127
|
-
authz.authorizedRole[0] = COMPONENT_SERVICE_ROLE();
|
128
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
129
|
-
authz.authorizedSelectors[0][0] = InstanceService.createComponentTarget.selector;
|
130
|
-
}
|
131
|
-
|
132
|
-
|
133
|
-
/// @dev component service authorization.
|
134
|
-
/// returns all authorized function signatures per authorized domain.
|
135
|
-
/// all listed functions MUST be implemented with a restricted modifier
|
136
|
-
function _getComponentServiceAuthorization()
|
137
|
-
internal
|
138
|
-
pure
|
139
|
-
returns (ServiceAuthorization memory authz)
|
140
|
-
{
|
141
|
-
uint8 authorizedRoles = 4;
|
142
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
143
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
144
|
-
|
145
|
-
authz.authorizedRole[0] = POLICY_SERVICE_ROLE();
|
146
|
-
authz.authorizedSelectors[0] = new bytes4[](1);
|
147
|
-
authz.authorizedSelectors[0][0] = ComponentService.increaseProductFees.selector;
|
148
|
-
|
149
|
-
authz.authorizedRole[1] = DISTRIBUTION_SERVICE_ROLE();
|
150
|
-
authz.authorizedSelectors[1] = new bytes4[](1);
|
151
|
-
authz.authorizedSelectors[1][0] = ComponentService.increaseDistributionBalance.selector;
|
152
|
-
|
153
|
-
authz.authorizedRole[2] = POOL_SERVICE_ROLE();
|
154
|
-
authz.authorizedSelectors[2] = new bytes4[](1);
|
155
|
-
authz.authorizedSelectors[2][0] = ComponentService.increasePoolBalance.selector;
|
156
|
-
|
157
|
-
authz.authorizedRole[3] = BUNDLE_SERVICE_ROLE();
|
158
|
-
authz.authorizedSelectors[3] = new bytes4[](1);
|
159
|
-
authz.authorizedSelectors[3][0] = ComponentService.increaseBundleBalance.selector;
|
160
|
-
}
|
161
|
-
|
162
|
-
|
163
|
-
function _getDefaultAuthorizations()
|
164
|
-
internal
|
165
|
-
pure
|
166
|
-
returns (ServiceAuthorization memory authz)
|
167
|
-
{
|
168
|
-
uint8 authorizedRoles = 0;
|
169
|
-
authz.authorizedRole = new RoleId[](authorizedRoles);
|
170
|
-
authz.authorizedSelectors = new bytes4[][](authorizedRoles);
|
171
|
-
}
|
172
|
-
}
|
173
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {AccessManagerUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagerUpgradeable.sol";
|
5
|
-
|
6
|
-
|
7
|
-
contract AccessManagerUpgradeableInitializeable is AccessManagerUpgradeable {
|
8
|
-
|
9
|
-
function initialize(address initialAdmin) initializer public {
|
10
|
-
__AccessManager_init(initialAdmin);
|
11
|
-
}
|
12
|
-
|
13
|
-
}
|
File without changes
|