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}