Exemple #1
0
    private IEnumerator ProcessTransactions(AccountTransactions accountTransactions, int currentPage, int itemsPerPage, int totalPages, Action successCallback = null, Action errorCallback = null)
    {
        if (currentPage < totalPages)
        {
            yield return(PhantasmaApi.GetAddressTransactions(Key.Address.Text, (uint)currentPage + 1, (uint)itemsPerPage,
                                                             (accountTxs, cPage, tPages) =>
            {
                LastTransactions.AddRange(accountTransactions.txs);

                StartCoroutine(ProcessTransactions(accountTxs, cPage, itemsPerPage, tPages, successCallback, errorCallback));
            },
                                                             (errorType, errorMessage) =>
            {
                CanvasManager.Instance.HideOperationPopup();
                CanvasManager.Instance.ShowResultPopup(EOPERATION_RESULT.FAIL, errorType + " - " + errorMessage);
            }));
        }
        else
        {
            CanvasManager.Instance.HideOperationPopup();

            if (totalPages == 0)
            {
                CanvasManager.Instance.transactionsHistoryMenu.ShowRefreshButton("No transactions associated to your address on the blockchain.");
            }
            else
            {
                LastTransactions.AddRange(accountTransactions.txs);

                if (successCallback != null)
                {
                    successCallback();
                }
            }
        }
    }
Exemple #2
0
    private IEnumerator GetTransactionsHistoryCoroutine(Action successCallback = null, Action errorCallback = null)
    {
        CanvasManager.Instance.ShowOperationPopup("Fetching last transactions from the blockchain...", false);

        int itemsPerPage = 20;

        LastTransactions.Clear();

        yield return(PhantasmaApi.GetAddressTransactions(Key.Address.Text, 1, (uint)itemsPerPage,
                                                         (accountTransactions, currentPage, totalPages) =>
        {
            StartCoroutine(ProcessTransactions(accountTransactions, currentPage, itemsPerPage, totalPages, successCallback, errorCallback));
        },
                                                         (errorType, errorMessage) =>
        {
            CanvasManager.Instance.HideOperationPopup();
            CanvasManager.Instance.ShowResultPopup(EOPERATION_RESULT.FAIL, errorType + " - " + errorMessage);

            if (errorCallback != null)
            {
                errorCallback();
            }
        }));
    }