You can view different objects to obtain information about a transaction.
For more information about the different object types created in Ripple Custody for transactions, see Transaction initiation.
To view the transactions for a transaction order, call the List transactions operation, filtered by the orderReference.id query parameter.
The response includes information on the transactions from a blockchain perspective, including information on the specific ledger, the transaction hash, and the serialized raw transaction in the specific ledger format.
The section ledgerTransactionData contains information on what was executed on the blockchain ledger. You can use the ledgerTransactionId in any external blockchain viewer to view details of the transaction on the blockchain.
To view the transfers for a transaction, call the List transfers operation, filtered by the transactionID query parameter.
Incoming transactions are not associated with a transaction order.
To view incoming transactions, call the List transactions operation, filtered with the query parameter accountId, if required.
If a transaction has a null transactionOrderId, that means this transaction is for an incoming transaction.
To view the status of a transaction, call the Get transaction order details operation with the relevant transaction order ID.
The response includes two different statuses:
processing.status: The internal processing status of the transaction in Ripple Custody. It reachesCompletedstatus once the transaction is successfully broadcast.ledgerTransactionData.ledgerStatus: The ledger service tracks the transaction on the ledger and detects if it is confirmed in a block. TheConfirmedstatus is achieved once the finality value for the ledger is reached.
If the transaction is not executed or partially executed on chain, the ledgerTransactionData.failure field shows a non-null value, for example PartiallyFailedOnChain. In a scenario such as this, you need to conduct a thorough investigation to discover the root cause of the failure on chain.
We can conclude that a transaction was both successfully broadcast and executed on chain when:
ledgerTransactionData.ledgerStatusisConfirmed.ledgerTransactionData.failurenull.
You can also view other data in the ledgerData block of the transaction order, such as:
createdContractAddresses: Addresses of any smart contracts deployed, reported by theCREATEandCREATE2functions of the smart contract. The value corresponds to an array, as it is possible to deploy multiple contracts using a single transaction.
When the transaction involves the destruction of an existing contract, the transaction includes ledgerData.deletedContractAddresses, exposing all the contract addresses reported by the SUICIDE functions of the smart contract.