#![feature(min_specialization)]
use serde::{Deserialize, Serialize};
use tea_actor_txns::{pre_args::ArgSlots, tsid::Tsid, TxnSerial};
use tea_actorx_core::ActorId;
use tea_codec::pricing::Priced;
use tea_codec::{defs::FreezeTimeSettings, serde::TypeId};
use tea_tapp_common::{Account, AuthKey, TimestampShort, TokenId, Ts};
pub mod error;
extern crate tea_codec as tea_sdk;
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ActorExecutionArgs {
pub tsid: Tsid,
pub token_id: TokenId,
pub txn: TxnSerial,
pub args: Option<ArgSlots>,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct RandomTickArgs {
pub subject: String,
pub start: u64,
pub end: u64,
pub gas_limit: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct CronjobArgs {
pub subject: String,
pub expression: String,
pub gas_limit: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct InternalTickArgs {
pub target: ActorId,
pub cast: InternalCast,
pub payer: TokenId,
pub gas_limit: u64,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub enum InternalCast {
RandomTick(RandomTickCast),
Cronjob(CronjobTickCast),
}
pub const NAME: &[u8] = b"tea:tokenstate";
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
#[response(())]
pub struct RegisterRandomTickRequest(pub RandomTickArgs);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
#[response(())]
pub struct RegisterCronjobRequest(pub CronjobArgs);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
#[response(())]
pub struct InternalTickRequest(pub InternalTickArgs);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryStateTsidRequest;
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryStateTsidResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryTeaBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryTeaBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ReadTeaBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ReadTeaBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ReadDepositBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ReadDepositBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryAuthOpsBytesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryAuthOpsBytesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryAppConsumeBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryAppConsumeBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
#[response(())]
pub struct CheckTxnRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct CommitTxnRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct CommitTxnResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct TopupRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct TopupResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct WithdrawRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct WithdrawResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct MoveRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct MoveResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct CrossMoveRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct CrossMoveResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryAppAesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryAppAesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GenAppAesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GenAppAesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GenTappstoreAcctRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GenTappstoreAcctResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GetTappstoreAcctRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GetTappstoreAcctResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct DepositRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DepositResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct RefundRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct RefundResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct SlashRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct SlashResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ConsumeFromDepositRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ConsumeFromDepositResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ConsumeFromAccountRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ConsumeFromAccountResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct PaymentFromDepositRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct PaymentFromDepositResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ExportStateRequest;
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ExportStateResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ImportStateRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ImportStateResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ExportGlueSqlRequest;
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ExportGlueSqlResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ImportGlueSqlRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ImportGlueSqlResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct InitGlueSqlRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct InitGlueSqlResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct HasDbInitRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct HasDbInitResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ExecGlueCmdRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ExecGlueCmdResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ExecGlueQueryRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ExecGlueQueryResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct SqlBeginTransactionRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct SqlBeginTransactionResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct SqlIsInTransactionRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct SqlIsInTransactionResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
#[response(())]
pub struct SqlCancelTransactionRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct SetAuthOpsBytesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct SetAuthOpsBytesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryUserLoginSessionKeyRequest {
pub token_id: TokenId,
pub account: Account,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryUserLoginSessionKeyResponse(pub Option<AuthKey>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GetFailedPaymentsRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GetFailedPaymentsResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct AppendFailedPaymentsRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct AppendFailedPaymentsResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
pub struct DumpGlobalsStatesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DumpGlobalsStatesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
pub struct DumpTappStatesRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DumpTappStatesResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
pub struct DumpGluedbDataRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DumpGluedbDataResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(0)]
pub struct DumpRawStateRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DumpRawStateResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ExtendAuthKeyRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ExtendAuthKeyResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GetMagicNumberRequest;
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GetMagicNumberResponse(pub u64);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryTeaDepositBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryTeaDepositBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct BondingMintRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct BondingMintResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct BondingBurnRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct BondingBurnResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ReadBondingTotalSupplyRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ReadBondingTotalSupplyResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ReadAllBondingRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ReadAllBondingResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GetBondingTotalSupplyRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GetBondingTotalSupplyResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryTokenBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryTokenBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct ReadTokenBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct ReadTokenBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct GetTokenReservedBalanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct GetTokenReservedBalanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct SetAllowanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct SetAllowanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct QueryAllowanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct QueryAllowanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct DeductAllowanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct DeductAllowanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct RestoreAllowanceRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct RestoreAllowanceResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct PayMinerGasRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct PayMinerGasResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct InAppPurchaseRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct InAppPurchaseResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
pub struct IterTeaFtStateRequest(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct IterTeaFtStateResponse(pub Vec<u8>);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId)]
pub struct TokenFreezeOptions {
pub ticks: bool,
pub persist_cronjob: bool,
pub tappstore_cronjobs: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
#[response(())]
pub struct TokenFreezeRequest(pub FreezeTimeSettings, pub TokenFreezeOptions);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10000)]
#[response(())]
pub struct RegisterFreezeTickRequest(pub ActorId, pub RandomTickArgs);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10)]
#[response(())]
pub struct RegisterFreezeCronjobRequest(pub ActorId, pub CronjobArgs);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10)]
#[response(())]
pub struct RandomTickCast(pub String, pub Ts);
#[derive(Debug, Clone, Serialize, Deserialize, TypeId, Priced)]
#[price(10)]
#[response(())]
pub struct CronjobTickCast(pub String, pub TimestampShort);