Party-state-actor
Handling txns
let (context_bytes, auth_key): (Vec<u8>, AuthKey) = match sample_txn {
/// PostMessage, when user post a new message
TeapartyTxn::PostMessage {
token_id,
from,
ttl,
auth_b64,
} => {
info!("PostMessage => from ttl: {:?},{:?}", &from, &ttl);
let amt = calculate_fee(ttl);
let auth_key: AuthKey = bincode::deserialize(&base64::decode(auth_b64)?)?;
let auth_ops_bytes = actor_statemachine::query_auth_ops_bytes(auth_key)?;
let ctx = TokenContext::new(tsid, base, token_id, &auth_ops_bytes)?;
let req = ConsumeFromAccountRequest {
ctx: bincode::serialize(&ctx)?,
acct: bincode::serialize(&from)?,
amt: bincode::serialize(&amt)?,
};
(actor_statemachine::consume_from_account(req)?, auth_key)
}Commit state changes
Last updated