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