@etherisc/gif-next 0.0.2-e5a2253-213 → 0.0.2-e5bdc7a-937
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 +85 -23
- 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/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- 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 +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1018 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1494 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +862 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +917 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +984 -0
- 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 +322 -1403
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +355 -203
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +419 -2524
- 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 +1276 -412
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +461 -393
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +378 -92
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3668 -0
- 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 +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
- 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 +25 -150
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
- 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/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +291 -353
- 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 +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1360 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +822 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +476 -274
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +421 -365
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1285 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1029 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1619 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +794 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +806 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- 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 +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1439 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +858 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +265 -228
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +944 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +290 -211
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +488 -269
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IRiskService.sol/IRiskService.json} +154 -133
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1313 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +810 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +923 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1106 -0
- 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 +72 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +562 -20
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +273 -230
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +1010 -85
- 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 +338 -271
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +364 -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 +360 -96
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/Component.sol/Component.json} +283 -274
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1835 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +846 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +153 -172
- 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 +4 -0
- package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +260 -262
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +96 -34
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +40 -31
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +106 -152
- 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 +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/IKeyValueStore.sol/IKeyValueStore.json → shared/KeyValueStore.sol/KeyValueStore.json} +129 -20
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- 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 +81 -30
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +96 -48
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +138 -164
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +734 -8
- 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 +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
- 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 +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
- 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 +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
- 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 +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1265 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +734 -0
- 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 +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- 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 +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- 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 +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +180 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
- 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 +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- 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 +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
- 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/upgradeability/Versionable.sol/Versionable.json +78 -0
- 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 +284 -0
- package/contracts/distribution/DistributionService.sol +354 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +100 -0
- 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 +62 -50
- package/contracts/instance/IInstanceService.sol +56 -22
- package/contracts/instance/Instance.sol +175 -196
- package/contracts/instance/InstanceAdmin.sol +278 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +217 -0
- package/contracts/instance/InstanceReader.sol +347 -83
- package/contracts/instance/InstanceService.sol +325 -246
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +287 -0
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
- 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 +19 -21
- package/contracts/instance/module/IBundle.sol +8 -8
- package/contracts/instance/module/IComponents.sol +50 -0
- package/contracts/instance/module/IDistribution.sol +6 -4
- package/contracts/instance/module/IPolicy.sol +59 -19
- package/contracts/instance/module/IRisk.sol +2 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- 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 +423 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +122 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +153 -0
- package/contracts/pool/Pool.sol +345 -0
- package/contracts/pool/PoolService.sol +612 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +259 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +49 -0
- package/contracts/product/BasicProductAuthorization.sol +42 -0
- package/contracts/product/ClaimService.sol +614 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +66 -0
- package/contracts/product/IClaimService.sol +123 -0
- package/contracts/product/IPolicyService.sol +90 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +59 -0
- package/contracts/product/IRiskService.sol +33 -0
- package/contracts/product/PolicyService.sol +733 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +427 -0
- package/contracts/product/RiskService.sol +107 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +79 -34
- package/contracts/registry/IRegistry.sol +108 -26
- package/contracts/registry/IRegistryService.sol +38 -34
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +538 -209
- package/contracts/registry/RegistryAdmin.sol +451 -0
- package/contracts/registry/RegistryService.sol +119 -198
- package/contracts/registry/RegistryServiceManager.sol +24 -33
- 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 +263 -58
- package/contracts/shared/Component.sol +217 -0
- package/contracts/shared/ComponentService.sol +806 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ComponentVerifyingService.sol +128 -0
- package/contracts/shared/ContractLib.sol +224 -0
- package/contracts/shared/IComponent.sol +67 -0
- package/contracts/shared/IComponentService.sol +130 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +15 -12
- package/contracts/shared/IPolicyHolder.sol +35 -0
- package/contracts/shared/IRegisterable.sol +15 -4
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +15 -6
- package/contracts/shared/InitializableERC165.sol +27 -0
- package/contracts/shared/InstanceLinkedComponent.sol +205 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +75 -82
- package/contracts/shared/PolicyHolder.sol +62 -0
- package/contracts/shared/Registerable.sol +34 -41
- package/contracts/shared/RegistryLinked.sol +38 -0
- package/contracts/shared/Service.sol +60 -34
- package/contracts/shared/TokenHandler.sol +374 -12
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +173 -0
- package/contracts/staking/IStakingService.sol +157 -0
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +505 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +52 -0
- package/contracts/staking/StakingReader.sol +190 -0
- package/contracts/staking/StakingService.sol +440 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +150 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/type/ClaimId.sol +80 -0
- package/contracts/{types → type}/DistributorType.sol +2 -2
- package/contracts/{types → type}/Fee.sol +33 -23
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +28 -15
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +278 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +6 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +31 -5
- package/contracts/type/RoleId.sol +162 -0
- package/contracts/type/Seconds.sol +101 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +48 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +34 -15
- package/contracts/{types → type}/UFixed.sol +39 -9
- package/contracts/{types → type}/Version.sol +5 -2
- package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
- package/contracts/upgradeability/ProxyManager.sol +232 -0
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/upgradeability/Versionable.sol +59 -0
- package/package.json +11 -7
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -100
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1121
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -791
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -424
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1246
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -825
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -424
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -875
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -424
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -530
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
- 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/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/BaseComponent.sol +0 -168
- package/contracts/components/Distribution.sol +0 -154
- package/contracts/components/IBaseComponent.sol +0 -35
- package/contracts/components/IDistributionComponent.sol +0 -44
- package/contracts/components/IPoolComponent.sol +0 -66
- package/contracts/components/IProductComponent.sol +0 -35
- package/contracts/components/Pool.sol +0 -258
- package/contracts/components/Product.sol +0 -295
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
- package/contracts/instance/BundleManager.sol +0 -129
- package/contracts/instance/IInstanceBase.sol +0 -25
- package/contracts/instance/InstanceAccessManager.sol +0 -303
- package/contracts/instance/InstanceBase.sol +0 -39
- package/contracts/instance/ObjectManager.sol +0 -101
- package/contracts/instance/base/ComponentServiceBase.sol +0 -138
- package/contracts/instance/base/IInstanceBase.sol +0 -21
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/module/ISetup.sol +0 -46
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/BundleService.sol +0 -294
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/DistributionService.sol +0 -115
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -44
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPolicyService.sol +0 -94
- package/contracts/instance/service/IPoolService.sol +0 -20
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -539
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -142
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -209
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -210
- package/contracts/registry/ReleaseManager.sol +0 -342
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -25
- package/contracts/shared/ProxyManager.sol +0 -94
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
- package/contracts/shared/Versionable.sol +0 -147
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -152
- package/contracts/types/RoleId.sol +0 -90
@@ -1,303 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
|
5
|
-
import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
|
6
|
-
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
7
|
-
|
8
|
-
import {AccessManagerUpgradeableInitializeable} from "../../contracts/instance/AccessManagerUpgradeableInitializeable.sol";
|
9
|
-
import {RoleId, RoleIdLib } from "../types/RoleId.sol";
|
10
|
-
import {TimestampLib} from "../types/Timestamp.sol";
|
11
|
-
import {IAccess} from "./module/IAccess.sol";
|
12
|
-
|
13
|
-
contract InstanceAccessManager is
|
14
|
-
AccessManagedUpgradeable
|
15
|
-
{
|
16
|
-
using RoleIdLib for RoleId;
|
17
|
-
|
18
|
-
string public constant ADMIN_ROLE_NAME = "AdminRole";
|
19
|
-
string public constant PUBLIC_ROLE_NAME = "PublicRole";
|
20
|
-
|
21
|
-
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
|
22
|
-
uint32 public constant EXECUTION_DELAY = 0;
|
23
|
-
|
24
|
-
// role specific state
|
25
|
-
mapping(RoleId roleId => IAccess.RoleInfo info) internal _role;
|
26
|
-
mapping(RoleId roleId => EnumerableSet.AddressSet roleMembers) internal _roleMembers;
|
27
|
-
mapping(ShortString name => RoleId roleId) internal _roleForName;
|
28
|
-
RoleId [] internal _roles;
|
29
|
-
|
30
|
-
// target specific state
|
31
|
-
mapping(address target => IAccess.TargetInfo info) internal _target;
|
32
|
-
mapping(ShortString name => address target) internal _targetForName;
|
33
|
-
address [] internal _targets;
|
34
|
-
|
35
|
-
AccessManagerUpgradeableInitializeable internal _accessManager;
|
36
|
-
|
37
|
-
function __InstanceAccessManager_initialize(address initialAdmin) external initializer
|
38
|
-
{
|
39
|
-
// if size of the contract gets too large, this can be externalized which will reduce the contract size considerably
|
40
|
-
_accessManager = new AccessManagerUpgradeableInitializeable();
|
41
|
-
// this service required adin rights to access manager to be able to grant/revoke roles
|
42
|
-
_accessManager.__AccessManagerUpgradeableInitializeable_init(address(this));
|
43
|
-
_accessManager.grantRole(_accessManager.ADMIN_ROLE(), initialAdmin, 0);
|
44
|
-
|
45
|
-
__AccessManaged_init(address(_accessManager));
|
46
|
-
|
47
|
-
_createRole(RoleIdLib.toRoleId(_accessManager.ADMIN_ROLE()), ADMIN_ROLE_NAME, false, false);
|
48
|
-
_createRole(RoleIdLib.toRoleId(_accessManager.PUBLIC_ROLE()), PUBLIC_ROLE_NAME, false, false);
|
49
|
-
}
|
50
|
-
|
51
|
-
//--- Role ------------------------------------------------------//
|
52
|
-
function createGifRole(RoleId roleId, string memory name) external restricted() {
|
53
|
-
_createRole(roleId, name, false, true);
|
54
|
-
}
|
55
|
-
|
56
|
-
function createRole(RoleId roleId, string memory name) external restricted() {
|
57
|
-
_createRole(roleId, name, true, true);
|
58
|
-
}
|
59
|
-
|
60
|
-
function setRoleLocked(RoleId roleId, bool locked) external restricted() {
|
61
|
-
if (!roleExists(roleId)) {
|
62
|
-
revert IAccess.ErrorIAccessSetLockedForNonexstentRole(roleId);
|
63
|
-
}
|
64
|
-
|
65
|
-
_role[roleId].isLocked = locked;
|
66
|
-
_role[roleId].updatedAt = TimestampLib.blockTimestamp();
|
67
|
-
}
|
68
|
-
|
69
|
-
function roleExists(RoleId roleId) public view returns (bool exists) {
|
70
|
-
return _role[roleId].createdAt.gtz();
|
71
|
-
}
|
72
|
-
|
73
|
-
function grantRole(RoleId roleId, address member) external restricted() returns (bool granted) {
|
74
|
-
if (!roleExists(roleId)) {
|
75
|
-
revert IAccess.ErrorIAccessGrantNonexstentRole(roleId);
|
76
|
-
}
|
77
|
-
|
78
|
-
if (_role[roleId].isLocked) {
|
79
|
-
revert IAccess.ErrorIAccessRoleIdNotActive(roleId);
|
80
|
-
}
|
81
|
-
|
82
|
-
if (!EnumerableSet.contains(_roleMembers[roleId], member)) {
|
83
|
-
_accessManager.grantRole(roleId.toInt(), member, EXECUTION_DELAY);
|
84
|
-
EnumerableSet.add(_roleMembers[roleId], member);
|
85
|
-
return true;
|
86
|
-
}
|
87
|
-
|
88
|
-
return false;
|
89
|
-
}
|
90
|
-
|
91
|
-
function revokeRole(RoleId roleId, address member) external restricted() returns (bool revoked) {
|
92
|
-
if (!roleExists(roleId)) {
|
93
|
-
revert IAccess.ErrorIAccessRevokeNonexstentRole(roleId);
|
94
|
-
}
|
95
|
-
|
96
|
-
if (EnumerableSet.contains(_roleMembers[roleId], member)) {
|
97
|
-
_accessManager.revokeRole(roleId.toInt(), member);
|
98
|
-
EnumerableSet.remove(_roleMembers[roleId], member);
|
99
|
-
return true;
|
100
|
-
}
|
101
|
-
|
102
|
-
return false;
|
103
|
-
}
|
104
|
-
|
105
|
-
/// @dev not restricted function by intention
|
106
|
-
/// the restriction to role members is already enforced by the call to the access manger
|
107
|
-
function renounceRole(RoleId roleId) external returns (bool revoked) {
|
108
|
-
address member = msg.sender;
|
109
|
-
|
110
|
-
if (!roleExists(roleId)) {
|
111
|
-
revert IAccess.ErrorIAccessRenounceNonexstentRole(roleId);
|
112
|
-
}
|
113
|
-
|
114
|
-
if (EnumerableSet.contains(_roleMembers[roleId], member)) {
|
115
|
-
// cannot use accessManger.renounce as it directly checks against msg.sender
|
116
|
-
_accessManager.revokeRole(roleId.toInt(), member);
|
117
|
-
EnumerableSet.remove(_roleMembers[roleId], member);
|
118
|
-
return true;
|
119
|
-
}
|
120
|
-
|
121
|
-
return false;
|
122
|
-
}
|
123
|
-
|
124
|
-
function roles() external view returns (uint256 numberOfRoles) {
|
125
|
-
return _roles.length;
|
126
|
-
}
|
127
|
-
|
128
|
-
function getRoleId(uint256 idx) external view returns (RoleId roleId) {
|
129
|
-
return _roles[idx];
|
130
|
-
}
|
131
|
-
|
132
|
-
function getRoleIdForName(string memory name) external view returns (RoleId roleId) {
|
133
|
-
return _roleForName[ShortStrings.toShortString(name)];
|
134
|
-
}
|
135
|
-
|
136
|
-
function getRole(RoleId roleId) external view returns (IAccess.RoleInfo memory role) {
|
137
|
-
return _role[roleId];
|
138
|
-
}
|
139
|
-
|
140
|
-
function hasRole(RoleId roleId, address account) external view returns (bool accountHasRole) {
|
141
|
-
(accountHasRole, ) = _accessManager.hasRole(roleId.toInt(), account);
|
142
|
-
}
|
143
|
-
|
144
|
-
function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers) {
|
145
|
-
return EnumerableSet.length(_roleMembers[roleId]);
|
146
|
-
}
|
147
|
-
|
148
|
-
function getRoleMember(RoleId roleId, uint256 idx) external view returns (address roleMember) {
|
149
|
-
return EnumerableSet.at(_roleMembers[roleId], idx);
|
150
|
-
}
|
151
|
-
|
152
|
-
//--- Target ------------------------------------------------------//
|
153
|
-
function createGifTarget(address target, string memory name) external restricted() {
|
154
|
-
_createTarget(target, name, false, true);
|
155
|
-
}
|
156
|
-
|
157
|
-
function createTarget(address target, string memory name) external restricted() {
|
158
|
-
_createTarget(target, name, true, true);
|
159
|
-
}
|
160
|
-
|
161
|
-
function setTargetLocked(string memory targetName, bool locked) external restricted() {
|
162
|
-
address target = _targetForName[ShortStrings.toShortString(targetName)];
|
163
|
-
|
164
|
-
if (target == address(0)) {
|
165
|
-
revert IAccess.ErrorIAccessSetLockedForNonexstentTarget(target);
|
166
|
-
}
|
167
|
-
|
168
|
-
_target[target].isLocked = locked;
|
169
|
-
_accessManager.setTargetClosed(target, locked);
|
170
|
-
}
|
171
|
-
|
172
|
-
function targetExists(address target) public view returns (bool exists) {
|
173
|
-
return _target[target].createdAt.gtz();
|
174
|
-
}
|
175
|
-
|
176
|
-
//--- internal view/pure functions --------------------------------------//
|
177
|
-
|
178
|
-
function _createRole(RoleId roleId, string memory name, bool isCustom, bool validateParameters) internal {
|
179
|
-
if (validateParameters) {
|
180
|
-
_validateRoleParameters(roleId, name, isCustom);
|
181
|
-
}
|
182
|
-
|
183
|
-
IAccess.RoleInfo memory role = IAccess.RoleInfo(
|
184
|
-
ShortStrings.toShortString(name),
|
185
|
-
isCustom,
|
186
|
-
false, // role un-locked,
|
187
|
-
TimestampLib.blockTimestamp(),
|
188
|
-
TimestampLib.blockTimestamp());
|
189
|
-
|
190
|
-
_role[roleId] = role;
|
191
|
-
_roleForName[role.name] = roleId;
|
192
|
-
_roles.push(roleId);
|
193
|
-
}
|
194
|
-
|
195
|
-
function _validateRoleParameters(
|
196
|
-
RoleId roleId,
|
197
|
-
string memory name,
|
198
|
-
bool isCustom
|
199
|
-
)
|
200
|
-
internal
|
201
|
-
view
|
202
|
-
returns (IAccess.RoleInfo memory existingRole)
|
203
|
-
{
|
204
|
-
// check role id
|
205
|
-
uint64 roleIdInt = RoleId.unwrap(roleId);
|
206
|
-
if(roleIdInt == _accessManager.ADMIN_ROLE() || roleIdInt == _accessManager.PUBLIC_ROLE()) {
|
207
|
-
revert IAccess.ErrorIAccessRoleIdInvalid(roleId);
|
208
|
-
}
|
209
|
-
|
210
|
-
// prevent changing isCustom for existing roles
|
211
|
-
existingRole = _role[roleId];
|
212
|
-
|
213
|
-
if (existingRole.createdAt.gtz() && isCustom != existingRole.isCustom) {
|
214
|
-
revert IAccess.ErrorIAccessRoleIsCustomIsImmutable(roleId, isCustom, existingRole.isCustom);
|
215
|
-
}
|
216
|
-
|
217
|
-
if (isCustom && roleIdInt < CUSTOM_ROLE_ID_MIN) {
|
218
|
-
revert IAccess.ErrorIAccessRoleIdTooSmall(roleId);
|
219
|
-
} else if (!isCustom && roleIdInt >= CUSTOM_ROLE_ID_MIN) {
|
220
|
-
revert IAccess.ErrorIAccessRoleIdTooBig(roleId);
|
221
|
-
}
|
222
|
-
|
223
|
-
// role name checks
|
224
|
-
ShortString nameShort = ShortStrings.toShortString(name);
|
225
|
-
if (ShortStrings.byteLength(nameShort) == 0) {
|
226
|
-
revert IAccess.ErrorIAccessRoleNameEmpty(roleId);
|
227
|
-
}
|
228
|
-
|
229
|
-
if (_roleForName[nameShort] != RoleIdLib.zero() && _roleForName[nameShort] != roleId) {
|
230
|
-
revert IAccess.ErrorIAccessRoleNameNotUnique(_roleForName[nameShort], nameShort);
|
231
|
-
}
|
232
|
-
}
|
233
|
-
|
234
|
-
function _createTarget(address target, string memory name, bool isCustom, bool validateParameters) internal {
|
235
|
-
if (validateParameters) {
|
236
|
-
_validateTargetParameters(target, name, isCustom);
|
237
|
-
}
|
238
|
-
|
239
|
-
if (_target[target].createdAt.gtz()) {
|
240
|
-
revert IAccess.ErrorIAccessTargetAlreadyExists(target, _target[target].name);
|
241
|
-
}
|
242
|
-
if (_targetForName[ShortStrings.toShortString(name)] != address(0)) {
|
243
|
-
revert IAccess.ErrorIAccessTargetNameExists(target, _targetForName[ShortStrings.toShortString(name)], ShortStrings.toShortString(name));
|
244
|
-
}
|
245
|
-
|
246
|
-
IAccess.TargetInfo memory info = IAccess.TargetInfo(
|
247
|
-
ShortStrings.toShortString(name),
|
248
|
-
isCustom,
|
249
|
-
_accessManager.isTargetClosed(target), // sync with state in access manager
|
250
|
-
TimestampLib.blockTimestamp(),
|
251
|
-
TimestampLib.blockTimestamp());
|
252
|
-
|
253
|
-
_target[target] = info;
|
254
|
-
_targetForName[info.name] = target;
|
255
|
-
_targets.push(target);
|
256
|
-
}
|
257
|
-
|
258
|
-
function _validateTargetParameters(address target, string memory name, bool isCustom) internal view {
|
259
|
-
// TODO: implement
|
260
|
-
}
|
261
|
-
|
262
|
-
function setTargetFunctionRole(
|
263
|
-
address target,
|
264
|
-
bytes4[] calldata selectors,
|
265
|
-
uint64 roleId
|
266
|
-
) public virtual restricted() {
|
267
|
-
_accessManager.setTargetFunctionRole(target, selectors, roleId);
|
268
|
-
}
|
269
|
-
|
270
|
-
function setTargetFunctionRole(
|
271
|
-
string memory targetName,
|
272
|
-
bytes4[] calldata selectors,
|
273
|
-
RoleId roleId
|
274
|
-
) public virtual restricted() {
|
275
|
-
address target = _targetForName[ShortStrings.toShortString(targetName)];
|
276
|
-
uint64 roleIdInt = RoleId.unwrap(roleId);
|
277
|
-
_accessManager.setTargetFunctionRole(target, selectors, roleIdInt);
|
278
|
-
}
|
279
|
-
|
280
|
-
function getAccessManager() public restricted() returns (AccessManagerUpgradeableInitializeable) {
|
281
|
-
return _accessManager;
|
282
|
-
}
|
283
|
-
|
284
|
-
function setTargetClosed(string memory targetName, bool closed) public restricted() {
|
285
|
-
address target = _targetForName[ShortStrings.toShortString(targetName)];
|
286
|
-
if (target == address(0)) {
|
287
|
-
revert IAccess.ErrorIAccessTargetAddressZero();
|
288
|
-
}
|
289
|
-
_accessManager.setTargetClosed(target, closed);
|
290
|
-
}
|
291
|
-
|
292
|
-
function isTargetLocked(address target) public view returns (bool locked) {
|
293
|
-
return _accessManager.isTargetClosed(target);
|
294
|
-
}
|
295
|
-
|
296
|
-
function canCall(
|
297
|
-
address caller,
|
298
|
-
address target,
|
299
|
-
bytes4 selector
|
300
|
-
) public view virtual returns (bool immediate, uint32 delay) {
|
301
|
-
return _accessManager.canCall(caller, target, selector);
|
302
|
-
}
|
303
|
-
}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
|
5
|
-
import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
|
6
|
-
|
7
|
-
import {IAccess} from "./module/IAccess.sol";
|
8
|
-
import {IBundle} from "./module/IBundle.sol";
|
9
|
-
import {IPolicy} from "./module/IPolicy.sol";
|
10
|
-
import {IRisk} from "./module/IRisk.sol";
|
11
|
-
import {ISetup} from "./module/ISetup.sol";
|
12
|
-
import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
|
13
|
-
import {KeyValueStore} from "./base/KeyValueStore.sol";
|
14
|
-
import {IInstance} from "./IInstance.sol";
|
15
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
16
|
-
import {BundleManager} from "./BundleManager.sol";
|
17
|
-
import {NftId} from "../types/NftId.sol";
|
18
|
-
import {NumberId} from "../types/NumberId.sol";
|
19
|
-
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET} from "../types/ObjectType.sol";
|
20
|
-
import {RiskId, RiskIdLib} from "../types/RiskId.sol";
|
21
|
-
import {RoleId, RoleIdLib} from "../types/RoleId.sol";
|
22
|
-
import {StateId, ACTIVE} from "../types/StateId.sol";
|
23
|
-
import {ERC165} from "../shared/ERC165.sol";
|
24
|
-
import {Registerable} from "../shared/Registerable.sol";
|
25
|
-
import {IDistributionService} from "./service/IDistributionService.sol";
|
26
|
-
import {IPoolService} from "./service/IPoolService.sol";
|
27
|
-
import {IProductService} from "./service/IProductService.sol";
|
28
|
-
import {VersionPart} from "../types/Version.sol";
|
29
|
-
import {IInstanceBase} from "./IInstanceBase.sol";
|
30
|
-
|
31
|
-
contract InstanceBase is
|
32
|
-
IInstanceBase,
|
33
|
-
KeyValueStore,
|
34
|
-
ERC165,
|
35
|
-
Registerable
|
36
|
-
{
|
37
|
-
|
38
|
-
|
39
|
-
}
|
@@ -1,101 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Cloneable} from "./Cloneable.sol";
|
5
|
-
|
6
|
-
import {IInstance} from "./IInstance.sol";
|
7
|
-
import {INSTANCE} from "../types/ObjectType.sol";
|
8
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
9
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
10
|
-
import {LibNftIdSet} from "../types/NftIdSet.sol";
|
11
|
-
import {NftId} from "../types/NftId.sol";
|
12
|
-
|
13
|
-
contract ObjectManager is
|
14
|
-
Cloneable
|
15
|
-
{
|
16
|
-
|
17
|
-
event LogObjectManagerInitialized(NftId instanceNftId, address instanceReader);
|
18
|
-
|
19
|
-
error ErrorObjectManagerNftIdInvalid(NftId instanceNftId);
|
20
|
-
error ErrorObjectManagerAlreadyAdded(NftId componentNftId, NftId objectNftId);
|
21
|
-
|
22
|
-
mapping(NftId compnentNftId => LibNftIdSet.Set objects) internal _activeObjects;
|
23
|
-
mapping(NftId compnentNftId => LibNftIdSet.Set objects) internal _allObjects;
|
24
|
-
NftId internal _instanceNftId;
|
25
|
-
InstanceReader internal _instanceReader;
|
26
|
-
|
27
|
-
constructor() Cloneable() {
|
28
|
-
_instanceReader = InstanceReader(address(0));
|
29
|
-
}
|
30
|
-
|
31
|
-
/// @dev call to initialize MUST be made in the same transaction as cloning of the contract
|
32
|
-
function initialize(
|
33
|
-
address authority,
|
34
|
-
address registry,
|
35
|
-
NftId instanceNftId
|
36
|
-
)
|
37
|
-
external
|
38
|
-
{
|
39
|
-
initialize(authority, registry);
|
40
|
-
|
41
|
-
// check/handle instance nft id/instance reader
|
42
|
-
IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(instanceNftId);
|
43
|
-
if (instanceInfo.objectType != INSTANCE()) {
|
44
|
-
revert ErrorObjectManagerNftIdInvalid(instanceNftId);
|
45
|
-
}
|
46
|
-
|
47
|
-
IInstance instance = IInstance(instanceInfo.objectAddress);
|
48
|
-
_instanceReader = instance.getInstanceReader();
|
49
|
-
_instanceNftId = instanceNftId;
|
50
|
-
|
51
|
-
emit LogObjectManagerInitialized(instanceNftId, address(_instanceReader));
|
52
|
-
}
|
53
|
-
|
54
|
-
function getInstanceReader() external view returns (InstanceReader) {
|
55
|
-
return _instanceReader;
|
56
|
-
}
|
57
|
-
|
58
|
-
function getInstanceNftId() external view returns (NftId) {
|
59
|
-
return _instanceNftId;
|
60
|
-
}
|
61
|
-
|
62
|
-
function _add(NftId componentNftId, NftId objectNftId) internal {
|
63
|
-
LibNftIdSet.Set storage allSet = _allObjects[componentNftId];
|
64
|
-
LibNftIdSet.Set storage activeSet = _activeObjects[componentNftId];
|
65
|
-
|
66
|
-
LibNftIdSet.add(allSet, objectNftId);
|
67
|
-
LibNftIdSet.add(activeSet, objectNftId);
|
68
|
-
}
|
69
|
-
|
70
|
-
function _activate(NftId componentNftId, NftId objectNftId) internal {
|
71
|
-
LibNftIdSet.add(_activeObjects[componentNftId], objectNftId);
|
72
|
-
}
|
73
|
-
|
74
|
-
function _deactivate(NftId componentNftId, NftId objectNftId) internal {
|
75
|
-
LibNftIdSet.remove(_activeObjects[componentNftId], objectNftId);
|
76
|
-
}
|
77
|
-
|
78
|
-
function _objects(NftId componentNftId) internal view returns (uint256) {
|
79
|
-
return LibNftIdSet.size(_allObjects[componentNftId]);
|
80
|
-
}
|
81
|
-
|
82
|
-
function _contains(NftId componentNftId, NftId objectNftId) internal view returns (bool) {
|
83
|
-
return LibNftIdSet.contains(_allObjects[componentNftId], objectNftId);
|
84
|
-
}
|
85
|
-
|
86
|
-
function _getObject(NftId componentNftId, uint256 idx) internal view returns (NftId) {
|
87
|
-
return LibNftIdSet.getElementAt(_allObjects[componentNftId], idx);
|
88
|
-
}
|
89
|
-
|
90
|
-
function _activeObjs(NftId componentNftId) internal view returns (uint256) {
|
91
|
-
return LibNftIdSet.size(_activeObjects[componentNftId]);
|
92
|
-
}
|
93
|
-
|
94
|
-
function _isActive(NftId componentNftId, NftId objectNftId) internal view returns (bool) {
|
95
|
-
return LibNftIdSet.contains(_activeObjects[componentNftId], objectNftId);
|
96
|
-
}
|
97
|
-
|
98
|
-
function _getActiveObject(NftId componentNftId, uint256 idx) internal view returns (NftId) {
|
99
|
-
return LibNftIdSet.getElementAt(_activeObjects[componentNftId], idx);
|
100
|
-
}
|
101
|
-
}
|
@@ -1,138 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.19;
|
3
|
-
|
4
|
-
import {IBaseComponent} from "../../components/IBaseComponent.sol";
|
5
|
-
import {IRegistry} from "../../registry/IRegistry.sol";
|
6
|
-
import {IRegistryService} from "../../registry/IRegistryService.sol";
|
7
|
-
import {IInstance} from "../../instance/IInstance.sol";
|
8
|
-
import {IAccess} from "../module/IAccess.sol";
|
9
|
-
import {ObjectType, INSTANCE, REGISTRY} from "../../types/ObjectType.sol";
|
10
|
-
import {NftId} from "../../types/NftId.sol";
|
11
|
-
import {RoleId} from "../../types/RoleId.sol";
|
12
|
-
|
13
|
-
import {Service} from "../../shared/Service.sol";
|
14
|
-
import {InstanceService} from "../InstanceService.sol";
|
15
|
-
import {InstanceAccessManager} from "../InstanceAccessManager.sol";
|
16
|
-
|
17
|
-
abstract contract ComponentServiceBase is Service {
|
18
|
-
|
19
|
-
|
20
|
-
error ErrorComponentServiceAlreadyRegistered(address component, NftId nftId);
|
21
|
-
error ErrorComponentServiceNotComponent(address component);
|
22
|
-
error ErrorComponentServiceInvalidType(address component, ObjectType requiredType, ObjectType componentType);
|
23
|
-
error ErrorComponentServiceSenderNotOwner(address component, address initialOwner, address sender);
|
24
|
-
error ErrorComponentServiceExpectedRoleMissing(NftId instanceNftId, RoleId requiredRole, address sender);
|
25
|
-
|
26
|
-
error ErrorComponentServiceBaseComponentLocked(address componentAddress);
|
27
|
-
error ExpectedRoleMissing(RoleId expected, address caller);
|
28
|
-
error ComponentTypeInvalid(ObjectType componentType);
|
29
|
-
|
30
|
-
|
31
|
-
/// @dev modifier to check if caller is a registered service
|
32
|
-
modifier onlyService() {
|
33
|
-
address caller = msg.sender;
|
34
|
-
require(getRegistry().isRegisteredService(caller), "ERROR_NOT_SERVICE");
|
35
|
-
_;
|
36
|
-
}
|
37
|
-
|
38
|
-
// view functions
|
39
|
-
|
40
|
-
function getRegistryService() public view virtual returns (IRegistryService) {
|
41
|
-
address service = getRegistry().getServiceAddress(REGISTRY(), getMajorVersion());
|
42
|
-
return IRegistryService(service);
|
43
|
-
}
|
44
|
-
|
45
|
-
function getInstanceService() public view returns (InstanceService) {
|
46
|
-
address service = getRegistry().getServiceAddress(INSTANCE(), getMajorVersion());
|
47
|
-
return InstanceService(service);
|
48
|
-
}
|
49
|
-
|
50
|
-
// internal functions
|
51
|
-
function _checkComponentForRegistration(
|
52
|
-
address componentAddress,
|
53
|
-
ObjectType requiredType,
|
54
|
-
RoleId requiredRole
|
55
|
-
)
|
56
|
-
internal
|
57
|
-
returns (
|
58
|
-
IBaseComponent component,
|
59
|
-
address owner,
|
60
|
-
IInstance instance,
|
61
|
-
NftId instanceNftId
|
62
|
-
)
|
63
|
-
{
|
64
|
-
// component may only be registerd by initial owner of component
|
65
|
-
owner = msg.sender;
|
66
|
-
|
67
|
-
// check component has not already been registerd
|
68
|
-
NftId compoentNftId = _registry.getNftId(componentAddress);
|
69
|
-
if(compoentNftId.gtz()) {
|
70
|
-
revert ErrorComponentServiceAlreadyRegistered(componentAddress, compoentNftId);
|
71
|
-
}
|
72
|
-
|
73
|
-
// check this is a component
|
74
|
-
component = IBaseComponent(componentAddress);
|
75
|
-
if(!component.supportsInterface(type(IBaseComponent).interfaceId)) {
|
76
|
-
revert ErrorComponentServiceNotComponent(componentAddress);
|
77
|
-
}
|
78
|
-
|
79
|
-
// check component is of required type
|
80
|
-
(IRegistry.ObjectInfo memory componentInfo, ) = component.getInitialInfo();
|
81
|
-
if(componentInfo.objectType != requiredType) {
|
82
|
-
revert ErrorComponentServiceInvalidType(componentAddress, requiredType, componentInfo.objectType);
|
83
|
-
}
|
84
|
-
|
85
|
-
// check msg.sender is component owner
|
86
|
-
address initialOwner = componentInfo.initialOwner;
|
87
|
-
if(owner != initialOwner) {
|
88
|
-
revert ErrorComponentServiceSenderNotOwner(componentAddress, componentInfo.initialOwner, owner);
|
89
|
-
}
|
90
|
-
|
91
|
-
// check instance has assigned required role to owner
|
92
|
-
instanceNftId = componentInfo.parentNftId;
|
93
|
-
instance = _getInstance(instanceNftId);
|
94
|
-
bool hasRole = getInstanceService().hasRole(
|
95
|
-
owner,
|
96
|
-
requiredRole,
|
97
|
-
address(instance));
|
98
|
-
|
99
|
-
if(!hasRole) {
|
100
|
-
revert ErrorComponentServiceExpectedRoleMissing(instanceNftId, requiredRole, owner);
|
101
|
-
}
|
102
|
-
}
|
103
|
-
|
104
|
-
// internal view functions
|
105
|
-
|
106
|
-
function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
|
107
|
-
IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
|
108
|
-
return IInstance(instanceInfo.objectAddress);
|
109
|
-
}
|
110
|
-
|
111
|
-
function _getAndVerifyComponentInfoAndInstance(
|
112
|
-
//address component,
|
113
|
-
ObjectType expectedType
|
114
|
-
)
|
115
|
-
internal
|
116
|
-
view
|
117
|
-
returns(
|
118
|
-
IRegistry.ObjectInfo memory info,
|
119
|
-
IInstance instance
|
120
|
-
)
|
121
|
-
{
|
122
|
-
IRegistry registry = getRegistry();
|
123
|
-
//TODO redundant check -> just check type
|
124
|
-
//NftId componentNftId = registry.getNftId(component);
|
125
|
-
//require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
|
126
|
-
|
127
|
-
info = registry.getObjectInfo(msg.sender);
|
128
|
-
require(info.objectType == expectedType, "OBJECT_TYPE_INVALID");
|
129
|
-
|
130
|
-
address instanceAddress = registry.getObjectInfo(info.parentNftId).objectAddress;
|
131
|
-
instance = IInstance(instanceAddress);
|
132
|
-
|
133
|
-
InstanceAccessManager accessManager = InstanceAccessManager(instance.authority());
|
134
|
-
if (accessManager.isTargetLocked(info.objectAddress)) {
|
135
|
-
revert IAccess.ErrorIAccessTargetLocked(info.objectAddress);
|
136
|
-
}
|
137
|
-
}
|
138
|
-
}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.20;
|
3
|
-
|
4
|
-
import {Key32} from "../../types/Key32.sol";
|
5
|
-
import {StateId} from "../../types/StateId.sol";
|
6
|
-
|
7
|
-
import {IKeyValueStore} from "./IKeyValueStore.sol";
|
8
|
-
|
9
|
-
import {IDistributionService} from "../service/IDistributionService.sol";
|
10
|
-
import {IProductService} from "../service/IProductService.sol";
|
11
|
-
import {IPoolService} from "../service/IPoolService.sol";
|
12
|
-
|
13
|
-
interface IInstanceBase {
|
14
|
-
function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
|
15
|
-
function updateState(Key32 key, StateId state) external;
|
16
|
-
function getState(Key32 key) external view returns (StateId state);
|
17
|
-
|
18
|
-
function getDistributionService() external view returns(IDistributionService);
|
19
|
-
function getProductService() external view returns(IProductService service);
|
20
|
-
function getPoolService() external view returns(IPoolService service);
|
21
|
-
}
|