pub enum TransactionIntent {
Show 57 variants
Transfer {
recipient: AccountId,
recipient_pubkey: Option<Vec<u8>>,
amount: u128,
},
TransferToName {
name: String,
amount: u128,
},
BatchTransfer {
transfers: Vec<BatchTransferEntry>,
},
BatchTransferToName {
transfers: Vec<NameTransferEntry>,
},
Claim {
recipient: AccountId,
recipient_pubkey: Option<Vec<u8>>,
amount: u128,
},
RotateKey {
new_pubkey: Vec<u8>,
},
DepositCompute {
amount: u128,
},
WithdrawCompute {
amount: u128,
},
WrapTRTH {
amount: u128,
},
UnwrapTRTH {
amount: u128,
},
Stake {
amount: u128,
},
Unstake {
amount: u128,
},
WithdrawStake,
Unjail,
MintNFT {
nft_id: [u8; 32],
name: String,
metadata_uri: String,
collection: Option<[u8; 32]>,
royalty_bps: u16,
royalty_recipient: Option<AccountId>,
},
TransferNFT {
nft_id: [u8; 32],
recipient: AccountId,
recipient_pubkey: Option<Vec<u8>>,
sale_price: Option<u128>,
},
BurnNFT {
nft_id: [u8; 32],
},
ApproveNFT {
nft_id: [u8; 32],
approved: Option<AccountId>,
},
DeployCell {
cell_id: AccountId,
bytecode: Vec<u8>,
initial_balance: u128,
declared_reads: Vec<[u8; 32]>,
declared_writes: Vec<[u8; 32]>,
commutative_keys: Vec<[u8; 32]>,
storage_key_specs: Vec<StorageKeySpec>,
oracle_schema_ids: Vec<[u8; 32]>,
},
DeployToken {
cell_id: AccountId,
name: String,
symbol: String,
decimals: u8,
total_supply: u128,
transfer_fee_bps: u16,
transfer_fee_recipient: Option<AccountId>,
non_transferable: bool,
},
CallCell {
cell_id: AccountId,
calldata: Vec<u8>,
value: u128,
gas_limit: u64,
},
CallCellChain {
calls: Vec<CellCall>,
gas_limit: u64,
},
UpgradeCell {
cell_id: AccountId,
new_bytecode: Vec<u8>,
new_declared_reads: Vec<[u8; 32]>,
new_declared_writes: Vec<[u8; 32]>,
new_commutative_keys: Vec<[u8; 32]>,
new_storage_key_specs: Vec<StorageKeySpec>,
new_oracle_schema_ids: Vec<[u8; 32]>,
},
TransferOwnership {
cell_id: AccountId,
new_owner: AccountId,
},
AcceptOwnership {
cell_id: AccountId,
},
MakeImmutable {
cell_id: AccountId,
},
CloseCell {
cell_id: AccountId,
},
ProposeCellUpgrade {
cell_id: AccountId,
new_bytecode: Vec<u8>,
new_declared_reads: Vec<[u8; 32]>,
new_declared_writes: Vec<[u8; 32]>,
new_commutative_keys: Vec<[u8; 32]>,
new_storage_key_specs: Vec<StorageKeySpec>,
new_oracle_schema_ids: Vec<[u8; 32]>,
timelock_blocks: u64,
},
ProposeCellOwnershipTransfer {
cell_id: AccountId,
new_owner: AccountId,
timelock_blocks: u64,
},
ProposeCellMakeImmutable {
cell_id: AccountId,
timelock_blocks: u64,
},
VoteCellProposal {
cell_id: AccountId,
approve: bool,
},
ExecuteCellProposal {
cell_id: AccountId,
},
TokenTransfer {
token_cell: AccountId,
recipient: AccountId,
amount: u128,
},
TokenMint {
token_cell: AccountId,
recipient: AccountId,
amount: u128,
},
TokenBurn {
token_cell: AccountId,
amount: u128,
},
TokenFreeze {
token_cell: AccountId,
account: AccountId,
},
TokenThaw {
token_cell: AccountId,
account: AccountId,
},
ProposeTokenAuthority {
token_cell: AccountId,
set_mint_authority: bool,
new_mint_authority: AccountId,
set_freeze_authority: bool,
new_freeze_authority: AccountId,
voting_period_blocks: u64,
},
VoteTokenAuthority {
token_cell: AccountId,
approve: bool,
},
CallSystem {
controller: AccountId,
calldata: Vec<u8>,
},
ProposeUrl {
url_pattern: String,
bond_amount: u128,
voting_period_blocks: u64,
},
VoteUrl {
url_pattern: String,
approve: bool,
},
ReportMaliciousUrl {
url_pattern: String,
evidence: String,
},
SetCellVisibility {
cell_id: AccountId,
visibility: u8,
},
RegisterMcpTool {
tool_id: AccountId,
bytecode: Vec<u8>,
name: String,
input_schema_json: Vec<u8>,
category: u8,
declared_reads: Vec<[u8; 32]>,
declared_writes: Vec<[u8; 32]>,
commutative_keys: Vec<[u8; 32]>,
oracle_schema_ids: Vec<[u8; 32]>,
registry_id: AccountId,
},
RegisterMcpResource {
resource_id: AccountId,
bytecode: Vec<u8>,
name: String,
uri_scheme: String,
mime_type: String,
initial_data: Vec<(Vec<u8>, Vec<u8>)>,
declared_reads: Vec<[u8; 32]>,
declared_writes: Vec<[u8; 32]>,
oracle_schema_ids: Vec<[u8; 32]>,
registry_id: AccountId,
},
RegisterMcpPrompt {
prompt_id: AccountId,
name: String,
template_bytes: Vec<u8>,
arguments: Vec<(String, String, bool)>,
registry_id: AccountId,
},
RegisterAgent {
agent_id: AccountId,
policy_cell_id: AccountId,
agent_registry_id: AccountId,
},
SuspendAgent {
agent_id: AccountId,
agent_registry_id: AccountId,
reason: String,
},
ReinstateAgent {
agent_id: AccountId,
agent_registry_id: AccountId,
},
McpToolCall {
agent_id: AccountId,
tool_id: AccountId,
tool_calldata: Vec<u8>,
value: u128,
gas_limit: u64,
policy_cell_id: AccountId,
action_log_id: Option<AccountId>,
timestamp: u64,
},
PrivateBalanceInit {
cell_id: AccountId,
agent_id: AccountId,
encrypted_balance: Vec<u8>,
commitment: [u8; 32],
commit_nonce: [u8; 16],
},
PrivateBalanceDeposit {
cell_id: AccountId,
agent_id: AccountId,
amount: u128,
new_encrypted_balance: Vec<u8>,
new_commitment: [u8; 32],
new_commit_nonce: [u8; 16],
old_commitment: [u8; 32],
},
PrivateBalanceWithdraw {
cell_id: AccountId,
agent_id: AccountId,
amount: u128,
recipient: AccountId,
new_encrypted_balance: Vec<u8>,
new_commitment: [u8; 32],
new_commit_nonce: [u8; 16],
old_commitment: [u8; 32],
},
PrivateBalanceConfidentialTransfer {Show 13 fields
sender_cell_id: AccountId,
sender_agent_id: AccountId,
recipient_cell_id: AccountId,
amount_commitment: [u8; 32],
stark_proof: Vec<u8>,
sender_new_encrypted: Vec<u8>,
sender_new_commitment: [u8; 32],
sender_new_commit_nonce: [u8; 16],
sender_old_commitment: [u8; 32],
recipient_new_encrypted: Vec<u8>,
recipient_new_commitment: [u8; 32],
recipient_new_commit_nonce: [u8; 16],
recipient_old_commitment: [u8; 32],
},
SubmitOracleCommit {
request_id: [u8; 32],
commit_hash: [u8; 32],
},
SubmitOracleReveal {
request_id: [u8; 32],
response_body: Vec<u8>,
response_status: u16,
},
}Variants§
Transfer
Fields
TransferToName
BatchTransfer
Fields
§
transfers: Vec<BatchTransferEntry>BatchTransferToName
Fields
§
transfers: Vec<NameTransferEntry>Claim
Fields
RotateKey
DepositCompute
WithdrawCompute
WrapTRTH
Wrap TRTH into wTRTH (1:1). Deducts TRTH, mints wTRTH token balance.
UnwrapTRTH
Unwrap wTRTH back to TRTH (1:1). Burns wTRTH token balance, credits TRTH.
Stake
Unstake
WithdrawStake
Unjail
MintNFT
Fields
TransferNFT
Fields
BurnNFT
ApproveNFT
DeployCell
Fields
§
storage_key_specs: Vec<StorageKeySpec>DeployToken
Fields
CallCell
CallCellChain
UpgradeCell
Fields
§
new_storage_key_specs: Vec<StorageKeySpec>TransferOwnership
AcceptOwnership
MakeImmutable
CloseCell
ProposeCellUpgrade
Fields
§
new_storage_key_specs: Vec<StorageKeySpec>ProposeCellOwnershipTransfer
ProposeCellMakeImmutable
VoteCellProposal
ExecuteCellProposal
TokenTransfer
TokenMint
TokenBurn
TokenFreeze
TokenThaw
ProposeTokenAuthority
VoteTokenAuthority
CallSystem
ProposeUrl
VoteUrl
ReportMaliciousUrl
SetCellVisibility
RegisterMcpTool
Fields
RegisterMcpResource
Fields
RegisterMcpPrompt
Fields
RegisterAgent
SuspendAgent
ReinstateAgent
McpToolCall
Fields
PrivateBalanceInit
Fields
PrivateBalanceDeposit
Fields
PrivateBalanceWithdraw
Fields
PrivateBalanceConfidentialTransfer
Fields
SubmitOracleCommit
SubmitOracleReveal
Implementations§
Source§impl TransactionIntent
impl TransactionIntent
pub fn cell_id_option(&self) -> Option<AccountId>
Trait Implementations§
Source§impl Clone for TransactionIntent
impl Clone for TransactionIntent
Source§fn clone(&self) -> TransactionIntent
fn clone(&self) -> TransactionIntent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TransactionIntent
impl Debug for TransactionIntent
Source§impl<'de> Deserialize<'de> for TransactionIntent
impl<'de> Deserialize<'de> for TransactionIntent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TransactionIntent
impl RefUnwindSafe for TransactionIntent
impl Send for TransactionIntent
impl Sync for TransactionIntent
impl Unpin for TransactionIntent
impl UnsafeUnpin for TransactionIntent
impl UnwindSafe for TransactionIntent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more