@etherisc/gif-next 0.0.2-edc084c-558 → 0.0.2-edd8f00-238
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 +11 -3
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +254 -167
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +117 -111
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +49 -312
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +36 -105
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +303 -2005
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +177 -41
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +429 -2753
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +801 -389
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +262 -221
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -105
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3597 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- 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/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -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/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -276
- 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/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +90 -46
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +193 -103
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +294 -60
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -109
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -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/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/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +131 -94
- 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/{instance/service → product}/IPolicyService.sol/IPolicyService.json +194 -80
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +86 -159
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +283 -118
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +11 -61
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -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 +1397 -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 +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +310 -53
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- 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 +415 -43
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -73
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +187 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +783 -108
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +206 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +139 -85
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +27 -95
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +110 -84
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
- 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 +3 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +17 -6
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- 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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +570 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +156 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +17 -6
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- 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 +460 -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 +187 -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 +2260 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -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/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- 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/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -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/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -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/{types → type}/Timestamp.sol/TimestampLib.json +33 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/{components → distribution}/Distribution.sol +47 -66
- package/contracts/distribution/DistributionService.sol +297 -0
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
- package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
- package/contracts/instance/BundleManager.sol +8 -9
- package/contracts/instance/IInstance.sol +55 -66
- package/contracts/instance/IInstanceService.sol +50 -25
- package/contracts/instance/Instance.sol +160 -224
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
- package/contracts/instance/InstanceReader.sol +157 -56
- package/contracts/instance/InstanceService.sol +258 -314
- package/contracts/instance/InstanceServiceManager.sol +11 -21
- package/contracts/instance/InstanceStore.sol +272 -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 +96 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +21 -10
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +28 -16
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +35 -22
- package/contracts/{components → pool}/IPoolComponent.sol +17 -18
- package/contracts/{instance/service → pool}/IPoolService.sol +72 -21
- package/contracts/{components → pool}/Pool.sol +54 -58
- package/contracts/pool/PoolService.sol +452 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/product/ClaimService.sol +442 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +15 -35
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/{instance/service → product}/IPolicyService.sol +37 -31
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +42 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/{components → product}/Product.sol +191 -107
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +44 -21
- package/contracts/registry/IRegistryService.sol +37 -36
- package/contracts/registry/IServiceAuthorization.sol +38 -0
- package/contracts/registry/Registry.sol +198 -83
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +71 -87
- package/contracts/registry/RegistryServiceManager.sol +21 -30
- package/contracts/registry/ReleaseLifecycle.sol +28 -0
- package/contracts/registry/ReleaseManager.sol +389 -190
- package/contracts/registry/ServiceAuthorization.sol +90 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/AccessAdmin.sol +759 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +620 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +168 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/{components → shared}/IComponent.sol +23 -29
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +29 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +11 -2
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +144 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +71 -0
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +3 -16
- package/contracts/shared/PolicyHolder.sol +40 -19
- package/contracts/shared/ProxyManager.sol +34 -4
- package/contracts/shared/Registerable.sol +13 -12
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +32 -21
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +153 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +513 -0
- package/contracts/staking/StakingLifecycle.sol +24 -0
- package/contracts/staking/StakingManager.sol +54 -0
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +615 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +128 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/ClaimId.sol +25 -2
- package/contracts/{types → type}/Fee.sol +24 -22
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +241 -0
- package/contracts/{types → type}/PayoutId.sol +33 -5
- package/contracts/{types → type}/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +201 -0
- package/contracts/{types → type}/Seconds.sol +27 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +33 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +10 -1
- package/contracts/{types → type}/Version.sol +1 -1
- package/package.json +4 -3
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- 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 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- 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/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- 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 -383
- 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 -596
- 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 -104
- 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/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
- 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/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- 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/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- 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/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- 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/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/base/ComponentService.sol +0 -121
- package/contracts/instance/base/KeyValueStore.sol +0 -180
- package/contracts/instance/base/Lifecycle.sol +0 -109
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -350
- package/contracts/instance/service/BundleService.sol +0 -431
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/DistributionService.sol +0 -435
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -362
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -303
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/Amount.sol +0 -60
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -97
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -2,14 +2,20 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
5
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
6
|
|
6
|
-
import {
|
7
|
-
|
8
|
-
import {
|
7
|
+
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
8
|
+
|
9
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
10
|
+
import {VersionPart} from "../type/Version.sol";
|
11
|
+
import {ObjectType, PROTOCOL, REGISTRY, TOKEN, SERVICE, INSTANCE, STAKE, STAKING, PRODUCT, DISTRIBUTION, DISTRIBUTOR, ORACLE, POOL, POLICY, BUNDLE} from "../type/ObjectType.sol";
|
9
12
|
|
10
13
|
import {ChainNft} from "./ChainNft.sol";
|
11
14
|
import {IRegistry} from "./IRegistry.sol";
|
15
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
12
16
|
import {ReleaseManager} from "./ReleaseManager.sol";
|
17
|
+
import {TokenRegistry} from "./TokenRegistry.sol";
|
18
|
+
import {RegistryAdmin} from "./RegistryAdmin.sol";
|
13
19
|
|
14
20
|
// IMPORTANT
|
15
21
|
// Each NFT minted by registry is accosiated with:
|
@@ -22,10 +28,12 @@ import {ReleaseManager} from "./ReleaseManager.sol";
|
|
22
28
|
// 4) state object by regular service (POLICY, BUNDLE, STAKE)
|
23
29
|
|
24
30
|
contract Registry is
|
31
|
+
InitializableCustom,
|
25
32
|
IRegistry
|
26
33
|
{
|
27
|
-
address public
|
34
|
+
address public NFT_LOCK_ADDRESS = address(0x1);
|
28
35
|
uint256 public constant REGISTRY_TOKEN_SEQUENCE_ID = 2;
|
36
|
+
uint256 public constant STAKING_TOKEN_SEQUENCE_ID = 3;
|
29
37
|
string public constant EMPTY_URI = "";
|
30
38
|
|
31
39
|
mapping(NftId nftId => ObjectInfo info) private _info;
|
@@ -41,40 +49,72 @@ contract Registry is
|
|
41
49
|
mapping(ObjectType objectType => mapping(
|
42
50
|
ObjectType parentType => bool)) private _coreObjectCombinations;
|
43
51
|
|
44
|
-
|
45
|
-
ChainNft
|
52
|
+
RegistryAdmin public immutable _admin;
|
53
|
+
ChainNft public immutable _chainNft;
|
54
|
+
|
55
|
+
NftId public immutable _protocolNftId;
|
56
|
+
NftId public immutable _registryNftId;
|
57
|
+
NftId public _stakingNftId;
|
46
58
|
|
47
|
-
|
59
|
+
address public _tokenRegistryAddress;
|
60
|
+
address public _stakingAddress;
|
61
|
+
ReleaseManager public _releaseManager;
|
48
62
|
|
63
|
+
// TODO
|
64
|
+
// 1). Registry and ReleaseManager must be treated as whole single entity.
|
65
|
+
// But current limitations of EVM does not allow it -> require it to be splitted
|
66
|
+
// 2). Keep onlyReleaseManager modifier
|
67
|
+
// 3). Delete onlyRegistryService in favor of restricted, introduce aditional "domain role", REGISTRY_SERVICE_ROLE
|
68
|
+
// 4). (For GlobalRegistry ONLY) make registerChainRegistry() restricted to GIF_ADMIN_ROLE
|
49
69
|
modifier onlyRegistryService() {
|
50
70
|
if(!_releaseManager.isActiveRegistryService(msg.sender)) {
|
51
|
-
revert
|
71
|
+
revert ErrorRegistryCallerNotRegistryService();
|
52
72
|
}
|
53
73
|
_;
|
54
74
|
}
|
55
75
|
|
76
|
+
|
56
77
|
modifier onlyReleaseManager() {
|
57
78
|
if(msg.sender != address(_releaseManager)) {
|
58
|
-
revert
|
79
|
+
revert ErrorRegistryCallerNotReleaseManager();
|
59
80
|
}
|
60
81
|
_;
|
61
82
|
}
|
62
83
|
|
63
|
-
constructor()
|
64
|
-
{
|
65
|
-
_releaseManager = ReleaseManager(msg.sender);
|
66
84
|
|
85
|
+
constructor(RegistryAdmin admin)
|
86
|
+
InitializableCustom()
|
87
|
+
{
|
88
|
+
_admin = admin;
|
67
89
|
// deploy NFT
|
68
90
|
_chainNft = new ChainNft(address(this));
|
69
91
|
|
70
92
|
// initial registry setup
|
71
|
-
_registerProtocol();
|
72
|
-
_registerRegistry();
|
93
|
+
_protocolNftId = _registerProtocol();
|
94
|
+
_registryNftId = _registerRegistry();
|
73
95
|
|
74
96
|
// set object types and object parent relations
|
75
97
|
_setupValidCoreTypesAndCombinations();
|
76
98
|
}
|
77
99
|
|
100
|
+
|
101
|
+
/// @dev wires release manager and token to registry (this contract).
|
102
|
+
/// MUST be called by release manager.
|
103
|
+
function initialize(
|
104
|
+
address releaseManager,
|
105
|
+
address tokenRegistry,
|
106
|
+
address staking
|
107
|
+
)
|
108
|
+
external
|
109
|
+
initializer()
|
110
|
+
{
|
111
|
+
_releaseManager = ReleaseManager(releaseManager);
|
112
|
+
_tokenRegistryAddress = tokenRegistry;
|
113
|
+
_stakingAddress = staking;
|
114
|
+
|
115
|
+
_stakingNftId = _registerStaking();
|
116
|
+
}
|
117
|
+
|
78
118
|
function registerService(
|
79
119
|
ObjectInfo memory info,
|
80
120
|
VersionPart version,
|
@@ -84,7 +124,16 @@ contract Registry is
|
|
84
124
|
onlyReleaseManager
|
85
125
|
returns(NftId nftId)
|
86
126
|
{
|
127
|
+
address service = info.objectAddress;
|
87
128
|
/* must be guaranteed by release manager
|
129
|
+
if(service == address(0)) {
|
130
|
+
revert();
|
131
|
+
}
|
132
|
+
|
133
|
+
if(version.eqz()) {
|
134
|
+
revert();
|
135
|
+
}
|
136
|
+
|
88
137
|
if(info.objectType != SERVICE()) {
|
89
138
|
revert();
|
90
139
|
}
|
@@ -94,11 +143,15 @@ contract Registry is
|
|
94
143
|
info.initialOwner == NFT_LOCK_ADDRESS <- if services are access managed
|
95
144
|
*/
|
96
145
|
|
97
|
-
if(
|
98
|
-
revert
|
146
|
+
if(domain.eqz()) {
|
147
|
+
revert ErrorRegistryDomainZero(service);
|
99
148
|
}
|
100
149
|
|
101
|
-
_service[version][domain]
|
150
|
+
if(_service[version][domain] > address(0)) {
|
151
|
+
revert ErrorRegistryDomainAlreadyRegistered(service, version, domain);
|
152
|
+
}
|
153
|
+
|
154
|
+
_service[version][domain] = service;
|
102
155
|
|
103
156
|
nftId = _register(info);
|
104
157
|
|
@@ -113,23 +166,17 @@ contract Registry is
|
|
113
166
|
ObjectType objectType = info.objectType;
|
114
167
|
ObjectType parentType = _info[info.parentNftId].objectType;
|
115
168
|
|
116
|
-
// TODO do not need it here -> SERVICE is no longer part of _coreContractCombinations
|
117
|
-
// no service registrations
|
118
|
-
if(objectType == SERVICE()) {
|
119
|
-
revert ServiceRegistration();
|
120
|
-
}
|
121
|
-
|
122
169
|
// only valid core types combinations
|
123
170
|
if(info.objectAddress == address(0))
|
124
171
|
{
|
125
172
|
if(_coreObjectCombinations[objectType][parentType] == false) {
|
126
|
-
revert
|
173
|
+
revert ErrorRegistryTypesCombinationInvalid(objectType, parentType);
|
127
174
|
}
|
128
175
|
}
|
129
176
|
else
|
130
177
|
{
|
131
178
|
if(_coreContractCombinations[objectType][parentType] == false) {
|
132
|
-
revert
|
179
|
+
revert ErrorRegistryTypesCombinationInvalid(objectType, parentType);
|
133
180
|
}
|
134
181
|
}
|
135
182
|
|
@@ -145,7 +192,7 @@ contract Registry is
|
|
145
192
|
ObjectType parentType = _info[info.parentNftId].objectType;
|
146
193
|
|
147
194
|
if(_coreTypes[objectType]) {
|
148
|
-
revert
|
195
|
+
revert ErrorRegistryCoreTypeRegistration();
|
149
196
|
}
|
150
197
|
|
151
198
|
if(
|
@@ -153,7 +200,7 @@ contract Registry is
|
|
153
200
|
parentType == REGISTRY() ||
|
154
201
|
parentType == SERVICE()
|
155
202
|
) {
|
156
|
-
revert
|
203
|
+
revert ErrorRegistryTypesCombinationInvalid(objectType, parentType);
|
157
204
|
}
|
158
205
|
|
159
206
|
_register(info);
|
@@ -165,13 +212,7 @@ contract Registry is
|
|
165
212
|
return _releaseManager.getInitialVersion();
|
166
213
|
}
|
167
214
|
|
168
|
-
|
169
|
-
// need to be thought trough, not yet clear if necessary
|
170
|
-
// need to answer question: what is the latest version during the upgrade process?
|
171
|
-
// likely setting up a new gif version does not fit into a single tx
|
172
|
-
// in this case we might want to have a period where the latest version is
|
173
|
-
// in the process of being set up while the latest active version is 1 major release smaller
|
174
|
-
/// @dev latest GIF major version (might not yet be active)
|
215
|
+
/// @dev next GIF release version to be released
|
175
216
|
function getNextVersion() external view returns (VersionPart) {
|
176
217
|
return _releaseManager.getNextVersion();
|
177
218
|
}
|
@@ -189,14 +230,14 @@ contract Registry is
|
|
189
230
|
return _chainNft.totalSupply();
|
190
231
|
}
|
191
232
|
|
192
|
-
function getReleaseManagerAddress() external view returns (address) {
|
193
|
-
return address(_releaseManager);
|
194
|
-
}
|
195
|
-
|
196
233
|
function getNftId() external view returns (NftId nftId) {
|
197
234
|
return _registryNftId;
|
198
235
|
}
|
199
236
|
|
237
|
+
function getProtocolNftId() external view returns (NftId nftId) {
|
238
|
+
return _protocolNftId;
|
239
|
+
}
|
240
|
+
|
200
241
|
function getNftId(address object) external view returns (NftId id) {
|
201
242
|
return _nftIdByAddress[object];
|
202
243
|
}
|
@@ -234,9 +275,19 @@ contract Registry is
|
|
234
275
|
return _info[objectParentNftId].objectType == INSTANCE();
|
235
276
|
}
|
236
277
|
|
237
|
-
function
|
278
|
+
function isActiveRelease(VersionPart version) external view returns (bool)
|
238
279
|
{
|
239
|
-
return _releaseManager.
|
280
|
+
return _releaseManager.isActiveRelease(version);
|
281
|
+
}
|
282
|
+
|
283
|
+
function getStakingAddress() external view returns (address staking) {
|
284
|
+
//return getObjectInfo(_stakingNftId).objectAddress;
|
285
|
+
//return _info[_stakingNftId].objectAddress;
|
286
|
+
return _stakingAddress;
|
287
|
+
}
|
288
|
+
|
289
|
+
function getTokenRegistryAddress() external view returns (address tokenRegistry) {
|
290
|
+
return _tokenRegistryAddress;
|
240
291
|
}
|
241
292
|
|
242
293
|
function getServiceAddress(
|
@@ -244,16 +295,29 @@ contract Registry is
|
|
244
295
|
VersionPart releaseVersion
|
245
296
|
) external view returns (address service)
|
246
297
|
{
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
298
|
+
service = _service[releaseVersion][serviceDomain];
|
299
|
+
}
|
300
|
+
|
301
|
+
function getReleaseAccessManagerAddress(VersionPart version) external view returns (address) {
|
302
|
+
return address(_releaseManager.getReleaseAccessManager(version));
|
303
|
+
}
|
304
|
+
|
305
|
+
function getReleaseManagerAddress() external view returns (address) {
|
306
|
+
return address(_releaseManager);
|
251
307
|
}
|
252
308
|
|
253
309
|
function getChainNftAddress() external view override returns (address) {
|
254
310
|
return address(_chainNft);
|
255
311
|
}
|
256
312
|
|
313
|
+
function getRegistryAdminAddress() external view returns (address) {
|
314
|
+
return address(_admin);
|
315
|
+
}
|
316
|
+
|
317
|
+
function getAuthority() external view returns (address) {
|
318
|
+
return _admin.authority();
|
319
|
+
}
|
320
|
+
|
257
321
|
function getOwner() public view returns (address owner) {
|
258
322
|
return ownerOf(address(this));
|
259
323
|
}
|
@@ -277,59 +341,76 @@ contract Registry is
|
|
277
341
|
returns(NftId nftId)
|
278
342
|
{
|
279
343
|
ObjectType objectType = info.objectType;
|
344
|
+
bool isInterceptor = info.isInterceptor;
|
345
|
+
address objectAddress = info.objectAddress;
|
346
|
+
address owner = info.initialOwner;
|
347
|
+
|
280
348
|
NftId parentNftId = info.parentNftId;
|
281
349
|
ObjectInfo memory parentInfo = _info[parentNftId];
|
282
350
|
ObjectType parentType = parentInfo.objectType; // see function header
|
283
351
|
address parentAddress = parentInfo.objectAddress;
|
284
352
|
|
285
353
|
// parent is contract -> need to check? -> check before minting
|
354
|
+
// special case: staking: to protocol possible as well
|
286
355
|
// special case: global registry nft as parent when not on mainnet -> global registry address is 0
|
287
356
|
// special case: when parentNftId == _chainNft.mint(), check for zero parent address before mint
|
288
357
|
// special case: when parentNftId == _chainNft.mint() && objectAddress == initialOwner
|
289
|
-
if(
|
290
|
-
|
358
|
+
if(objectType != STAKE()) {
|
359
|
+
if(parentAddress == address(0)) {
|
360
|
+
revert ErrorRegistryParentAddressZero();
|
361
|
+
}
|
291
362
|
}
|
292
363
|
|
293
|
-
address
|
294
|
-
|
295
|
-
|
364
|
+
address interceptorAddress = _getInterceptor(
|
365
|
+
isInterceptor,
|
366
|
+
objectType,
|
367
|
+
objectAddress,
|
368
|
+
parentInfo.isInterceptor,
|
369
|
+
parentAddress);
|
296
370
|
|
371
|
+
uint256 tokenId = _chainNft.getNextTokenId();
|
372
|
+
nftId = NftIdLib.toNftId(tokenId);
|
297
373
|
info.nftId = nftId;
|
298
374
|
_info[nftId] = info;
|
299
375
|
|
300
|
-
if(
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
if(_nftIdByAddress[contractAddress].gtz()) {
|
305
|
-
revert ContractAlreadyRegistered(contractAddress);
|
376
|
+
if(objectAddress > address(0)) {
|
377
|
+
if(_nftIdByAddress[objectAddress].gtz()) {
|
378
|
+
revert ErrorRegistryContractAlreadyRegistered(objectAddress);
|
306
379
|
}
|
307
380
|
|
308
|
-
_nftIdByAddress[
|
381
|
+
_nftIdByAddress[objectAddress] = nftId;
|
309
382
|
}
|
310
383
|
|
311
|
-
emit LogRegistration(nftId, parentNftId, objectType,
|
384
|
+
emit LogRegistration(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
|
312
385
|
|
313
386
|
// calls nft receiver(1) and interceptor(2)
|
314
387
|
uint256 mintedTokenId = _chainNft.mint(
|
315
|
-
|
316
|
-
|
388
|
+
owner,
|
389
|
+
interceptorAddress,
|
317
390
|
EMPTY_URI);
|
318
|
-
|
319
|
-
|
391
|
+
|
392
|
+
assert(mintedTokenId == tokenId);
|
320
393
|
}
|
321
394
|
|
322
395
|
/// @dev obtain interceptor address for this nft if applicable, address(0) otherwise
|
396
|
+
/// special case: STAKES (parent may be any type) -> no intercept call
|
397
|
+
/// default case:
|
323
398
|
function _getInterceptor(
|
324
399
|
bool isInterceptor,
|
400
|
+
ObjectType objectType,
|
325
401
|
address objectAddress,
|
326
402
|
bool parentIsInterceptor,
|
327
403
|
address parentObjectAddress
|
328
404
|
)
|
329
405
|
internal
|
330
|
-
|
406
|
+
pure
|
331
407
|
returns (address interceptor)
|
332
408
|
{
|
409
|
+
// no intercepting calls for stakes
|
410
|
+
if (objectType == STAKE()) {
|
411
|
+
return address(0);
|
412
|
+
}
|
413
|
+
|
333
414
|
if (objectAddress == address(0)) {
|
334
415
|
if (parentIsInterceptor) {
|
335
416
|
return parentObjectAddress;
|
@@ -350,13 +431,14 @@ contract Registry is
|
|
350
431
|
/// @dev protocol registration used to anchor the dip ecosystem relations
|
351
432
|
function _registerProtocol()
|
352
433
|
private
|
434
|
+
returns (NftId protocolNftId)
|
353
435
|
{
|
354
436
|
uint256 protocolId = _chainNft.PROTOCOL_NFT_ID();
|
355
|
-
|
437
|
+
protocolNftId = NftIdLib.toNftId(protocolId);
|
356
438
|
|
357
439
|
_info[protocolNftId] = ObjectInfo({
|
358
440
|
nftId: protocolNftId,
|
359
|
-
parentNftId:
|
441
|
+
parentNftId: NftIdLib.zero(),
|
360
442
|
objectType: PROTOCOL(),
|
361
443
|
isInterceptor: false,
|
362
444
|
objectAddress: address(0),
|
@@ -371,19 +453,20 @@ contract Registry is
|
|
371
453
|
/// might also register the global registry when not on mainnet
|
372
454
|
function _registerRegistry()
|
373
455
|
private
|
456
|
+
returns (NftId registryNftId)
|
374
457
|
{
|
375
458
|
uint256 registryId = _chainNft.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID);
|
376
|
-
|
459
|
+
registryNftId = NftIdLib.toNftId(registryId);
|
377
460
|
NftId parentNftId;
|
378
461
|
|
379
462
|
if(registryId != _chainNft.GLOBAL_REGISTRY_ID())
|
380
463
|
{// we're not the global registry
|
381
464
|
_registerGlobalRegistry();
|
382
|
-
parentNftId = toNftId(_chainNft.GLOBAL_REGISTRY_ID());
|
465
|
+
parentNftId = NftIdLib.toNftId(_chainNft.GLOBAL_REGISTRY_ID());
|
383
466
|
}
|
384
467
|
else
|
385
468
|
{// we are global registry
|
386
|
-
parentNftId =
|
469
|
+
parentNftId = _protocolNftId;
|
387
470
|
}
|
388
471
|
|
389
472
|
_info[registryNftId] = ObjectInfo({
|
@@ -395,9 +478,8 @@ contract Registry is
|
|
395
478
|
initialOwner: NFT_LOCK_ADDRESS,
|
396
479
|
data: ""
|
397
480
|
});
|
398
|
-
_nftIdByAddress[address(this)] = registryNftId;
|
399
|
-
_registryNftId = registryNftId;
|
400
481
|
|
482
|
+
_nftIdByAddress[address(this)] = registryNftId;
|
401
483
|
_chainNft.mint(NFT_LOCK_ADDRESS, registryId);
|
402
484
|
}
|
403
485
|
|
@@ -406,11 +488,11 @@ contract Registry is
|
|
406
488
|
private
|
407
489
|
{
|
408
490
|
uint256 globalRegistryId = _chainNft.GLOBAL_REGISTRY_ID();
|
409
|
-
NftId globalRegistryNftId = toNftId(globalRegistryId);
|
491
|
+
NftId globalRegistryNftId = NftIdLib.toNftId(globalRegistryId);
|
410
492
|
|
411
493
|
_info[globalRegistryNftId] = ObjectInfo({
|
412
494
|
nftId: globalRegistryNftId,
|
413
|
-
parentNftId: toNftId(_chainNft.PROTOCOL_NFT_ID()),
|
495
|
+
parentNftId: NftIdLib.toNftId(_chainNft.PROTOCOL_NFT_ID()),
|
414
496
|
objectType: REGISTRY(),
|
415
497
|
isInterceptor: false,
|
416
498
|
objectAddress: address(0),
|
@@ -420,13 +502,36 @@ contract Registry is
|
|
420
502
|
|
421
503
|
_chainNft.mint(NFT_LOCK_ADDRESS, globalRegistryId);
|
422
504
|
}
|
505
|
+
// depends on _registryNftId and _stakingAddress
|
506
|
+
function _registerStaking()
|
507
|
+
private
|
508
|
+
returns (NftId stakingNftId)
|
509
|
+
{
|
510
|
+
address stakingOwner = IRegisterable(_stakingAddress).getOwner();
|
511
|
+
uint256 stakingId = _chainNft.calculateTokenId(STAKING_TOKEN_SEQUENCE_ID);
|
512
|
+
stakingNftId = NftIdLib.toNftId(stakingId);
|
513
|
+
|
514
|
+
_info[stakingNftId] = ObjectInfo({
|
515
|
+
nftId: stakingNftId,
|
516
|
+
parentNftId: _registryNftId,
|
517
|
+
objectType: STAKING(),
|
518
|
+
isInterceptor: false,
|
519
|
+
objectAddress: _stakingAddress,
|
520
|
+
initialOwner: stakingOwner,
|
521
|
+
data: ""
|
522
|
+
});
|
523
|
+
|
524
|
+
_nftIdByAddress[_stakingAddress] = stakingNftId;
|
525
|
+
// reverts if nftId was already minted
|
526
|
+
_chainNft.mint(stakingOwner, stakingId);
|
527
|
+
}
|
423
528
|
|
424
529
|
/// @dev defines which object - parent types relations are allowed to register
|
425
530
|
// IMPORTANT:
|
426
531
|
// 1) EACH object type MUST have only one parent type across ALL mappings
|
427
532
|
// 2) DO NOT use object type (e.g. POLCY, BUNDLE, STAKE) as parent type
|
428
533
|
// 3) DO NOT use REGISTRY as object type
|
429
|
-
// 2) DO NOT use PROTOCOL and "
|
534
|
+
// 2) DO NOT use PROTOCOL and "ObjectTypeLib.zero"
|
430
535
|
function _setupValidCoreTypesAndCombinations()
|
431
536
|
private
|
432
537
|
{
|
@@ -437,31 +542,41 @@ contract Registry is
|
|
437
542
|
_coreTypes[PRODUCT()] = true;
|
438
543
|
_coreTypes[POOL()] = true;
|
439
544
|
_coreTypes[DISTRIBUTION()] = true;
|
545
|
+
_coreTypes[DISTRIBUTOR()] = true;
|
546
|
+
_coreTypes[ORACLE()] = true;
|
440
547
|
_coreTypes[POLICY()] = true;
|
441
548
|
_coreTypes[BUNDLE()] = true;
|
549
|
+
_coreTypes[STAKING()] = true;
|
442
550
|
_coreTypes[STAKE()] = true;
|
443
|
-
|
444
|
-
|
445
|
-
|
551
|
+
|
552
|
+
uint256 registryId = _chainNft.calculateTokenId(REGISTRY_TOKEN_SEQUENCE_ID);
|
553
|
+
if(registryId == _chainNft.GLOBAL_REGISTRY_ID()) {
|
554
|
+
// we are global registry
|
555
|
+
// object is registry from different chain
|
556
|
+
// parent is global registry, this contract
|
557
|
+
_coreContractCombinations[REGISTRY()][REGISTRY()] = true; // only for global regstry
|
558
|
+
//_coreObjectCombinations[REGISTRY()][REGISTRY()] = true;
|
559
|
+
} else {
|
560
|
+
// we are not global registry
|
561
|
+
// object is local registry, this contract
|
562
|
+
// parent is global registry, object with 0 address or registry from mainnet???
|
563
|
+
}
|
564
|
+
_coreContractCombinations[STAKING()][REGISTRY()] = true; // only for chain staking contract
|
446
565
|
_coreContractCombinations[TOKEN()][REGISTRY()] = true;
|
447
566
|
//_coreContractCombinations[SERVICE()][REGISTRY()] = true;// do not need it here -> registerService() registers exactly this combination
|
448
|
-
|
449
|
-
// registry as parent, ONLY approved
|
450
567
|
_coreContractCombinations[INSTANCE()][REGISTRY()] = true;
|
451
568
|
|
452
|
-
// instance as parent, ONLY approved
|
453
569
|
_coreContractCombinations[PRODUCT()][INSTANCE()] = true;
|
454
570
|
_coreContractCombinations[DISTRIBUTION()][INSTANCE()] = true;
|
455
571
|
_coreContractCombinations[ORACLE()][INSTANCE()] = true;
|
456
572
|
_coreContractCombinations[POOL()][INSTANCE()] = true;
|
457
573
|
|
458
574
|
_coreObjectCombinations[DISTRIBUTOR()][DISTRIBUTION()] = true;
|
459
|
-
|
460
|
-
// product as parent, ONLY approved
|
461
575
|
_coreObjectCombinations[POLICY()][PRODUCT()] = true;
|
462
|
-
|
463
|
-
// pool as parent, ONLY approved
|
464
576
|
_coreObjectCombinations[BUNDLE()][POOL()] = true;
|
465
|
-
|
577
|
+
|
578
|
+
// staking
|
579
|
+
_coreObjectCombinations[STAKE()][PROTOCOL()] = true;
|
580
|
+
_coreObjectCombinations[STAKE()][INSTANCE()] = true;
|
466
581
|
}
|
467
582
|
}
|