mod action;
mod trace;
mod transaction;
use std::collections::{BTreeMap, BTreeSet};
use serde::{Deserialize, Serialize};
use crate::{
ABISerializable, AccountName, ActionName, Asset, Name, contract,
};
extern crate self as kudu;
pub type Map<K, V> = BTreeMap<K, V>;
pub type Set<T> = BTreeSet<T>;
pub trait Contract: ABISerializable {
fn account() -> AccountName;
fn name() -> ActionName;
}
pub use action::{Action, ActionError, PermissionLevel};
pub use trace::{
AccountAuthSequence, AccountDelta,
ActionReceipt, ActionReceiptV0,
ActionTrace, ActionTraceV0, ActionTraceV1,
PackedTransactionV0,
Trace,
TransactionTrace, TransactionTraceV0, TransactionTraceException, TransactionTraceMsg,
};
pub use transaction::Transaction;
#[derive(Clone, Debug, PartialEq, Eq, ABISerializable, Serialize, Deserialize)]
#[contract(account="eosio.token", name="transfer")]
pub struct Transfer {
pub from: Name,
pub to: Name,
pub quantity: Asset,
pub memo: String,
}