From f7408a0da22d1860ebbd98ca302a89cb413a6b6a Mon Sep 17 00:00:00 2001 From: Ashok Menon Date: Tue, 30 Jul 2024 20:05:18 +0100 Subject: [PATCH] [GraphQL/ProtocolConfig] chain_identifier ## Description Read the genesis digest from the `chain_identifier` table, instead of `checkpoints`, because it may not exist there (if the underlying table is pruned). ## Test plan Run the service, and test the following query. ```graphql query { protocolConfig(protocolVersion: 10) { featureFlags { key value } } } ``` --- crates/sui-graphql-rpc/src/types/protocol_config.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/sui-graphql-rpc/src/types/protocol_config.rs b/crates/sui-graphql-rpc/src/types/protocol_config.rs index b8387db16f9b4..a37f723d31833 100644 --- a/crates/sui-graphql-rpc/src/types/protocol_config.rs +++ b/crates/sui-graphql-rpc/src/types/protocol_config.rs @@ -3,7 +3,7 @@ use async_graphql::*; use diesel::{ExpressionMethods, QueryDsl}; -use sui_indexer::schema::{checkpoints, epochs}; +use sui_indexer::schema::{chain_identifier, epochs}; use sui_protocol_config::{ProtocolConfig as NativeProtocolConfig, ProtocolVersion}; use crate::{ @@ -88,7 +88,7 @@ impl ProtocolConfigs { impl ProtocolConfigs { pub(crate) async fn query(db: &Db, protocol_version: Option) -> Result { - use checkpoints::dsl as c; + use chain_identifier::dsl as c; use epochs::dsl as e; let (latest_version, digest_bytes): (i64, Option>) = db @@ -97,9 +97,8 @@ impl ProtocolConfigs { e::epochs .select(( e::protocol_version, - c::checkpoints + c::chain_identifier .select(c::checkpoint_digest) - .filter(c::sequence_number.eq(0)) .single_value(), )) .order_by(e::epoch.desc())