/*
* Aptos Node API
*
* The Aptos Node API is a RESTful API for client applications to interact with the Aptos blockchain.
*
* The version of the OpenAPI document: 1.2.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// Event : An event from a transaction
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Event {
#[serde(rename = "guid")]
pub guid: Box<models::EventGuid>,
/// 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.
#[serde(rename = "sequence_number")]
pub sequence_number: String,
/// 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).
#[serde(rename = "type")]
pub r#type: String,
/// The JSON representation of the event
#[serde(rename = "data", deserialize_with = "Option::deserialize")]
pub data: Option<serde_json::Value>,
}
impl Event {
/// An event from a transaction
pub fn new(guid: models::EventGuid, sequence_number: String, r#type: String, data: Option<serde_json::Value>) -> Event {
Event {
guid: Box::new(guid),
sequence_number,
r#type,
data,
}
}
}