@etherisc/gif-next 0.0.2-b3a8633-027 → 0.0.2-b3a9c97-695
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 +16 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +21 -21
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +77 -64
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +43 -38
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +237 -74
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +66 -38
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +43 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +44 -44
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +14 -14
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +80 -122
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +16 -16
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +9 -9
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +72 -194
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +51 -51
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +30 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +27 -35
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +54 -99
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +438 -51
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +102 -26
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +205 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -57
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +158 -54
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +44 -95
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +281 -90
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +47 -19
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +21 -32
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +9 -17
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +19 -38
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +16 -16
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +129 -58
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +42 -30
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +5 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +16 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +188 -108
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +19 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +339 -167
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +66 -26
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +19 -38
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +16 -40
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +12 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +50 -165
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +114 -239
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +35 -16
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -38
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +326 -62
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +72 -32
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +153 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/{ERC165.sol/ERC165.json → InitializableERC165.sol/InitializableERC165.json} +4 -4
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -38
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +53 -6
- 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 +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +60 -74
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +31 -19
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +22 -22
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +12 -12
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +17 -12
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +1 -0
- package/contracts/distribution/BasicDistribution.sol +4 -15
- package/contracts/distribution/BasicDistributionAuthorization.sol +5 -1
- package/contracts/distribution/Distribution.sol +22 -10
- package/contracts/distribution/DistributionService.sol +46 -11
- package/contracts/distribution/IDistributionComponent.sol +8 -4
- package/contracts/distribution/IDistributionService.sol +10 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +2 -0
- package/contracts/instance/InstanceReader.sol +10 -7
- package/contracts/instance/InstanceService.sol +51 -27
- package/contracts/instance/InstanceStore.sol +2 -1
- package/contracts/instance/base/ObjectLifecycle.sol +2 -3
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/Oracle.sol +15 -6
- package/contracts/pool/BasicPool.sol +7 -5
- package/contracts/pool/BasicPoolAuthorization.sol +11 -2
- package/contracts/pool/BundleService.sol +169 -16
- package/contracts/pool/IBundleService.sol +32 -5
- package/contracts/pool/IPoolComponent.sol +6 -0
- package/contracts/pool/IPoolService.sol +14 -17
- package/contracts/pool/Pool.sol +32 -15
- package/contracts/pool/PoolService.sol +146 -58
- package/contracts/product/ApplicationService.sol +37 -17
- package/contracts/product/BasicProduct.sol +3 -33
- package/contracts/product/BasicProductAuthorization.sol +3 -0
- package/contracts/product/ClaimService.sol +9 -8
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +1 -0
- package/contracts/product/IPolicyService.sol +23 -17
- package/contracts/product/IProductComponent.sol +1 -0
- package/contracts/product/PolicyService.sol +251 -131
- package/contracts/product/PricingService.sol +5 -1
- package/contracts/product/Product.sol +27 -6
- package/contracts/registry/ChainNft.sol +27 -28
- package/contracts/registry/IRegistry.sol +3 -2
- package/contracts/registry/Registry.sol +69 -60
- package/contracts/registry/RegistryAdmin.sol +49 -131
- package/contracts/registry/ReleaseRegistry.sol +24 -72
- package/contracts/shared/Component.sol +21 -21
- package/contracts/shared/ComponentService.sol +73 -14
- package/contracts/shared/IComponent.sol +4 -3
- package/contracts/shared/IComponentService.sol +15 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +9 -3
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
- package/contracts/shared/InstanceLinkedComponent.sol +21 -0
- package/contracts/shared/NftOwnable.sol +2 -2
- package/contracts/shared/PolicyHolder.sol +2 -5
- package/contracts/shared/TokenHandler.sol +4 -0
- package/contracts/shared/TokenTransferLib.sol +60 -0
- package/contracts/staking/Staking.sol +9 -3
- package/contracts/staking/StakingService.sol +8 -12
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/Seconds.sol +13 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +29 -10
- package/package.json +1 -1
- package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.dbg.json +0 -4
- package/artifacts/contracts/registry/GlobalRegistry.sol/GlobalRegistry.json +0 -1503
- package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.dbg.json +0 -4
- package/artifacts/contracts/registry/GlobalRegistryAdmin.sol/GlobalRegistryAdmin.json +0 -1881
- package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.dbg.json +0 -4
- package/artifacts/contracts/registry/IGlobalRegistry.sol/IGlobalRegistry.json +0 -974
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/MainnetId.sol/MainnetContract.dbg.json +0 -4
- package/artifacts/contracts/shared/MainnetId.sol/MainnetContract.json +0 -34
- package/artifacts/contracts/shared/MainnetId.sol/MainnetId.dbg.json +0 -4
- package/artifacts/contracts/shared/MainnetId.sol/MainnetId.json +0 -24
- package/artifacts/contracts/shared/MainnetId.sol/SidenetContract.dbg.json +0 -4
- package/artifacts/contracts/shared/MainnetId.sol/SidenetContract.json +0 -34
- package/contracts/registry/GlobalRegistry.sol +0 -95
- package/contracts/registry/GlobalRegistryAdmin.sol +0 -38
- package/contracts/registry/IGlobalRegistry.sol +0 -17
- package/contracts/shared/MainnetId.sol +0 -29
@@ -13,13 +13,14 @@ contract ChainNft is ERC721Enumerable {
|
|
13
13
|
string public constant SYMBOL = "DIPNFT";
|
14
14
|
|
15
15
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
16
|
-
uint256 public constant GLOBAL_REGISTRY_ID = 2101;
|
16
|
+
uint256 public constant GLOBAL_REGISTRY_ID = 2101;
|
17
17
|
|
18
|
+
// TODO rename errors to error pattern: CallerNotRegistry -> ErrorCallerNotRegistry etc.
|
18
19
|
// custom errors
|
19
|
-
error
|
20
|
-
error
|
21
|
-
error
|
22
|
-
error
|
20
|
+
error CallerNotRegistry(address caller);
|
21
|
+
error RegistryAddressZero();
|
22
|
+
error NftUriEmpty();
|
23
|
+
error NftUriAlreadySet();
|
23
24
|
|
24
25
|
// contract state
|
25
26
|
|
@@ -33,18 +34,32 @@ contract ChainNft is ERC721Enumerable {
|
|
33
34
|
address private _registry;
|
34
35
|
|
35
36
|
// only used for _getNextTokenId
|
37
|
+
uint256 internal _chainIdInt;
|
38
|
+
uint256 internal _chainIdDigits;
|
39
|
+
uint256 internal _chainIdMultiplier;
|
36
40
|
uint256 internal _idNext;
|
37
41
|
uint256 internal _totalMinted;
|
38
42
|
|
39
43
|
modifier onlyRegistry() {
|
40
|
-
if (msg.sender != _registry) { revert
|
44
|
+
if (msg.sender != _registry) { revert CallerNotRegistry(msg.sender); }
|
41
45
|
_;
|
42
46
|
}
|
43
47
|
|
44
48
|
constructor(address registry) ERC721(NAME, SYMBOL) {
|
45
|
-
if (registry == address(0)) { revert
|
49
|
+
if (registry == address(0)) { revert RegistryAddressZero(); }
|
46
50
|
|
47
51
|
_registry = registry;
|
52
|
+
_chainIdInt = block.chainid;
|
53
|
+
_chainIdDigits = 0;
|
54
|
+
|
55
|
+
// count digis
|
56
|
+
uint256 num = _chainIdInt;
|
57
|
+
while (num != 0) {
|
58
|
+
_chainIdDigits++;
|
59
|
+
num /= 10;
|
60
|
+
}
|
61
|
+
|
62
|
+
_chainIdMultiplier = 10 ** _chainIdDigits;
|
48
63
|
|
49
64
|
// the first object registered through normal registration starts with id 4
|
50
65
|
// 1 -> protocol
|
@@ -117,8 +132,8 @@ contract ChainNft is ERC721Enumerable {
|
|
117
132
|
uint256 tokenId,
|
118
133
|
string memory uri
|
119
134
|
) external onlyRegistry {
|
120
|
-
if (bytes(uri).length == 0) { revert
|
121
|
-
if (bytes(_uri[tokenId]).length > 0) { revert
|
135
|
+
if (bytes(uri).length == 0) { revert NftUriEmpty(); }
|
136
|
+
if (bytes(_uri[tokenId]).length > 0) { revert NftUriAlreadySet(); }
|
122
137
|
|
123
138
|
_requireOwned(tokenId);
|
124
139
|
_uri[tokenId] = uri;
|
@@ -184,17 +199,11 @@ contract ChainNft is ERC721Enumerable {
|
|
184
199
|
* (42 * 10 ** 10 + 9876543210) * 100 + 10
|
185
200
|
* (index * 10 ** digits + chainid) * 100 + digits (1 < digits < 100)
|
186
201
|
*/
|
187
|
-
|
188
|
-
function calculateTokenId(uint256 idIndex, uint chainId) public view returns (uint256 id) {
|
189
|
-
uint256 chainIdDigits = _chainIdDigits(chainId);
|
202
|
+
function calculateTokenId(uint256 idIndex) public view returns (uint256 id) {
|
190
203
|
id =
|
191
|
-
(idIndex *
|
204
|
+
(idIndex * _chainIdMultiplier + _chainIdInt) *
|
192
205
|
100 +
|
193
|
-
|
194
|
-
}
|
195
|
-
|
196
|
-
function calculateTokenId(uint256 idIndex) public view returns (uint256 id) {
|
197
|
-
id = calculateTokenId(idIndex, block.chainid);
|
206
|
+
_chainIdDigits;
|
198
207
|
}
|
199
208
|
|
200
209
|
function getNextTokenId() external view returns (uint256) {
|
@@ -205,14 +214,4 @@ contract ChainNft is ERC721Enumerable {
|
|
205
214
|
id = calculateTokenId(_idNext);
|
206
215
|
_idNext++;
|
207
216
|
}
|
208
|
-
|
209
|
-
function _chainIdDigits(uint chainId) internal view returns (uint256) {
|
210
|
-
uint256 num = chainId;
|
211
|
-
uint256 digits = 0;
|
212
|
-
while (num != 0) {
|
213
|
-
digits++;
|
214
|
-
num /= 10;
|
215
|
-
}
|
216
|
-
return digits;
|
217
|
-
}
|
218
217
|
}
|
@@ -17,8 +17,9 @@ interface IRegistry is IERC165 {
|
|
17
17
|
event LogRegistration(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
|
18
18
|
event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
|
19
19
|
|
20
|
-
//
|
21
|
-
error
|
20
|
+
// register()
|
21
|
+
error ErrorRegistryCallerNotRegistryService();
|
22
|
+
error ErrorRegistryService(address service);
|
22
23
|
|
23
24
|
// registerService()
|
24
25
|
error ErrorRegistryCallerNotReleaseRegistry();
|
@@ -3,8 +3,8 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
5
|
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
|
-
|
7
|
-
import {
|
6
|
+
|
7
|
+
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
8
8
|
|
9
9
|
import {NftId, NftIdLib} from "../type/NftId.sol";
|
10
10
|
import {VersionPart} from "../type/Version.sol";
|
@@ -16,38 +16,30 @@ import {IRegisterable} from "../shared/IRegisterable.sol";
|
|
16
16
|
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
17
17
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
18
18
|
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
19
|
-
import {SidenetContract} from "../shared/MainnetId.sol";
|
20
19
|
|
21
|
-
|
20
|
+
// IMPORTANT
|
22
21
|
// Each NFT minted by registry is accosiated with:
|
23
22
|
// 1) NFT owner
|
24
23
|
// 2) registred contract OR object stored in registered (parent) contract
|
25
|
-
//
|
26
|
-
// 1)
|
27
|
-
// 2)
|
28
|
-
// 3)
|
24
|
+
// Four registration flows:
|
25
|
+
// 1) IService address by release manager (SERVICE of domain SERVICE aka registry service aka release creation)
|
26
|
+
// 2) IService address by release manager (SERVICE of domain !SERVICE aka regular service)
|
27
|
+
// 3) IRegisterable address by regular service (INSTANCE, PRODUCT, POOL, DISTRIBUTION, ORACLE)
|
28
|
+
// 4) state object by regular service (POLICY, BUNDLE, STAKE)
|
29
29
|
|
30
30
|
/// @title Chain Registry contract implementing IRegistry.
|
31
31
|
/// @notice See IRegistry for method details.
|
32
32
|
contract Registry is
|
33
|
-
|
34
|
-
Initializable,
|
35
|
-
AccessManaged,
|
33
|
+
InitializableCustom,
|
36
34
|
IRegistry
|
37
35
|
{
|
38
|
-
using NftIdLib for NftId;
|
39
|
-
|
40
36
|
address public NFT_LOCK_ADDRESS = address(0x1);
|
41
37
|
uint256 public constant REGISTRY_TOKEN_SEQUENCE_ID = 2;
|
42
38
|
uint256 public constant STAKING_TOKEN_SEQUENCE_ID = 3;
|
43
39
|
string public constant EMPTY_URI = "";
|
44
40
|
|
45
|
-
|
46
|
-
|
47
|
-
address public immutable _deployer;
|
48
|
-
|
49
|
-
mapping(NftId nftId => ObjectInfo info) internal _info;
|
50
|
-
mapping(address object => NftId nftId) internal _nftIdByAddress;
|
41
|
+
mapping(NftId nftId => ObjectInfo info) private _info;
|
42
|
+
mapping(address object => NftId nftId) private _nftIdByAddress;
|
51
43
|
|
52
44
|
mapping(VersionPart version => mapping(ObjectType serviceDomain => address)) private _service;
|
53
45
|
|
@@ -63,7 +55,6 @@ contract Registry is
|
|
63
55
|
ChainNft public immutable _chainNft;
|
64
56
|
|
65
57
|
NftId public immutable _protocolNftId;
|
66
|
-
NftId public immutable _globalRegistryNftId;
|
67
58
|
NftId public immutable _registryNftId;
|
68
59
|
NftId public _stakingNftId;
|
69
60
|
|
@@ -71,13 +62,20 @@ contract Registry is
|
|
71
62
|
address public _stakingAddress;
|
72
63
|
ReleaseRegistry public _releaseRegistry;
|
73
64
|
|
74
|
-
|
75
|
-
|
76
|
-
|
65
|
+
// TODO
|
66
|
+
// 1). Registry and ReleaseRegistry must be treated as whole single entity.
|
67
|
+
// But current limitations of EVM does not allow it -> require it to be splitted
|
68
|
+
// 2). Keep onlyReleaseRegistry modifier
|
69
|
+
// 3). Delete onlyRegistryService in favor of restricted
|
70
|
+
// 4). (For GlobalRegistry ONLY) make registerChainRegistry() restricted to GIF_ADMIN_ROLE
|
71
|
+
modifier onlyRegistryService() {
|
72
|
+
if(!_releaseRegistry.isActiveRegistryService(msg.sender)) {
|
73
|
+
revert ErrorRegistryCallerNotRegistryService();
|
77
74
|
}
|
78
75
|
_;
|
79
76
|
}
|
80
77
|
|
78
|
+
|
81
79
|
modifier onlyReleaseRegistry() {
|
82
80
|
if(msg.sender != address(_releaseRegistry)) {
|
83
81
|
revert ErrorRegistryCallerNotReleaseRegistry();
|
@@ -87,18 +85,15 @@ contract Registry is
|
|
87
85
|
|
88
86
|
/// @dev Creates the registry contract and populates it with the protocol and registry objects.
|
89
87
|
/// Internally deploys the ChainNft contract.
|
90
|
-
|
91
|
-
|
92
|
-
AccessManaged(admin.authority())
|
88
|
+
constructor(RegistryAdmin admin)
|
89
|
+
InitializableCustom()
|
93
90
|
{
|
94
|
-
_deployer = msg.sender;
|
95
91
|
_admin = admin;
|
96
92
|
// deploy NFT
|
97
93
|
_chainNft = new ChainNft(address(this));
|
98
94
|
|
99
95
|
// initial registry setup
|
100
96
|
_protocolNftId = _registerProtocol();
|
101
|
-
_globalRegistryNftId = _registerGlobalRegistry(globalRegistry);
|
102
97
|
_registryNftId = _registerRegistry();
|
103
98
|
|
104
99
|
// set object types and object parent relations
|
@@ -115,7 +110,6 @@ contract Registry is
|
|
115
110
|
)
|
116
111
|
external
|
117
112
|
initializer()
|
118
|
-
onlyDeployer()
|
119
113
|
{
|
120
114
|
_releaseRegistry = ReleaseRegistry(releaseRegistry);
|
121
115
|
_tokenRegistryAddress = tokenRegistry;
|
@@ -127,7 +121,7 @@ contract Registry is
|
|
127
121
|
/// @inheritdoc IRegistry
|
128
122
|
function register(ObjectInfo memory info)
|
129
123
|
external
|
130
|
-
|
124
|
+
onlyRegistryService
|
131
125
|
returns(NftId nftId)
|
132
126
|
{
|
133
127
|
ObjectType objectType = info.objectType;
|
@@ -201,7 +195,7 @@ contract Registry is
|
|
201
195
|
/// @inheritdoc IRegistry
|
202
196
|
function registerWithCustomType(ObjectInfo memory info)
|
203
197
|
external
|
204
|
-
|
198
|
+
onlyRegistryService
|
205
199
|
returns(NftId nftId)
|
206
200
|
{
|
207
201
|
ObjectType objectType = info.objectType;
|
@@ -218,7 +212,7 @@ contract Registry is
|
|
218
212
|
revert ErrorRegistryTypesCombinationInvalid(objectType, parentType);
|
219
213
|
}
|
220
214
|
|
221
|
-
|
215
|
+
_register(info);
|
222
216
|
}
|
223
217
|
|
224
218
|
|
@@ -459,40 +453,29 @@ contract Registry is
|
|
459
453
|
_chainNft.mint(NFT_LOCK_ADDRESS, protocolId);
|
460
454
|
}
|
461
455
|
|
462
|
-
/// @dev global registry registration
|
463
|
-
function _registerGlobalRegistry(address globalRegistry)
|
464
|
-
internal
|
465
|
-
returns (NftId globalRegistryNftId)
|
466
|
-
{
|
467
|
-
uint256 globalRegistryId = _chainNft.GLOBAL_REGISTRY_ID();
|
468
|
-
globalRegistryNftId = NftIdLib.toNftId(globalRegistryId);
|
469
|
-
|
470
|
-
_info[globalRegistryNftId] = ObjectInfo({
|
471
|
-
nftId: globalRegistryNftId,
|
472
|
-
parentNftId: _protocolNftId,
|
473
|
-
objectType: REGISTRY(),
|
474
|
-
isInterceptor: false,
|
475
|
-
objectAddress: globalRegistry,
|
476
|
-
initialOwner: NFT_LOCK_ADDRESS,
|
477
|
-
data: ""
|
478
|
-
});
|
479
|
-
|
480
|
-
_nftIdByAddress[address(this)] = globalRegistryNftId;
|
481
|
-
_chainNft.mint(NFT_LOCK_ADDRESS, globalRegistryId);
|
482
|
-
}
|
483
|
-
|
484
456
|
/// @dev registry registration
|
457
|
+
/// might also register the global registry when not on mainnet
|
485
458
|
function _registerRegistry()
|
486
|
-
|
487
|
-
virtual
|
459
|
+
private
|
488
460
|
returns (NftId registryNftId)
|
489
461
|
{
|
490
462
|
uint256 registryId = _chainNft.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID);
|
491
463
|
registryNftId = NftIdLib.toNftId(registryId);
|
464
|
+
NftId parentNftId;
|
465
|
+
|
466
|
+
if(registryId != _chainNft.GLOBAL_REGISTRY_ID())
|
467
|
+
{// we're not the global registry
|
468
|
+
_registerGlobalRegistry();
|
469
|
+
parentNftId = NftIdLib.toNftId(_chainNft.GLOBAL_REGISTRY_ID());
|
470
|
+
}
|
471
|
+
else
|
472
|
+
{// we are global registry
|
473
|
+
parentNftId = _protocolNftId;
|
474
|
+
}
|
492
475
|
|
493
476
|
_info[registryNftId] = ObjectInfo({
|
494
477
|
nftId: registryNftId,
|
495
|
-
parentNftId:
|
478
|
+
parentNftId: parentNftId,
|
496
479
|
objectType: REGISTRY(),
|
497
480
|
isInterceptor: false,
|
498
481
|
objectAddress: address(this),
|
@@ -504,10 +487,28 @@ contract Registry is
|
|
504
487
|
_chainNft.mint(NFT_LOCK_ADDRESS, registryId);
|
505
488
|
}
|
506
489
|
|
507
|
-
/// @dev
|
490
|
+
/// @dev global registry registration for non mainnet registries
|
491
|
+
function _registerGlobalRegistry()
|
492
|
+
private
|
493
|
+
{
|
494
|
+
uint256 globalRegistryId = _chainNft.GLOBAL_REGISTRY_ID();
|
495
|
+
NftId globalRegistryNftId = NftIdLib.toNftId(globalRegistryId);
|
496
|
+
|
497
|
+
_info[globalRegistryNftId] = ObjectInfo({
|
498
|
+
nftId: globalRegistryNftId,
|
499
|
+
parentNftId: NftIdLib.toNftId(_chainNft.PROTOCOL_NFT_ID()),
|
500
|
+
objectType: REGISTRY(),
|
501
|
+
isInterceptor: false,
|
502
|
+
objectAddress: address(0),
|
503
|
+
initialOwner: NFT_LOCK_ADDRESS,
|
504
|
+
data: ""
|
505
|
+
});
|
506
|
+
|
507
|
+
_chainNft.mint(NFT_LOCK_ADDRESS, globalRegistryId);
|
508
|
+
}
|
509
|
+
// depends on _registryNftId and _stakingAddress
|
508
510
|
function _registerStaking()
|
509
511
|
private
|
510
|
-
onlyInitializing()
|
511
512
|
returns (NftId stakingNftId)
|
512
513
|
{
|
513
514
|
address stakingOwner = IRegisterable(_stakingAddress).getOwner();
|
@@ -525,13 +526,15 @@ contract Registry is
|
|
525
526
|
});
|
526
527
|
|
527
528
|
_nftIdByAddress[_stakingAddress] = stakingNftId;
|
529
|
+
|
530
|
+
// reverts if nftId was already minted
|
528
531
|
_chainNft.mint(stakingOwner, stakingId);
|
529
532
|
}
|
530
533
|
|
531
534
|
/// @dev defines which object - parent types relations are allowed to register
|
532
535
|
/// EACH object type MUST have only one parent type across ALL mappings
|
533
536
|
function _setupValidCoreTypesAndCombinations()
|
534
|
-
private
|
537
|
+
private
|
535
538
|
{
|
536
539
|
_coreTypes[REGISTRY()] = true;
|
537
540
|
_coreTypes[SERVICE()] = true;
|
@@ -546,6 +549,12 @@ contract Registry is
|
|
546
549
|
_coreTypes[STAKING()] = true;
|
547
550
|
_coreTypes[STAKE()] = true;
|
548
551
|
|
552
|
+
// only global registry allowed to register registry (after initialization)
|
553
|
+
if(block.chainid == 1) {
|
554
|
+
_coreContractCombinations[REGISTRY()][REGISTRY()] = true;
|
555
|
+
}
|
556
|
+
|
557
|
+
// contracts with registry parent
|
549
558
|
_coreContractCombinations[STAKING()][REGISTRY()] = true; // only for chain staking contract
|
550
559
|
_coreContractCombinations[INSTANCE()][REGISTRY()] = true;
|
551
560
|
|