@etherisc/gif-next 0.0.2-716a895-659 → 0.0.2-7177fd8-761
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 +224 -17
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -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 +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1518 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1196 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1557 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +854 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +943 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +914 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +261 -1858
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +467 -2246
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1693 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1160 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3469 -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/base/Cloneable.sol/Cloneable.json +137 -0
- 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 +182 -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 +4 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.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 +1155 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -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 +802 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1055 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1432 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1521 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +830 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +946 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1182 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1218 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1644 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +770 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +852 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1280 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1386 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +834 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +242 -191
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +788 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +800 -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} +266 -278
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/IService.sol/IService.json → product/IProductService.sol/IProductService.json} +145 -166
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1355 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +806 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1017 -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 +1238 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +60 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +525 -59
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +346 -278
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +830 -285
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +532 -325
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +355 -124
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +858 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1751 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +824 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +210 -215
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/IComponent.sol/IComponent.json} +322 -159
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +362 -376
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
- 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 +4 -0
- package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IService.sol/IService.json} +112 -67
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +977 -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} +102 -165
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
- 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 +115 -29
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Service.sol/Service.json} +198 -172
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +197 -0
- package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenTransferLib.sol/TokenTransferLib.json +42 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +470 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1991 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +773 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -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 +374 -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 +179 -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/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -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 +86 -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 +222 -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/{types → type}/StateId.sol/StateIdLib.json +3 -3
- 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 +535 -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 +617 -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 +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +295 -0
- package/contracts/distribution/DistributionService.sol +323 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +95 -0
- package/contracts/instance/BundleSet.sol +126 -0
- package/contracts/instance/IInstance.sol +78 -46
- package/contracts/instance/IInstanceService.sol +92 -0
- package/contracts/instance/Instance.sol +239 -72
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +408 -0
- package/contracts/instance/InstanceService.sol +467 -0
- package/contracts/instance/InstanceServiceManager.sol +40 -0
- package/contracts/instance/InstanceStore.sol +277 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +105 -0
- package/contracts/instance/base/ObjectSet.sol +79 -0
- package/contracts/instance/module/IAccess.sol +46 -0
- package/contracts/instance/module/IBundle.sol +20 -0
- package/contracts/instance/module/IComponents.sol +46 -0
- package/contracts/instance/module/IDistribution.sol +41 -0
- package/contracts/instance/module/IPolicy.sol +84 -0
- package/contracts/instance/module/IRisk.sol +11 -0
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +48 -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 +65 -0
- package/contracts/oracle/Oracle.sol +166 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +437 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +133 -0
- package/contracts/pool/IPoolComponent.sol +58 -0
- package/contracts/pool/IPoolService.sol +147 -0
- package/contracts/pool/Pool.sol +328 -0
- package/contracts/pool/PoolService.sol +524 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +250 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +417 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +63 -0
- package/contracts/product/IClaimService.sol +100 -0
- package/contracts/product/IPolicyService.sol +84 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +40 -0
- package/contracts/product/IProductService.sol +34 -0
- package/contracts/product/PolicyService.sol +600 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +304 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +413 -0
- package/contracts/product/ProductService.sol +99 -0
- package/contracts/product/ProductServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +53 -23
- package/contracts/registry/IRegistry.sol +91 -14
- package/contracts/registry/IRegistryService.sol +54 -20
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +403 -253
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +120 -309
- package/contracts/registry/RegistryServiceManager.sol +27 -37
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +315 -0
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +640 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/IComponent.sol +71 -0
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
- package/contracts/shared/IKeyValueStore.sol +54 -0
- package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
- package/contracts/shared/INftOwnable.sol +13 -12
- package/contracts/shared/IPolicyHolder.sol +45 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +25 -0
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InitializableERC165.sol +27 -0
- package/contracts/shared/InstanceLinkedComponent.sol +172 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +60 -89
- package/contracts/shared/PolicyHolder.sol +99 -0
- package/contracts/shared/Registerable.sol +26 -40
- package/contracts/shared/RegistryLinked.sol +43 -0
- package/contracts/shared/Service.sol +82 -0
- package/contracts/shared/TokenHandler.sol +62 -0
- package/contracts/shared/TokenTransferLib.sol +60 -0
- package/contracts/staking/IStaking.sol +167 -0
- package/contracts/staking/IStakingService.sol +160 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +516 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +50 -0
- package/contracts/staking/StakingReader.sol +183 -0
- package/contracts/staking/StakingService.sol +407 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +135 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/type/ClaimId.sol +75 -0
- package/contracts/type/DistributorType.sol +55 -0
- package/contracts/type/Fee.sol +66 -0
- package/contracts/{types → type}/Key32.sol +8 -3
- package/contracts/{types → type}/NftId.sol +21 -15
- package/contracts/type/NftIdSet.sol +62 -0
- package/contracts/type/ObjectType.sol +271 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/type/Referral.sol +90 -0
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +174 -0
- package/contracts/type/Seconds.sol +93 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +39 -5
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +38 -15
- package/contracts/type/UFixed.sol +351 -0
- package/contracts/{types → type}/Version.sol +8 -2
- package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
- package/contracts/upgradeability/ProxyManager.sol +198 -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/Distribution.sol/Distribution.json +0 -557
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -254
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -177
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -308
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -207
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.json +0 -716
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -614
- 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/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/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
- 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 -113
- 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/IService.sol/IService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.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 -710
- 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/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
- package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
- package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
- package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -271
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -271
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -630
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.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/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -753
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1073
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
- 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/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/TestDistribution.sol/TestDistribution.dbg.json +0 -4
- package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -557
- 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/TestPool.sol/TestPool.dbg.json +0 -4
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -716
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -744
- 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 -584
- 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 -270
- 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/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -262
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
- 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 -10
- 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/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
- 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 -30
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -484
- 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 -30
- package/contracts/components/BaseComponent.sol +0 -79
- package/contracts/components/Distribution.sol +0 -155
- package/contracts/components/IBaseComponent.sol +0 -19
- package/contracts/components/IDistributionComponent.sol +0 -46
- package/contracts/components/IPoolComponent.sol +0 -64
- package/contracts/components/IProductComponent.sol +0 -37
- package/contracts/components/Pool.sol +0 -246
- package/contracts/components/Product.sol +0 -299
- 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/IInstanceLinked.sol +0 -8
- package/contracts/instance/base/ComponentServiceBase.sol +0 -49
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/base/IKeyValueStore.sol +0 -50
- package/contracts/instance/base/IService.sol +0 -15
- package/contracts/instance/base/InstanceBase.sol +0 -89
- package/contracts/instance/base/KeyValueStore.sol +0 -161
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/base/ModuleBase.sol +0 -57
- package/contracts/instance/base/ServiceBase.sol +0 -44
- package/contracts/instance/module/access/Access.sol +0 -149
- package/contracts/instance/module/access/IAccess.sol +0 -53
- package/contracts/instance/module/bundle/BundleModule.sol +0 -134
- package/contracts/instance/module/bundle/IBundle.sol +0 -53
- package/contracts/instance/module/component/ComponentModule.sol +0 -71
- package/contracts/instance/module/component/IComponent.sol +0 -28
- package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
- package/contracts/instance/module/distribution/IDistribution.sol +0 -10
- package/contracts/instance/module/policy/IPolicy.sol +0 -63
- package/contracts/instance/module/policy/PolicyModule.sol +0 -91
- package/contracts/instance/module/pool/IPoolModule.sol +0 -41
- package/contracts/instance/module/pool/PoolModule.sol +0 -95
- package/contracts/instance/module/risk/IRisk.sol +0 -26
- package/contracts/instance/module/risk/RiskModule.sol +0 -62
- package/contracts/instance/module/treasury/ITreasury.sol +0 -84
- package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
- package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
- package/contracts/instance/service/ComponentOwnerService.sol +0 -312
- package/contracts/instance/service/DistributionService.sol +0 -54
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPoolService.sol +0 -37
- package/contracts/instance/service/IProductService.sol +0 -107
- package/contracts/instance/service/PoolService.sol +0 -149
- package/contracts/instance/service/ProductService.sol +0 -510
- package/contracts/registry/IChainNft.sol +0 -22
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -21
- package/contracts/shared/ProxyManager.sol +0 -94
- package/contracts/shared/Versionable.sol +0 -147
- package/contracts/test/TestDistribution.sol +0 -22
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestPool.sol +0 -27
- package/contracts/test/TestProduct.sol +0 -74
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -26
- 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/Fee.sol +0 -56
- package/contracts/types/NftIdSet.sol +0 -60
- package/contracts/types/ObjectType.sol +0 -131
- package/contracts/types/ReferralId.sol +0 -48
- package/contracts/types/RoleId.sol +0 -45
- package/contracts/types/UFixed.sol +0 -209
@@ -1,267 +1,153 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
7
|
-
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
8
|
-
|
9
|
-
import {IRegistry} from "./IRegistry.sol";
|
4
|
+
import {IComponent} from "../../contracts/shared/IComponent.sol";
|
5
|
+
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
10
6
|
import {IInstance} from "../instance/IInstance.sol";
|
11
|
-
|
12
|
-
import {
|
13
|
-
import {IComponent, IComponentModule} from "../../contracts/instance/module/component/IComponent.sol";
|
14
|
-
import {IPool} from "../../contracts/instance/module/pool/IPoolModule.sol";
|
15
|
-
import {IBaseComponent} from "../../contracts/components/IBaseComponent.sol";
|
16
|
-
import {IPoolComponent} from "../../contracts/components/IPoolComponent.sol";
|
17
|
-
import {IProductComponent} from "../../contracts/components/IProductComponent.sol";
|
18
|
-
import {IDistributionComponent} from "../../contracts/components/IDistributionComponent.sol";
|
19
|
-
|
20
|
-
import {IVersionable} from "../../contracts/shared/IVersionable.sol";
|
21
|
-
import {Versionable} from "../../contracts/shared/Versionable.sol";
|
7
|
+
import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
|
8
|
+
import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
|
22
9
|
import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
|
23
|
-
|
24
|
-
import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
|
25
|
-
import {ObjectType, REGISTRY, TOKEN, SERVICE, PRODUCT, ORACLE, POOL, TOKEN, INSTANCE, DISTRIBUTION, POLICY, BUNDLE} from "../../contracts/types/ObjectType.sol";
|
26
|
-
import {StateId, ACTIVE, PAUSED} from "../../contracts/types/StateId.sol";
|
27
|
-
import {NftId, NftIdLib, zeroNftId} from "../../contracts/types/NftId.sol";
|
28
|
-
import {Fee, FeeLib} from "../../contracts/types/Fee.sol";
|
29
|
-
import {Version, VersionPart, VersionLib} from "../../contracts/types/Version.sol";
|
30
|
-
|
31
|
-
import {ServiceBase} from "../../contracts/instance/base/ServiceBase.sol";
|
32
|
-
import {IService} from "../../contracts/instance/base/IService.sol";
|
10
|
+
import {IRegistry} from "./IRegistry.sol";
|
33
11
|
import {IRegistryService} from "./IRegistryService.sol";
|
34
|
-
|
35
|
-
import {
|
12
|
+
|
13
|
+
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
|
14
|
+
import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
|
15
|
+
import {Service} from "../shared/Service.sol";
|
36
16
|
|
37
17
|
contract RegistryService is
|
38
|
-
|
39
|
-
ServiceBase,
|
18
|
+
Service,
|
40
19
|
IRegistryService
|
41
20
|
{
|
42
21
|
using NftIdLib for NftId;
|
43
22
|
|
44
|
-
error SelfRegistration();
|
45
|
-
error NotRegistryOwner();
|
46
|
-
|
47
|
-
error NotToken();
|
48
|
-
error NotService();
|
49
|
-
error NotInstance();
|
50
|
-
error NotProduct();
|
51
|
-
error NotPool();
|
52
|
-
error NotDistribution();
|
53
|
-
|
54
|
-
error UnexpectedRegisterableType(ObjectType expected, ObjectType found);
|
55
|
-
error NotRegisterableOwner(address expectedOwner);
|
56
|
-
error RegisterableOwnerIsZero();
|
57
|
-
error RegisterableOwnerIsRegistered();
|
58
|
-
error InvalidInitialOwner(address initialOwner);
|
59
|
-
error InvalidAddress(address registerableAddress);
|
60
|
-
|
61
|
-
|
62
|
-
// Initial value for constant variable has to be compile-time constant
|
63
|
-
// TODO define types as constants?
|
64
|
-
//ObjectType public constant SERVICE_TYPE = REGISTRY();
|
65
|
-
string public constant NAME = "RegistryService";
|
66
|
-
|
67
23
|
// TODO update to real hash when registry is stable
|
68
24
|
bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
|
69
25
|
|
70
|
-
|
71
|
-
|
72
|
-
/// @dev
|
73
|
-
// msg.sender - ONLY registry owner
|
74
|
-
// CAN NOT register itself
|
75
|
-
// CAN NOT register IRegisterable address
|
76
|
-
// CAN register ONLY valid object-parent types combinations for TOKEN
|
77
|
-
// IMPORTANT: MUST NOT call untrusted contract inbetween calls to registry/instance (trusted contracts)
|
78
|
-
// motivation: registry/instance state may change during external call
|
79
|
-
// TODO it may be usefull to have transferable token nft in order to delist token, make it invalid for new beginings
|
80
|
-
// TODO: MUST prohibit registration of precompiles addresses
|
81
|
-
function registerToken(address tokenAddress)
|
82
|
-
external
|
83
|
-
returns(NftId nftId)
|
84
|
-
{
|
85
|
-
if(msg.sender == tokenAddress) {
|
86
|
-
revert SelfRegistration();
|
87
|
-
}
|
88
|
-
|
89
|
-
// MUST not revert if no ERC165 support
|
90
|
-
if(tokenAddress.code.length == 0 ||
|
91
|
-
ERC165Checker.supportsInterface(tokenAddress, type(IRegisterable).interfaceId)) {
|
92
|
-
revert NotToken();
|
93
|
-
}
|
94
|
-
|
95
|
-
NftId registryNftId = _registry.getNftId(address(_registry));
|
26
|
+
// from Versionable
|
96
27
|
|
97
|
-
|
98
|
-
|
99
|
-
|
28
|
+
/// @dev top level initializer
|
29
|
+
function _initialize(
|
30
|
+
address owner,
|
31
|
+
bytes memory data
|
32
|
+
)
|
33
|
+
internal
|
34
|
+
virtual override
|
35
|
+
initializer()
|
36
|
+
{
|
37
|
+
(
|
38
|
+
address registryAddress,
|
39
|
+
address initialAuthority
|
40
|
+
) = abi.decode(data, (address, address));
|
100
41
|
|
101
|
-
|
102
|
-
|
103
|
-
registryNftId, // parent nft id
|
104
|
-
TOKEN(),
|
105
|
-
false, // isInterceptor
|
106
|
-
tokenAddress,
|
107
|
-
NFT_LOCK_ADDRESS,
|
108
|
-
"" // any value
|
109
|
-
);
|
110
|
-
|
111
|
-
nftId = _registry.register(info);
|
42
|
+
initializeService(registryAddress, initialAuthority, owner);
|
43
|
+
registerInterface(type(IRegistryService).interfaceId);
|
112
44
|
}
|
113
45
|
|
114
|
-
|
115
|
-
|
116
|
-
// CAN NOT register itself
|
117
|
-
// CAN register ONLY valid object-parent types combinations for SERVICE
|
118
|
-
// CAN register ONLY IRegisterable address he owns
|
119
|
-
// IMPORTANT: MUST NOT check owner before calling external contract
|
120
|
-
function registerService(IService service)
|
46
|
+
|
47
|
+
function registerStaking(IRegisterable staking, address owner)
|
121
48
|
external
|
49
|
+
virtual
|
50
|
+
restricted()
|
122
51
|
returns(
|
123
|
-
IRegistry.ObjectInfo memory info
|
124
|
-
|
125
|
-
)
|
52
|
+
IRegistry.ObjectInfo memory info
|
53
|
+
)
|
126
54
|
{
|
127
|
-
|
128
|
-
|
129
|
-
if(!service.supportsInterface(type(IService).interfaceId)) {
|
130
|
-
revert NotService();
|
131
|
-
}
|
132
|
-
|
133
|
-
(
|
134
|
-
info,
|
135
|
-
data
|
136
|
-
) = _getAndVerifyContractInfo(service, SERVICE(), msg.sender);
|
137
|
-
|
138
|
-
if(msg.sender != _registry.getOwner()) {
|
139
|
-
revert NotRegistryOwner();
|
140
|
-
}
|
141
|
-
|
142
|
-
info.nftId = _registry.register(info);
|
143
|
-
service.linkToRegisteredNftId();
|
144
|
-
return (
|
145
|
-
info,
|
146
|
-
data
|
147
|
-
);
|
55
|
+
info = _getAndVerifyContractInfo(staking, STAKING(), owner);
|
56
|
+
info.nftId = getRegistry().register(info);
|
148
57
|
}
|
149
58
|
|
150
|
-
|
151
|
-
|
152
|
-
// 2) check service allowance
|
153
|
-
// 3) comment self registrstion check
|
154
|
-
//function registerInstance(IRegisterable instance, address owner)
|
155
|
-
function registerInstance(IRegisterable instance)
|
59
|
+
|
60
|
+
function registerInstance(IRegisterable instance, address owner)
|
156
61
|
external
|
62
|
+
virtual
|
63
|
+
restricted
|
157
64
|
returns(
|
158
|
-
IRegistry.ObjectInfo memory info
|
159
|
-
bytes memory data
|
65
|
+
IRegistry.ObjectInfo memory info
|
160
66
|
)
|
161
67
|
{
|
162
|
-
|
163
68
|
if(!instance.supportsInterface(type(IInstance).interfaceId)) {
|
164
|
-
revert
|
69
|
+
revert ErrorRegistryServiceNotInstance(address(instance));
|
165
70
|
}
|
166
71
|
|
167
|
-
(
|
168
|
-
|
169
|
-
data
|
170
|
-
) = _getAndVerifyContractInfo(instance, INSTANCE(), msg.sender);
|
72
|
+
info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
|
73
|
+
info.nftId = getRegistry().register(info);
|
171
74
|
|
172
|
-
info.nftId = _registry.register(info);
|
173
75
|
instance.linkToRegisteredNftId(); // asume safe
|
174
|
-
|
175
|
-
return (
|
176
|
-
info,
|
177
|
-
data
|
178
|
-
);
|
179
76
|
}
|
180
77
|
|
181
|
-
function registerProduct(
|
78
|
+
function registerProduct(IComponent product, address owner)
|
182
79
|
external
|
183
80
|
restricted
|
184
81
|
returns(
|
185
|
-
IRegistry.ObjectInfo memory info
|
186
|
-
bytes memory data
|
82
|
+
IRegistry.ObjectInfo memory info
|
187
83
|
)
|
188
84
|
{
|
189
85
|
// CAN revert if no ERC165 support -> will revert with empty message
|
190
86
|
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
191
|
-
revert
|
87
|
+
revert ErrorRegistryServiceNotProduct(address(product));
|
192
88
|
}
|
193
89
|
|
194
|
-
(
|
195
|
-
|
196
|
-
|
197
|
-
) = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
198
|
-
|
199
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
90
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
91
|
+
info.nftId = getRegistry().register(info);
|
92
|
+
}
|
200
93
|
|
201
|
-
|
202
|
-
|
203
|
-
|
94
|
+
function registerComponent(
|
95
|
+
IComponent component,
|
96
|
+
ObjectType objectType,
|
97
|
+
address initialOwner
|
98
|
+
)
|
99
|
+
external
|
100
|
+
restricted
|
101
|
+
returns(
|
102
|
+
IRegistry.ObjectInfo memory info
|
103
|
+
)
|
104
|
+
{
|
105
|
+
// CAN revert if no ERC165 support -> will revert with empty message
|
106
|
+
if(!component.supportsInterface(type(IComponent).interfaceId)) {
|
107
|
+
revert ErrorRegistryServiceNotComponent(address(component));
|
108
|
+
}
|
204
109
|
|
205
|
-
|
206
|
-
|
207
|
-
data
|
208
|
-
);
|
110
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
111
|
+
info.nftId = getRegistry().register(info);
|
209
112
|
}
|
210
113
|
|
211
|
-
function registerPool(
|
114
|
+
function registerPool(IComponent pool, address owner)
|
212
115
|
external
|
213
116
|
restricted
|
214
117
|
returns(
|
215
|
-
IRegistry.ObjectInfo memory info
|
216
|
-
bytes memory data
|
118
|
+
IRegistry.ObjectInfo memory info
|
217
119
|
)
|
218
120
|
{
|
219
121
|
if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
|
220
|
-
revert
|
122
|
+
revert ErrorRegistryServiceNotPool(address(pool));
|
221
123
|
}
|
222
124
|
|
223
|
-
(
|
224
|
-
|
225
|
-
data
|
226
|
-
) = _getAndVerifyContractInfo(pool, POOL(), owner);
|
227
|
-
|
228
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
229
|
-
|
230
|
-
info.nftId = _registry.register(info);
|
231
|
-
pool.linkToRegisteredNftId();
|
232
|
-
|
233
|
-
return (
|
234
|
-
info,
|
235
|
-
data
|
236
|
-
);
|
125
|
+
info = _getAndVerifyContractInfo(pool, POOL(), owner);
|
126
|
+
info.nftId = getRegistry().register(info);
|
237
127
|
}
|
238
128
|
|
239
|
-
function registerDistribution(
|
129
|
+
function registerDistribution(IComponent distribution, address owner)
|
240
130
|
external
|
241
131
|
restricted
|
242
132
|
returns(
|
243
|
-
IRegistry.ObjectInfo memory info
|
244
|
-
bytes memory data
|
133
|
+
IRegistry.ObjectInfo memory info
|
245
134
|
)
|
246
135
|
{
|
247
136
|
if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
|
248
|
-
revert
|
137
|
+
revert ErrorRegistryServiceNotDistribution(address(distribution));
|
249
138
|
}
|
250
139
|
|
251
|
-
(
|
252
|
-
|
253
|
-
|
254
|
-
) = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
255
|
-
|
256
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
257
|
-
|
258
|
-
info.nftId = _registry.register(info);
|
259
|
-
distribution.linkToRegisteredNftId();
|
140
|
+
info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
141
|
+
info.nftId = getRegistry().register(info);
|
142
|
+
}
|
260
143
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
)
|
144
|
+
function registerDistributor(IRegistry.ObjectInfo memory info)
|
145
|
+
external
|
146
|
+
restricted
|
147
|
+
returns(NftId nftId)
|
148
|
+
{
|
149
|
+
_verifyObjectInfo(info, DISTRIBUTOR());
|
150
|
+
nftId = getRegistry().register(info);
|
265
151
|
}
|
266
152
|
|
267
153
|
function registerPolicy(IRegistry.ObjectInfo memory info)
|
@@ -269,11 +155,8 @@ contract RegistryService is
|
|
269
155
|
restricted
|
270
156
|
returns(NftId nftId)
|
271
157
|
{
|
272
|
-
NftId senderNftId = _registry.getNftId(msg.sender);
|
273
|
-
|
274
158
|
_verifyObjectInfo(info, POLICY());
|
275
|
-
|
276
|
-
nftId = _registry.register(info);
|
159
|
+
nftId = getRegistry().register(info);
|
277
160
|
}
|
278
161
|
|
279
162
|
function registerBundle(IRegistry.ObjectInfo memory info)
|
@@ -281,161 +164,89 @@ contract RegistryService is
|
|
281
164
|
restricted
|
282
165
|
returns(NftId nftId)
|
283
166
|
{
|
284
|
-
|
285
|
-
NftId senderNftId = _registry.getNftId(msg.sender);
|
286
|
-
|
287
167
|
_verifyObjectInfo(info, BUNDLE());
|
288
|
-
|
289
|
-
nftId = _registry.register(info);
|
168
|
+
nftId = getRegistry().register(info);
|
290
169
|
}
|
291
170
|
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
}
|
297
|
-
//function getType() public pure override(IService, ServiceBase) returns(ObjectType serviceType) {
|
298
|
-
// return SERVICE_TYPE;
|
299
|
-
//}
|
300
|
-
|
301
|
-
|
302
|
-
// from Versionable
|
303
|
-
|
304
|
-
/// @dev top level initializer
|
305
|
-
// 1) registry is non upgradeable -> don't need a proxy and uses constructor !
|
306
|
-
// 2) deploy registry service first -> from its initialization func it is easier to deploy registry then vice versa
|
307
|
-
// 3) deploy registry -> pass registry service address as constructor argument
|
308
|
-
// registry is getting instantiated and locked to registry service address forever
|
309
|
-
function _initialize(
|
310
|
-
address owner,
|
311
|
-
bytes memory data
|
312
|
-
)
|
313
|
-
internal
|
314
|
-
initializer
|
315
|
-
virtual override
|
171
|
+
function registerStake(IRegistry.ObjectInfo memory info)
|
172
|
+
external
|
173
|
+
restricted
|
174
|
+
returns(NftId nftId)
|
316
175
|
{
|
317
|
-
(
|
318
|
-
|
319
|
-
bytes memory registryByteCodeWithInitCode
|
320
|
-
) = abi.decode(data, (address, bytes));
|
321
|
-
|
322
|
-
__AccessManaged_init(initialAuthority);
|
323
|
-
|
324
|
-
bytes memory encodedConstructorArguments = abi.encode(
|
325
|
-
owner,
|
326
|
-
getMajorVersion());
|
327
|
-
|
328
|
-
bytes memory registryCreationCode = ContractDeployerLib.getCreationCode(
|
329
|
-
registryByteCodeWithInitCode,
|
330
|
-
encodedConstructorArguments);
|
331
|
-
|
332
|
-
IRegistry registry = IRegistry(ContractDeployerLib.deploy(
|
333
|
-
registryCreationCode,
|
334
|
-
REGISTRY_CREATION_CODE_HASH));
|
335
|
-
|
336
|
-
NftId registryNftId = registry.getNftId(address(registry));
|
337
|
-
|
338
|
-
_initializeServiceBase(address(registry), registryNftId, owner);
|
339
|
-
|
340
|
-
// TODO why do registry service proxy need to keep its nftId??? -> no registryServiceNftId checks in implementation
|
341
|
-
// if they are -> use registry address to obtain owner of registry service nft (works the same with any registerable and(or) implementation)
|
342
|
-
linkToRegisteredNftId();
|
343
|
-
_registerInterface(type(IRegistryService).interfaceId);
|
176
|
+
_verifyObjectInfo(info, STAKE());
|
177
|
+
nftId = getRegistry().register(info);
|
344
178
|
}
|
345
179
|
|
346
|
-
//
|
180
|
+
// Internal
|
181
|
+
|
347
182
|
function _getAndVerifyContractInfo(
|
348
183
|
IRegisterable registerable,
|
349
184
|
ObjectType expectedType, // assume can be valid only
|
350
|
-
address expectedOwner // assume can be 0
|
185
|
+
address expectedOwner // assume can be 0 when given by other service
|
351
186
|
)
|
352
187
|
internal
|
353
188
|
view
|
354
189
|
returns(
|
355
|
-
IRegistry.ObjectInfo memory info
|
356
|
-
bytes memory data
|
190
|
+
IRegistry.ObjectInfo memory info
|
357
191
|
)
|
358
192
|
{
|
359
|
-
(
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
193
|
+
info = registerable.getInitialInfo();
|
194
|
+
|
195
|
+
if(info.objectAddress != address(registerable)) {
|
196
|
+
revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
|
197
|
+
}
|
364
198
|
|
365
199
|
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
366
|
-
revert
|
200
|
+
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
367
201
|
}
|
368
202
|
|
369
203
|
address owner = info.initialOwner;
|
370
204
|
|
371
205
|
if(owner != expectedOwner) { // registerable owner protection
|
372
|
-
revert
|
206
|
+
revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
|
373
207
|
}
|
374
208
|
|
375
209
|
if(owner == address(registerable)) {
|
376
|
-
revert
|
210
|
+
revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
|
377
211
|
}
|
378
212
|
|
379
213
|
if(owner == address(0)) {
|
380
|
-
revert
|
214
|
+
revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
|
381
215
|
}
|
382
216
|
|
383
217
|
if(getRegistry().isRegistered(owner)) {
|
384
|
-
revert
|
218
|
+
revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
|
385
219
|
}
|
386
|
-
|
387
|
-
/*NftId parentNftId = info.parentNftId;
|
388
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
389
|
-
|
390
|
-
if(parentInfo.objectType != parentType) { // parent registration + type
|
391
|
-
revert InvalidParent(parentNftId);
|
392
|
-
}*/
|
393
|
-
|
394
|
-
return(
|
395
|
-
info,
|
396
|
-
data
|
397
|
-
);
|
398
220
|
}
|
399
221
|
|
400
|
-
// parent checks done in registry because of approve()
|
401
222
|
function _verifyObjectInfo(
|
402
223
|
IRegistry.ObjectInfo memory info,
|
403
|
-
ObjectType
|
224
|
+
ObjectType expectedType
|
404
225
|
)
|
405
226
|
internal
|
406
227
|
view
|
407
228
|
{
|
408
229
|
if(info.objectAddress > address(0)) {
|
409
|
-
revert
|
230
|
+
revert ErrorRegistryServiceObjectAddressNotZero(info.objectType);
|
410
231
|
}
|
411
232
|
|
412
|
-
if(
|
413
|
-
|
414
|
-
info.initialOwner == address(0)) {
|
415
|
-
// TODO non registered address can register object(e.g. POLICY()) and then transfer associated nft to registered contract
|
416
|
-
// what are motivations to do so?
|
417
|
-
// at least registered contract can not register objects by itself, SERVICE,
|
418
|
-
revert InvalidInitialOwner(info.initialOwner);
|
233
|
+
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
234
|
+
revert ErrorRegistryServiceObjectTypeInvalid(expectedType, info.objectType);
|
419
235
|
}
|
420
236
|
|
421
|
-
|
422
|
-
/*if(info.initialOwner == msg.sender) {
|
423
|
-
revert InitialOwnerIsParent();
|
424
|
-
}
|
237
|
+
address owner = info.initialOwner;
|
425
238
|
|
426
|
-
if(
|
427
|
-
revert
|
239
|
+
if(owner == address(0)) {
|
240
|
+
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
428
241
|
}
|
429
242
|
|
430
|
-
if(
|
431
|
-
revert
|
432
|
-
}
|
433
|
-
|
434
|
-
/*NftId parentNftId = info.parentNftId;
|
435
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
243
|
+
if(getRegistry().isRegistered(owner)) {
|
244
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
245
|
+
}
|
246
|
+
}
|
436
247
|
|
437
|
-
|
438
|
-
|
439
|
-
|
248
|
+
// From IService
|
249
|
+
function _getDomain() internal override pure returns(ObjectType serviceDomain) {
|
250
|
+
return REGISTRY();
|
440
251
|
}
|
441
|
-
}
|
252
|
+
}
|
@@ -1,50 +1,48 @@
|
|
1
|
-
// SPDX-License-Identifier:
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {ContractDeployerLib} from "../shared/ContractDeployerLib.sol";
|
7
|
-
|
8
|
-
import {Registry} from "./Registry.sol";
|
9
|
-
import {IVersionable} from "../shared/IVersionable.sol";
|
10
|
-
import {ProxyManager} from "../shared/ProxyManager.sol";
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
11
6
|
import {RegistryService} from "./RegistryService.sol";
|
12
7
|
|
13
|
-
|
14
8
|
contract RegistryServiceManager is
|
15
9
|
ProxyManager
|
16
10
|
{
|
17
|
-
|
11
|
+
error ErrorRegistryAccessManagerAuthorityZero();
|
12
|
+
error ErrorRegistryAccessManagerRegistryZero();
|
18
13
|
|
19
|
-
|
14
|
+
bytes32 constant public ACCESS_MANAGER_CREATION_CODE_HASH = 0x0;
|
20
15
|
|
21
|
-
|
16
|
+
RegistryService private immutable _registryService;
|
22
17
|
|
23
18
|
/// @dev initializes proxy manager with registry service implementation and deploys registry
|
24
19
|
constructor(
|
25
|
-
|
26
|
-
|
20
|
+
address authority, // used by implementation
|
21
|
+
address registry, // used by implementation
|
22
|
+
bytes32 salt
|
23
|
+
)
|
24
|
+
ProxyManager(registry)
|
27
25
|
{
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
26
|
+
if(authority == address(0)) {
|
27
|
+
revert ErrorRegistryAccessManagerAuthorityZero();
|
28
|
+
}
|
29
|
+
|
30
|
+
if(registry == address(0)) {
|
31
|
+
revert ErrorRegistryAccessManagerRegistryZero();
|
32
|
+
}
|
33
|
+
|
34
|
+
RegistryService srv = new RegistryService{ salt: salt }();
|
35
|
+
bytes memory data = abi.encode(registry, authority);
|
36
|
+
IVersionable versionable = deployDetermenistic(
|
37
|
+
address(srv),
|
38
|
+
data,
|
39
|
+
salt);
|
35
40
|
|
36
41
|
_registryService = RegistryService(address(versionable));
|
37
|
-
|
38
|
-
// link ownership of registry service manager ot nft owner of registry service
|
39
|
-
_linkToNftOwnable(
|
40
|
-
address(_registryService.getRegistry()),
|
41
|
-
address(_registryService));
|
42
|
-
|
43
|
-
// implies that after this constructor call only upgrade functionality is available
|
44
|
-
_isDeployed = true;
|
45
42
|
}
|
46
43
|
|
47
44
|
//--- view functions ----------------------------------------------------//
|
45
|
+
|
48
46
|
function getRegistryService()
|
49
47
|
external
|
50
48
|
view
|
@@ -52,12 +50,4 @@ contract RegistryServiceManager is
|
|
52
50
|
{
|
53
51
|
return _registryService;
|
54
52
|
}
|
55
|
-
|
56
|
-
function getAccessManager()
|
57
|
-
external
|
58
|
-
view
|
59
|
-
returns (AccessManager)
|
60
|
-
{
|
61
|
-
return _accessManager;
|
62
|
-
}
|
63
53
|
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {RELEASE} from "../type/ObjectType.sol";
|
5
|
+
import {SCHEDULED, DEPLOYING, ACTIVE, PAUSED, CLOSED/*, FREE*/} from "../type/StateId.sol";
|
6
|
+
import {Lifecycle} from "../shared/Lifecycle.sol";
|
7
|
+
|
8
|
+
contract ReleaseLifecycle is
|
9
|
+
Lifecycle
|
10
|
+
{
|
11
|
+
constructor() {
|
12
|
+
_setupLifecycle();
|
13
|
+
}
|
14
|
+
|
15
|
+
function _setupLifecycle()
|
16
|
+
internal
|
17
|
+
override
|
18
|
+
{
|
19
|
+
setInitialState(RELEASE(), SCHEDULED());
|
20
|
+
|
21
|
+
setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
|
22
|
+
setStateTransition(RELEASE(), DEPLOYING(), DEPLOYING());
|
23
|
+
setStateTransition(RELEASE(), DEPLOYING(), ACTIVE());
|
24
|
+
setStateTransition(RELEASE(), ACTIVE(), PAUSED());
|
25
|
+
setStateTransition(RELEASE(), PAUSED(), ACTIVE());
|
26
|
+
}
|
27
|
+
}
|