From ea9a359384f7c808475fbfbf5cb97c01f015e921 Mon Sep 17 00:00:00 2001 From: Sergey Timoshin Date: Mon, 27 Jan 2025 14:24:04 +0100 Subject: [PATCH] feat: add hash field to CompressedAccount --- program-tests/utils/src/conversions.rs | 1 + sdk-libs/client/src/indexer/mod.rs | 1 + sdk-libs/client/tests/rpc_client.rs | 8 +++++++- sdk-libs/sdk/src/account.rs | 1 + sdk-libs/sdk/src/account_info.rs | 2 ++ sdk-libs/sdk/src/compressed_account.rs | 1 + 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/program-tests/utils/src/conversions.rs b/program-tests/utils/src/conversions.rs index 162826896f..5800cfe0b3 100644 --- a/program-tests/utils/src/conversions.rs +++ b/program-tests/utils/src/conversions.rs @@ -80,6 +80,7 @@ pub fn program_to_sdk_compressed_account( owner: program_account.owner, lamports: program_account.lamports, address: program_account.address, + hash: None, data: program_account .data .map(program_to_sdk_compressed_account_data), diff --git a/sdk-libs/client/src/indexer/mod.rs b/sdk-libs/client/src/indexer/mod.rs index a5d2f4b56f..5e03732d67 100644 --- a/sdk-libs/client/src/indexer/mod.rs +++ b/sdk-libs/client/src/indexer/mod.rs @@ -355,6 +355,7 @@ impl TryFrom for CompressedAccountWithMerkleContext { address: account .address .map(|a| <[u8; 32]>::from_base58(&a).unwrap()), + hash: Some(<[u8; 32]>::from_base58(&account.hash)?), lamports: account.lamports, owner: Pubkey::from_str(&account.owner)?, data: None, diff --git a/sdk-libs/client/tests/rpc_client.rs b/sdk-libs/client/tests/rpc_client.rs index 7f57c6ecfe..8acf3c3e76 100644 --- a/sdk-libs/client/tests/rpc_client.rs +++ b/sdk-libs/client/tests/rpc_client.rs @@ -227,7 +227,13 @@ async fn test_all_endpoints() { let balance = indexer .get_compressed_token_account_balance( None, - Some(token_account.compressed_account.hash().unwrap()), + Some( + token_account + .compressed_account + .compressed_account + .hash + .unwrap(), + ), ) .await .unwrap(); diff --git a/sdk-libs/sdk/src/account.rs b/sdk-libs/sdk/src/account.rs index c9a1acfa54..60f97bb5f2 100644 --- a/sdk-libs/sdk/src/account.rs +++ b/sdk-libs/sdk/src/account.rs @@ -146,6 +146,7 @@ where owner: *self.account_info.owner, lamports: self.account_info.lamports.unwrap_or(0), address: self.account_info.address, + hash: None, data, }, merkle_tree_index, diff --git a/sdk-libs/sdk/src/account_info.rs b/sdk-libs/sdk/src/account_info.rs index 242d94164b..4e05f31420 100644 --- a/sdk-libs/sdk/src/account_info.rs +++ b/sdk-libs/sdk/src/account_info.rs @@ -311,6 +311,7 @@ impl<'a> LightAccountInfo<'a> { owner: *self.owner, lamports: input.lamports.unwrap_or(0), address: input.address, + hash: None, data, }, merkle_context: input.merkle_context, @@ -346,6 +347,7 @@ impl<'a> LightAccountInfo<'a> { owner: *self.owner, lamports: self.lamports.unwrap_or(0), address: self.address, + hash: None, data, }, merkle_tree_index, diff --git a/sdk-libs/sdk/src/compressed_account.rs b/sdk-libs/sdk/src/compressed_account.rs index a11797847e..9895857ea5 100644 --- a/sdk-libs/sdk/src/compressed_account.rs +++ b/sdk-libs/sdk/src/compressed_account.rs @@ -11,6 +11,7 @@ pub struct CompressedAccount { pub owner: Pubkey, pub lamports: u64, pub address: Option<[u8; 32]>, + pub hash: Option<[u8; 32]>, pub data: Option, }