Documentation

AccessListTransaction extends LegacyTransaction
in package

LegacyTransaction is a class for handling Ethereum legacy transactions (pre EIP1559), with pre EIP155 or post EIP155 support

Table of Contents

Properties

$accessList  : array<string|int, mixed>
$chainId  : int|null
$dataBin  : string
$gas  : int
$gasPrice  : OOGmp
$nonce  : int
$r  : OOGmp
$s  : OOGmp
$signed  : bool
$to  : Address|null
$v  : OOGmp
$value  : OOGmp

Methods

__construct()  : mixed
accessList()  : array<string|int, mixed>
Returns the transaction's access list.
calculateV()  : OOGmp
Calculates the recovery id (v) for signature accounting for EIP155 (replay protection).
dataBin()  : string
Gets the binary data payload of the transaction.
dataHex()  : string
Gets the transaction data in hex format.
decodeBin()  : static
Decodes a binary RLP-encoded transaction. Accepts both legacy formatting and typed transaction.
decodeHex()  : static
Decodes a hexadecimal RLP-encoded transaction. Accepts both legacy formatting and typed transaction.
deployAddress()  : Address
Gets the address where the contract will be deployed if it's deploy transaction. If it is not deploy transaction, it will return null address - Address::NULL()
ecRecover()  : Address
Recovers the address of the signer from the signature. Returns null address if is not signed.
encodeBin()  : string
Encodes the transaction into a binary blob.
encodeBinForSigning()  : string
Encodes the transaction for signing purposes (which differs from encoding for storage or transfer. Difference is for example missing fields).
encodeHex()  : string
Encodes the transaction into a hexadecimal string.
encodeHexForSigning()  : string
Encodes the transaction into a hexadecimal string for signing purposes (which differs from encoding for storage or transfer. Difference is for example missing fields).
fromBin()  : static
Alias function for decodeBin()
fromHex()  : static
Alias function for decodeHex()
fromRPCArr()  : static
Creates a transaction from an RPC array.
gasLimit()  : int
Gets the gas limit of the transaction.
getSigningHash()  : Hash
Calculates the hash used for signing the transaction.
hash()  : Hash
Calculates the transaction hash.
isReplayProtected()  : bool
Checks if the transaction is replay-protected (post EIP155).
isSigned()  : bool
Checks if the transaction is signed.
nonce()  : int
Gets the nonce of the transaction.
nonceFromRPC()  : Transaction
Convenience function that fetches nonce from RPC and places it into transaction.
r()  : OOGmp
Gets the ECDSA 'r' value of the signature.
s()  : OOGmp
Gets the ECDSA 's' value of the signature.
setAccessList()  : static
Sets the access list for the transaction.
setDataBin()  : static
Sets the data payload for the transaction using binary blob.
setDataHex()  : static
Sets the data for the transaction using a hex string.
setGasLimit()  : static
Sets the gas limit for the transaction.
setGasPrice()  : static
Sets the gas price for the transaction.
setNonce()  : static
Sets the nonce for the transaction.
setSignature()  : static
Sets the signature. Note that there is no guarantee the signature will work correctly.
setTo()  : static
Sets the recipient address for the transaction. If it's null, the transaction is contract deploy transaction.
setValue()  : static
Sets the value for the transaction.
setValueFmt()  : static
Sets the value for the transaction using WeiFormatter. Accepts "human" input.
sign()  : static
Signs the transaction.
signature()  : Signature
Gets the signature in wrapper object.
to()  : Address|null
Gets the recipient address of the transaction, null if it's deploy transaction.
toBin()  : string
Alias function for encodeBin()
toHex()  : string
Alias function for encodeHex()
totalGasPrice()  : OOGmp
Gets the total gas price for the transaction.
transactionType()  : TransactionType
Returns the type of the transaction, which is always LEGACY.
useRpcEstimates()  : static
Estimates gas and fee values using from RPC, trying to use conservative values.
useRpcEstimatesWithBump()  : static
Uses RPC to estimate gas and fee, then sets them with an optional bump.
v()  : OOGmp
Gets the ECDSA 'v' value of the signature.
value()  : OOGmp
Gets the value of the transaction.
valueFmt()  : string
Gets the value of the transaction and formats it with WeiFormatter, proxying params to it.
blanksFromRPCArr()  : void
setGasPriceOrBaseFee()  : static
setInnerFromRLPValues()  : void
internalEncodeBin()  : string

Properties

Methods

accessList()

Returns the transaction's access list.

public accessList() : array<string|int, mixed>

@return array The access list.

Return values
array<string|int, mixed>

calculateV()

Calculates the recovery id (v) for signature accounting for EIP155 (replay protection).

public calculateV(OOGmp $recovery) : OOGmp
Parameters
$recovery : OOGmp

Recovery id before chain id calculations.

Tags
inheritDoc
Return values
OOGmp —

Final recovery id.

dataBin()

Gets the binary data payload of the transaction.

public dataBin() : string
Return values
string —

The binary data.

dataHex()

Gets the transaction data in hex format.

public dataHex() : string
Return values
string —

Data in hex.

decodeBin()

Decodes a binary RLP-encoded transaction. Accepts both legacy formatting and typed transaction.

public static decodeBin(string $rlp) : static
Parameters
$rlp : string

The RLP-encoded transaction as a binary string.

Tags
throws
BadAddressChecksumException
throws
EthBinderLogicException
throws
EthBinderRuntimeException
throws
InvalidHexException
throws
InvalidHexLengthException
throws
NotSupportedException
Return values
static —

The decoded Transaction object.

decodeHex()

Decodes a hexadecimal RLP-encoded transaction. Accepts both legacy formatting and typed transaction.

public static decodeHex(string $rlp) : static
Parameters
$rlp : string

The RLP-encoded transaction as a hexadecimal string.

Tags
throws
BadAddressChecksumException
throws
EthBinderLogicException
throws
EthBinderRuntimeException
throws
InvalidHexException
throws
InvalidHexLengthException
throws
NotSupportedException
Return values
static —

The decoded Transaction object.

ecRecover()

Recovers the address of the signer from the signature. Returns null address if is not signed.

public ecRecover() : Address

@return Address The address of the signer.

Tags
throws
EthBinderRuntimeException

@throws EthBinderLogicException @throws InvalidLengthException

Return values
Address —

The address of the transaction sender.

encodeBinForSigning()

Encodes the transaction for signing purposes (which differs from encoding for storage or transfer. Difference is for example missing fields).

public encodeBinForSigning(int|null $chainId) : string
Parameters
$chainId : int|null

The chain ID of the Ethereum network.

Tags
throws
EthBinderArgumentException
Return values
string —

Binary representation of the transaction for signing.

encodeHex()

Encodes the transaction into a hexadecimal string.

public encodeHex() : string
Tags
throws
EthBinderArgumentException
Return values
string —

The hexadecimal encoded transaction.

encodeHexForSigning()

Encodes the transaction into a hexadecimal string for signing purposes (which differs from encoding for storage or transfer. Difference is for example missing fields).

public encodeHexForSigning(int|null $chainId) : string
Parameters
$chainId : int|null

The chain ID for the transaction.

Tags
throws
EthBinderArgumentException
Return values
string —

The hexadecimal encoded transaction.

gasLimit()

Gets the gas limit of the transaction.

public gasLimit() : int
Return values
int —

The gas limit value.

isReplayProtected()

Checks if the transaction is replay-protected (post EIP155).

public isReplayProtected() : bool
Return values
bool —

True if the transaction is replay-protected, false otherwise.

isSigned()

Checks if the transaction is signed.

public isSigned() : bool
Return values
bool —

True if signed, false otherwise.

nonce()

Gets the nonce of the transaction.

public nonce() : int
Return values
int —

The nonce value.

nonceFromRPC()

Convenience function that fetches nonce from RPC and places it into transaction.

public nonceFromRPC(Address $from, AbstractRPC $rpc) : Transaction

If new nonce mismatches currently set nonce, it invalidates signature.

Parameters
$from : Address

Address of which to set next nonce.

$rpc : AbstractRPC

RPC to query transaction count from.

Tags
throws
EthBinderRuntimeException
throws
RPCGeneralException
throws
RPCInvalidResponseParamException
throws
RPCNotFoundException
Return values
Transaction —

self for chainable API.

r()

Gets the ECDSA 'r' value of the signature.

public r() : OOGmp
Return values
OOGmp —

The 'r' value.

s()

Gets the ECDSA 's' value of the signature.

public s() : OOGmp
Return values
OOGmp —

The 's' value.

setAccessList()

Sets the access list for the transaction.

public setAccessList(array<string|int, mixed> $accessList) : static

This invalidates signature if data differs from existing data.

Parameters
$accessList : array<string|int, mixed>

The new access list. @return static

Return values
static

setDataBin()

Sets the data payload for the transaction using binary blob.

public setDataBin(string $dataBin) : static

This invalidates signature if data differs from existing data.

Parameters
$dataBin : string

The binary data.

Return values
static —

The updated Transaction object.

setDataHex()

Sets the data for the transaction using a hex string.

public setDataHex(string $dataHex) : static

This invalidates signature if data differs from existing data.

Parameters
$dataHex : string

Data in hex format.

Tags
throws
HexBlobNotEvenException
throws
InvalidHexException
Return values
static

setGasLimit()

Sets the gas limit for the transaction.

public setGasLimit(int $gasLimit) : static

This invalidates signature if data differs from existing data.

Parameters
$gasLimit : int

The gas limit value.

Return values
static —

The updated Transaction object.

setGasPrice()

Sets the gas price for the transaction.

public setGasPrice(OOGmp $gasPrice) : static
Parameters
$gasPrice : OOGmp

The new gas price.

Return values
static —

Returns the instance of the class.

setNonce()

Sets the nonce for the transaction.

public setNonce(int $nonce) : static

This invalidates signature if data differs from existing data.

Parameters
$nonce : int

The nonce value.

Return values
static —

The updated Transaction object.

setSignature()

Sets the signature. Note that there is no guarantee the signature will work correctly.

public setSignature(Signature $s) : static

This is for advanced use only. Ensure to properly account for EIP 155 in signature's V.

Parameters
$s : Signature
Return values
static —

The updated Transaction object.

setTo()

Sets the recipient address for the transaction. If it's null, the transaction is contract deploy transaction.

public setTo(Address|null $address) : static

This invalidates signature if data differs from existing data.

Parameters
$address : Address|null

The Address object or null. If null, the transaction is contract deploy

Return values
static —

The updated Transaction object.

setValue()

Sets the value for the transaction.

public setValue(OOGmp $valueWEI) : static

This invalidates signature if data differs from existing data.

Parameters
$valueWEI : OOGmp

The value in Wei.

Return values
static —

The updated Transaction object.

setValueFmt()

Sets the value for the transaction using WeiFormatter. Accepts "human" input.

public setValueFmt(float|int|string|OOGmp $human[, int|string|EtherFormats $format = EtherFormats::ETHER ]) : static

This invalidates signature if data differs from existing data.

Parameters
$human : float|int|string|OOGmp
$format : int|string|EtherFormats = EtherFormats::ETHER
Return values
static —

The updated Transaction object.

to()

Gets the recipient address of the transaction, null if it's deploy transaction.

public to() : Address|null
Return values
Address|null —

The recipient address or null (deploy).

totalGasPrice()

Gets the total gas price for the transaction.

public totalGasPrice() : OOGmp
Return values
OOGmp —

Total gas price.

useRpcEstimates()

Estimates gas and fee values using from RPC, trying to use conservative values.

public useRpcEstimates(AbstractRPC $rpc, Address $from) : static

This invalidates signature if data differs from existing data

Parameters
$rpc : AbstractRPC

The RPC client.

$from : Address

The sender address.

Tags
throws
RPCGeneralException
throws
RPCNotFoundException
throws
RPCInvalidResponseParamException
throws
EthBinderLogicException
throws
EthBinderRuntimeException
Return values
static —

The updated Transaction object.

useRpcEstimatesWithBump()

Uses RPC to estimate gas and fee, then sets them with an optional bump.

public useRpcEstimatesWithBump(AbstractRPC $rpc, Address|null $from, int $bumpGasPercentage, int $bumpFeePercentage) : static
Parameters
$rpc : AbstractRPC

The RPC client.

$from : Address|null

The sender's address.

$bumpGasPercentage : int

Percentage to bump the estimated gas.

$bumpFeePercentage : int

Percentage to bump the estimated fee.

Tags
throws
RPCGeneralException
throws
RPCInvalidResponseParamException
throws
RPCNotFoundException
Return values
static —

Returns the instance of the class.

v()

Gets the ECDSA 'v' value of the signature.

public v() : OOGmp
Return values
OOGmp —

The 'v' value.

value()

Gets the value of the transaction.

public value() : OOGmp
Return values
OOGmp —

The value in Wei.

valueFmt()

Gets the value of the transaction and formats it with WeiFormatter, proxying params to it.

public valueFmt(int $finalDecimals[, int|string|EtherFormats $format = EtherFormats::ETHER ]) : string
Parameters
$finalDecimals : int

Number of decimals for formatting.

$format : int|string|EtherFormats = EtherFormats::ETHER

Ether format.

Return values
string —

Formatted value.

blanksFromRPCArr()

protected blanksFromRPCArr(array<string|int, mixed> $rpcArr) : void
Parameters
$rpcArr : array<string|int, mixed>

setGasPriceOrBaseFee()

protected setGasPriceOrBaseFee(OOGmp $fee) : static
Parameters
$fee : OOGmp
Return values
static

        
On this page

Search results