
software.crldev.elrondspringbootstarterreactive.interactor.transaction.ErdTransactionInteractor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elrond-spring-boot-starter-reactive Show documentation
Show all versions of elrond-spring-boot-starter-reactive Show documentation
A SpringBoot Starter solution designed to ensure easy and efficient integration with the Elrond Network using a Reactive API layer.
The newest version!
package software.crldev.elrondspringbootstarterreactive.interactor.transaction;
import reactor.core.publisher.Mono;
import software.crldev.elrondspringbootstarterreactive.api.model.*;
import software.crldev.elrondspringbootstarterreactive.domain.transaction.Transaction;
import software.crldev.elrondspringbootstarterreactive.domain.wallet.Wallet;
import java.util.List;
/**
* Interface used for interaction with Transactions on the network
*
* @author carlo_stanciu
*/
public interface ErdTransactionInteractor {
/**
* Method used to send a transaction for execution
*
* @param payload - transaction in sendable format
* @return - TransactionHash API response
*/
Mono sendTransaction(Transaction.Sendable payload);
/**
* Method used to send a transaction for execution
*
* @param wallet - transaction caller's Wallet instance
* @param request - TransactionRequest instance with required data
* @return - TransactionHash API response
*/
Mono sendTransaction(Wallet wallet, TransactionRequest request);
/**
* Method used to send a batch of transactions for execution
*
* @param payload - a list of transactions in sendable format
* @return - TransactionsSentResult API response
*/
Mono sendMultipleTransactions(List payload);
/**
* Method used to send a batch of transactions for execution
*
* @param wallet - transaction caller's Wallet instance
* @param request - a list of TransactionRequest
* @return - TransactionsSentResult API response
*/
Mono sendMultipleTransactions(Wallet wallet, List request);
/**
* Method used to send a transaction for simulation
*
* @param payload - transaction in sendable format
* @return - SimulationResults API response
*/
Mono simulateTransaction(Transaction.Sendable payload);
/**
* Method used to send a transaction for simulation
*
* @param wallet - transaction caller's Wallet instance
* @param request - object containing minimum required data
* @return - SimulationResults API response
*/
Mono simulateTransaction(Wallet wallet, TransactionRequest request);
/**
* Method used to send a transaction for cost querying
*
* @param payload - transaction in sendable format
* @return - TransactionCostEstimation API response
*/
Mono estimateTransactionCost(Transaction.Sendable payload);
/**
* Method used to send a transaction for cost querying
*
* @param wallet - transaction caller's Wallet instance
* @param request - object containing minimum required data
* @return - TransactionCostEstimation API response
*/
Mono estimateTransactionCost(Wallet wallet, TransactionRequest request);
/**
* Method used to query a Transaction's information
*
* @param transactionHash - value used as search id
* @param withResults - if true it fetches additional information such as smart contract results or receipts
* @return - TransactionOnNetwork API response
*/
Mono queryTransactionInfo(String transactionHash, boolean withResults);
/**
* Method used to query a Transaction's status
*
* @param transactionHash - value used as search id
* @return - TransactionStatus API response
*/
Mono queryTransactionStatus(String transactionHash);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy