@etherisc/gif-next 0.0.2-c96f882-016 → 0.0.2-c9711ab-345
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 +118 -18
- 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/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/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +499 -549
- 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 +1548 -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 +1234 -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 +945 -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 +547 -246
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +447 -170
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +398 -3010
- 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 +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +767 -357
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +679 -274
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +380 -78
- 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/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +31 -8
- 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 +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
- 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 +1185 -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 +1093 -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 +1470 -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 +938 -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 +1213 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1256 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1700 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +798 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -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 +1318 -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 +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -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} +236 -190
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +805 -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/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → product/IProductService.sol/IProductService.json} +124 -166
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1300 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +782 -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 +1276 -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 +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +371 -188
- 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 +603 -256
- 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 +530 -339
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +346 -133
- 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 +896 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1696 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +230 -172
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
- 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/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
- 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 +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +97 -172
- 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 +1015 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- 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 +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +201 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- 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 +2005 -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 +761 -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 +337 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +97 -0
- package/contracts/instance/BundleSet.sol +126 -0
- package/contracts/instance/IInstance.sol +74 -16
- package/contracts/instance/IInstanceService.sol +78 -16
- package/contracts/instance/Instance.sol +183 -371
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +193 -70
- package/contracts/instance/InstanceService.sol +389 -84
- package/contracts/instance/InstanceServiceManager.sol +13 -29
- 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 +106 -0
- package/contracts/instance/base/ObjectSet.sol +79 -0
- package/contracts/instance/module/IAccess.sol +29 -21
- package/contracts/instance/module/IBundle.sol +8 -7
- package/contracts/instance/module/IComponents.sol +46 -0
- package/contracts/instance/module/IDistribution.sol +6 -4
- package/contracts/instance/module/IPolicy.sol +56 -17
- package/contracts/instance/module/IRisk.sol +1 -1
- 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 +451 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +135 -0
- package/contracts/pool/IPoolComponent.sol +58 -0
- package/contracts/pool/IPoolService.sol +149 -0
- package/contracts/pool/Pool.sol +328 -0
- package/contracts/pool/PoolService.sol +562 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +230 -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 +62 -0
- package/contracts/product/IClaimService.sol +99 -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 +33 -0
- package/contracts/product/PolicyService.sol +529 -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 +411 -0
- package/contracts/product/ProductService.sol +99 -0
- package/contracts/product/ProductServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +15 -0
- package/contracts/registry/IRegistry.sol +88 -44
- package/contracts/registry/IRegistryService.sol +51 -17
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +374 -270
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +119 -311
- package/contracts/registry/RegistryServiceManager.sol +27 -38
- 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 +280 -0
- package/contracts/shared/ComponentService.sol +651 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/IComponent.sol +70 -0
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- 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 +16 -6
- 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 +58 -30
- package/contracts/shared/TokenHandler.sol +37 -6
- 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 +411 -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/{types → type}/DistributorType.sol +2 -2
- package/contracts/{types → type}/Fee.sol +33 -23
- 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/{types → type}/Referral.sol +6 -1
- 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 +38 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +34 -15
- package/contracts/{types → type}/UFixed.sol +35 -9
- package/contracts/{types → type}/Version.sol +5 -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 +10 -7
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -314
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -610
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
- 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 -249
- 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/Pool.sol/Pool.json +0 -774
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -754
- 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/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/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -930
- 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/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/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- 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/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/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 -10
- 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/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 -86
- package/contracts/components/Distribution.sol +0 -166
- package/contracts/components/IBaseComponent.sol +0 -24
- package/contracts/components/IDistributionComponent.sol +0 -43
- package/contracts/components/IPoolComponent.sol +0 -62
- package/contracts/components/IProductComponent.sol +0 -35
- package/contracts/components/Pool.sol +0 -259
- package/contracts/components/Product.sol +0 -297
- 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/AccessManagedSimple.sol +0 -122
- package/contracts/instance/AccessManagerSimple.sol +0 -692
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
- package/contracts/instance/InstanceAccessManager.sol +0 -288
- package/contracts/instance/base/ComponentServiceBase.sol +0 -49
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/module/ISetup.sol +0 -43
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- 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/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/ERC165.sol +0 -21
- 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 -24
- 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/NftIdSet.sol +0 -60
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -152
- package/contracts/types/RoleId.sol +0 -82
- /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,265 +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";
|
10
|
+
import {IRegistry} from "./IRegistry.sol";
|
11
|
+
import {IRegistryService} from "./IRegistryService.sol";
|
23
12
|
|
24
|
-
import {
|
25
|
-
import {
|
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
|
-
|
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";
|
31
15
|
import {Service} from "../shared/Service.sol";
|
32
|
-
import {IService} from "../shared/IService.sol";
|
33
|
-
import {IRegistryService} from "./IRegistryService.sol";
|
34
|
-
import {Registry} from "./Registry.sol";
|
35
|
-
import {ChainNft} from "./ChainNft.sol";
|
36
16
|
|
37
17
|
contract RegistryService is
|
38
|
-
AccessManagedUpgradeable,
|
39
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
|
-
/// @dev
|
115
|
-
// msg.sender - ONLY registry owner
|
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)
|
121
|
-
external
|
122
|
-
// TODO restrict access - registryService.registerService must use accessmanager for checking permissions as
|
123
|
-
// services are not always owned by registry owner - actually only registry service is owned by registry owner
|
124
46
|
|
47
|
+
function registerStaking(IRegisterable staking, address owner)
|
48
|
+
external
|
49
|
+
virtual
|
50
|
+
restricted()
|
125
51
|
returns(
|
126
|
-
IRegistry.ObjectInfo memory info
|
127
|
-
|
128
|
-
)
|
52
|
+
IRegistry.ObjectInfo memory info
|
53
|
+
)
|
129
54
|
{
|
130
|
-
|
131
|
-
|
132
|
-
if(!service.supportsInterface(type(IService).interfaceId)) {
|
133
|
-
revert NotService();
|
134
|
-
}
|
135
|
-
|
136
|
-
(
|
137
|
-
info,
|
138
|
-
data
|
139
|
-
) = _getAndVerifyContractInfo(service, SERVICE(), msg.sender);
|
140
|
-
|
141
|
-
info.nftId = _registry.register(info);
|
142
|
-
service.linkToRegisteredNftId();
|
143
|
-
return (
|
144
|
-
info,
|
145
|
-
data
|
146
|
-
);
|
55
|
+
info = _getAndVerifyContractInfo(staking, STAKING(), owner);
|
56
|
+
info.nftId = getRegistry().register(info);
|
147
57
|
}
|
148
58
|
|
149
|
-
|
150
|
-
|
151
|
-
// 2) check service allowance
|
152
|
-
// 3) comment self registrstion check
|
153
|
-
//function registerInstance(IRegisterable instance, address owner)
|
154
|
-
function registerInstance(IRegisterable instance)
|
59
|
+
|
60
|
+
function registerInstance(IRegisterable instance, address owner)
|
155
61
|
external
|
62
|
+
virtual
|
63
|
+
restricted
|
156
64
|
returns(
|
157
|
-
IRegistry.ObjectInfo memory info
|
158
|
-
bytes memory data
|
65
|
+
IRegistry.ObjectInfo memory info
|
159
66
|
)
|
160
67
|
{
|
161
68
|
if(!instance.supportsInterface(type(IInstance).interfaceId)) {
|
162
|
-
revert
|
69
|
+
revert ErrorRegistryServiceNotInstance(address(instance));
|
163
70
|
}
|
164
71
|
|
165
|
-
(
|
166
|
-
|
167
|
-
data
|
168
|
-
) = _getAndVerifyContractInfo(instance, INSTANCE(), msg.sender);
|
72
|
+
info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
|
73
|
+
info.nftId = getRegistry().register(info);
|
169
74
|
|
170
|
-
info.nftId = _registry.register(info);
|
171
75
|
instance.linkToRegisteredNftId(); // asume safe
|
172
|
-
|
173
|
-
return (
|
174
|
-
info,
|
175
|
-
data
|
176
|
-
);
|
177
76
|
}
|
178
77
|
|
179
|
-
function registerProduct(
|
78
|
+
function registerProduct(IComponent product, address owner)
|
180
79
|
external
|
181
80
|
restricted
|
182
81
|
returns(
|
183
|
-
IRegistry.ObjectInfo memory info
|
184
|
-
bytes memory data
|
82
|
+
IRegistry.ObjectInfo memory info
|
185
83
|
)
|
186
84
|
{
|
187
85
|
// CAN revert if no ERC165 support -> will revert with empty message
|
188
86
|
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
189
|
-
revert
|
87
|
+
revert ErrorRegistryServiceNotProduct(address(product));
|
190
88
|
}
|
191
89
|
|
192
|
-
(
|
193
|
-
|
194
|
-
|
195
|
-
) = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
196
|
-
|
197
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
90
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
91
|
+
info.nftId = getRegistry().register(info);
|
92
|
+
}
|
198
93
|
|
199
|
-
|
200
|
-
|
201
|
-
|
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
|
+
}
|
202
109
|
|
203
|
-
|
204
|
-
|
205
|
-
data
|
206
|
-
);
|
110
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
111
|
+
info.nftId = getRegistry().register(info);
|
207
112
|
}
|
208
113
|
|
209
|
-
function registerPool(
|
114
|
+
function registerPool(IComponent pool, address owner)
|
210
115
|
external
|
211
116
|
restricted
|
212
117
|
returns(
|
213
|
-
IRegistry.ObjectInfo memory info
|
214
|
-
bytes memory data
|
118
|
+
IRegistry.ObjectInfo memory info
|
215
119
|
)
|
216
120
|
{
|
217
121
|
if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
|
218
|
-
revert
|
122
|
+
revert ErrorRegistryServiceNotPool(address(pool));
|
219
123
|
}
|
220
124
|
|
221
|
-
(
|
222
|
-
|
223
|
-
data
|
224
|
-
) = _getAndVerifyContractInfo(pool, POOL(), owner);
|
225
|
-
|
226
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
227
|
-
|
228
|
-
info.nftId = _registry.register(info);
|
229
|
-
pool.linkToRegisteredNftId();
|
230
|
-
|
231
|
-
return (
|
232
|
-
info,
|
233
|
-
data
|
234
|
-
);
|
125
|
+
info = _getAndVerifyContractInfo(pool, POOL(), owner);
|
126
|
+
info.nftId = getRegistry().register(info);
|
235
127
|
}
|
236
128
|
|
237
|
-
function registerDistribution(
|
129
|
+
function registerDistribution(IComponent distribution, address owner)
|
238
130
|
external
|
239
131
|
restricted
|
240
132
|
returns(
|
241
|
-
IRegistry.ObjectInfo memory info
|
242
|
-
bytes memory data
|
133
|
+
IRegistry.ObjectInfo memory info
|
243
134
|
)
|
244
135
|
{
|
245
136
|
if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
|
246
|
-
revert
|
137
|
+
revert ErrorRegistryServiceNotDistribution(address(distribution));
|
247
138
|
}
|
248
139
|
|
249
|
-
(
|
250
|
-
|
251
|
-
|
252
|
-
) = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
253
|
-
|
254
|
-
NftId serviceNftId = _registry.getNftId(msg.sender);
|
255
|
-
|
256
|
-
info.nftId = _registry.register(info);
|
257
|
-
distribution.linkToRegisteredNftId();
|
140
|
+
info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
141
|
+
info.nftId = getRegistry().register(info);
|
142
|
+
}
|
258
143
|
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
)
|
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);
|
263
151
|
}
|
264
152
|
|
265
153
|
function registerPolicy(IRegistry.ObjectInfo memory info)
|
@@ -267,11 +155,8 @@ contract RegistryService is
|
|
267
155
|
restricted
|
268
156
|
returns(NftId nftId)
|
269
157
|
{
|
270
|
-
NftId senderNftId = _registry.getNftId(msg.sender);
|
271
|
-
|
272
158
|
_verifyObjectInfo(info, POLICY());
|
273
|
-
|
274
|
-
nftId = _registry.register(info);
|
159
|
+
nftId = getRegistry().register(info);
|
275
160
|
}
|
276
161
|
|
277
162
|
function registerBundle(IRegistry.ObjectInfo memory info)
|
@@ -279,166 +164,89 @@ contract RegistryService is
|
|
279
164
|
restricted
|
280
165
|
returns(NftId nftId)
|
281
166
|
{
|
282
|
-
|
283
|
-
NftId senderNftId = _registry.getNftId(msg.sender);
|
284
|
-
|
285
167
|
_verifyObjectInfo(info, BUNDLE());
|
286
|
-
|
287
|
-
nftId = _registry.register(info);
|
168
|
+
nftId = getRegistry().register(info);
|
288
169
|
}
|
289
170
|
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
}
|
295
|
-
//function getType() public pure override(IService, ServiceBase) returns(ObjectType serviceType) {
|
296
|
-
// return SERVICE_TYPE;
|
297
|
-
//}
|
298
|
-
|
299
|
-
|
300
|
-
// from Versionable
|
301
|
-
|
302
|
-
/// @dev top level initializer
|
303
|
-
// 1) registry is non upgradeable -> don't need a proxy and uses constructor !
|
304
|
-
// 2) deploy registry service first -> from its initialization func it is easier to deploy registry then vice versa
|
305
|
-
// 3) deploy registry -> pass registry service address as constructor argument
|
306
|
-
// registry is getting instantiated and locked to registry service address forever
|
307
|
-
function _initialize(
|
308
|
-
address owner,
|
309
|
-
bytes memory data
|
310
|
-
)
|
311
|
-
internal
|
312
|
-
initializer
|
313
|
-
virtual override
|
171
|
+
function registerStake(IRegistry.ObjectInfo memory info)
|
172
|
+
external
|
173
|
+
restricted
|
174
|
+
returns(NftId nftId)
|
314
175
|
{
|
315
|
-
(
|
316
|
-
|
317
|
-
bytes memory registryByteCodeWithInitCode
|
318
|
-
) = abi.decode(data, (address, bytes));
|
319
|
-
|
320
|
-
__AccessManaged_init(initialAuthority);
|
321
|
-
|
322
|
-
bytes memory encodedConstructorArguments = abi.encode(
|
323
|
-
owner,
|
324
|
-
getMajorVersion());
|
325
|
-
|
326
|
-
bytes memory registryCreationCode = ContractDeployerLib.getCreationCode(
|
327
|
-
registryByteCodeWithInitCode,
|
328
|
-
encodedConstructorArguments);
|
329
|
-
|
330
|
-
IRegistry registry = IRegistry(ContractDeployerLib.deploy(
|
331
|
-
registryCreationCode,
|
332
|
-
REGISTRY_CREATION_CODE_HASH));
|
333
|
-
|
334
|
-
NftId registryNftId = registry.getNftId(address(registry));
|
335
|
-
|
336
|
-
_initializeService(address(registry), owner);
|
337
|
-
|
338
|
-
// TODO why do registry service proxy need to keep its nftId??? -> no registryServiceNftId checks in implementation
|
339
|
-
// if they are -> use registry address to obtain owner of registry service nft (works the same with any registerable and(or) implementation)
|
340
|
-
linkToRegisteredNftId();
|
341
|
-
_registerInterface(type(IRegistryService).interfaceId);
|
176
|
+
_verifyObjectInfo(info, STAKE());
|
177
|
+
nftId = getRegistry().register(info);
|
342
178
|
}
|
343
179
|
|
344
|
-
//
|
180
|
+
// Internal
|
181
|
+
|
345
182
|
function _getAndVerifyContractInfo(
|
346
183
|
IRegisterable registerable,
|
347
184
|
ObjectType expectedType, // assume can be valid only
|
348
|
-
address expectedOwner // assume can be 0
|
185
|
+
address expectedOwner // assume can be 0 when given by other service
|
349
186
|
)
|
350
187
|
internal
|
351
188
|
view
|
352
189
|
returns(
|
353
|
-
IRegistry.ObjectInfo memory info
|
354
|
-
bytes memory data
|
190
|
+
IRegistry.ObjectInfo memory info
|
355
191
|
)
|
356
192
|
{
|
357
|
-
(
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
193
|
+
info = registerable.getInitialInfo();
|
194
|
+
|
195
|
+
if(info.objectAddress != address(registerable)) {
|
196
|
+
revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
|
197
|
+
}
|
362
198
|
|
363
199
|
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
364
|
-
revert
|
200
|
+
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
365
201
|
}
|
366
202
|
|
367
203
|
address owner = info.initialOwner;
|
368
204
|
|
369
|
-
//
|
370
|
-
|
371
|
-
// any address may create a new instance via instance service
|
372
|
-
} else {
|
373
|
-
if(owner != expectedOwner) { // registerable owner protection
|
374
|
-
revert NotRegisterableOwner(expectedOwner);
|
375
|
-
}
|
205
|
+
if(owner != expectedOwner) { // registerable owner protection
|
206
|
+
revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
|
376
207
|
}
|
377
208
|
|
378
209
|
if(owner == address(registerable)) {
|
379
|
-
revert
|
210
|
+
revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
|
380
211
|
}
|
381
212
|
|
382
213
|
if(owner == address(0)) {
|
383
|
-
revert
|
214
|
+
revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
|
384
215
|
}
|
385
216
|
|
386
217
|
if(getRegistry().isRegistered(owner)) {
|
387
|
-
revert
|
218
|
+
revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
|
388
219
|
}
|
389
|
-
|
390
|
-
/*NftId parentNftId = info.parentNftId;
|
391
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
392
|
-
|
393
|
-
if(parentInfo.objectType != parentType) { // parent registration + type
|
394
|
-
revert InvalidParent(parentNftId);
|
395
|
-
}*/
|
396
|
-
|
397
|
-
return(
|
398
|
-
info,
|
399
|
-
data
|
400
|
-
);
|
401
220
|
}
|
402
221
|
|
403
|
-
// parent checks done in registry because of approve()
|
404
222
|
function _verifyObjectInfo(
|
405
223
|
IRegistry.ObjectInfo memory info,
|
406
|
-
ObjectType
|
224
|
+
ObjectType expectedType
|
407
225
|
)
|
408
226
|
internal
|
409
227
|
view
|
410
228
|
{
|
411
229
|
if(info.objectAddress > address(0)) {
|
412
|
-
revert
|
230
|
+
revert ErrorRegistryServiceObjectAddressNotZero(info.objectType);
|
413
231
|
}
|
414
232
|
|
415
|
-
if(
|
416
|
-
|
417
|
-
info.initialOwner == address(0)) {
|
418
|
-
// TODO non registered address can register object(e.g. POLICY()) and then transfer associated nft to registered contract
|
419
|
-
// what are motivations to do so?
|
420
|
-
// at least registered contract can not register objects by itself, SERVICE,
|
421
|
-
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);
|
422
235
|
}
|
423
236
|
|
424
|
-
|
425
|
-
/*if(info.initialOwner == msg.sender) {
|
426
|
-
revert InitialOwnerIsParent();
|
427
|
-
}
|
237
|
+
address owner = info.initialOwner;
|
428
238
|
|
429
|
-
if(
|
430
|
-
revert
|
239
|
+
if(owner == address(0)) {
|
240
|
+
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
431
241
|
}
|
432
242
|
|
433
|
-
if(
|
434
|
-
revert
|
435
|
-
}
|
436
|
-
|
437
|
-
/*NftId parentNftId = info.parentNftId;
|
438
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
243
|
+
if(getRegistry().isRegistered(owner)) {
|
244
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
245
|
+
}
|
246
|
+
}
|
439
247
|
|
440
|
-
|
441
|
-
|
442
|
-
|
248
|
+
// From IService
|
249
|
+
function _getDomain() internal override pure returns(ObjectType serviceDomain) {
|
250
|
+
return REGISTRY();
|
443
251
|
}
|
444
|
-
}
|
252
|
+
}
|
@@ -1,51 +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
|
-
address
|
26
|
-
|
27
|
-
|
20
|
+
address authority, // used by implementation
|
21
|
+
address registry, // used by implementation
|
22
|
+
bytes32 salt
|
23
|
+
)
|
24
|
+
ProxyManager(registry)
|
28
25
|
{
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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);
|
36
40
|
|
37
41
|
_registryService = RegistryService(address(versionable));
|
38
|
-
|
39
|
-
// link ownership of registry service manager ot nft owner of registry service
|
40
|
-
_linkToNftOwnable(
|
41
|
-
address(_registryService.getRegistry()),
|
42
|
-
address(_registryService));
|
43
|
-
|
44
|
-
// implies that after this constructor call only upgrade functionality is available
|
45
|
-
_isDeployed = true;
|
46
42
|
}
|
47
43
|
|
48
44
|
//--- view functions ----------------------------------------------------//
|
45
|
+
|
49
46
|
function getRegistryService()
|
50
47
|
external
|
51
48
|
view
|
@@ -53,12 +50,4 @@ contract RegistryServiceManager is
|
|
53
50
|
{
|
54
51
|
return _registryService;
|
55
52
|
}
|
56
|
-
|
57
|
-
function getAccessManager()
|
58
|
-
external
|
59
|
-
view
|
60
|
-
returns (AccessManager)
|
61
|
-
{
|
62
|
-
return _accessManager;
|
63
|
-
}
|
64
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
|
+
}
|