@etherisc/gif-next 0.0.2-f1e0c66-773 → 0.0.2-f1f3b2c-994
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 +7 -2
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +81 -63
- 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 +2 -2
- 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 +48 -30
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +21 -2
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +72 -9
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -248
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -222
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +134 -286
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +84 -120
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +21 -37
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +49 -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 +1512 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1999 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +414 -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 +1432 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1192 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1566 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2001 -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/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +10 -99
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +145 -111
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +14 -14
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +437 -124
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +39 -146
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +61 -81
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +285 -218
- 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 +45 -4
- 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 +47 -232
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +18 -18
- 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 +15 -31
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +15 -216
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +37 -144
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -80
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +51 -274
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +319 -188
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +130 -94
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +149 -23
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +44 -88
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +360 -171
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +41 -270
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +492 -333
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +98 -82
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +36 -162
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +57 -89
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +43 -242
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +16 -16
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +263 -181
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +104 -100
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +5 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +147 -6
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +282 -119
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +43 -57
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +2 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +399 -327
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +104 -100
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +115 -267
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +80 -120
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +43 -242
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -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 +238 -34
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +436 -95
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +261 -143
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +23 -313
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +52 -72
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +46 -5
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +117 -215
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +70 -12
- 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 +15 -205
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +89 -212
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +96 -114
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +5 -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 +15 -20
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +15 -31
- 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/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/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- 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 +15 -216
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +41 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +41 -0
- 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 +6 -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 +8 -97
- 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 +5 -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 +42 -21
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- 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 +100 -256
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +45 -4
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +77 -88
- 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 +31 -138
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +56 -76
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +168 -127
- 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 +39 -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 +31 -24
- package/contracts/authorization/Authorization.sol +5 -2
- package/contracts/authorization/IAccessAdmin.sol +3 -2
- package/contracts/authorization/IServiceAuthorization.sol +4 -2
- package/contracts/authorization/ServiceAuthorization.sol +27 -11
- package/contracts/distribution/Distribution.sol +1 -1
- package/contracts/distribution/DistributionService.sol +32 -33
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- 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 +411 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -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 +7 -30
- package/contracts/instance/Instance.sol +10 -35
- package/contracts/instance/InstanceAdmin.sol +29 -7
- package/contracts/instance/InstanceAuthorizationV3.sol +3 -3
- package/contracts/instance/InstanceReader.sol +115 -25
- package/contracts/instance/InstanceService.sol +63 -41
- 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 +4 -7
- package/contracts/instance/module/IPolicy.sol +24 -24
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/Oracle.sol +2 -1
- package/contracts/oracle/OracleService.sol +11 -8
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +7 -5
- package/contracts/pool/BasicPoolAuthorization.sol +5 -2
- package/contracts/pool/BundleService.sol +166 -46
- 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 +57 -36
- package/contracts/pool/Pool.sol +59 -34
- package/contracts/pool/PoolService.sol +231 -102
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +50 -29
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +1 -0
- package/contracts/product/ClaimService.sol +251 -87
- 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 +7 -7
- package/contracts/product/IProductComponent.sol +17 -4
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +379 -192
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +46 -46
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +81 -50
- package/contracts/product/{ProductService.sol → RiskService.sol} +7 -10
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +65 -32
- package/contracts/registry/IRegistry.sol +51 -18
- package/contracts/registry/IRegistryService.sol +0 -9
- package/contracts/registry/Registry.sol +328 -197
- package/contracts/registry/RegistryAdmin.sol +134 -51
- package/contracts/registry/RegistryService.sol +55 -48
- package/contracts/registry/RegistryServiceManager.sol +2 -2
- package/contracts/registry/ReleaseLifecycle.sol +6 -3
- package/contracts/registry/ReleaseRegistry.sol +194 -183
- package/contracts/registry/ServiceAuthorizationV3.sol +8 -10
- package/contracts/shared/Component.sol +25 -29
- package/contracts/shared/ComponentService.sol +20 -30
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +2 -3
- package/contracts/shared/ContractLib.sol +38 -0
- package/contracts/shared/IComponent.sol +7 -4
- package/contracts/shared/IInstanceLinkedComponent.sol +8 -15
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/InitializableERC165.sol +2 -2
- package/contracts/shared/InstanceLinkedComponent.sol +5 -6
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +13 -2
- package/contracts/shared/NftOwnable.sol +5 -5
- package/contracts/shared/PolicyHolder.sol +15 -52
- package/contracts/shared/Registerable.sol +4 -4
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +16 -11
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +2 -1
- package/contracts/staking/StakeManagerLib.sol +18 -25
- package/contracts/staking/Staking.sol +11 -29
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +12 -5
- package/contracts/staking/StakingService.sol +10 -14
- 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/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 +67 -34
- package/contracts/upgradeability/Versionable.sol +2 -2
- package/package.json +2 -1
- 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/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
|
}
|
@@ -39,8 +39,8 @@ contract RegistryService is
|
|
39
39
|
address initialAuthority
|
40
40
|
) = abi.decode(data, (address, address));
|
41
41
|
|
42
|
-
|
43
|
-
|
42
|
+
_initializeService(registryAddress, initialAuthority, owner);
|
43
|
+
_registerInterface(type(IRegistryService).interfaceId);
|
44
44
|
}
|
45
45
|
|
46
46
|
|
@@ -75,21 +75,21 @@ contract RegistryService is
|
|
75
75
|
instance.linkToRegisteredNftId(); // asume safe
|
76
76
|
}
|
77
77
|
|
78
|
-
function registerProduct(IComponent product, address owner)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
{
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
}
|
78
|
+
// function registerProduct(IComponent product, address owner)
|
79
|
+
// external
|
80
|
+
// restricted
|
81
|
+
// returns(
|
82
|
+
// IRegistry.ObjectInfo memory info
|
83
|
+
// )
|
84
|
+
// {
|
85
|
+
// // CAN revert if no ERC165 support -> will revert with empty message
|
86
|
+
// if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
|
87
|
+
// revert ErrorRegistryServiceNotProduct(address(product));
|
88
|
+
// }
|
89
|
+
|
90
|
+
// info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
|
91
|
+
// info.nftId = getRegistry().register(info);
|
92
|
+
// }
|
93
93
|
|
94
94
|
function registerComponent(
|
95
95
|
IComponent component,
|
@@ -111,35 +111,35 @@ contract RegistryService is
|
|
111
111
|
info.nftId = getRegistry().register(info);
|
112
112
|
}
|
113
113
|
|
114
|
-
function registerPool(IComponent pool, address owner)
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
{
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
}
|
128
|
-
|
129
|
-
function registerDistribution(IComponent distribution, address owner)
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
{
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
}
|
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));
|
138
|
+
// }
|
139
|
+
|
140
|
+
// info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
|
141
|
+
// info.nftId = getRegistry().register(info);
|
142
|
+
// }
|
143
143
|
|
144
144
|
function registerDistributor(IRegistry.ObjectInfo memory info)
|
145
145
|
external
|
@@ -240,8 +240,15 @@ contract RegistryService is
|
|
240
240
|
revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
|
241
241
|
}
|
242
242
|
|
243
|
-
if(
|
244
|
-
revert
|
243
|
+
if(owner == msg.sender) {
|
244
|
+
revert ErrorRegistryServiceInvalidInitialOwner(owner);
|
245
|
+
}
|
246
|
+
|
247
|
+
if(getRegistry().isRegistered(owner)) {
|
248
|
+
ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
|
249
|
+
if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
|
250
|
+
revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
|
251
|
+
}
|
245
252
|
}
|
246
253
|
}
|
247
254
|
|
@@ -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
|
}
|