Skip to content

Commit 7a1e8c6

Browse files
committed
feat: add paginated upgrade info retrieval to EVM client
1 parent 87b74e4 commit 7a1e8c6

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/did/src/upgrade_info.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,9 @@ impl Storable for UpgradeInfo {
2828
Decode!(&bytes, UpgradeInfo).expect("Failed to decode UpgradeInfo")
2929
}
3030
}
31+
32+
#[derive(CandidType, Deserialize, Clone, Debug)]
33+
pub struct PaginatedUpgradeInfo {
34+
pub info: Vec<UpgradeInfo>,
35+
pub total_count: u64,
36+
}

src/evm-canister-client/src/client.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use did::send_raw_transaction::SendRawTransactionRequest;
99
use did::state::BasicAccount;
1010
use did::transaction::StorableExecutionResult;
1111
use did::unsafe_blocks::ValidateUnsafeBlockArgs;
12+
use did::upgrade_info::PaginatedUpgradeInfo;
1213
use did::{
1314
Block, BlockConfirmationData, BlockConfirmationResult, BlockConfirmationStrategy, BlockNumber,
1415
BlockchainBlockInfo, BlockchainStorageLimits, Bytes, EstimateGasRequest, EvmStats, FeeHistory,
@@ -926,4 +927,15 @@ impl<C: CanisterClient> EvmCanisterClient<C> {
926927
pub async fn get_blockchain_block_info(&self) -> CanisterClientResult<BlockchainBlockInfo> {
927928
self.client.query("get_blockchain_block_info", ()).await
928929
}
930+
931+
/// Returns the upgrade info paginated by count and offset
932+
pub async fn get_upgrade_info_paginated(
933+
&self,
934+
count: u64,
935+
offset: usize,
936+
) -> CanisterClientResult<PaginatedUpgradeInfo> {
937+
self.client
938+
.query("get_upgrade_info_paginated", (count, offset))
939+
.await
940+
}
929941
}

0 commit comments

Comments
 (0)