glin_types/
extrinsic.rs

1//! Extrinsic (transaction) related types
2
3use serde::{Deserialize, Serialize};
4
5/// Extrinsic hash (hex-encoded)
6pub type ExtrinsicHash = String;
7
8/// Simplified extrinsic representation
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct Extrinsic {
11    /// Extrinsic hash
12    pub hash: ExtrinsicHash,
13    /// Block number
14    pub block_number: u64,
15    /// Extrinsic index within block
16    pub index: u32,
17    /// Signer address (if signed)
18    pub signer: Option<String>,
19    /// Whether the extrinsic succeeded
20    pub success: bool,
21}
22
23/// Detailed extrinsic information
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct ExtrinsicInfo {
26    /// Extrinsic hash
27    pub hash: ExtrinsicHash,
28    /// Block number
29    pub block_number: u64,
30    /// Extrinsic index
31    pub index: u32,
32    /// Signer address
33    pub signer: Option<String>,
34    /// Pallet name (e.g., "Balances", "Contracts")
35    pub pallet: String,
36    /// Call name (e.g., "transfer", "instantiate")
37    pub call: String,
38    /// Call arguments as JSON
39    pub args: serde_json::Value,
40    /// Whether execution was successful
41    pub success: bool,
42}