@etherisc/gif-next 0.0.2-96b5b72-170 → 0.0.2-97aac30-275
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 +2 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +193 -164
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +114 -321
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +120 -82
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +72 -108
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +22 -48
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -6
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +56 -22
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +53 -18
- 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 +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -28
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +458 -331
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +133 -59
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +110 -32
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1103 -308
- 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 +1 -1
- 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/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -2
- 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 +662 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +69 -252
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +105 -55
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +8 -53
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +134 -86
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +121 -133
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +239 -92
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +170 -368
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +98 -72
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +69 -153
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +105 -31
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +95 -203
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +118 -56
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +7 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +7 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +81 -25
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +27 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +230 -107
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -55
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +164 -299
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +106 -92
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -160
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +130 -40
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +334 -146
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +29 -214
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +88 -34
- 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 +163 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +256 -65
- 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 +378 -67
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +272 -68
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +87 -35
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +799 -127
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -138
- 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 +1715 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +184 -11
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +908 -49
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +526 -0
- 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/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 +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +172 -4
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +80 -22
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +1 -11
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -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/IService.sol/IService.json +7 -1
- 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 +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +176 -24
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -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 +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +64 -16
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +21 -7
- 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/Service.sol/Service.json +7 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1103 -172
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +497 -49
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1247 -56
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +167 -30
- 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 +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +605 -78
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +122 -28
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -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 +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +34 -34
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +15 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- 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 +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +76 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/contracts/distribution/Distribution.sol +27 -51
- package/contracts/distribution/DistributionService.sol +55 -106
- package/contracts/distribution/DistributionServiceManager.sol +9 -18
- package/contracts/distribution/IDistributionComponent.sol +3 -8
- package/contracts/distribution/IDistributionService.sol +2 -8
- package/contracts/instance/IInstance.sol +12 -7
- package/contracts/instance/IInstanceService.sol +13 -5
- package/contracts/instance/Instance.sol +30 -23
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +210 -141
- package/contracts/instance/InstanceReader.sol +64 -42
- package/contracts/instance/InstanceService.sol +141 -87
- package/contracts/instance/InstanceServiceManager.sol +10 -20
- package/contracts/instance/InstanceStore.sol +125 -55
- package/contracts/instance/base/BalanceStore.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/module/IAccess.sol +2 -10
- package/contracts/instance/module/IBundle.sol +1 -4
- package/contracts/instance/module/IComponents.sol +15 -4
- package/contracts/instance/module/IPolicy.sol +8 -2
- package/contracts/mock/Dip.sol +26 -0
- 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 +277 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +63 -149
- package/contracts/pool/BundleServiceManager.sol +9 -18
- package/contracts/pool/IBundleService.sol +4 -16
- package/contracts/pool/IPoolComponent.sol +2 -4
- package/contracts/pool/IPoolService.sol +45 -9
- package/contracts/pool/Pool.sol +37 -40
- package/contracts/pool/PoolService.sol +195 -145
- package/contracts/pool/PoolServiceManager.sol +9 -18
- package/contracts/product/ApplicationService.sol +111 -43
- package/contracts/product/ApplicationServiceManager.sol +9 -6
- package/contracts/product/ClaimService.sol +21 -21
- package/contracts/product/ClaimServiceManager.sol +9 -6
- package/contracts/product/IApplicationService.sol +1 -1
- package/contracts/product/IClaimService.sol +7 -1
- package/contracts/product/IPolicyService.sol +6 -8
- package/contracts/product/IPricingService.sol +3 -1
- package/contracts/product/IProductComponent.sol +5 -4
- package/contracts/product/IProductService.sol +1 -8
- package/contracts/product/PolicyService.sol +226 -127
- package/contracts/product/PolicyServiceManager.sol +9 -21
- package/contracts/product/PricingService.sol +74 -48
- package/contracts/product/PricingServiceManager.sol +9 -18
- package/contracts/product/Product.sol +45 -47
- package/contracts/product/ProductService.sol +26 -112
- package/contracts/product/ProductServiceManager.sol +9 -21
- package/contracts/registry/ChainNft.sol +1 -0
- package/contracts/registry/IRegistry.sol +38 -24
- package/contracts/registry/IRegistryService.sol +31 -31
- package/contracts/registry/Registry.sol +176 -105
- package/contracts/registry/RegistryAdmin.sol +237 -0
- package/contracts/registry/RegistryService.sol +44 -82
- package/contracts/registry/RegistryServiceManager.sol +21 -23
- package/contracts/registry/ReleaseManager.sol +450 -210
- package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/AccessManagerCustom.sol +736 -0
- package/contracts/shared/AccessManagerExtended.sol +470 -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 +153 -49
- package/contracts/shared/ComponentService.sol +561 -93
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +20 -8
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +5 -11
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +6 -6
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +6 -1
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +51 -178
- package/contracts/{instance/base → shared}/KeyValueStore.sol +30 -72
- package/contracts/{instance/base → shared}/Lifecycle.sol +12 -3
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +2 -13
- package/contracts/shared/PolicyHolder.sol +21 -13
- package/contracts/shared/ProxyManager.sol +31 -1
- package/contracts/shared/Registerable.sol +2 -2
- package/contracts/shared/Service.sol +7 -2
- package/contracts/staking/IStaking.sol +146 -8
- package/contracts/staking/IStakingService.sol +83 -39
- package/contracts/staking/StakeManagerLib.sol +179 -0
- package/contracts/staking/Staking.sol +503 -17
- package/contracts/staking/StakingManager.sol +22 -14
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +246 -44
- package/contracts/staking/StakingServiceManager.sol +8 -4
- package/contracts/staking/StakingStore.sol +572 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +20 -1
- package/contracts/type/Blocknumber.sol +20 -3
- package/contracts/type/Fee.sol +17 -16
- package/contracts/type/NftId.sol +14 -16
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +12 -10
- package/contracts/type/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +18 -4
- package/contracts/type/Seconds.sol +27 -0
- package/contracts/type/StateId.sol +27 -2
- package/contracts/type/Timestamp.sol +6 -2
- package/contracts/type/Version.sol +1 -1
- package/package.json +4 -3
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- 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 -581
- 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/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/registry/RegistryAccessManager.sol +0 -207
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {IRegistry} from "../registry/IRegistry.sol";
|
5
5
|
import {IProductComponent} from "./IProductComponent.sol";
|
@@ -12,8 +12,7 @@ import {IPolicy} from "../instance/module/IPolicy.sol";
|
|
12
12
|
import {IRisk} from "../instance/module/IRisk.sol";
|
13
13
|
import {IBundle} from "../instance/module/IBundle.sol";
|
14
14
|
import {IProductService} from "./IProductService.sol";
|
15
|
-
import {
|
16
|
-
import {ISetup} from "../instance/module/ISetup.sol";
|
15
|
+
import {IComponents} from "../instance/module/IComponents.sol";
|
17
16
|
|
18
17
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
18
|
|
@@ -23,9 +22,9 @@ import {Versionable} from "../shared/Versionable.sol";
|
|
23
22
|
import {Timestamp, zeroTimestamp} from "../type/Timestamp.sol";
|
24
23
|
import {UFixed, UFixedLib} from "../type/UFixed.sol";
|
25
24
|
import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
|
26
|
-
import {ObjectType, PRODUCT, POOL, POLICY} from "../type/ObjectType.sol";
|
25
|
+
import {ObjectType, INSTANCE, PRODUCT, POOL, POLICY, REGISTRY} from "../type/ObjectType.sol";
|
27
26
|
import {APPLIED, ACTIVE, KEEP_STATE} from "../type/StateId.sol";
|
28
|
-
import {NftId, NftIdLib
|
27
|
+
import {NftId, NftIdLib} from "../type/NftId.sol";
|
29
28
|
import {Fee, FeeLib} from "../type/Fee.sol";
|
30
29
|
import {ReferralId} from "../type/Referral.sol";
|
31
30
|
import {RiskId} from "../type/RiskId.sol";
|
@@ -35,16 +34,20 @@ import {RoleId, PRODUCT_OWNER_ROLE} from "../type/RoleId.sol";
|
|
35
34
|
|
36
35
|
import {IService} from "../shared/IService.sol";
|
37
36
|
import {Service} from "../shared/Service.sol";
|
38
|
-
import {
|
37
|
+
import {ComponentVerifyingService} from "../shared/ComponentVerifyingService.sol";
|
38
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
39
39
|
import {IProductService} from "./IProductService.sol";
|
40
|
+
import {IRegistryService} from "../registry/IRegistryService.sol";
|
40
41
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
41
42
|
import {IPoolService} from "../pool/PoolService.sol";
|
42
43
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
contract ProductService is
|
45
|
+
ComponentVerifyingService,
|
46
|
+
IProductService
|
47
|
+
{
|
48
|
+
IInstanceService private _instanceService;
|
47
49
|
IPoolService internal _poolService;
|
50
|
+
IRegistryService private _registryService;
|
48
51
|
|
49
52
|
event LogProductServiceSender(address sender);
|
50
53
|
|
@@ -56,118 +59,27 @@ contract ProductService is ComponentService, IProductService {
|
|
56
59
|
initializer
|
57
60
|
virtual override
|
58
61
|
{
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
+
(
|
63
|
+
address registryAddress,,
|
64
|
+
//address managerAddress
|
65
|
+
address authority
|
66
|
+
) = abi.decode(data, (address, address, address));
|
62
67
|
|
63
|
-
initializeService(registryAddress,
|
68
|
+
initializeService(registryAddress, authority, owner);
|
64
69
|
|
70
|
+
_instanceService = IInstanceService(_getServiceAddress(INSTANCE()));
|
65
71
|
_poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
|
72
|
+
_registryService = IRegistryService(_getServiceAddress(REGISTRY()));
|
66
73
|
|
67
74
|
registerInterface(type(IProductService).interfaceId);
|
68
75
|
}
|
69
76
|
|
70
77
|
|
71
|
-
function register(address productAddress)
|
72
|
-
external
|
73
|
-
returns(NftId productNftId)
|
74
|
-
{
|
75
|
-
(
|
76
|
-
IInstanceLinkedComponent component,
|
77
|
-
address owner,
|
78
|
-
IInstance instance,
|
79
|
-
NftId instanceNftId
|
80
|
-
) = _checkComponentForRegistration(
|
81
|
-
productAddress,
|
82
|
-
PRODUCT(),
|
83
|
-
PRODUCT_OWNER_ROLE());
|
84
|
-
|
85
|
-
IProductComponent product = IProductComponent(productAddress);
|
86
|
-
IRegistry.ObjectInfo memory productInfo = getRegistryService().registerProduct(product, owner);
|
87
|
-
productNftId = productInfo.nftId;
|
88
|
-
_createProductSetup(
|
89
|
-
instance,
|
90
|
-
product,
|
91
|
-
productNftId);
|
92
|
-
}
|
93
|
-
|
94
|
-
|
95
|
-
function _createProductSetup(
|
96
|
-
IInstance instance,
|
97
|
-
IProductComponent product,
|
98
|
-
NftId productNftId
|
99
|
-
)
|
100
|
-
internal
|
101
|
-
returns (string memory name)
|
102
|
-
{
|
103
|
-
// wire distribution and pool components to product component
|
104
|
-
ISetup.ProductSetupInfo memory setup = product.getSetupInfo();
|
105
|
-
IInstanceLinkedComponent distribution = IInstanceLinkedComponent(getRegistry().getObjectInfo(setup.distributionNftId).objectAddress);
|
106
|
-
IInstanceLinkedComponent pool = IInstanceLinkedComponent(getRegistry().getObjectInfo(setup.poolNftId).objectAddress);
|
107
|
-
|
108
|
-
distribution.setProductNftId(productNftId);
|
109
|
-
pool.setProductNftId(productNftId);
|
110
|
-
product.setProductNftId(productNftId);
|
111
|
-
product.linkToRegisteredNftId();
|
112
|
-
|
113
|
-
// create product setup in instance
|
114
|
-
instance.getInstanceStore().createProductSetup(productNftId, product.getSetupInfo());
|
115
|
-
|
116
|
-
bytes4[][] memory selectors = new bytes4[][](1);
|
117
|
-
selectors[0] = new bytes4[](1);
|
118
|
-
selectors[0][0] = IProductComponent.setFees.selector;
|
119
|
-
|
120
|
-
RoleId[] memory roles = new RoleId[](1);
|
121
|
-
roles[0] = PRODUCT_OWNER_ROLE();
|
122
|
-
|
123
|
-
// create target for instane access manager
|
124
|
-
getInstanceService().createGifTarget(
|
125
|
-
getRegistry().getNftId(address(instance)),
|
126
|
-
address(product),
|
127
|
-
product.getName(),
|
128
|
-
selectors,
|
129
|
-
roles);
|
130
|
-
}
|
131
|
-
|
132
78
|
function getDomain() public pure override returns(ObjectType) {
|
133
79
|
return PRODUCT();
|
134
80
|
}
|
135
81
|
|
136
82
|
|
137
|
-
function _decodeAndVerifyProductData(bytes memory data)
|
138
|
-
internal
|
139
|
-
returns(string memory name, ISetup.ProductSetupInfo memory setup)
|
140
|
-
{
|
141
|
-
(name, setup) = abi.decode(
|
142
|
-
data,
|
143
|
-
(string, ISetup.ProductSetupInfo)
|
144
|
-
);
|
145
|
-
|
146
|
-
// TODO add checks
|
147
|
-
// if(wallet == address(0)) {
|
148
|
-
// revert WalletIsZero();
|
149
|
-
// }
|
150
|
-
}
|
151
|
-
|
152
|
-
function setFees(
|
153
|
-
Fee memory productFee,
|
154
|
-
Fee memory processingFee
|
155
|
-
)
|
156
|
-
external
|
157
|
-
{
|
158
|
-
// TODO check args
|
159
|
-
|
160
|
-
(NftId productNftId,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(PRODUCT());
|
161
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
162
|
-
|
163
|
-
ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
|
164
|
-
|
165
|
-
productSetupInfo.productFee = productFee;
|
166
|
-
productSetupInfo.processingFee = processingFee;
|
167
|
-
|
168
|
-
instance.getInstanceStore().updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
|
169
|
-
}
|
170
|
-
|
171
83
|
function createRisk(
|
172
84
|
RiskId riskId,
|
173
85
|
bytes memory data
|
@@ -175,7 +87,7 @@ contract ProductService is ComponentService, IProductService {
|
|
175
87
|
external
|
176
88
|
override
|
177
89
|
{
|
178
|
-
(NftId productNftId,, IInstance instance) =
|
90
|
+
(NftId productNftId,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
179
91
|
IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
|
180
92
|
|
181
93
|
instance.getInstanceStore().createRisk(
|
@@ -184,13 +96,14 @@ contract ProductService is ComponentService, IProductService {
|
|
184
96
|
);
|
185
97
|
}
|
186
98
|
|
99
|
+
|
187
100
|
function updateRisk(
|
188
101
|
RiskId riskId,
|
189
102
|
bytes memory data
|
190
103
|
)
|
191
104
|
external
|
192
105
|
{
|
193
|
-
(,, IInstance instance) =
|
106
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
194
107
|
InstanceReader instanceReader = instance.getInstanceReader();
|
195
108
|
|
196
109
|
IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
|
@@ -198,13 +111,14 @@ contract ProductService is ComponentService, IProductService {
|
|
198
111
|
instance.getInstanceStore().updateRisk(riskId, riskInfo, KEEP_STATE());
|
199
112
|
}
|
200
113
|
|
114
|
+
|
201
115
|
function updateRiskState(
|
202
116
|
RiskId riskId,
|
203
117
|
StateId state
|
204
118
|
)
|
205
119
|
external
|
206
120
|
{
|
207
|
-
(,, IInstance instance) =
|
121
|
+
(,, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
|
208
122
|
instance.getInstanceStore().updateRiskState(riskId, state);
|
209
123
|
}
|
210
124
|
}
|
@@ -14,32 +14,20 @@ contract ProductServiceManager is ProxyManager {
|
|
14
14
|
|
15
15
|
/// @dev initializes proxy manager with product service implementation
|
16
16
|
constructor(
|
17
|
-
address
|
18
|
-
|
17
|
+
address authority,
|
18
|
+
address registryAddress,
|
19
|
+
bytes32 salt
|
20
|
+
)
|
19
21
|
ProxyManager(registryAddress)
|
20
22
|
{
|
21
|
-
ProductService svc = new ProductService();
|
22
|
-
bytes memory data = abi.encode(registryAddress, address(this));
|
23
|
-
IVersionable versionable =
|
23
|
+
ProductService svc = new ProductService{salt: salt}();
|
24
|
+
bytes memory data = abi.encode(registryAddress, address(this), authority);
|
25
|
+
IVersionable versionable = deployDetermenistic(
|
24
26
|
address(svc),
|
25
|
-
data
|
27
|
+
data,
|
28
|
+
salt);
|
26
29
|
|
27
30
|
_productService = ProductService(address(versionable));
|
28
|
-
|
29
|
-
// Registry registry = Registry(registryAddress);
|
30
|
-
// address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
|
31
|
-
// RegistryService registryService = RegistryService(registryServiceAddress);
|
32
|
-
// TODO this must have a role or own nft to register service
|
33
|
-
//registryService.registerService(_productService);
|
34
|
-
|
35
|
-
// TODO no nft to link yet
|
36
|
-
// link ownership of instance service manager ot nft owner of instance service
|
37
|
-
//_linkToNftOwnable(
|
38
|
-
// address(registryAddress),
|
39
|
-
// address(_productService));
|
40
|
-
|
41
|
-
// implies that after this constructor call only upgrade functionality is available
|
42
|
-
// _isDeployed = true;
|
43
31
|
}
|
44
32
|
|
45
33
|
//--- view functions ----------------------------------------------------//
|
@@ -15,6 +15,7 @@ contract ChainNft is ERC721Enumerable {
|
|
15
15
|
uint256 public constant PROTOCOL_NFT_ID = 1101;
|
16
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
20
|
error CallerNotRegistry(address caller);
|
20
21
|
error RegistryAddressZero();
|
@@ -7,6 +7,7 @@ import {NftId} from "../type/NftId.sol";
|
|
7
7
|
import {ObjectType} from "../type/ObjectType.sol";
|
8
8
|
import {VersionPart} from "../type/Version.sol";
|
9
9
|
import {Timestamp} from "../type/Timestamp.sol";
|
10
|
+
import {RoleId} from "../type/RoleId.sol";
|
10
11
|
|
11
12
|
interface IRegistry is IERC165 {
|
12
13
|
|
@@ -14,23 +15,20 @@ interface IRegistry is IERC165 {
|
|
14
15
|
event LogServiceRegistration(VersionPart majorVersion, ObjectType domain);
|
15
16
|
|
16
17
|
// registerService()
|
17
|
-
error
|
18
|
-
error
|
18
|
+
error ErrorRegistryCallerNotReleaseManager();
|
19
|
+
error ErrorRegistryDomainZero(address service);
|
20
|
+
error ErrorRegistryDomainAlreadyRegistered(address service, VersionPart version, ObjectType domain);
|
19
21
|
|
20
22
|
// register()
|
21
|
-
error
|
22
|
-
error ServiceRegistration();
|
23
|
+
error ErrorRegistryCallerNotRegistryService();
|
23
24
|
|
24
25
|
// registerWithCustomTypes()
|
25
|
-
error
|
26
|
+
error ErrorRegistryCoreTypeRegistration();
|
26
27
|
|
27
28
|
// _register()
|
28
|
-
error
|
29
|
-
error
|
30
|
-
error
|
31
|
-
|
32
|
-
// _registerStaking()
|
33
|
-
error StakingAlreadyRegistered(address stakingAddress);
|
29
|
+
error ErrorRegistryParentAddressZero();
|
30
|
+
error ErrorRegistryTypesCombinationInvalid(ObjectType objectType, ObjectType parentType);
|
31
|
+
error ErrorRegistryContractAlreadyRegistered(address objectAddress);
|
34
32
|
|
35
33
|
struct ObjectInfo {
|
36
34
|
NftId nftId;
|
@@ -42,17 +40,22 @@ interface IRegistry is IERC165 {
|
|
42
40
|
bytes data;
|
43
41
|
}
|
44
42
|
|
43
|
+
|
45
44
|
struct ReleaseInfo {
|
45
|
+
VersionPart version;
|
46
|
+
bytes32 salt;
|
47
|
+
address[] addresses;
|
48
|
+
string[] names;
|
49
|
+
RoleId[][] serviceRoles;
|
50
|
+
string[][] serviceRoleNames;
|
51
|
+
RoleId[][] functionRoles;
|
52
|
+
string[][] functionRoleNames;
|
53
|
+
bytes4[][][] selectors;
|
46
54
|
ObjectType[] domains;
|
47
|
-
Timestamp
|
48
|
-
|
55
|
+
Timestamp activatedAt;
|
56
|
+
Timestamp disabledAt;
|
49
57
|
}
|
50
58
|
|
51
|
-
function registerStaking(
|
52
|
-
address stakingAddress,
|
53
|
-
address stakingOwner
|
54
|
-
) external returns(NftId nftId);
|
55
|
-
|
56
59
|
function registerService(
|
57
60
|
ObjectInfo memory serviceInfo,
|
58
61
|
VersionPart serviceVersion,
|
@@ -73,8 +76,6 @@ interface IRegistry is IERC165 {
|
|
73
76
|
|
74
77
|
function getObjectCount() external view returns (uint256);
|
75
78
|
|
76
|
-
function getNftId() external view returns (NftId nftId);
|
77
|
-
|
78
79
|
function getNftId(address objectAddress) external view returns (NftId nftId);
|
79
80
|
|
80
81
|
function ownerOf(NftId nftId) external view returns (address);
|
@@ -93,18 +94,31 @@ interface IRegistry is IERC165 {
|
|
93
94
|
|
94
95
|
function isRegisteredComponent(address object) external view returns (bool);
|
95
96
|
|
96
|
-
function
|
97
|
+
function isActiveRelease(VersionPart version) external view returns (bool);
|
97
98
|
|
98
99
|
function getServiceAddress(
|
99
100
|
ObjectType serviceDomain,
|
100
101
|
VersionPart releaseVersion
|
101
102
|
) external view returns (address serviceAddress);
|
102
103
|
|
103
|
-
function
|
104
|
+
function getProtocolNftId() external view returns (NftId protocolNftId);
|
104
105
|
|
105
|
-
function
|
106
|
+
function getNftId() external view returns (NftId nftId);
|
106
107
|
|
108
|
+
function getOwner() external view returns (address);
|
109
|
+
|
110
|
+
// TODO refactor the address getters below to contract getters
|
107
111
|
function getChainNftAddress() external view returns (address);
|
108
112
|
|
109
|
-
function
|
113
|
+
function getReleaseManagerAddress() external view returns (address);
|
114
|
+
|
115
|
+
function getReleaseAccessManagerAddress(VersionPart version) external view returns (address);
|
116
|
+
|
117
|
+
function getStakingAddress() external view returns (address);
|
118
|
+
|
119
|
+
function getTokenRegistryAddress() external view returns (address);
|
120
|
+
|
121
|
+
function getRegistryAdminAddress() external view returns (address);
|
122
|
+
|
123
|
+
function getAuthority() external view returns (address);
|
110
124
|
}
|
@@ -11,45 +11,45 @@ import {IRegistry} from "./IRegistry.sol";
|
|
11
11
|
|
12
12
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
13
13
|
import {IComponent} from "../shared/IComponent.sol";
|
14
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
15
|
+
|
14
16
|
|
15
17
|
interface IRegistryService is
|
16
18
|
IService
|
17
19
|
{
|
18
|
-
error
|
19
|
-
|
20
|
-
|
21
|
-
error
|
22
|
-
error
|
23
|
-
error
|
24
|
-
error
|
25
|
-
error
|
26
|
-
|
27
|
-
error
|
28
|
-
error
|
29
|
-
error
|
30
|
-
error
|
31
|
-
error
|
32
|
-
error
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
returns(
|
44
|
-
FunctionConfig[] memory config
|
45
|
-
);
|
46
|
-
|
47
|
-
function registerStaking(IRegisterable staking, address owner)
|
48
|
-
external returns(IRegistry.ObjectInfo memory info);
|
20
|
+
error ErrorRegistryServiceNotRegistryOwner();
|
21
|
+
|
22
|
+
error ErrorRegistryServiceNotService(address notService);
|
23
|
+
error ErrorRegistryServiceNotInstance(address notInstance);
|
24
|
+
error ErrorRegistryServiceNotComponent(address notComponent);
|
25
|
+
error ErrorRegistryServiceNotProduct(address notProduct);
|
26
|
+
error ErrorRegistryServiceNotPool(address notPool);
|
27
|
+
error ErrorRegistryServiceNotDistribution(address notDistribution);
|
28
|
+
|
29
|
+
error ErrorRegistryServiceRegisterableAddressInvalid(IRegisterable registerable, address found);
|
30
|
+
error ErrorRegistryServiceRegisterableTypeInvalid(IRegisterable registerable, ObjectType expected, ObjectType found);
|
31
|
+
error ErrorRegistryServiceRegisterableOwnerInvalid(IRegisterable registerable, address expected, address found);
|
32
|
+
error ErrorRegistryServiceRegisterableOwnerZero(IRegisterable registerable);
|
33
|
+
error ErrorRegistryServiceRegisterableOwnerRegistered(IRegisterable registerable, address owner);
|
34
|
+
error ErrorRegistryServiceRegisterableSelfRegistration(IRegisterable registerable);
|
35
|
+
|
36
|
+
error ErrorRegistryServiceObjectAddressNotZero(ObjectType objectType);
|
37
|
+
error ErrorRegistryServiceObjectTypeInvalid(ObjectType expected, ObjectType found);
|
38
|
+
error ErrorRegistryServiceObjectOwnerRegistered(ObjectType objectType, address owner);
|
39
|
+
error ErrorRegistryServiceObjectOwnerZero(ObjectType objectType);
|
40
|
+
|
41
|
+
error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
|
42
|
+
error ErrorRegistryServiceInvalidAddress(address registerableAddress);
|
43
|
+
|
44
|
+
function registerStake(IRegistry.ObjectInfo memory info)
|
45
|
+
external returns(NftId nftId);
|
49
46
|
|
50
47
|
function registerInstance(IRegisterable instance, address owner)
|
51
48
|
external returns(IRegistry.ObjectInfo memory info);
|
52
49
|
|
50
|
+
function registerComponent(IComponent component, ObjectType objectType, address owner)
|
51
|
+
external returns(IRegistry.ObjectInfo memory info);
|
52
|
+
|
53
53
|
function registerProduct(IComponent product, address owner)
|
54
54
|
external returns(IRegistry.ObjectInfo memory info);
|
55
55
|
|