Skip to main content

aptos_client_icp/models/
event.rs

1/*
2 * Aptos Node API
3 *
4 * The Aptos Node API is a RESTful API for client applications to interact with the Aptos blockchain.
5 *
6 * The version of the OpenAPI document: 1.2.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Event : An event from a transaction
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Event {
17    #[serde(rename = "guid")]
18    pub guid: Box<models::EventGuid>,
19    /// A string containing a 64-bit unsigned integer.  We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively. 
20    #[serde(rename = "sequence_number")]
21    pub sequence_number: String,
22    /// String representation of an on-chain Move type tag that is exposed in transaction payload.     Values:       - bool       - u8       - u16       - u32       - u64       - u128       - u256       - address       - signer       - vector: `vector<{non-reference MoveTypeId}>`       - struct: `{address}::{module_name}::{struct_name}::<{generic types}>`      Vector type value examples:       - `vector<u8>`       - `vector<vector<u64>>`       - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>`      Struct type value examples:       - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>       - `0x1::account::Account`      Note:       1. Empty chars should be ignored when comparing 2 struct tag ids.       2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). 
23    #[serde(rename = "type")]
24    pub r#type: String,
25    /// The JSON representation of the event
26    #[serde(rename = "data", deserialize_with = "Option::deserialize")]
27    pub data: Option<serde_json::Value>,
28}
29
30impl Event {
31    /// An event from a transaction
32    pub fn new(guid: models::EventGuid, sequence_number: String, r#type: String, data: Option<serde_json::Value>) -> Event {
33        Event {
34            guid: Box::new(guid),
35            sequence_number,
36            r#type,
37            data,
38        }
39    }
40}
41