Skip to main content

muta_protocol/types/
transaction.rs

1use bytes::Bytes;
2
3use crate::types::primitive::{Hash, JsonString};
4
5#[derive(Clone, Debug, PartialEq, Eq)]
6pub struct RawTransaction {
7    pub chain_id:     Hash,
8    pub nonce:        Hash,
9    pub timeout:      u64,
10    pub cycles_price: u64,
11    pub cycles_limit: u64,
12    pub request:      TransactionRequest,
13}
14
15#[derive(Clone, Debug, PartialEq, Eq)]
16pub struct TransactionRequest {
17    pub service_name: String,
18    pub method:       String,
19    pub payload:      JsonString,
20}
21
22#[derive(Clone, Debug, PartialEq, Eq)]
23pub struct SignedTransaction {
24    pub raw:       RawTransaction,
25    pub tx_hash:   Hash,
26    pub pubkey:    Bytes,
27    pub signature: Bytes,
28}