@etherisc/gif-next 0.0.2-f36fd21-685 → 0.0.2-f47f21f-178
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 +19 -2
- 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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +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 +163 -309
- 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 +91 -277
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +174 -292
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +99 -123
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +78 -92
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +78 -62
- 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 +1538 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -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 +1471 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +53 -31
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +29 -84
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +56 -123
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +166 -139
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +57 -97
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +459 -131
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +77 -242
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +75 -87
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +330 -233
- 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 +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +137 -283
- 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 +66 -80
- 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 +79 -265
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +91 -159
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +75 -83
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +109 -330
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +82 -22
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +359 -194
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +145 -97
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +178 -23
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +88 -130
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +384 -179
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +99 -313
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +506 -334
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -87
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +76 -168
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +72 -92
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +136 -281
- 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 +303 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +119 -103
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +34 -0
- 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 +310 -118
- 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 +124 -97
- 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 +433 -327
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +119 -103
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +199 -309
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +136 -281
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -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 +286 -34
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +114 -35
- 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 +492 -95
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +283 -143
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +78 -284
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +67 -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 +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +129 -221
- 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 +65 -236
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +355 -283
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +122 -120
- 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 +92 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +321 -19
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +66 -80
- 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 +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +79 -265
- 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 +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- 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 +330 -11
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
- 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 +63 -93
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +176 -293
- 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 +106 -91
- 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 +71 -165
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +71 -79
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +169 -128
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +54 -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 +32 -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 +2 -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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +60 -4
- 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 +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +15 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +55 -70
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +64 -59
- 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 +2 -1
- package/contracts/distribution/Distribution.sol +7 -17
- package/contracts/distribution/DistributionService.sol +83 -65
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +9 -5
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +75 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +418 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
- package/contracts/instance/IInstance.sol +10 -30
- package/contracts/instance/IInstanceService.sol +0 -20
- package/contracts/instance/Instance.sol +29 -51
- package/contracts/instance/InstanceAdmin.sol +42 -31
- package/contracts/instance/InstanceAuthorizationV3.sol +11 -21
- package/contracts/instance/InstanceReader.sol +115 -25
- package/contracts/instance/InstanceService.sol +65 -97
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +11 -1
- package/contracts/instance/base/ObjectLifecycle.sol +9 -4
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +10 -10
- package/contracts/instance/module/IPolicy.sol +24 -24
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +0 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +6 -16
- package/contracts/oracle/OracleService.sol +47 -34
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +21 -31
- package/contracts/pool/BasicPoolAuthorization.sol +5 -3
- package/contracts/pool/BundleService.sol +213 -61
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +31 -8
- package/contracts/pool/IPoolComponent.sol +18 -8
- package/contracts/pool/IPoolService.sol +56 -39
- package/contracts/pool/Pool.sol +60 -53
- package/contracts/pool/PoolService.sol +250 -140
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +59 -30
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +7 -6
- package/contracts/product/BasicProductAuthorization.sol +0 -1
- package/contracts/product/ClaimService.sol +313 -118
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +31 -7
- package/contracts/product/IPolicyService.sol +34 -34
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +23 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +394 -196
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +54 -54
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +125 -71
- package/contracts/product/{ProductService.sol → RiskService.sol} +7 -10
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -38
- package/contracts/registry/IRegistry.sol +55 -18
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +342 -201
- package/contracts/registry/RegistryAdmin.sol +134 -51
- package/contracts/registry/RegistryService.sol +35 -46
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/ReleaseLifecycle.sol +6 -3
- package/contracts/registry/ReleaseRegistry.sol +204 -188
- package/contracts/registry/ServiceAuthorizationV3.sol +16 -22
- package/contracts/shared/Component.sol +40 -55
- package/contracts/shared/ComponentService.sol +235 -151
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +23 -14
- package/contracts/shared/ContractLib.sol +38 -0
- package/contracts/shared/IComponent.sol +10 -6
- package/contracts/shared/IComponentService.sol +25 -13
- package/contracts/shared/IInstanceLinkedComponent.sol +7 -22
- 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/InitializableERC165.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +72 -31
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +27 -7
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +19 -9
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +20 -18
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +2 -1
- package/contracts/staking/IStakingService.sol +0 -3
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +13 -32
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +12 -5
- package/contracts/staking/StakingService.sol +11 -29
- package/contracts/staking/StakingServiceManager.sol +2 -2
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/NftId.sol +1 -0
- package/contracts/type/ObjectType.sol +16 -11
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +15 -1
- 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 +4 -0
- package/contracts/upgradeability/ProxyManager.sol +68 -34
- package/contracts/upgradeability/Versionable.sol +2 -2
- package/package.json +2 -1
- 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/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/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -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";
|
10
|
+
import {ObjectType, ObjectTypeLib, ALL, REGISTRY, STAKING, POOL, RELEASE} from "../type/ObjectType.sol";
|
11
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,33 @@ 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
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
|
|
41
|
+
string public constant REGISTRY_TARGET_NAME = "Registry";
|
46
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";
|
49
45
|
string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
|
50
46
|
|
51
47
|
uint8 public constant MAX_NUM_RELEASES = 99;
|
52
|
-
|
48
|
+
// TODO consider deleting this
|
53
49
|
mapping(address service => VersionPart majorVersion) private _ServiceRelease;
|
54
50
|
|
51
|
+
address internal _registry;
|
55
52
|
address private _releaseRegistry;
|
56
53
|
address private _tokenRegistry;
|
57
54
|
address private _staking;
|
58
55
|
address private _stakingStore;
|
59
|
-
bool private _setupCompleted;
|
60
56
|
|
61
57
|
constructor() AccessAdmin() { }
|
62
58
|
|
@@ -66,11 +62,10 @@ contract RegistryAdmin is
|
|
66
62
|
address gifManager
|
67
63
|
)
|
68
64
|
external
|
65
|
+
initializer
|
69
66
|
onlyDeployer()
|
70
67
|
{
|
71
|
-
|
72
|
-
else { _setupCompleted = true; }
|
73
|
-
|
68
|
+
_registry = address(registry);
|
74
69
|
_releaseRegistry = registry.getReleaseRegistryAddress();
|
75
70
|
_tokenRegistry = registry.getTokenRegistryAddress();
|
76
71
|
_staking = registry.getStakingAddress();
|
@@ -84,6 +79,7 @@ contract RegistryAdmin is
|
|
84
79
|
_setupGifManagerRole(gifManager);
|
85
80
|
|
86
81
|
_setupReleaseRegistry();
|
82
|
+
_setupRegistry();
|
87
83
|
_setupStaking();
|
88
84
|
}
|
89
85
|
|
@@ -93,15 +89,31 @@ contract RegistryAdmin is
|
|
93
89
|
/// Permissioned function: Access is restricted to release manager.
|
94
90
|
function authorizeService(
|
95
91
|
IServiceAuthorization serviceAuthorization,
|
96
|
-
IService service
|
92
|
+
IService service,
|
93
|
+
ObjectType serviceDomain,
|
94
|
+
VersionPart releaseVersion
|
97
95
|
)
|
98
96
|
external
|
99
97
|
restricted()
|
100
98
|
{
|
101
|
-
_createServiceTargetAndRole(service);
|
102
|
-
_authorizeServiceFunctions(serviceAuthorization, service);
|
99
|
+
_createServiceTargetAndRole(service, serviceDomain, releaseVersion);
|
100
|
+
_authorizeServiceFunctions(serviceAuthorization, service, serviceDomain, releaseVersion);
|
103
101
|
}
|
104
102
|
|
103
|
+
function grantServiceRole(
|
104
|
+
IService service,
|
105
|
+
ObjectType domain,
|
106
|
+
VersionPart version
|
107
|
+
)
|
108
|
+
external
|
109
|
+
restricted()
|
110
|
+
{
|
111
|
+
_grantRoleToAccount(
|
112
|
+
RoleIdLib.roleForTypeAndVersion(
|
113
|
+
domain,
|
114
|
+
version),
|
115
|
+
address(service));
|
116
|
+
}
|
105
117
|
|
106
118
|
function grantServiceRoleForAllVersions(IService service, ObjectType domain)
|
107
119
|
external
|
@@ -112,14 +124,42 @@ contract RegistryAdmin is
|
|
112
124
|
address(service));
|
113
125
|
}
|
114
126
|
|
127
|
+
function setServiceLocked(IService service, bool locked)
|
128
|
+
external
|
129
|
+
restricted()
|
130
|
+
{
|
131
|
+
_setTargetClosed(address(service), locked);
|
132
|
+
}
|
115
133
|
|
116
|
-
function
|
134
|
+
/*function transferAdmin(address to)
|
135
|
+
external
|
136
|
+
restricted // only with GIF_ADMIN_ROLE or nft owner
|
137
|
+
{
|
138
|
+
_accessManager.revoke(GIF_ADMIN_ROLE, );
|
139
|
+
_accesssManager.grant(GIF_ADMIN_ROLE, to, 0);
|
140
|
+
}*/
|
141
|
+
|
142
|
+
//--- view functions ----------------------------------------------------//
|
143
|
+
|
144
|
+
function getGifAdminRole() external view returns (RoleId) {
|
145
|
+
return GIF_ADMIN_ROLE();
|
146
|
+
}
|
147
|
+
|
148
|
+
function getGifManagerRole() external view returns (RoleId) {
|
149
|
+
return GIF_MANAGER_ROLE();
|
150
|
+
}
|
151
|
+
|
152
|
+
//--- private functions -------------------------------------------------//
|
153
|
+
|
154
|
+
function _createServiceTargetAndRole(
|
155
|
+
IService service,
|
156
|
+
ObjectType serviceDomain,
|
157
|
+
VersionPart releaseVersion
|
158
|
+
)
|
117
159
|
private
|
118
160
|
{
|
119
|
-
ObjectType serviceDomain = service.getDomain();
|
120
161
|
string memory baseName = ObjectTypeLib.toName(serviceDomain);
|
121
|
-
|
122
|
-
uint256 versionInt = version.toInt();
|
162
|
+
uint256 versionInt = releaseVersion.toInt();
|
123
163
|
|
124
164
|
// create service target
|
125
165
|
string memory serviceTargetName = ObjectTypeLib.toVersionedName(
|
@@ -131,10 +171,12 @@ contract RegistryAdmin is
|
|
131
171
|
true,
|
132
172
|
false);
|
133
173
|
|
174
|
+
_setTargetClosed(address(service), true);
|
175
|
+
|
134
176
|
// create service role
|
135
177
|
RoleId serviceRoleId = RoleIdLib.roleForTypeAndVersion(
|
136
178
|
serviceDomain,
|
137
|
-
|
179
|
+
releaseVersion);
|
138
180
|
|
139
181
|
_createRole(
|
140
182
|
serviceRoleId,
|
@@ -155,15 +197,15 @@ contract RegistryAdmin is
|
|
155
197
|
|
156
198
|
function _authorizeServiceFunctions(
|
157
199
|
IServiceAuthorization serviceAuthorization,
|
158
|
-
IService service
|
200
|
+
IService service,
|
201
|
+
ObjectType serviceDomain,
|
202
|
+
VersionPart releaseVersion
|
159
203
|
)
|
160
204
|
private
|
161
205
|
{
|
162
|
-
ObjectType serviceDomain = service.getDomain();
|
163
206
|
ObjectType authorizedDomain;
|
164
207
|
RoleId authorizedRoleId;
|
165
208
|
|
166
|
-
VersionPart release = service.getVersion().toMajorPart();
|
167
209
|
ObjectType[] memory authorizedDomains = serviceAuthorization.getAuthorizedDomains(serviceDomain);
|
168
210
|
|
169
211
|
for (uint256 i = 0; i < authorizedDomains.length; i++) {
|
@@ -175,7 +217,7 @@ contract RegistryAdmin is
|
|
175
217
|
} else {
|
176
218
|
authorizedRoleId = RoleIdLib.roleForTypeAndVersion(
|
177
219
|
authorizedDomain,
|
178
|
-
|
220
|
+
releaseVersion);
|
179
221
|
}
|
180
222
|
|
181
223
|
// get authorized functions for authorized domain
|
@@ -190,27 +232,12 @@ contract RegistryAdmin is
|
|
190
232
|
}
|
191
233
|
}
|
192
234
|
|
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
|
-
}
|
235
|
+
//--- private initialization functions -------------------------------------------//
|
210
236
|
|
211
|
-
|
212
|
-
|
213
|
-
|
237
|
+
function _setupGifAdminRole(address gifAdmin)
|
238
|
+
private
|
239
|
+
onlyInitializing()
|
240
|
+
{
|
214
241
|
|
215
242
|
_createRole(
|
216
243
|
GIF_ADMIN_ROLE(),
|
@@ -220,8 +247,13 @@ contract RegistryAdmin is
|
|
220
247
|
maxMemberCount: 2, // TODO decide on max member count
|
221
248
|
name: GIF_ADMIN_ROLE_NAME}));
|
222
249
|
|
223
|
-
// for
|
250
|
+
// for Registry
|
224
251
|
FunctionInfo[] memory functions;
|
252
|
+
functions = new FunctionInfo[](1);
|
253
|
+
functions[0] = toFunction(IRegistry.registerRegistry.selector, "registerRegistry");
|
254
|
+
_authorizeTargetFunctions(_registry, GIF_ADMIN_ROLE(), functions);
|
255
|
+
|
256
|
+
// for ReleaseRegistry
|
225
257
|
functions = new FunctionInfo[](4);
|
226
258
|
functions[0] = toFunction(ReleaseRegistry.createNextRelease.selector, "createNextRelease");
|
227
259
|
functions[1] = toFunction(ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
|
@@ -232,7 +264,10 @@ contract RegistryAdmin is
|
|
232
264
|
_grantRoleToAccount(GIF_ADMIN_ROLE(), gifAdmin);
|
233
265
|
}
|
234
266
|
|
235
|
-
function _setupGifManagerRole(address gifManager)
|
267
|
+
function _setupGifManagerRole(address gifManager)
|
268
|
+
private
|
269
|
+
onlyInitializing()
|
270
|
+
{
|
236
271
|
|
237
272
|
_createRole(
|
238
273
|
GIF_MANAGER_ROLE(),
|
@@ -263,7 +298,10 @@ contract RegistryAdmin is
|
|
263
298
|
}
|
264
299
|
|
265
300
|
|
266
|
-
function _setupReleaseRegistry()
|
301
|
+
function _setupReleaseRegistry()
|
302
|
+
private
|
303
|
+
onlyInitializing()
|
304
|
+
{
|
267
305
|
|
268
306
|
_createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, true, false);
|
269
307
|
|
@@ -277,16 +315,53 @@ contract RegistryAdmin is
|
|
277
315
|
name: RELEASE_REGISTRY_ROLE_NAME}));
|
278
316
|
|
279
317
|
FunctionInfo[] memory functions;
|
280
|
-
functions = new FunctionInfo[](
|
318
|
+
functions = new FunctionInfo[](4);
|
281
319
|
functions[0] = toFunction(RegistryAdmin.authorizeService.selector, "authorizeService");
|
282
320
|
functions[1] = toFunction(RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
|
321
|
+
functions[2] = toFunction(RegistryAdmin.grantServiceRole.selector, "grantServiceRole");
|
322
|
+
functions[3] = toFunction(RegistryAdmin.setServiceLocked.selector, "setServiceLocked");
|
283
323
|
_authorizeTargetFunctions(address(this), releaseRegistryRoleId, functions);
|
284
324
|
|
285
325
|
_grantRoleToAccount(releaseRegistryRoleId, _releaseRegistry);
|
286
326
|
}
|
287
327
|
|
288
328
|
|
289
|
-
function
|
329
|
+
function _setupRegistry()
|
330
|
+
internal
|
331
|
+
virtual
|
332
|
+
onlyInitializing()
|
333
|
+
{
|
334
|
+
_createTarget(_registry, REGISTRY_TARGET_NAME, true, false);
|
335
|
+
|
336
|
+
// registry function authorization for registry service
|
337
|
+
RoleId registryServiceRoleId = RoleIdLib.roleForTypeAndAllVersions(REGISTRY());
|
338
|
+
_createRole(
|
339
|
+
registryServiceRoleId,
|
340
|
+
toRole({
|
341
|
+
adminRoleId: ADMIN_ROLE(),
|
342
|
+
roleType: RoleType.Contract,
|
343
|
+
maxMemberCount: MAX_NUM_RELEASES,
|
344
|
+
name: REGISTRY_SERVICE_ROLE_NAME}));
|
345
|
+
|
346
|
+
// authorize registry service
|
347
|
+
FunctionInfo[] memory functions;
|
348
|
+
functions = new FunctionInfo[](2);
|
349
|
+
functions[0] = toFunction(IRegistry.register.selector, "register");
|
350
|
+
functions[1] = toFunction(IRegistry.registerWithCustomType.selector, "registerWithCustomType");
|
351
|
+
_authorizeTargetFunctions(_registry, registryServiceRoleId, functions);
|
352
|
+
|
353
|
+
// authorize release registry
|
354
|
+
RoleId releaseRegistryRoleId = RoleIdLib.roleForType(RELEASE());
|
355
|
+
functions = new FunctionInfo[](1);
|
356
|
+
functions[0] = toFunction(IRegistry.registerService.selector, "registerService");
|
357
|
+
_authorizeTargetFunctions(_registry, releaseRegistryRoleId, functions);
|
358
|
+
}
|
359
|
+
|
360
|
+
|
361
|
+
function _setupStaking()
|
362
|
+
private
|
363
|
+
onlyInitializing()
|
364
|
+
{
|
290
365
|
_createTarget(_staking, STAKING_TARGET_NAME, true, false);
|
291
366
|
_createTarget(_stakingStore, STAKING_STORE_TARGET_NAME, true, false);
|
292
367
|
|
@@ -359,7 +434,15 @@ contract RegistryAdmin is
|
|
359
434
|
functions[12] = toFunction(StakingStore.claimUpTo.selector, "claimUpTo");
|
360
435
|
functions[13] = toFunction(StakingStore.unstakeUpTo.selector, "unstakeUpTo");
|
361
436
|
_authorizeTargetFunctions(_stakingStore, stakingRoleId, functions);
|
362
|
-
|
437
|
+
|
363
438
|
_grantRoleToAccount(stakingRoleId, _staking);
|
439
|
+
|
440
|
+
// grant token handler authorizations
|
441
|
+
IStaking staking = IStaking(_staking);
|
442
|
+
functions = new FunctionInfo[](2);
|
443
|
+
functions[0] = toFunction(TokenHandler.collectTokens.selector, "collectTokens");
|
444
|
+
functions[1] = toFunction(TokenHandler.distributeTokens.selector, "distributeTokens");
|
445
|
+
|
446
|
+
_authorizeTargetFunctions(address(staking.getTokenHandler()), stakingRoleId, functions);
|
364
447
|
}
|
365
448
|
}
|
@@ -18,8 +18,6 @@ contract RegistryService is
|
|
18
18
|
Service,
|
19
19
|
IRegistryService
|
20
20
|
{
|
21
|
-
using NftIdLib for NftId;
|
22
|
-
|
23
21
|
// TODO update to real hash when registry is stable
|
24
22
|
bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
|
25
23
|
|
@@ -39,8 +37,8 @@ contract RegistryService is
|
|
39
37
|
address initialAuthority
|
40
38
|
) = abi.decode(data, (address, address));
|
41
39
|
|
42
|
-
|
43
|
-
|
40
|
+
_initializeService(registryAddress, initialAuthority, owner);
|
41
|
+
_registerInterface(type(IRegistryService).interfaceId);
|
44
42
|
}
|
45
43
|
|
46
44
|
|
@@ -60,7 +58,7 @@ contract RegistryService is
|
|
60
58
|
function registerInstance(IRegisterable instance, address owner)
|
61
59
|
external
|
62
60
|
virtual
|
63
|
-
restricted
|
61
|
+
restricted()
|
64
62
|
returns(
|
65
63
|
IRegistry.ObjectInfo memory info
|
66
64
|
)
|
@@ -75,29 +73,33 @@ contract RegistryService is
|
|
75
73
|
instance.linkToRegisteredNftId(); // asume safe
|
76
74
|
}
|
77
75
|
|
78
|
-
function registerProduct(
|
76
|
+
function registerProduct(
|
77
|
+
IComponent product,
|
78
|
+
address initialOwner
|
79
|
+
)
|
79
80
|
external
|
80
|
-
|
81
|
+
virtual
|
82
|
+
restricted()
|
81
83
|
returns(
|
82
84
|
IRegistry.ObjectInfo memory info
|
83
85
|
)
|
84
86
|
{
|
85
|
-
// CAN revert if no ERC165 support -> will revert with empty message
|
86
87
|
if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
87
88
|
revert ErrorRegistryServiceNotProduct(address(product));
|
88
89
|
}
|
89
90
|
|
90
|
-
info = _getAndVerifyContractInfo(product, PRODUCT(),
|
91
|
+
info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
|
91
92
|
info.nftId = getRegistry().register(info);
|
92
93
|
}
|
93
94
|
|
94
|
-
function
|
95
|
+
function registerProductLinkedComponent(
|
95
96
|
IComponent component,
|
96
97
|
ObjectType objectType,
|
97
98
|
address initialOwner
|
98
99
|
)
|
99
100
|
external
|
100
|
-
|
101
|
+
virtual
|
102
|
+
restricted()
|
101
103
|
returns(
|
102
104
|
IRegistry.ObjectInfo memory info
|
103
105
|
)
|
@@ -107,43 +109,18 @@ contract RegistryService is
|
|
107
109
|
revert ErrorRegistryServiceNotComponent(address(component));
|
108
110
|
}
|
109
111
|
|
110
|
-
|
111
|
-
|
112
|
-
}
|
113
|
-
|
114
|
-
function registerPool(IComponent pool, address owner)
|
115
|
-
external
|
116
|
-
restricted
|
117
|
-
returns(
|
118
|
-
IRegistry.ObjectInfo memory info
|
119
|
-
)
|
120
|
-
{
|
121
|
-
if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
|
122
|
-
revert ErrorRegistryServiceNotPool(address(pool));
|
123
|
-
}
|
124
|
-
|
125
|
-
info = _getAndVerifyContractInfo(pool, POOL(), owner);
|
126
|
-
info.nftId = getRegistry().register(info);
|
127
|
-
}
|
128
|
-
|
129
|
-
function registerDistribution(IComponent distribution, address owner)
|
130
|
-
external
|
131
|
-
restricted
|
132
|
-
returns(
|
133
|
-
IRegistry.ObjectInfo memory info
|
134
|
-
)
|
135
|
-
{
|
136
|
-
if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
|
137
|
-
revert ErrorRegistryServiceNotDistribution(address(distribution));
|
112
|
+
if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
|
113
|
+
revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
|
138
114
|
}
|
139
115
|
|
140
|
-
info = _getAndVerifyContractInfo(
|
116
|
+
info = _getAndVerifyContractInfo(component, objectType, initialOwner);
|
141
117
|
info.nftId = getRegistry().register(info);
|
142
118
|
}
|
143
119
|
|
144
120
|
function registerDistributor(IRegistry.ObjectInfo memory info)
|
145
121
|
external
|
146
|
-
|
122
|
+
virtual
|
123
|
+
restricted()
|
147
124
|
returns(NftId nftId)
|
148
125
|
{
|
149
126
|
_verifyObjectInfo(info, DISTRIBUTOR());
|
@@ -152,7 +129,8 @@ contract RegistryService is
|
|
152
129
|
|
153
130
|
function registerPolicy(IRegistry.ObjectInfo memory info)
|
154
131
|
external
|
155
|
-
|
132
|
+
virtual
|
133
|
+
restricted()
|
156
134
|
returns(NftId nftId)
|
157
135
|
{
|
158
136
|
_verifyObjectInfo(info, POLICY());
|
@@ -161,7 +139,8 @@ contract RegistryService is
|
|
161
139
|
|
162
140
|
function registerBundle(IRegistry.ObjectInfo memory info)
|
163
141
|
external
|
164
|
-
|
142
|
+
virtual
|
143
|
+
restricted()
|
165
144
|
returns(NftId nftId)
|
166
145
|
{
|
167
146
|
_verifyObjectInfo(info, BUNDLE());
|
@@ -170,7 +149,8 @@ contract RegistryService is
|
|
170
149
|
|
171
150
|
function registerStake(IRegistry.ObjectInfo memory info)
|
172
151
|
external
|
173
|
-
|
152
|
+
virtual
|
153
|
+
restricted()
|
174
154
|
returns(NftId nftId)
|
175
155
|
{
|
176
156
|
_verifyObjectInfo(info, STAKE());
|
@@ -185,6 +165,7 @@ contract RegistryService is
|
|
185
165
|
address expectedOwner // assume can be 0 when given by other service
|
186
166
|
)
|
187
167
|
internal
|
168
|
+
virtual
|
188
169
|
view
|
189
170
|
returns(
|
190
171
|
IRegistry.ObjectInfo memory info
|
@@ -224,6 +205,7 @@ contract RegistryService is
|
|
224
205
|
ObjectType expectedType
|
225
206
|
)
|
226
207
|
internal
|
208
|
+
virtual
|
227
209
|
view
|
228
210
|
{
|
229
211
|
if(info.objectAddress > address(0)) {
|
@@ -240,8 +222,15 @@ contract RegistryService is
|
|
240
222
|
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
241
223
|
}
|
242
224
|
|
243
|
-
if(
|
244
|
-
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
|
+
}
|
245
234
|
}
|
246
235
|
}
|
247
236
|
|
@@ -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
|
}
|