From 1b5ed5d2faebed3c804438a2a98bd3b66597e459 Mon Sep 17 00:00:00 2001 From: veeso Date: Thu, 15 May 2025 12:12:42 +0200 Subject: [PATCH] EPROD-1197 added block confirmation strategy in EVM canister --- Cargo.toml | 2 +- src/did/src/ic.rs | 3 ++- src/did/src/init.rs | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4c1062c9..6b357477 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ homepage = "https://github.com/bitfinity-network/bitfinity-evm-sdk" include = ["src/**/*", "LICENSE", "README.md"] license = "MIT" repository = "https://github.com/bitfinity-network/bitfinity-evm-sdk" -version = "0.50.0" +version = "0.51.0" [workspace.dependencies] did = { path = "src/did" } diff --git a/src/did/src/ic.rs b/src/did/src/ic.rs index 0f1f0732..a6d1bd7f 100644 --- a/src/did/src/ic.rs +++ b/src/did/src/ic.rs @@ -116,10 +116,11 @@ pub struct BlockchainBlockInfo { /// Strategy for confirming a block. /// When a block is confirmed, it becomes `safe`. -#[derive(Debug, Clone, CandidType, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Debug, Default, Clone, CandidType, Serialize, Deserialize, PartialEq, Eq)] pub enum BlockConfirmationStrategy { /// The block does not require any particular confirmation, /// it is always considered safe. + #[default] None, /// The block requires a proof of work to be considered safe. diff --git a/src/did/src/init.rs b/src/did/src/init.rs index 122e7847..5ee28058 100644 --- a/src/did/src/init.rs +++ b/src/did/src/init.rs @@ -5,7 +5,7 @@ use ic_log::LogSettings; use serde::{Deserialize, Serialize}; use crate::permission::Permission; -use crate::{H160, U256}; +use crate::{BlockConfirmationStrategy, H160, U256}; /// These are the arguments which are taken by the evm canister init fn #[derive(Debug, Clone, CandidType, Deserialize)] @@ -27,6 +27,8 @@ pub struct EvmCanisterInitData { pub genesis_accounts: Vec<(H160, Option)>, /// Coinbase address pub coinbase: H160, + /// Block confirmation strategy + pub block_confirmation_strategy: BlockConfirmationStrategy, } impl Default for EvmCanisterInitData { @@ -42,6 +44,7 @@ impl Default for EvmCanisterInitData { owner: Principal::management_canister(), genesis_accounts: vec![], coinbase: Default::default(), + block_confirmation_strategy: BlockConfirmationStrategy::default(), } } }