@etherisc/gif-next 0.0.2-836e6e4-400 → 0.0.2-83889c4-030
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 +10 -14
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1349 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +814 -0
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +286 -1351
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +308 -199
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +463 -2526
- 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 +630 -351
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +510 -336
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +378 -88
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3642 -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 +6 -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 +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -144
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/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 +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +286 -265
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +203 -240
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +326 -283
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +263 -226
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +125 -122
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -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 +679 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +279 -17
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +355 -221
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +512 -36
- 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 +507 -287
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +340 -82
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +845 -99
- 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 +360 -96
- 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 +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
- 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/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +200 -195
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- 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/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +277 -115
- 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 +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/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -31
- 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 +34 -30
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +75 -163
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- 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 +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 +115 -29
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +179 -153
- 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/shared/Versionable.sol/Versionable.json +2 -152
- 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 +993 -0
- 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 +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -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 +1324 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
- 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 +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 +105 -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/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
- 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/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
- 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/distribution/Distribution.sol +261 -0
- package/contracts/distribution/DistributionService.sol +298 -0
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/distribution/IDistributionComponent.sol +66 -0
- package/contracts/distribution/IDistributionService.sol +81 -0
- package/contracts/instance/BundleManager.sol +22 -25
- package/contracts/instance/IInstance.sol +65 -45
- package/contracts/instance/IInstanceService.sol +60 -17
- package/contracts/instance/Instance.sol +155 -195
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
- package/contracts/instance/InstanceReader.sol +160 -85
- package/contracts/instance/InstanceService.sol +272 -210
- package/contracts/instance/InstanceServiceManager.sol +12 -22
- package/contracts/instance/InstanceStore.sol +281 -0
- package/contracts/instance/base/BalanceStore.sol +118 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
- package/contracts/instance/module/IAccess.sol +20 -22
- package/contracts/instance/module/IBundle.sol +8 -8
- package/contracts/instance/module/IComponents.sol +52 -0
- package/contracts/instance/module/IDistribution.sol +7 -4
- package/contracts/instance/module/IPolicy.sol +56 -17
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +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 +277 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/pool/IBundleService.sol +106 -0
- package/contracts/pool/IPoolComponent.sol +112 -0
- package/contracts/pool/IPoolService.sol +150 -0
- package/contracts/pool/Pool.sol +299 -0
- package/contracts/pool/PoolService.sol +453 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/ClaimService.sol +442 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +62 -0
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/product/IPolicyService.sol +78 -0
- 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 +301 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/product/Product.sol +377 -0
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +16 -1
- package/contracts/registry/IRegistry.sol +56 -23
- package/contracts/registry/IRegistryService.sol +45 -34
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +300 -120
- package/contracts/registry/RegistryAdmin.sol +237 -0
- package/contracts/registry/RegistryService.sol +118 -175
- package/contracts/registry/RegistryServiceManager.sol +22 -26
- package/contracts/registry/ReleaseManager.sol +461 -209
- package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
- package/contracts/registry/TokenRegistry.sol +263 -58
- 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 +281 -0
- package/contracts/shared/ComponentService.sol +618 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +15 -13
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +70 -0
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +13 -12
- package/contracts/shared/IPolicyHolder.sol +45 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +7 -5
- package/contracts/shared/IVersionable.sol +5 -48
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +144 -0
- package/contracts/shared/KeyValueStore.sol +127 -0
- package/contracts/{instance/base → shared}/Lifecycle.sol +37 -7
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +59 -86
- package/contracts/shared/PolicyHolder.sol +102 -0
- package/contracts/shared/ProxyManager.sol +131 -26
- package/contracts/shared/Registerable.sol +26 -41
- package/contracts/shared/RegistryLinked.sol +43 -0
- package/contracts/shared/Service.sol +42 -23
- package/contracts/shared/TokenHandler.sol +37 -6
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +149 -0
- package/contracts/staking/StakeManagerLib.sol +179 -0
- package/contracts/staking/Staking.sol +551 -0
- package/contracts/staking/StakingManager.sol +54 -0
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +406 -0
- package/contracts/staking/StakingServiceManager.sol +45 -0
- package/contracts/staking/StakingStore.sol +572 -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 +21 -3
- package/contracts/type/ClaimId.sol +75 -0
- package/contracts/{types → type}/DistributorType.sol +2 -2
- package/contracts/{types → type}/Fee.sol +33 -23
- package/contracts/{types → type}/NftId.sol +21 -15
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/{types → type}/ObjectType.sol +32 -16
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +5 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +146 -0
- package/contracts/type/Seconds.sol +81 -0
- package/contracts/{types → type}/StateId.sol +34 -4
- package/contracts/{types → type}/Timestamp.sol +23 -14
- package/contracts/{types → type}/UFixed.sol +1 -0
- package/contracts/{types → type}/Version.sol +2 -1
- package/package.json +6 -5
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -772
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.json +0 -967
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -883
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/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/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1057
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -432
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -671
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
- package/artifacts/contracts/instance/service/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 -971
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -705
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -755
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
- 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/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/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/BaseComponent.sol +0 -148
- package/contracts/components/Distribution.sol +0 -163
- package/contracts/components/IBaseComponent.sol +0 -32
- package/contracts/components/IDistributionComponent.sol +0 -44
- package/contracts/components/IPoolComponent.sol +0 -66
- package/contracts/components/IProductComponent.sol +0 -35
- package/contracts/components/Pool.sol +0 -271
- package/contracts/components/Product.sol +0 -292
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
- package/contracts/instance/IInstanceBase.sol +0 -26
- package/contracts/instance/InstanceAccessManager.sol +0 -304
- package/contracts/instance/InstanceBase.sol +0 -41
- package/contracts/instance/base/ComponentServiceBase.sol +0 -72
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/module/ISetup.sol +0 -46
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/BundleService.sol +0 -260
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ComponentOwnerService.sol +0 -315
- package/contracts/instance/service/DistributionService.sol +0 -114
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -45
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPolicyService.sol +0 -87
- package/contracts/instance/service/IPoolService.sol +0 -20
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -503
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -122
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -168
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -210
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
- 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/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/RoleId.sol +0 -90
- /package/contracts/{types → type}/Key32.sol +0 -0
@@ -0,0 +1,237 @@
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
|
+
import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
|
6
|
+
import {AuthorityUtils} from "@openzeppelin/contracts/access/manager/AuthorityUtils.sol";
|
7
|
+
|
8
|
+
import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
|
9
|
+
|
10
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
11
|
+
import {InitializableCustom} from "../shared/InitializableCustom.sol";
|
12
|
+
|
13
|
+
import {IRegistry} from "./IRegistry.sol";
|
14
|
+
import {ReleaseManager} from "./ReleaseManager.sol";
|
15
|
+
import {TokenRegistry} from "./TokenRegistry.sol";
|
16
|
+
|
17
|
+
/*
|
18
|
+
1) GIF_MANAGER_ROLE
|
19
|
+
- can have arbitrary number of members
|
20
|
+
- responsible for services registrations
|
21
|
+
- responsible for token registration and activation
|
22
|
+
|
23
|
+
2) GIF_ADMIN_ROLE
|
24
|
+
- admin of GIF_MANAGER_ROLE
|
25
|
+
- MUST have 1 member at any time
|
26
|
+
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
27
|
+
- responsible for creation and activation of releases
|
28
|
+
*/
|
29
|
+
|
30
|
+
// !!! USE BUILDER PATTERN FOR CONFIG
|
31
|
+
// introduce class - config
|
32
|
+
// create instance of this class in admin initializer function
|
33
|
+
// call it "add"/"push" function for each entry in config (provide entry parameneters)
|
34
|
+
// each call will configure access manager for given parameneters
|
35
|
+
// in the end you have fully configured access manager and config object
|
36
|
+
|
37
|
+
// grants GIF_ADMIN_ROLE to registry owner as registryOwner is transaction sender
|
38
|
+
// grants GIF_MANAGER_ROLE to registry owner via contructor argument
|
39
|
+
contract RegistryAdmin is
|
40
|
+
AccessManaged,
|
41
|
+
InitializableCustom
|
42
|
+
{
|
43
|
+
error ErrorRegistryAdminReleaseManagerAuthorityMismatch();
|
44
|
+
error ErrorRegistryAdminTokenRegistryAuthorityMismatch();
|
45
|
+
error ErrorRegistryAdminStakingAuthorityMismatch();
|
46
|
+
|
47
|
+
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
48
|
+
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
49
|
+
|
50
|
+
string public constant RELEASE_MANAGER_TARGET_NAME = "ReleaseManager";
|
51
|
+
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
52
|
+
string public constant STAKING_TARGET_NAME = "Staking";
|
53
|
+
|
54
|
+
address private _releaseManager;
|
55
|
+
address private _tokenRegistry;
|
56
|
+
address private _staking;
|
57
|
+
|
58
|
+
constructor()
|
59
|
+
AccessManaged(msg.sender)
|
60
|
+
InitializableCustom()
|
61
|
+
{
|
62
|
+
AccessManagerExtendedInitializeable accessManager = new AccessManagerExtendedInitializeable();
|
63
|
+
accessManager.initialize(address(this));
|
64
|
+
setAuthority(address(accessManager));
|
65
|
+
}
|
66
|
+
|
67
|
+
function initialize(
|
68
|
+
IRegistry registry,
|
69
|
+
address gifAdmin,
|
70
|
+
address gifManager
|
71
|
+
)
|
72
|
+
external
|
73
|
+
initializer
|
74
|
+
{
|
75
|
+
// validate input
|
76
|
+
address releaseManagerAddress = registry.getReleaseManagerAddress();
|
77
|
+
if(IAccessManaged(releaseManagerAddress).authority() != authority()) {
|
78
|
+
revert ErrorRegistryAdminReleaseManagerAuthorityMismatch();
|
79
|
+
}
|
80
|
+
|
81
|
+
address tokenRegistryAddress = registry.getTokenRegistryAddress();
|
82
|
+
if(IAccessManaged(tokenRegistryAddress).authority() != authority()) {
|
83
|
+
revert ErrorRegistryAdminTokenRegistryAuthorityMismatch();
|
84
|
+
}
|
85
|
+
|
86
|
+
address stakingAddress = registry.getStakingAddress();
|
87
|
+
if(IAccessManaged(stakingAddress).authority() != authority()) {
|
88
|
+
revert ErrorRegistryAdminStakingAuthorityMismatch();
|
89
|
+
}
|
90
|
+
|
91
|
+
_releaseManager = releaseManagerAddress;
|
92
|
+
_tokenRegistry = tokenRegistryAddress;
|
93
|
+
_staking = stakingAddress;
|
94
|
+
|
95
|
+
// at this moment all registry contracts are deployed and fully intialized
|
96
|
+
_createRole(GIF_ADMIN_ROLE(), GIF_ADMIN_ROLE_NAME);
|
97
|
+
_createRole(GIF_MANAGER_ROLE(), GIF_MANAGER_ROLE_NAME);
|
98
|
+
|
99
|
+
_createTarget(_releaseManager, RELEASE_MANAGER_TARGET_NAME);
|
100
|
+
_createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME);
|
101
|
+
_createTarget(_staking, STAKING_TARGET_NAME);
|
102
|
+
|
103
|
+
_setGifAdminRole();
|
104
|
+
_setGifManagerRole();
|
105
|
+
|
106
|
+
_grantRole(GIF_ADMIN_ROLE(), gifAdmin, 0);
|
107
|
+
_grantRole(GIF_MANAGER_ROLE(), gifManager, 0);
|
108
|
+
|
109
|
+
// set gif manager role admin
|
110
|
+
_setRoleAdmin(GIF_MANAGER_ROLE(), GIF_ADMIN_ROLE());
|
111
|
+
}
|
112
|
+
|
113
|
+
// TODO makes sense to do this in intialize() function
|
114
|
+
// it is a single contract
|
115
|
+
// but if many token registries a possible...
|
116
|
+
/*function setTokenRegistry(
|
117
|
+
address tokenRegistry
|
118
|
+
)
|
119
|
+
external
|
120
|
+
restricted() // GIF_ADMIN_ROLE
|
121
|
+
{
|
122
|
+
// for TokenRegistry
|
123
|
+
bytes4[] memory functionSelector = new bytes4[](5);
|
124
|
+
functionSelector[0] = TokenRegistry.registerToken.selector;
|
125
|
+
functionSelector[1] = TokenRegistry.registerRemoteToken.selector;
|
126
|
+
functionSelector[2] = TokenRegistry.setActive.selector;
|
127
|
+
functionSelector[3] = TokenRegistry.setActiveForVersion.selector;
|
128
|
+
|
129
|
+
// only needed for testing TODO find a better way
|
130
|
+
functionSelector[4] = TokenRegistry.setActiveWithVersionCheck.selector;
|
131
|
+
_setTargetFunctionRole(address(tokenRegistry), functionSelector, GIF_MANAGER_ROLE());
|
132
|
+
}*/
|
133
|
+
|
134
|
+
|
135
|
+
function setTargetFunctionRole(
|
136
|
+
address target,
|
137
|
+
bytes4[] memory selector,
|
138
|
+
RoleId roleId
|
139
|
+
)
|
140
|
+
external
|
141
|
+
restricted // RELEASE_MANAGER_ROLE -> TODO create this role
|
142
|
+
{
|
143
|
+
_setTargetFunctionRole(target, selector, roleId);
|
144
|
+
}
|
145
|
+
|
146
|
+
/*function transferAdmin(address to)
|
147
|
+
external
|
148
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
149
|
+
{
|
150
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
151
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
152
|
+
}*/
|
153
|
+
|
154
|
+
//--- view functions ----------------------------------------------------//
|
155
|
+
|
156
|
+
function hasRole(address account, RoleId roleId) external view returns(bool) {
|
157
|
+
(bool isMember,) = AccessManagerExtendedInitializeable(authority()).hasRole(roleId.toInt(), account);
|
158
|
+
return isMember;
|
159
|
+
}
|
160
|
+
|
161
|
+
|
162
|
+
function canCall(
|
163
|
+
address account,
|
164
|
+
address target,
|
165
|
+
bytes4 functionSelector
|
166
|
+
)
|
167
|
+
external
|
168
|
+
view
|
169
|
+
returns(bool)
|
170
|
+
{
|
171
|
+
(bool immediate,) = AuthorityUtils.canCallWithDelay(
|
172
|
+
authority(),
|
173
|
+
account,
|
174
|
+
target,
|
175
|
+
functionSelector);
|
176
|
+
|
177
|
+
return immediate;
|
178
|
+
}
|
179
|
+
|
180
|
+
//--- private functions -------------------------------------------------//
|
181
|
+
|
182
|
+
function _setGifAdminRole() private
|
183
|
+
{
|
184
|
+
// for ReleaseManager
|
185
|
+
bytes4[] memory functionSelector2 = new bytes4[](2);
|
186
|
+
//functionSelector2[0] = ReleaseManager.registerStaking.selector;
|
187
|
+
functionSelector2[0] = ReleaseManager.createNextRelease.selector;
|
188
|
+
functionSelector2[1] = ReleaseManager.activateNextRelease.selector;
|
189
|
+
|
190
|
+
_setTargetFunctionRole(_releaseManager, functionSelector2, GIF_ADMIN_ROLE());
|
191
|
+
|
192
|
+
// for Staking
|
193
|
+
}
|
194
|
+
|
195
|
+
function _setGifManagerRole() private
|
196
|
+
{
|
197
|
+
// for TokenRegistry
|
198
|
+
bytes4[] memory functionSelectorTr = new bytes4[](5);
|
199
|
+
functionSelectorTr[0] = TokenRegistry.registerToken.selector;
|
200
|
+
functionSelectorTr[1] = TokenRegistry.registerRemoteToken.selector;
|
201
|
+
functionSelectorTr[2] = TokenRegistry.setActive.selector;
|
202
|
+
functionSelectorTr[3] = TokenRegistry.setActiveForVersion.selector;
|
203
|
+
|
204
|
+
// only needed for testing TODO find a better way
|
205
|
+
functionSelectorTr[4] = TokenRegistry.setActiveWithVersionCheck.selector;
|
206
|
+
_setTargetFunctionRole(_tokenRegistry, functionSelectorTr, GIF_MANAGER_ROLE());
|
207
|
+
|
208
|
+
// for ReleaseManager
|
209
|
+
bytes4[] memory functionSelectorRm = new bytes4[](2);
|
210
|
+
functionSelectorRm[0] = ReleaseManager.registerService.selector;
|
211
|
+
functionSelectorRm[1] = ReleaseManager.prepareNextRelease.selector;
|
212
|
+
_setTargetFunctionRole(_releaseManager, functionSelectorRm, GIF_MANAGER_ROLE());
|
213
|
+
|
214
|
+
// for Staking
|
215
|
+
}
|
216
|
+
|
217
|
+
|
218
|
+
function _setTargetFunctionRole(address target, bytes4[] memory selectors, RoleId roleId) private {
|
219
|
+
AccessManagerExtendedInitializeable(authority()).setTargetFunctionRole(target, selectors, roleId.toInt());
|
220
|
+
}
|
221
|
+
|
222
|
+
function _setRoleAdmin(RoleId roleId, RoleId adminRoleId) private {
|
223
|
+
AccessManagerExtendedInitializeable(authority()).setRoleAdmin(roleId.toInt(), adminRoleId.toInt());
|
224
|
+
}
|
225
|
+
|
226
|
+
function _grantRole(RoleId roleId, address account, uint32 executionDelay) private {
|
227
|
+
AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, executionDelay);
|
228
|
+
}
|
229
|
+
|
230
|
+
function _createRole(RoleId roleId, string memory roleName) private {
|
231
|
+
AccessManagerExtendedInitializeable(authority()).createRole(roleId.toInt(), roleName);
|
232
|
+
}
|
233
|
+
|
234
|
+
function _createTarget(address target, string memory targetName) private {
|
235
|
+
AccessManagerExtendedInitializeable(authority()).createTarget(target, targetName);
|
236
|
+
}
|
237
|
+
}
|
@@ -2,28 +2,26 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
|
5
|
-
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
|
+
// import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
6
6
|
|
7
7
|
import {IRegistry} from "./IRegistry.sol";
|
8
8
|
import {IInstance} from "../instance/IInstance.sol";
|
9
9
|
|
10
|
-
import {
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {IDistributionComponent} from "../../contracts/components/IDistributionComponent.sol";
|
10
|
+
import {IComponent} from "../../contracts/shared/IComponent.sol";
|
11
|
+
import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
|
12
|
+
import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
|
13
|
+
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
15
14
|
|
16
15
|
import {IVersionable} from "../../contracts/shared/IVersionable.sol";
|
17
16
|
import {Versionable} from "../../contracts/shared/Versionable.sol";
|
18
17
|
import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
|
19
|
-
import {Registerable} from "../../contracts/shared/Registerable.sol";
|
20
18
|
|
21
|
-
import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/
|
22
|
-
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, DISTRIBUTION, POLICY, BUNDLE, STAKE} from "../../contracts/
|
23
|
-
import {StateId, ACTIVE, PAUSED} from "../../contracts/
|
24
|
-
import {NftId, NftIdLib
|
25
|
-
import {Fee, FeeLib} from "../../contracts/
|
26
|
-
import {Version, VersionPart, VersionLib} from "../../contracts/
|
19
|
+
import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/type/RoleId.sol";
|
20
|
+
import {ObjectType, REGISTRY, SERVICE, PRODUCT, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, APPLICATION, POLICY, CLAIM, BUNDLE, STAKE, STAKING, PRICE} from "../../contracts/type/ObjectType.sol";
|
21
|
+
import {StateId, ACTIVE, PAUSED} from "../../contracts/type/StateId.sol";
|
22
|
+
import {NftId, NftIdLib} from "../../contracts/type/NftId.sol";
|
23
|
+
import {Fee, FeeLib} from "../../contracts/type/Fee.sol";
|
24
|
+
import {Version, VersionPart, VersionLib} from "../../contracts/type/Version.sol";
|
27
25
|
|
28
26
|
import {Service} from "../shared/Service.sol";
|
29
27
|
import {IService} from "../shared/IService.sol";
|
@@ -31,7 +29,6 @@ import {IRegistryService} from "./IRegistryService.sol";
|
|
31
29
|
import {Registry} from "./Registry.sol";
|
32
30
|
|
33
31
|
contract RegistryService is
|
34
|
-
AccessManagedUpgradeable,
|
35
32
|
Service,
|
36
33
|
IRegistryService
|
37
34
|
{
|
@@ -40,88 +37,136 @@ contract RegistryService is
|
|
40
37
|
// TODO update to real hash when registry is stable
|
41
38
|
bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
|
42
39
|
|
43
|
-
|
40
|
+
// From IService
|
41
|
+
function getDomain() public pure override returns(ObjectType serviceDomain) {
|
42
|
+
return REGISTRY();
|
43
|
+
}
|
44
|
+
|
45
|
+
// from Versionable
|
46
|
+
|
47
|
+
/// @dev top level initializer
|
48
|
+
function _initialize(
|
49
|
+
address owner,
|
50
|
+
bytes memory data
|
51
|
+
)
|
52
|
+
internal
|
53
|
+
virtual override
|
54
|
+
initializer()
|
55
|
+
{
|
56
|
+
(
|
57
|
+
address registryAddress,
|
58
|
+
address initialAuthority
|
59
|
+
) = abi.decode(data, (address, address));
|
60
|
+
|
61
|
+
initializeService(registryAddress, initialAuthority, owner);
|
62
|
+
registerInterface(type(IRegistryService).interfaceId);
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
function registerStaking(IRegisterable staking, address owner)
|
67
|
+
external
|
68
|
+
virtual
|
69
|
+
restricted()
|
70
|
+
returns(
|
71
|
+
IRegistry.ObjectInfo memory info
|
72
|
+
)
|
73
|
+
{
|
74
|
+
info = _getAndVerifyContractInfo(staking, STAKING(), owner);
|
75
|
+
info.nftId = getRegistry().register(info);
|
76
|
+
}
|
44
77
|
|
45
78
|
|
46
|
-
function registerInstance(IRegisterable instance)
|
79
|
+
function registerInstance(IRegisterable instance, address owner)
|
47
80
|
external
|
81
|
+
virtual
|
82
|
+
restricted
|
48
83
|
returns(
|
49
|
-
IRegistry.ObjectInfo memory info
|
50
|
-
bytes memory data
|
84
|
+
IRegistry.ObjectInfo memory info
|
51
85
|
)
|
52
86
|
{
|
53
87
|
if(!instance.supportsInterface(type(IInstance).interfaceId)) {
|
54
|
-
revert
|
88
|
+
revert ErrorRegistryServiceNotInstance(address(instance));
|
55
89
|
}
|
56
90
|
|
57
|
-
|
91
|
+
info = _getAndVerifyContractInfo(instance, INSTANCE(), owner);
|
92
|
+
info.nftId = getRegistry().register(info);
|
58
93
|
|
59
|
-
info.nftId = _registry.register(info);
|
60
94
|
instance.linkToRegisteredNftId(); // asume safe
|
61
|
-
|
62
|
-
return (info, data);
|
63
95
|
}
|
64
96
|
|
65
|
-
function registerProduct(
|
97
|
+
function registerProduct(IComponent product, address owner)
|
66
98
|
external
|
67
99
|
restricted
|
68
100
|
returns(
|
69
|
-
IRegistry.ObjectInfo memory info
|
70
|
-
bytes memory data
|
101
|
+
IRegistry.ObjectInfo memory info
|
71
102
|
)
|
72
103
|
{
|
73
104
|
// CAN revert if no ERC165 support -> will revert with empty message
|
74
105
|
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
75
|
-
revert
|
106
|
+
revert ErrorRegistryServiceNotProduct(address(product));
|
76
107
|
}
|
77
108
|
|
78
|
-
|
109
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
110
|
+
info.nftId = getRegistry().register(info);
|
111
|
+
}
|
79
112
|
|
80
|
-
|
81
|
-
|
82
|
-
|
113
|
+
function registerComponent(
|
114
|
+
IComponent component,
|
115
|
+
ObjectType objectType,
|
116
|
+
address initialOwner
|
117
|
+
)
|
118
|
+
external
|
119
|
+
restricted
|
120
|
+
returns(
|
121
|
+
IRegistry.ObjectInfo memory info
|
122
|
+
)
|
123
|
+
{
|
124
|
+
// CAN revert if no ERC165 support -> will revert with empty message
|
125
|
+
if(!component.supportsInterface(type(IComponent).interfaceId)) {
|
126
|
+
revert ErrorRegistryServiceNotComponent(address(component));
|
127
|
+
}
|
83
128
|
|
84
|
-
|
129
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
130
|
+
info.nftId = getRegistry().register(info);
|
85
131
|
}
|
86
132
|
|
87
|
-
function registerPool(
|
133
|
+
function registerPool(IComponent pool, address owner)
|
88
134
|
external
|
89
135
|
restricted
|
90
136
|
returns(
|
91
|
-
IRegistry.ObjectInfo memory info
|
92
|
-
bytes memory data
|
137
|
+
IRegistry.ObjectInfo memory info
|
93
138
|
)
|
94
139
|
{
|
95
140
|
if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
|
96
|
-
revert
|
141
|
+
revert ErrorRegistryServiceNotPool(address(pool));
|
97
142
|
}
|
98
143
|
|
99
|
-
|
100
|
-
|
101
|
-
info.nftId = _registry.register(info);
|
102
|
-
pool.linkToRegisteredNftId();
|
103
|
-
|
104
|
-
return (info, data);
|
144
|
+
info = _getAndVerifyContractInfo(pool, POOL(), owner);
|
145
|
+
info.nftId = getRegistry().register(info);
|
105
146
|
}
|
106
147
|
|
107
|
-
function registerDistribution(
|
148
|
+
function registerDistribution(IComponent distribution, address owner)
|
108
149
|
external
|
109
150
|
restricted
|
110
151
|
returns(
|
111
|
-
IRegistry.ObjectInfo memory info
|
112
|
-
bytes memory data
|
152
|
+
IRegistry.ObjectInfo memory info
|
113
153
|
)
|
114
154
|
{
|
115
155
|
if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
|
116
|
-
revert
|
156
|
+
revert ErrorRegistryServiceNotDistribution(address(distribution));
|
117
157
|
}
|
118
158
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
distribution.linkToRegisteredNftId();
|
159
|
+
info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
160
|
+
info.nftId = getRegistry().register(info);
|
161
|
+
}
|
123
162
|
|
124
|
-
|
163
|
+
function registerDistributor(IRegistry.ObjectInfo memory info)
|
164
|
+
external
|
165
|
+
restricted
|
166
|
+
returns(NftId nftId)
|
167
|
+
{
|
168
|
+
_verifyObjectInfo(info, DISTRIBUTOR());
|
169
|
+
nftId = getRegistry().register(info);
|
125
170
|
}
|
126
171
|
|
127
172
|
function registerPolicy(IRegistry.ObjectInfo memory info)
|
@@ -130,8 +175,7 @@ contract RegistryService is
|
|
130
175
|
returns(NftId nftId)
|
131
176
|
{
|
132
177
|
_verifyObjectInfo(info, POLICY());
|
133
|
-
|
134
|
-
nftId = _registry.register(info);
|
178
|
+
nftId = getRegistry().register(info);
|
135
179
|
}
|
136
180
|
|
137
181
|
function registerBundle(IRegistry.ObjectInfo memory info)
|
@@ -140,8 +184,7 @@ contract RegistryService is
|
|
140
184
|
returns(NftId nftId)
|
141
185
|
{
|
142
186
|
_verifyObjectInfo(info, BUNDLE());
|
143
|
-
|
144
|
-
nftId = _registry.register(info);
|
187
|
+
nftId = getRegistry().register(info);
|
145
188
|
}
|
146
189
|
|
147
190
|
function registerStake(IRegistry.ObjectInfo memory info)
|
@@ -150,73 +193,7 @@ contract RegistryService is
|
|
150
193
|
returns(NftId nftId)
|
151
194
|
{
|
152
195
|
_verifyObjectInfo(info, STAKE());
|
153
|
-
|
154
|
-
nftId = _registry.register(info);
|
155
|
-
}
|
156
|
-
|
157
|
-
// From IService
|
158
|
-
function getDomain() public pure override(IService, Service) returns(ObjectType serviceDomain) {
|
159
|
-
return REGISTRY();
|
160
|
-
}
|
161
|
-
|
162
|
-
// from Versionable
|
163
|
-
|
164
|
-
/// @dev top level initializer
|
165
|
-
function _initialize(
|
166
|
-
address owner,
|
167
|
-
bytes memory data
|
168
|
-
)
|
169
|
-
internal
|
170
|
-
initializer
|
171
|
-
virtual override
|
172
|
-
{
|
173
|
-
(
|
174
|
-
address initialAuthority,
|
175
|
-
address registry
|
176
|
-
) = abi.decode(data, (address, address));
|
177
|
-
|
178
|
-
__AccessManaged_init(initialAuthority);
|
179
|
-
|
180
|
-
_initializeService(address(registry), owner);
|
181
|
-
|
182
|
-
_registerInterface(type(IRegistryService).interfaceId);
|
183
|
-
}
|
184
|
-
|
185
|
-
// from IRegisterable
|
186
|
-
|
187
|
-
function getInitialInfo()
|
188
|
-
public
|
189
|
-
view
|
190
|
-
override(IRegisterable, Registerable)
|
191
|
-
returns (IRegistry.ObjectInfo memory info, bytes memory data)
|
192
|
-
{
|
193
|
-
(info , data) = super.getInitialInfo();
|
194
|
-
|
195
|
-
FunctionConfig[] memory config = new FunctionConfig[](6);
|
196
|
-
|
197
|
-
// registerInstance() have no restriction
|
198
|
-
config[0].serviceDomain = INSTANCE();
|
199
|
-
config[0].selector = RegistryService.registerInstance.selector;
|
200
|
-
|
201
|
-
config[1].serviceDomain = POOL();
|
202
|
-
config[1].selector = RegistryService.registerPool.selector;
|
203
|
-
|
204
|
-
config[2].serviceDomain = DISTRIBUTION();
|
205
|
-
config[2].selector = RegistryService.registerDistribution.selector;
|
206
|
-
|
207
|
-
config[3].serviceDomain = PRODUCT();
|
208
|
-
config[3].selector = RegistryService.registerProduct.selector;
|
209
|
-
|
210
|
-
config[4].serviceDomain = POLICY();
|
211
|
-
config[4].selector = RegistryService.registerPolicy.selector;
|
212
|
-
|
213
|
-
config[5].serviceDomain = BUNDLE();
|
214
|
-
config[5].selector = RegistryService.registerBundle.selector;
|
215
|
-
|
216
|
-
/*config[6].serviceDomain = STAKE();
|
217
|
-
config[6].selector = RegistryService.registerStake.selector;*/
|
218
|
-
|
219
|
-
data = abi.encode(config);
|
196
|
+
nftId = getRegistry().register(info);
|
220
197
|
}
|
221
198
|
|
222
199
|
// Internal
|
@@ -229,51 +206,36 @@ contract RegistryService is
|
|
229
206
|
internal
|
230
207
|
view
|
231
208
|
returns(
|
232
|
-
IRegistry.ObjectInfo memory info
|
233
|
-
bytes memory data
|
209
|
+
IRegistry.ObjectInfo memory info
|
234
210
|
)
|
235
211
|
{
|
236
|
-
(
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
212
|
+
info = registerable.getInitialInfo();
|
213
|
+
|
214
|
+
if(info.objectAddress != address(registerable)) {
|
215
|
+
revert ErrorRegistryServiceRegisterableAddressInvalid(registerable, info.objectAddress);
|
216
|
+
}
|
241
217
|
|
242
218
|
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
243
|
-
revert
|
219
|
+
revert ErrorRegistryServiceRegisterableTypeInvalid(registerable, expectedType, info.objectType);
|
244
220
|
}
|
245
221
|
|
246
222
|
address owner = info.initialOwner;
|
247
223
|
|
248
|
-
//
|
249
|
-
|
250
|
-
// any address may create a new instance via instance service
|
251
|
-
} else {
|
252
|
-
if(owner != expectedOwner) { // registerable owner protection
|
253
|
-
revert NotRegisterableOwner(expectedOwner);
|
254
|
-
}
|
224
|
+
if(owner != expectedOwner) { // registerable owner protection
|
225
|
+
revert ErrorRegistryServiceRegisterableOwnerInvalid(registerable, expectedOwner, owner);
|
255
226
|
}
|
256
227
|
|
257
228
|
if(owner == address(registerable)) {
|
258
|
-
revert
|
229
|
+
revert ErrorRegistryServiceRegisterableSelfRegistration(registerable);
|
259
230
|
}
|
260
231
|
|
261
232
|
if(owner == address(0)) {
|
262
|
-
revert
|
233
|
+
revert ErrorRegistryServiceRegisterableOwnerZero(registerable);
|
263
234
|
}
|
264
235
|
|
265
236
|
if(getRegistry().isRegistered(owner)) {
|
266
|
-
revert
|
237
|
+
revert ErrorRegistryServiceRegisterableOwnerRegistered(registerable, owner);
|
267
238
|
}
|
268
|
-
|
269
|
-
/*NftId parentNftId = info.parentNftId;
|
270
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
271
|
-
|
272
|
-
if(parentInfo.objectType != parentType) { // parent registration + type
|
273
|
-
revert InvalidParent(parentNftId);
|
274
|
-
}*/
|
275
|
-
|
276
|
-
return(info, data);
|
277
239
|
}
|
278
240
|
|
279
241
|
function _verifyObjectInfo(
|
@@ -283,41 +245,22 @@ contract RegistryService is
|
|
283
245
|
internal
|
284
246
|
view
|
285
247
|
{
|
286
|
-
|
287
|
-
|
248
|
+
if(info.objectAddress > address(0)) {
|
249
|
+
revert ErrorRegistryServiceObjectAddressNotZero(info.objectType);
|
250
|
+
}
|
288
251
|
|
289
252
|
if(info.objectType != expectedType) {// type is checked in registry anyway...but service logic may depend on expected value
|
290
|
-
revert
|
253
|
+
revert ErrorRegistryServiceObjectTypeInvalid(expectedType, info.objectType);
|
291
254
|
}
|
292
255
|
|
293
256
|
address owner = info.initialOwner;
|
294
257
|
|
295
258
|
if(owner == address(0)) {
|
296
|
-
revert
|
259
|
+
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
297
260
|
}
|
298
261
|
|
299
262
|
if(getRegistry().isRegistered(owner)) {
|
300
|
-
revert
|
301
|
-
}
|
302
|
-
|
303
|
-
// can catch all 3 if check that initialOwner is not registered
|
304
|
-
/*if(info.initialOwner == msg.sender) {
|
305
|
-
revert InitialOwnerIsParent();
|
306
|
-
}
|
307
|
-
|
308
|
-
if(info.initialOwner == address(this)) {
|
309
|
-
revert InitialOwnerIsService();
|
263
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
310
264
|
}
|
311
|
-
|
312
|
-
if(info.initialOwner == address(getRegistry())) {
|
313
|
-
revert InitialOwnerIsRegistry();
|
314
|
-
}*/
|
315
|
-
|
316
|
-
/*NftId parentNftId = info.parentNftId;
|
317
|
-
IRegistry.ObjectInfo memory parentInfo = getRegistry().getObjectInfo(parentNftId);
|
318
|
-
|
319
|
-
if(parentInfo.objectType != parentType) { // parent registration + type
|
320
|
-
revert InvalidParent(parentNftId);
|
321
|
-
}*/
|
322
265
|
}
|
323
|
-
}
|
266
|
+
}
|