Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ExtData

External data associated with a privacy-preserving transaction.This structure contains the public information that must be revealed for a transaction to be processed, while keeping the actual amounts and recipients private through zero-knowledge proofs. # Privacy Model - recipient and ext_amount are public for deposit/withdrawal operations - Internal transfers remain completely private - encrypted_output contains private transaction details

Fully qualified path: obscura::structs::ExtData

#[derive(Debug, Drop, PartialEq, Serde)]
pub struct ExtData {
    pub recipient: ContractAddress,
    pub ext_amount: I256,
    pub relayer: ContractAddress,
    pub fee: u256,
    pub encrypted_output1: ByteArray,
    pub encrypted_output2: ByteArray,
}

Members

recipient

The recipient address for withdrawals or the contract address for deposits. Must be a valid Starknet contract address.

Fully qualified path: obscura::structs::ExtData::recipient

pub recipient: ContractAddress

ext_amount

The external amount for deposit (positive) or withdrawal (negative). This value is public and used for token transfers.

Fully qualified path: obscura::structs::ExtData::ext_amount

pub ext_amount: I256

relayer

The relayer address that will receive the transaction fee. Incentivizes transaction processing and network maintenance.

Fully qualified path: obscura::structs::ExtData::relayer

pub relayer: ContractAddress

fee

The fee amount paid to the relayer for processing the transaction. Must be within the system's fee limits.

Fully qualified path: obscura::structs::ExtData::fee

pub fee: u256

encrypted_output1

Encrypted output data for the first commitment. Contains private transaction details that only the recipient can decrypt.

Fully qualified path: obscura::structs::ExtData::encrypted_output1

pub encrypted_output1: ByteArray

encrypted_output2

Encrypted output data for the second commitment. Contains private transaction details that only the recipient can decrypt.

Fully qualified path: obscura::structs::ExtData::encrypted_output2

pub encrypted_output2: ByteArray