pub struct SigningResult {
pub parsed_tx: ParsedTx,
pub policy_result: PolicyCheckResult,
pub signature: Option<SignatureBytes>,
pub recovery_id: Option<u8>,
}Expand description
Comprehensive result of a signing operation.
Contains all information about the signing attempt:
- The parsed transaction
- The policy check result
- The signature (if signing was performed and allowed)
- The recovery ID for ECDSA signatures
§Signature Format
For secp256k1 signatures, the signature is 64 bytes (r || s). The recovery ID is returned separately for flexibility in different transaction formats:
- Ethereum legacy:
v = recovery_id + 27 - Ethereum EIP-155:
v = recovery_id + 35 + chain_id * 2 - Ethereum EIP-2930/EIP-1559:
v = recovery_id
Fields§
§parsed_tx: ParsedTxThe parsed transaction with all extracted fields.
policy_result: PolicyCheckResultThe result of the policy check.
signature: Option<SignatureBytes>The signature (if signing was performed and allowed).
This is None for:
- Dry-run checks (using
SigningService::check) - Transactions denied by policy
recovery_id: Option<u8>Recovery ID for ECDSA signatures (0 or 1).
This is needed for Ethereum ecrecover operations.
None if no signature was produced.
Implementations§
Source§impl SigningResult
impl SigningResult
Sourcepub const fn allowed(
parsed_tx: ParsedTx,
signature: SignatureBytes,
recovery_id: u8,
) -> Self
pub const fn allowed( parsed_tx: ParsedTx, signature: SignatureBytes, recovery_id: u8, ) -> Self
Create a new signing result for an allowed transaction.
Sourcepub const fn checked(
parsed_tx: ParsedTx,
policy_result: PolicyCheckResult,
) -> Self
pub const fn checked( parsed_tx: ParsedTx, policy_result: PolicyCheckResult, ) -> Self
Create a signing result for a dry-run check (no signature).
Sourcepub const fn is_allowed(&self) -> bool
pub const fn is_allowed(&self) -> bool
Returns true if the transaction was allowed.
Sourcepub const fn has_signature(&self) -> bool
pub const fn has_signature(&self) -> bool
Returns true if a signature was produced.
Sourcepub fn signature_with_recovery_id(&self) -> Option<[u8; 65]>
pub fn signature_with_recovery_id(&self) -> Option<[u8; 65]>
Returns the signature as a 65-byte array with recovery ID appended.
Returns None if no signature was produced.
Trait Implementations§
Source§impl Clone for SigningResult
impl Clone for SigningResult
Source§fn clone(&self) -> SigningResult
fn clone(&self) -> SigningResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more