use sui_graphql_macros::Response;
use sui_sdk_types::Address;
use sui_sdk_types::TypeTag;
use crate::bcs::BcsBytes;
#[derive(Debug, Clone, Response)]
#[response(root_type = "MoveValue")]
pub struct MoveValue {
#[field(path = "type.repr")]
pub type_tag: TypeTag,
#[field(path = "json?")]
pub json: Option<serde_json::Value>,
#[field(path = "bcs?")]
pub bcs: Option<BcsBytes>,
}
#[derive(Debug, Clone, Response)]
#[response(root_type = "MoveObject")]
pub struct MoveObject {
#[field(path = "address")]
pub address: Address,
#[field(path = "contents")]
pub contents: MoveValue,
}