Stellar PHP SDK API Documentation

AssetTypeNative extends Asset
in package

Represents the native XLM asset on the Stellar network

XLM (Lumens) is the native cryptocurrency of Stellar and does not require a trustline or issuer. It is used to pay transaction fees and maintain minimum account balances.

Usage: $xlm = Asset::native(); // or $xlm = new AssetTypeNative();

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 asset type identifier
native()  : AssetTypeNative
Creates the native XLM asset
toXdr()  : XdrAsset
Converts this native 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 asset type identifier

public getType() : string
Return values
string

Always returns "native"


        
On this page

Search results