SendEGLDTransaction
Description
Send an EGLD transaction for signing into the xPortal wallet. After the signing, the transaction will be automatically broadcast to the blockchain.
Declaration
public static void SendEGLDTransaction(string destinationAddress, string amount, string data, UnityAction<CompleteCallback<string[]>> completeMethod)
Parameters
Name
Description
destinationAddress
The erd address of the receiver.
amount
Amount of EGLD to send(in decimals) as a string.
data
An optional custom message
completeMethod
Callback to track the status of the transaction. At complete, the message will be the transaction hash
Example
public class Test : MonoBehaviour
{
private string destinationAddress = "erd1jza9qqw0l24svfmm2u8wj24gdf84hksd5xrctk0s0a36leyqptgs5whlhf";
private string EGLDToSend = "0.1";
private string optionalMessage = "Test message";
public void SendEGLD()
{
//send transaction
MultiversX.UnityTools.API.SendEGLDTransaction(destinationAddress, EGLDToSend, optionalMessage, CompleteMethod);
}
private void CompleteMethod(CompleteCallback<string[]> result)
{
switch (result.status)
{
case OperationStatus.InProgress:
Debug.Log($"Waiting for xPortal signature");
break;
case OperationStatus.Error:
Debug.LogError($"{result.errorMessage}");
break;
case OperationStatus.Success:
//result.data contains the hash of the transaction
//at this point transaction is broadcasted to the blockchain to be processed
//use this method to check if it was processed succesfully or not
MultiversX.UnityTools.API.CheckTransactionStatus(result.data, TransactionProcessed, 1);
break;
}
}
private void TransactionProcessed(CompleteCallback<Transaction[]> result)
{
switch (result.status)
{
case OperationStatus.InProgress:
foreach (Transaction transaction in result.data)
{
Debug.Log($"Tx: {transaction.TxHash} : {transaction.Status}");
}
break;
case OperationStatus.Success:
Debug.Log("Success");
break;
case OperationStatus.Error:
Debug.LogError($"{result.status} {result.errorMessage}");
foreach (Transaction transaction in result.data)
{
//the GetLogs() will return additional info about why the transaction failed.
Debug.Log($"Tx: {transaction.TxHash} : {transaction.Status} {transaction.GetLogs()}");
}
break;
}
}
}
Last updated