#[repr(C)]pub struct RuntimeAccount {
pub borrow_state: u8,
pub is_signer: u8,
pub is_writable: u8,
pub executable: u8,
pub resize_delta: u32,
pub address: Address,
pub owner: Address,
pub lamports: u64,
pub data_len: u64,
}Expand description
Raw C-layout struct matching the Solana BPF account input format.
Each non-duplicate account in the entrypoint input buffer begins with this
header, immediately followed by data_len bytes of account data.
The first byte occupies the loader’s duplicate marker slot. Hopper Native
reuses that byte as borrow_state, which is valid because canonical
accounts enter the program with the 0xFF marker and Hopper uses the same
value to mean NOT_BORROWED.
Fields§
§borrow_state: u8Borrow tracking state (repurposed from the loader duplicate marker).
Duplicate-account relationships are tracked in raw_input; once a
canonical account is identified, this byte becomes Hopper’s borrow
state for that canonical record.
is_signer: u81 if transaction signer, 0 otherwise.
is_writable: u81 if writable, 0 otherwise.
executable: u81 if executable, 0 otherwise.
resize_delta: u32Original account data length, stored in the ABI’s four padding bytes.
The field name is retained for source compatibility with Hopper 0.3.0;
it is an immutable resize baseline, not a cumulative delta. Entrypoint
parsing initializes it before exposing an AccountView.
address: AddressAccount public key (32 bytes).
owner: AddressOwning program (32 bytes).
lamports: u64Lamport balance.
data_len: u64Length of account data following this struct.