Stellar PHP SDK API Documentation

Asset
in package

AbstractYes

Base class representing an asset on the Stellar network

Assets are representations of value on Stellar. This abstract class defines the interface for all asset types including native XLM, issued assets, and liquidity pool shares.

Asset Types:

  • Native: XLM, the native cryptocurrency of Stellar
  • Credit Alphanum 4: Issued assets with codes 1-4 characters (e.g., USD, BTC)
  • Credit Alphanum 12: Issued assets with codes 5-12 characters (e.g., MYCOIN)
  • Pool Share: Liquidity pool shares representing participation in an AMM pool

Usage: // Native asset (XLM) $xlm = Asset::native();

// Issued asset $usd = Asset::createNonNativeAsset("USD", "GISSUER...");

// From canonical form $asset = Asset::createFromCanonicalForm("USD:GISSUER...");

Tags
see
https://developers.stellar.org

Stellar developer docs

since
1.0.0

Table of Contents

Constants

TYPE_CREDIT_ALPHANUM_12  = "credit_alphanum12"
TYPE_CREDIT_ALPHANUM_4  = "credit_alphanum4"
TYPE_NATIVE  = "native"
TYPE_POOL_SHARE  = "liquidty_pool_shares"

Methods

canonicalForm()  : string
Returns the canonical string representation of an asset
create()  : Asset
Creates an asset from its type, code, and issuer
createFromCanonicalForm()  : Asset|null
Creates an asset from its canonical string representation
createNonNativeAsset()  : AssetTypeCreditAlphanum
Creates a non-native asset with automatic type detection based on code length
fromJson()  : Asset
Creates an asset from JSON data (typically from Horizon responses)
fromXdr()  : Asset
Creates an Asset from its XDR representation
getType()  : string
Returns the type of this asset
native()  : AssetTypeNative
Creates the native XLM asset
toXdr()  : XdrAsset
Converts this asset to its XDR representation
toXdrChangeTrustAsset()  : XdrChangeTrustAsset
Converts this asset to XDR ChangeTrustAsset format
toXdrTrustlineAsset()  : XdrTrustlineAsset
Converts this asset to XDR TrustlineAsset format

Constants

TYPE_CREDIT_ALPHANUM_12

public mixed TYPE_CREDIT_ALPHANUM_12 = "credit_alphanum12"

TYPE_CREDIT_ALPHANUM_4

public mixed TYPE_CREDIT_ALPHANUM_4 = "credit_alphanum4"

TYPE_NATIVE

public mixed TYPE_NATIVE = "native"

TYPE_POOL_SHARE

public mixed TYPE_POOL_SHARE = "liquidty_pool_shares"

Methods

canonicalForm()

Returns the canonical string representation of an asset

public static canonicalForm(Asset $asset) : string

Format:

  • Native: "native"
  • Issued: "CODE:ISSUER" (e.g., "USD:GABC...")
Parameters
$asset : Asset

The asset to convert

Tags
throws
RuntimeException

If the asset type is unsupported

Return values
string

The canonical form

create()

Creates an asset from its type, code, and issuer

public static create(string $type[, string|null $code = null ][, string|null $issuer = null ]) : Asset
Parameters
$type : string

One of the TYPE_* constants

$code : string|null = null

Asset code (required for non-native assets)

$issuer : string|null = null

Issuer account ID (required for non-native assets)

Tags
throws
RuntimeException

If parameters are invalid or type is unsupported

Return values
Asset

The created asset

createFromCanonicalForm()

Creates an asset from its canonical string representation

public static createFromCanonicalForm(string $canonicalForm) : Asset|null

Accepted formats:

  • "native" or "XLM" for native XLM
  • "CODE:ISSUER" for issued assets (e.g., "USD:GABC...")
Parameters
$canonicalForm : string

The canonical asset string

Return values
Asset|null

The created asset, or null if the format is invalid

createNonNativeAsset()

Creates a non-native asset with automatic type detection based on code length

public static createNonNativeAsset(string $code, string $issuer) : AssetTypeCreditAlphanum

The asset type (AlphaNum4 or AlphaNum12) is determined automatically based on the length of the asset code.

Parameters
$code : string

Asset code (1-12 characters)

$issuer : string

Issuer account ID (public key starting with G)

Tags
throws
RuntimeException

If the code length is invalid

Return values
AssetTypeCreditAlphanum

The created asset (AlphaNum4 or AlphaNum12)

fromJson()

Creates an asset from JSON data (typically from Horizon responses)

public static fromJson(array<string|int, mixed> $json) : Asset
Parameters
$json : array<string|int, mixed>

JSON data with asset_type, asset_code, and asset_issuer fields

Return values
Asset

The created asset

fromXdr()

Creates an Asset from its XDR representation

public static fromXdr(XdrAsset $xdrAsset) : Asset
Parameters
$xdrAsset : XdrAsset

The XDR asset data

Tags
throws
InvalidArgumentException

If the asset type is unknown

Return values
Asset

The reconstructed asset

getType()

Returns the type of this asset

public abstract getType() : string
Return values
string

One of TYPE_NATIVE, TYPE_CREDIT_ALPHANUM_4, TYPE_CREDIT_ALPHANUM_12, or TYPE_POOL_SHARE

toXdr()

Converts this asset to its XDR representation

public abstract toXdr() : XdrAsset
Return values
XdrAsset

XDR format of this asset


        
On this page

Search results