diff --git a/core/lib/eth_signer/src/g_kms_signer.rs b/core/lib/eth_signer/src/g_kms_signer.rs index a91f15910..8aa54e8be 100644 --- a/core/lib/eth_signer/src/g_kms_signer.rs +++ b/core/lib/eth_signer/src/g_kms_signer.rs @@ -119,7 +119,14 @@ impl EthereumSigner for GKMSSigner { .await .map_err(|e| SignerError::SigningFailed(e.to_string()))?; - let adjusted_v = signature.v + raw_tx.chain_id * 2 + 35; // eip155 + let _adjust_v_value = matches!(tx.transaction_type.map(|t| t.as_u64()), Some(0) | None); + + let mut adjusted_v = 0; + if _adjust_v_value { + adjusted_v = signature.v + raw_tx.chain_id * 2 + 35; // eip155 + } else { + adjusted_v = signature.v; + } let r_h256 = H256::from_slice(signature.r.as_byte_slice()); let s_h256 = H256::from_slice(signature.s.as_byte_slice());