@etherisc/gif-next 0.0.2-e6d2794-419 → 0.0.2-e79d227-681
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 +58 -9
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +105 -65
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +60 -32
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +188 -369
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +141 -314
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +323 -223
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -104
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +132 -115
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +172 -31
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +808 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +104 -36
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +56 -91
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +130 -130
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +180 -140
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +59 -86
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +697 -146
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +121 -250
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +99 -87
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +340 -263
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/{ObjectManager.sol/ObjectManager.json → ObjectSet.sol/ObjectSet.json} +6 -6
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +138 -332
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +107 -103
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +43 -9
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +114 -300
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +147 -191
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +119 -83
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +160 -383
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +430 -204
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +160 -92
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +244 -25
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +118 -168
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +422 -215
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +126 -366
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +569 -403
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +139 -87
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +124 -181
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +89 -89
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +168 -319
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +311 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +139 -103
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +68 -7
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +176 -6
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +344 -120
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +114 -85
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +155 -116
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +31 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +447 -317
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -94
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +218 -307
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +117 -117
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +166 -317
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +346 -22
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +42 -146
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +573 -80
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +298 -145
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +94 -284
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +91 -75
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +73 -274
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +606 -258
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +168 -106
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +47 -112
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +488 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +66 -77
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +541 -19
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +96 -103
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
- 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 +29 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -303
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/{NftIdSetManager.sol/NftIdSetManager.json → NftIdSet.sol/NftIdSet.json} +4 -4
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +47 -112
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +697 -25
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +111 -114
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +29 -21
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +73 -93
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +190 -379
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +118 -99
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +87 -165
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +95 -79
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +177 -131
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- 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 +7 -2
- 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/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -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 +2 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +99 -5
- 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 +50 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +52 -2
- 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 +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +83 -58
- package/contracts/authorization/Authorization.sol +111 -40
- package/contracts/authorization/IAccess.sol +1 -0
- package/contracts/authorization/IAccessAdmin.sol +4 -3
- package/contracts/authorization/IAuthorization.sol +13 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +8 -18
- package/contracts/distribution/BasicDistributionAuthorization.sol +6 -2
- package/contracts/distribution/Distribution.sol +33 -32
- package/contracts/distribution/DistributionService.sol +142 -90
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +9 -5
- package/contracts/distribution/IDistributionService.sol +23 -8
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +431 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +20 -34
- package/contracts/instance/IInstanceService.sol +11 -29
- package/contracts/instance/Instance.sol +44 -57
- package/contracts/instance/InstanceAdmin.sol +48 -36
- package/contracts/instance/InstanceAuthorizationV3.sol +50 -35
- package/contracts/instance/InstanceReader.sol +199 -25
- package/contracts/instance/InstanceService.sol +96 -115
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +12 -1
- package/contracts/instance/RiskSet.sol +119 -0
- package/contracts/instance/base/ObjectLifecycle.sol +9 -4
- package/contracts/instance/base/ObjectSet.sol +78 -0
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +11 -13
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +26 -25
- package/contracts/instance/module/IRisk.sol +1 -0
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +0 -1
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +21 -22
- package/contracts/oracle/OracleService.sol +112 -81
- package/contracts/oracle/OracleServiceManager.sol +8 -11
- package/contracts/pool/BasicPool.sol +38 -27
- package/contracts/pool/BasicPoolAuthorization.sol +22 -3
- package/contracts/pool/BundleService.sol +228 -101
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +33 -17
- package/contracts/pool/IPoolComponent.sol +20 -10
- package/contracts/pool/IPoolService.sol +53 -50
- package/contracts/pool/Pool.sol +150 -116
- package/contracts/pool/PoolService.sol +335 -175
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +82 -77
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +11 -44
- package/contracts/product/BasicProductAuthorization.sol +2 -0
- package/contracts/product/ClaimService.sol +318 -146
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +6 -2
- package/contracts/product/IClaimService.sol +31 -7
- package/contracts/product/IPolicyService.sol +46 -34
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +24 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +515 -257
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +54 -54
- package/contracts/product/PricingServiceManager.sol +5 -8
- package/contracts/product/Product.sol +126 -91
- package/contracts/product/{ProductService.sol → RiskService.sol} +27 -44
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -38
- package/contracts/registry/IRegistry.sol +71 -19
- package/contracts/registry/IRegistryService.sol +3 -10
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +362 -215
- package/contracts/registry/RegistryAdmin.sol +161 -75
- package/contracts/registry/RegistryService.sol +39 -64
- package/contracts/registry/RegistryServiceManager.sol +4 -4
- package/contracts/registry/ReleaseLifecycle.sol +6 -3
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +22 -47
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +54 -118
- package/contracts/shared/ComponentService.sol +399 -174
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +28 -17
- package/contracts/shared/ContractLib.sol +224 -0
- package/contracts/shared/IComponent.sol +10 -13
- package/contracts/shared/IComponentService.sol +50 -22
- package/contracts/shared/IInstanceLinkedComponent.sol +8 -17
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +1 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +82 -28
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +19 -11
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +23 -22
- package/contracts/shared/TokenHandler.sol +358 -27
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +12 -7
- package/contracts/staking/IStakingService.sol +12 -8
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +54 -62
- package/contracts/staking/StakingManager.sol +10 -12
- package/contracts/staking/StakingReader.sol +23 -20
- package/contracts/staking/StakingService.sol +65 -36
- package/contracts/staking/StakingServiceManager.sol +4 -4
- package/contracts/staking/StakingStore.sol +12 -22
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +21 -18
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +30 -4
- package/contracts/type/RoleId.sol +0 -12
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +33 -10
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +6 -5
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -703
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1159
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/BundleManager.sol +0 -126
- package/contracts/instance/base/ObjectManager.sol +0 -79
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -487
- package/contracts/shared/InitializableCustom.sol +0 -177
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -7,11 +7,11 @@ import {IRegistry} from "./IRegistry.sol";
|
|
7
7
|
import {IService} from "../shared/IService.sol";
|
8
8
|
import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
|
9
9
|
import {IStaking} from "../staking/IStaking.sol";
|
10
|
-
import {ObjectType, ObjectTypeLib, ALL, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
|
-
import {
|
10
|
+
import {ObjectType, ObjectTypeLib, ALL, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
|
+
import {ReleaseRegistry} from "./ReleaseRegistry.sol";
|
12
12
|
import {RoleId, RoleIdLib, ADMIN_ROLE, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
|
13
13
|
import {StakingStore} from "../staking/StakingStore.sol";
|
14
|
-
import {
|
14
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
15
15
|
import {TokenRegistry} from "./TokenRegistry.sol";
|
16
16
|
import {VersionPart} from "../type/Version.sol";
|
17
17
|
|
@@ -26,37 +26,34 @@ import {VersionPart} from "../type/Version.sol";
|
|
26
26
|
- MUST have 1 member at any time
|
27
27
|
- granted/revoked ONLY in transferAdminRole() -> consider lock out situations!!!
|
28
28
|
- responsible for creation and activation of releases
|
29
|
-
|
30
|
-
createServiceTarget(type, release)
|
31
|
-
createServiceRole(type,release)
|
32
|
-
getServiceRole(type, release)
|
33
29
|
*/
|
34
30
|
contract RegistryAdmin is
|
35
31
|
AccessAdmin
|
36
32
|
{
|
37
|
-
error ErrorRegistryAdminIsAlreadySetUp();
|
38
|
-
|
39
33
|
string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
|
40
34
|
string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
|
41
35
|
string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
|
42
|
-
string public constant
|
36
|
+
string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
|
37
|
+
string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
|
43
38
|
string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
|
44
39
|
string public constant STAKING_ROLE_NAME = "StakingRole";
|
45
40
|
|
46
|
-
string public constant
|
41
|
+
string public constant REGISTRY_TARGET_NAME = "Registry";
|
42
|
+
string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
|
47
43
|
string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
|
48
44
|
string public constant STAKING_TARGET_NAME = "Staking";
|
45
|
+
string public constant STAKING_TH_TARGET_NAME = "StakingTH";
|
49
46
|
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
50
47
|
|
51
48
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
52
|
-
|
49
|
+
// TODO consider deleting this
|
53
50
|
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
54
51
|
|
55
|
-
address
|
52
|
+
address internal _registry;
|
53
|
+
address private _releaseRegistry;
|
56
54
|
address private _tokenRegistry;
|
57
55
|
address private _staking;
|
58
56
|
address private _stakingStore;
|
59
|
-
bool private _setupCompleted;
|
60
57
|
|
61
58
|
constructor() AccessAdmin() { }
|
62
59
|
|
@@ -66,12 +63,11 @@ contract RegistryAdmin is
|
|
66
63
|
address gifManager
|
67
64
|
)
|
68
65
|
external
|
66
|
+
initializer
|
69
67
|
onlyDeployer()
|
70
68
|
{
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
_releaseManager = registry.getReleaseManagerAddress();
|
69
|
+
_registry = address(registry);
|
70
|
+
_releaseRegistry = registry.getReleaseRegistryAddress();
|
75
71
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
76
72
|
_staking = registry.getStakingAddress();
|
77
73
|
_stakingStore = address(
|
@@ -83,7 +79,8 @@ contract RegistryAdmin is
|
|
83
79
|
_setupGifAdminRole(gifAdmin);
|
84
80
|
_setupGifManagerRole(gifManager);
|
85
81
|
|
86
|
-
|
82
|
+
_setupReleaseRegistry();
|
83
|
+
_setupRegistry();
|
87
84
|
_setupStaking();
|
88
85
|
}
|
89
86
|
|
@@ -93,15 +90,31 @@ contract RegistryAdmin is
|
|
93
90
|
/// Permissioned function: Access is restricted to release manager.
|
94
91
|
function authorizeService(
|
95
92
|
IServiceAuthorization serviceAuthorization,
|
96
|
-
IService service
|
93
|
+
IService service,
|
94
|
+
ObjectType serviceDomain,
|
95
|
+
VersionPart releaseVersion
|
97
96
|
)
|
98
97
|
external
|
99
98
|
restricted()
|
100
99
|
{
|
101
|
-
_createServiceTargetAndRole(service);
|
102
|
-
_authorizeServiceFunctions(serviceAuthorization, service);
|
100
|
+
_createServiceTargetAndRole(service, serviceDomain, releaseVersion);
|
101
|
+
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
|
103
102
|
}
|
104
103
|
|
104
|
+
function grantServiceRole(
|
105
|
+
IService service,
|
106
|
+
ObjectType domain,
|
107
|
+
VersionPart version
|
108
|
+
)
|
109
|
+
external
|
110
|
+
restricted()
|
111
|
+
{
|
112
|
+
_grantRoleToAccount(
|
113
|
+
RoleIdLib.roleForTypeAndVersion(
|
114
|
+
domain,
|
115
|
+
version),
|
116
|
+
address(service));
|
117
|
+
}
|
105
118
|
|
106
119
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
107
120
|
external
|
@@ -112,14 +125,42 @@ contract RegistryAdmin is
|
|
112
125
|
address(service));
|
113
126
|
}
|
114
127
|
|
128
|
+
function setServiceLocked(IService service, bool locked)
|
129
|
+
external
|
130
|
+
restricted()
|
131
|
+
{
|
132
|
+
_setTargetClosed(address(service), locked);
|
133
|
+
}
|
115
134
|
|
116
|
-
function
|
135
|
+
/*function transferAdmin(address to)
|
136
|
+
external
|
137
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
138
|
+
{
|
139
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
140
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
141
|
+
}*/
|
142
|
+
|
143
|
+
//--- view functions ----------------------------------------------------//
|
144
|
+
|
145
|
+
function getGifAdminRole() external view returns (RoleId) {
|
146
|
+
return GIF_ADMIN_ROLE();
|
147
|
+
}
|
148
|
+
|
149
|
+
function getGifManagerRole() external view returns (RoleId) {
|
150
|
+
return GIF_MANAGER_ROLE();
|
151
|
+
}
|
152
|
+
|
153
|
+
//--- private functions -------------------------------------------------//
|
154
|
+
|
155
|
+
function _createServiceTargetAndRole(
|
156
|
+
IService service,
|
157
|
+
ObjectType serviceDomain,
|
158
|
+
VersionPart releaseVersion
|
159
|
+
)
|
117
160
|
private
|
118
161
|
{
|
119
|
-
ObjectType serviceDomain = service.getDomain();
|
120
162
|
string memory baseName = ObjectTypeLib.toName(serviceDomain);
|
121
|
-
|
122
|
-
uint256 versionInt = version.toInt();
|
163
|
+
uint256 versionInt = releaseVersion.toInt();
|
123
164
|
|
124
165
|
// create service target
|
125
166
|
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
@@ -131,10 +172,12 @@ contract RegistryAdmin is
|
|
131
172
|
true,
|
132
173
|
false);
|
133
174
|
|
175
|
+
_setTargetClosed(address(service), true);
|
176
|
+
|
134
177
|
// create service role
|
135
178
|
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
136
179
|
serviceDomain,
|
137
|
-
|
180
|
+
releaseVersion);
|
138
181
|
|
139
182
|
_createRole(
|
140
183
|
serviceRoleId,
|
@@ -155,15 +198,15 @@ contract RegistryAdmin is
|
|
155
198
|
|
156
199
|
function _authorizeServiceFunctions(
|
157
200
|
IServiceAuthorization serviceAuthorization,
|
158
|
-
IService service
|
201
|
+
IService service,
|
202
|
+
ObjectType serviceDomain,
|
203
|
+
VersionPart releaseVersion
|
159
204
|
)
|
160
205
|
private
|
161
206
|
{
|
162
|
-
ObjectType serviceDomain = service.getDomain();
|
163
207
|
ObjectType authorizedDomain;
|
164
208
|
RoleId authorizedRoleId;
|
165
209
|
|
166
|
-
VersionPart release = service.getVersion().toMajorPart();
|
167
210
|
ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
|
168
211
|
|
169
212
|
for (uint256 i = 0; i < authorizedDomains.length; i++) {
|
@@ -175,7 +218,7 @@ contract RegistryAdmin is
|
|
175
218
|
} else {
|
176
219
|
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
177
220
|
authorizedDomain,
|
178
|
-
|
221
|
+
releaseVersion);
|
179
222
|
}
|
180
223
|
|
181
224
|
// get authorized functions for authorized domain
|
@@ -190,27 +233,12 @@ contract RegistryAdmin is
|
|
190
233
|
}
|
191
234
|
}
|
192
235
|
|
193
|
-
|
194
|
-
external
|
195
|
-
restricted // only with GIF_ADMIN_ROLE or nft owner
|
196
|
-
{
|
197
|
-
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
198
|
-
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
199
|
-
}*/
|
200
|
-
|
201
|
-
//--- view functions ----------------------------------------------------//
|
202
|
-
|
203
|
-
function getGifAdminRole() external view returns (RoleId) {
|
204
|
-
return GIF_ADMIN_ROLE();
|
205
|
-
}
|
206
|
-
|
207
|
-
function getGifManagerRole() external view returns (RoleId) {
|
208
|
-
return GIF_MANAGER_ROLE();
|
209
|
-
}
|
236
|
+
//--- private initialization functions -------------------------------------------//
|
210
237
|
|
211
|
-
|
212
|
-
|
213
|
-
|
238
|
+
function _setupGifAdminRole(address gifAdmin)
|
239
|
+
private
|
240
|
+
onlyInitializing()
|
241
|
+
{
|
214
242
|
|
215
243
|
_createRole(
|
216
244
|
GIF_ADMIN_ROLE(),
|
@@ -220,19 +248,27 @@ contract RegistryAdmin is
|
|
220
248
|
maxMemberCount: 2, // TODO decide on max member count
|
221
249
|
name: GIF_ADMIN_ROLE_NAME}));
|
222
250
|
|
223
|
-
// for
|
251
|
+
// for Registry
|
224
252
|
FunctionInfo[] memory functions;
|
253
|
+
functions = new FunctionInfo[](1);
|
254
|
+
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
255
|
+
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
256
|
+
|
257
|
+
// for ReleaseRegistry
|
225
258
|
functions = new FunctionInfo[](4);
|
226
|
-
functions[0] = toFunction(
|
227
|
-
functions[1] = toFunction(
|
228
|
-
functions[2] = toFunction(
|
229
|
-
functions[3] = toFunction(
|
230
|
-
_authorizeTargetFunctions(
|
259
|
+
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
260
|
+
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
261
|
+
functions[2] = toFunction(ReleaseRegistry.pauseRelease.selector, "pauseRelease");
|
262
|
+
functions[3] = toFunction(ReleaseRegistry.unpauseRelease.selector, "unpauseRelease");
|
263
|
+
_authorizeTargetFunctions(_releaseRegistry, GIF_ADMIN_ROLE(), functions);
|
231
264
|
|
232
265
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
233
266
|
}
|
234
267
|
|
235
|
-
function _setupGifManagerRole(address gifManager)
|
268
|
+
function _setupGifManagerRole(address gifManager)
|
269
|
+
private
|
270
|
+
onlyInitializing()
|
271
|
+
{
|
236
272
|
|
237
273
|
_createRole(
|
238
274
|
GIF_MANAGER_ROLE(),
|
@@ -253,41 +289,82 @@ contract RegistryAdmin is
|
|
253
289
|
functions[4] = toFunction(TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
|
254
290
|
_authorizeTargetFunctions(_tokenRegistry, GIF_MANAGER_ROLE(), functions);
|
255
291
|
|
256
|
-
// for
|
292
|
+
// for ReleaseRegistry
|
257
293
|
functions = new FunctionInfo[](2);
|
258
|
-
functions[0] = toFunction(
|
259
|
-
functions[1] = toFunction(
|
260
|
-
_authorizeTargetFunctions(
|
294
|
+
functions[0] = toFunction(ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
|
295
|
+
functions[1] = toFunction(ReleaseRegistry.registerService.selector, "registerService");
|
296
|
+
_authorizeTargetFunctions(_releaseRegistry, GIF_MANAGER_ROLE(), functions);
|
261
297
|
|
262
298
|
_grantRoleToAccount(GIF_MANAGER_ROLE(), gifManager);
|
263
299
|
}
|
264
300
|
|
265
301
|
|
266
|
-
function
|
302
|
+
function _setupReleaseRegistry()
|
303
|
+
private
|
304
|
+
onlyInitializing()
|
305
|
+
{
|
267
306
|
|
268
|
-
_createTarget(
|
307
|
+
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
269
308
|
|
270
|
-
RoleId
|
309
|
+
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
271
310
|
_createRole(
|
272
|
-
|
311
|
+
releaseRegistryRoleId,
|
273
312
|
toRole({
|
274
313
|
adminRoleId: ADMIN_ROLE(),
|
275
314
|
roleType: RoleType.Contract,
|
276
315
|
maxMemberCount: 1,
|
277
|
-
name:
|
316
|
+
name: RELEASE_REGISTRY_ROLE_NAME}));
|
278
317
|
|
279
318
|
FunctionInfo[] memory functions;
|
280
|
-
functions = new FunctionInfo[](
|
319
|
+
functions = new FunctionInfo[](4);
|
281
320
|
functions[0] = toFunction(RegistryAdmin.authorizeService.selector, "authorizeService");
|
282
321
|
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
283
|
-
|
322
|
+
functions[2] = toFunction(RegistryAdmin.grantServiceRole.selector, "grantServiceRole");
|
323
|
+
functions[3] = toFunction(RegistryAdmin.setServiceLocked.selector, "setServiceLocked");
|
324
|
+
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
284
325
|
|
285
|
-
_grantRoleToAccount(
|
326
|
+
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
286
327
|
}
|
287
328
|
|
288
329
|
|
289
|
-
function
|
330
|
+
function _setupRegistry()
|
331
|
+
internal
|
332
|
+
virtual
|
333
|
+
onlyInitializing()
|
334
|
+
{
|
335
|
+
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
336
|
+
|
337
|
+
// registry function authorization for registry service
|
338
|
+
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
339
|
+
_createRole(
|
340
|
+
registryServiceRoleId,
|
341
|
+
toRole({
|
342
|
+
adminRoleId: ADMIN_ROLE(),
|
343
|
+
roleType: RoleType.Contract,
|
344
|
+
maxMemberCount: MAX_NUM_RELEASES,
|
345
|
+
name: REGISTRY_SERVICE_ROLE_NAME}));
|
346
|
+
|
347
|
+
// authorize registry service
|
348
|
+
FunctionInfo[] memory functions;
|
349
|
+
functions = new FunctionInfo[](2);
|
350
|
+
functions[0] = toFunction(IRegistry.register.selector, "register");
|
351
|
+
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
352
|
+
_authorizeTargetFunctions(_registry, registryServiceRoleId, functions);
|
353
|
+
|
354
|
+
// authorize release registry
|
355
|
+
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
356
|
+
functions = new FunctionInfo[](1);
|
357
|
+
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
358
|
+
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
359
|
+
}
|
360
|
+
|
361
|
+
|
362
|
+
function _setupStaking()
|
363
|
+
private
|
364
|
+
onlyInitializing()
|
365
|
+
{
|
290
366
|
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
367
|
+
_createTarget(address(IStaking(_staking).getTokenHandler()), STAKING_TH_TARGET_NAME, true, false);
|
291
368
|
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
292
369
|
|
293
370
|
// staking function authorization for staking service
|
@@ -301,7 +378,7 @@ contract RegistryAdmin is
|
|
301
378
|
name: STAKING_SERVICE_ROLE_NAME}));
|
302
379
|
|
303
380
|
FunctionInfo[] memory functions;
|
304
|
-
functions = new FunctionInfo[](
|
381
|
+
functions = new FunctionInfo[](12);
|
305
382
|
functions[0] = toFunction(IStaking.registerTarget.selector, "registerTarget");
|
306
383
|
functions[1] = toFunction(IStaking.setLockingPeriod.selector, "setLockingPeriod");
|
307
384
|
functions[2] = toFunction(IStaking.setRewardRate.selector, "setRewardRate");
|
@@ -313,9 +390,18 @@ contract RegistryAdmin is
|
|
313
390
|
functions[8] = toFunction(IStaking.restake.selector, "restake");
|
314
391
|
functions[9] = toFunction(IStaking.updateRewards.selector, "updateRewards");
|
315
392
|
functions[10] = toFunction(IStaking.claimRewards.selector, "claimRewards");
|
316
|
-
functions[11] = toFunction(IStaking.collectDipAmount.selector, "collectDipAmount");
|
317
|
-
functions[12] = toFunction(IStaking.transferDipAmount.selector, "transferDipAmount");
|
318
393
|
_authorizeTargetFunctions(_staking, stakingServiceRoleId, functions);
|
394
|
+
|
395
|
+
// grant token handler authorizations
|
396
|
+
IStaking staking = IStaking(_staking);
|
397
|
+
functions = new FunctionInfo[](2);
|
398
|
+
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
399
|
+
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
400
|
+
|
401
|
+
_authorizeTargetFunctions(
|
402
|
+
address(staking.getTokenHandler()),
|
403
|
+
stakingServiceRoleId,
|
404
|
+
functions);
|
319
405
|
|
320
406
|
// staking function authorization for pool service
|
321
407
|
RoleId poolServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(POOL());
|
@@ -359,7 +445,7 @@ contract RegistryAdmin is
|
|
359
445
|
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
360
446
|
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
361
447
|
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
362
|
-
|
448
|
+
|
363
449
|
_grantRoleToAccount(stakingRoleId, _staking);
|
364
450
|
}
|
365
451
|
}
|
@@ -1,39 +1,23 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
|
5
|
-
// import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
6
|
-
|
7
|
-
import {IRegistry} from "./IRegistry.sol";
|
8
|
-
import {IInstance} from "../instance/IInstance.sol";
|
9
|
-
|
10
4
|
import {IComponent} from "../../contracts/shared/IComponent.sol";
|
5
|
+
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
6
|
+
import {IInstance} from "../instance/IInstance.sol";
|
11
7
|
import {IPoolComponent} from "../../contracts/pool/IPoolComponent.sol";
|
12
8
|
import {IProductComponent} from "../../contracts/product/IProductComponent.sol";
|
13
|
-
import {IDistributionComponent} from "../../contracts/distribution/IDistributionComponent.sol";
|
14
|
-
|
15
|
-
import {IVersionable} from "../../contracts/shared/IVersionable.sol";
|
16
|
-
import {Versionable} from "../../contracts/shared/Versionable.sol";
|
17
9
|
import {IRegisterable} from "../../contracts/shared/IRegisterable.sol";
|
10
|
+
import {IRegistry} from "./IRegistry.sol";
|
11
|
+
import {IRegistryService} from "./IRegistryService.sol";
|
18
12
|
|
19
|
-
import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../contracts/type/RoleId.sol";
|
20
13
|
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
14
|
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";
|
25
|
-
|
26
15
|
import {Service} from "../shared/Service.sol";
|
27
|
-
import {IService} from "../shared/IService.sol";
|
28
|
-
import {IRegistryService} from "./IRegistryService.sol";
|
29
|
-
import {Registry} from "./Registry.sol";
|
30
16
|
|
31
17
|
contract RegistryService is
|
32
18
|
Service,
|
33
19
|
IRegistryService
|
34
20
|
{
|
35
|
-
using NftIdLib for NftId;
|
36
|
-
|
37
21
|
// TODO update to real hash when registry is stable
|
38
22
|
bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
|
39
23
|
|
@@ -53,8 +37,8 @@ contract RegistryService is
|
|
53
37
|
address initialAuthority
|
54
38
|
) = abi.decode(data, (address, address));
|
55
39
|
|
56
|
-
|
57
|
-
|
40
|
+
_initializeService(registryAddress, initialAuthority, owner);
|
41
|
+
_registerInterface(type(IRegistryService).interfaceId);
|
58
42
|
}
|
59
43
|
|
60
44
|
|
@@ -74,7 +58,7 @@ contract RegistryService is
|
|
74
58
|
function registerInstance(IRegisterable instance, address owner)
|
75
59
|
external
|
76
60
|
virtual
|
77
|
-
restricted
|
61
|
+
restricted()
|
78
62
|
returns(
|
79
63
|
IRegistry.ObjectInfo memory info
|
80
64
|
)
|
@@ -89,29 +73,33 @@ contract RegistryService is
|
|
89
73
|
instance.linkToRegisteredNftId(); // asume safe
|
90
74
|
}
|
91
75
|
|
92
|
-
function registerProduct(
|
76
|
+
function registerProduct(
|
77
|
+
IComponent product,
|
78
|
+
address initialOwner
|
79
|
+
)
|
93
80
|
external
|
94
|
-
|
81
|
+
virtual
|
82
|
+
restricted()
|
95
83
|
returns(
|
96
84
|
IRegistry.ObjectInfo memory info
|
97
85
|
)
|
98
86
|
{
|
99
|
-
// CAN revert if no ERC165 support -> will revert with empty message
|
100
87
|
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
101
88
|
revert ErrorRegistryServiceNotProduct(address(product));
|
102
89
|
}
|
103
90
|
|
104
|
-
info = _getAndVerifyContractInfo(product, PRODUCT(),
|
91
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
|
105
92
|
info.nftId = getRegistry().register(info);
|
106
93
|
}
|
107
94
|
|
108
|
-
function
|
95
|
+
function registerProductLinkedComponent(
|
109
96
|
IComponent component,
|
110
97
|
ObjectType objectType,
|
111
98
|
address initialOwner
|
112
99
|
)
|
113
100
|
external
|
114
|
-
|
101
|
+
virtual
|
102
|
+
restricted()
|
115
103
|
returns(
|
116
104
|
IRegistry.ObjectInfo memory info
|
117
105
|
)
|
@@ -121,43 +109,18 @@ contract RegistryService is
|
|
121
109
|
revert ErrorRegistryServiceNotComponent(address(component));
|
122
110
|
}
|
123
111
|
|
124
|
-
|
125
|
-
|
126
|
-
}
|
127
|
-
|
128
|
-
function registerPool(IComponent pool, address owner)
|
129
|
-
external
|
130
|
-
restricted
|
131
|
-
returns(
|
132
|
-
IRegistry.ObjectInfo memory info
|
133
|
-
)
|
134
|
-
{
|
135
|
-
if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
|
136
|
-
revert ErrorRegistryServiceNotPool(address(pool));
|
137
|
-
}
|
138
|
-
|
139
|
-
info = _getAndVerifyContractInfo(pool, POOL(), owner);
|
140
|
-
info.nftId = getRegistry().register(info);
|
141
|
-
}
|
142
|
-
|
143
|
-
function registerDistribution(IComponent distribution, address owner)
|
144
|
-
external
|
145
|
-
restricted
|
146
|
-
returns(
|
147
|
-
IRegistry.ObjectInfo memory info
|
148
|
-
)
|
149
|
-
{
|
150
|
-
if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
|
151
|
-
revert ErrorRegistryServiceNotDistribution(address(distribution));
|
112
|
+
if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
|
113
|
+
revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
|
152
114
|
}
|
153
115
|
|
154
|
-
info = _getAndVerifyContractInfo(
|
116
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
155
117
|
info.nftId = getRegistry().register(info);
|
156
118
|
}
|
157
119
|
|
158
120
|
function registerDistributor(IRegistry.ObjectInfo memory info)
|
159
121
|
external
|
160
|
-
|
122
|
+
virtual
|
123
|
+
restricted()
|
161
124
|
returns(NftId nftId)
|
162
125
|
{
|
163
126
|
_verifyObjectInfo(info, DISTRIBUTOR());
|
@@ -166,7 +129,8 @@ contract RegistryService is
|
|
166
129
|
|
167
130
|
function registerPolicy(IRegistry.ObjectInfo memory info)
|
168
131
|
external
|
169
|
-
|
132
|
+
virtual
|
133
|
+
restricted()
|
170
134
|
returns(NftId nftId)
|
171
135
|
{
|
172
136
|
_verifyObjectInfo(info, POLICY());
|
@@ -175,7 +139,8 @@ contract RegistryService is
|
|
175
139
|
|
176
140
|
function registerBundle(IRegistry.ObjectInfo memory info)
|
177
141
|
external
|
178
|
-
|
142
|
+
virtual
|
143
|
+
restricted()
|
179
144
|
returns(NftId nftId)
|
180
145
|
{
|
181
146
|
_verifyObjectInfo(info, BUNDLE());
|
@@ -184,7 +149,8 @@ contract RegistryService is
|
|
184
149
|
|
185
150
|
function registerStake(IRegistry.ObjectInfo memory info)
|
186
151
|
external
|
187
|
-
|
152
|
+
virtual
|
153
|
+
restricted()
|
188
154
|
returns(NftId nftId)
|
189
155
|
{
|
190
156
|
_verifyObjectInfo(info, STAKE());
|
@@ -199,6 +165,7 @@ contract RegistryService is
|
|
199
165
|
address expectedOwner // assume can be 0 when given by other service
|
200
166
|
)
|
201
167
|
internal
|
168
|
+
virtual
|
202
169
|
view
|
203
170
|
returns(
|
204
171
|
IRegistry.ObjectInfo memory info
|
@@ -238,6 +205,7 @@ contract RegistryService is
|
|
238
205
|
ObjectType expectedType
|
239
206
|
)
|
240
207
|
internal
|
208
|
+
virtual
|
241
209
|
view
|
242
210
|
{
|
243
211
|
if(info.objectAddress > address(0)) {
|
@@ -254,8 +222,15 @@ contract RegistryService is
|
|
254
222
|
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
255
223
|
}
|
256
224
|
|
257
|
-
if(
|
258
|
-
revert
|
225
|
+
if(owner == msg.sender) {
|
226
|
+
revert ErrorRegistryServiceInvalidInitialOwner(owner);
|
227
|
+
}
|
228
|
+
|
229
|
+
if(getRegistry().isRegistered(owner)) {
|
230
|
+
ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
|
231
|
+
if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
|
232
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
233
|
+
}
|
259
234
|
}
|
260
235
|
}
|
261
236
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IVersionable} from "../
|
5
|
-
import {ProxyManager} from "../
|
4
|
+
import {IVersionable} from "../upgradeability/IVersionable.sol";
|
5
|
+
import {ProxyManager} from "../upgradeability/ProxyManager.sol";
|
6
6
|
import {RegistryService} from "./RegistryService.sol";
|
7
7
|
|
8
8
|
contract RegistryServiceManager is
|
@@ -21,7 +21,6 @@ contract RegistryServiceManager is
|
|
21
21
|
address registry, // used by implementation
|
22
22
|
bytes32 salt
|
23
23
|
)
|
24
|
-
ProxyManager(registry)
|
25
24
|
{
|
26
25
|
if(authority == address(0)) {
|
27
26
|
revert ErrorRegistryAccessManagerAuthorityZero();
|
@@ -33,7 +32,8 @@ contract RegistryServiceManager is
|
|
33
32
|
|
34
33
|
RegistryService srv = new RegistryService{ salt: salt }();
|
35
34
|
bytes memory data = abi.encode(registry, authority);
|
36
|
-
IVersionable versionable =
|
35
|
+
IVersionable versionable = initialize(
|
36
|
+
registry,
|
37
37
|
address(srv),
|
38
38
|
data,
|
39
39
|
salt);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {RELEASE} from "../type/ObjectType.sol";
|
5
|
-
import {SCHEDULED, DEPLOYING, ACTIVE, PAUSED, CLOSED
|
5
|
+
import {SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED, CLOSED} from "../type/StateId.sol";
|
6
6
|
import {Lifecycle} from "../shared/Lifecycle.sol";
|
7
7
|
|
8
8
|
contract ReleaseLifecycle is
|
@@ -18,9 +18,12 @@ contract ReleaseLifecycle is
|
|
18
18
|
{
|
19
19
|
setInitialState(RELEASE(), SCHEDULED());
|
20
20
|
|
21
|
+
setStateTransition(RELEASE(), SCHEDULED(), SKIPPED());
|
21
22
|
setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
|
22
|
-
setStateTransition(RELEASE(), DEPLOYING(),
|
23
|
-
setStateTransition(RELEASE(), DEPLOYING(),
|
23
|
+
setStateTransition(RELEASE(), DEPLOYING(), SKIPPED());
|
24
|
+
setStateTransition(RELEASE(), DEPLOYING(), DEPLOYED());
|
25
|
+
setStateTransition(RELEASE(), DEPLOYED(), SKIPPED());
|
26
|
+
setStateTransition(RELEASE(), DEPLOYED(), ACTIVE());
|
24
27
|
setStateTransition(RELEASE(), ACTIVE(), PAUSED());
|
25
28
|
setStateTransition(RELEASE(), PAUSED(), ACTIVE());
|
26
29
|
}
|