Footprint
in package
Soroban transaction footprint defining ledger entries that will be accessed
A footprint specifies which ledger entries a Soroban transaction will read or write, enabling the network to determine resource requirements before execution. The footprint contains two lists: read-only entries and read-write entries.
Footprints are typically computed during transaction simulation and are required for all Soroban transactions to ensure predictable resource usage and fee calculation.
Tags
Table of Contents
Properties
Methods
- __construct() : mixed
- Creates a new Footprint from an XDR ledger footprint.
- emptyFootprint() : Footprint
- Creates an empty footprint with no ledger entries
- fromBase64Xdr() : Footprint
- Decodes a Footprint from a base64 XDR string
- getContractCodeLedgerKey() : string|null
- Searches the footprint for a contract code ledger entry and returns its key as base64 encoded XDR.
- getContractCodeXdrLedgerKey() : XdrLedgerKey|null
- Searches the footprint for a contract code ledger entry and returns its key as XdrLedgerKey.
- getContractDataLedgerKey() : string|null
- Searches the footprint for a contract data ledger entry and returns its key as base64 encoded XDR.
- getContractDataXdrLedgerKey() : XdrLedgerKey|null
- Searches the footprint for a contract data ledger entry and returns its key as XdrLedgerKey.
- toBase64Xdr() : string
- Encodes the footprint as a base64 XDR string
Properties
$xdrFootprint
public
XdrLedgerFootprint
$xdrFootprint
Methods
__construct()
Creates a new Footprint from an XDR ledger footprint.
public
__construct(XdrLedgerFootprint $xdrFootprint) : mixed
Parameters
- $xdrFootprint : XdrLedgerFootprint
-
The XDR representation of the footprint.
emptyFootprint()
Creates an empty footprint with no ledger entries
public
static emptyFootprint() : Footprint
Empty footprints are used for initial transaction simulation where the actual required footprint is not yet known and will be determined by the simulation.
Return values
Footprint —The empty footprint object
fromBase64Xdr()
Decodes a Footprint from a base64 XDR string
public
static fromBase64Xdr(string $footprint) : Footprint
Parameters
- $footprint : string
-
The base64-encoded XDR footprint data
Return values
Footprint —The decoded Footprint object
getContractCodeLedgerKey()
Searches the footprint for a contract code ledger entry and returns its key as base64 encoded XDR.
public
getContractCodeLedgerKey() : string|null
Return values
string|null —base64 encoded contract code XDR ledger key or null if not found
getContractCodeXdrLedgerKey()
Searches the footprint for a contract code ledger entry and returns its key as XdrLedgerKey.
public
getContractCodeXdrLedgerKey() : XdrLedgerKey|null
Return values
XdrLedgerKey|null —contract code ledger key or null if not found
getContractDataLedgerKey()
Searches the footprint for a contract data ledger entry and returns its key as base64 encoded XDR.
public
getContractDataLedgerKey() : string|null
Return values
string|null —base64 encoded contract data XDR ledger key or null if not found
getContractDataXdrLedgerKey()
Searches the footprint for a contract data ledger entry and returns its key as XdrLedgerKey.
public
getContractDataXdrLedgerKey() : XdrLedgerKey|null
Return values
XdrLedgerKey|null —contract data ledger key or null if not found
toBase64Xdr()
Encodes the footprint as a base64 XDR string
public
toBase64Xdr() : string
Return values
string —The base64-encoded XDR representation