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

software.crldev.elrondspringbootstarterreactive.interactor.smartcontract.ErdSmartContractInteractor Maven / Gradle / Ivy

Go to download

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.smartcontract;

import reactor.core.publisher.Mono;
import software.crldev.elrondspringbootstarterreactive.api.model.*;
import software.crldev.elrondspringbootstarterreactive.domain.smartcontract.ContractFunction;
import software.crldev.elrondspringbootstarterreactive.domain.smartcontract.ContractQuery;
import software.crldev.elrondspringbootstarterreactive.domain.wallet.Wallet;

/**
 * Interface used for interaction with smart contracts on the network
 *
 * @author carlo_stanciu
 */
public interface ErdSmartContractInteractor {

    /**
     * Method used to call a smart contract function
     *
     * @param wallet   - transaction caller's Wallet instance
     * @param function - smart contract function object
     * @return - TransactionHash API response
     */
    Mono callFunction(Wallet wallet, ContractFunction function);

    /**
     * Method used to query smart contract
     *
     * @param query - smart contract query function object
     * @return - ScQueryResult API response
     */
    Mono query(ContractQuery query);

    /**
     * Method used to query smart contract for hex value
     *
     * @param query - smart contract query function object
     * @return - ScQueryResultHex API response
     */
    Mono queryHex(ContractQuery query);

    /**
     * Method used to query smart contract for String value
     *
     * @param query - smart contract query function object
     * @return - ScQueryResultString API response
     */
    Mono queryString(ContractQuery query);

    /**
     * Method used to query smart contract for integer value
     *
     * @param query - smart contract query function object
     * @return - ScQueryResultInt API response
     */
    Mono queryInt(ContractQuery query);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy