All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cryptape.cita.tx.response.TransactionReceiptProcessor Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
package com.cryptape.cita.tx.response;

import java.io.IOException;

import com.cryptape.cita.protocol.CITAj;
import com.cryptape.cita.protocol.core.methods.response.TransactionReceipt;
import com.cryptape.cita.protocol.core.methods.response.AppGetTransactionReceipt;
import com.cryptape.cita.protocol.exceptions.TransactionException;

/**
 * Abstraction for managing how we wait for transaction receipts to be generated on the network.
 */
public abstract class TransactionReceiptProcessor {

    private final CITAj citaj;

    public TransactionReceiptProcessor(CITAj citaj) {
        this.citaj = citaj;
    }

    public abstract TransactionReceipt waitForTransactionReceipt(
            String transactionHash)
            throws IOException, TransactionException;

    TransactionReceipt sendTransactionReceiptRequest(
            String transactionHash) throws IOException, TransactionException {
        AppGetTransactionReceipt transactionReceipt =
                citaj.appGetTransactionReceipt(transactionHash).send();
        if (transactionReceipt.hasError()) {
            throw new TransactionException("Error processing request: "
                    + transactionReceipt.getError().getMessage());
        }

        return transactionReceipt.getTransactionReceipt();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy