Class ProxyApiProvider

  • All Implemented Interfaces:
    IProxyApi

    public class ProxyApiProvider
    extends java.lang.Object
    implements IProxyApi
    Proxy API Implementation
    Since:
    28.10.2018
    Author:
    GoodforGod
    See Also:
    IProxyApi
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<BlockProxy> block​(long blockNo)
      Returns information about a block by block number eth_getBlockByNumber
      long blockNoLast()
      Returns the number of most recent block eth_blockNumber
      java.util.Optional<BlockProxy> blockUncle​(long blockNo, long index)
      Returns information about a uncle by block number eth_getUncleByBlockNumberAndIndex
      java.util.Optional<java.lang.String> call​(java.lang.String address, java.lang.String data)
      Executes a new message call immediately without creating a transaction on the block chain eth_call
      java.util.Optional<java.lang.String> code​(java.lang.String address)
      Returns code at a given address eth_getCode
      java.math.BigInteger gasEstimated()
      Makes a call or transaction, which won't be added to the blockchain and returns the used gas, which can be used for estimating the used gas eth_estimateGas
      java.math.BigInteger gasEstimated​(java.lang.String hexData)  
      java.math.BigInteger gasPrice()
      Returns the current price per gas in wei eth_gasPrice
      java.util.Optional<java.lang.String> storageAt​(java.lang.String address, long position)
      (**experimental) Returns the value from a storage position at a given address eth_getStorageAt
      java.util.Optional<TxProxy> tx​(long blockNo, long index)
      Returns information about a transaction by block number and transaction index position eth_getTransactionByBlockNumberAndIndex
      java.util.Optional<TxProxy> tx​(java.lang.String txhash)
      Returns the information about a transaction requested by transaction hash eth_getTransactionByHash
      int txCount​(long blockNo)
      Returns the number of transactions in a block from a block matching the given block number eth_getBlockTransactionCountByNumber
      java.util.Optional<ReceiptProxy> txReceipt​(java.lang.String txhash)
      Returns the receipt of a transaction by transaction hash eth_getTransactionReceipt
      int txSendCount​(java.lang.String address)
      Returns the number of transactions sent from an address eth_getTransactionCount
      java.util.Optional<java.lang.String> txSendRaw​(java.lang.String hexEncodedTx)
      Creates new message call transaction or a contract creation for signed transactions eth_sendRawTransaction
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • block

        @NotNull
        public java.util.Optional<BlockProxy> block​(long blockNo)
                                             throws ApiException
        Description copied from interface: IProxyApi
        Returns information about a block by block number eth_getBlockByNumber
        Specified by:
        block in interface IProxyApi
        Parameters:
        blockNo - block number
        Returns:
        block info
        Throws:
        ApiException
      • blockUncle

        @NotNull
        public java.util.Optional<BlockProxy> blockUncle​(long blockNo,
                                                         long index)
                                                  throws ApiException
        Description copied from interface: IProxyApi
        Returns information about a uncle by block number eth_getUncleByBlockNumberAndIndex
        Specified by:
        blockUncle in interface IProxyApi
        Parameters:
        blockNo - block number
        index - uncle block index
        Returns:
        block info
        Throws:
        ApiException
      • tx

        @NotNull
        public java.util.Optional<TxProxy> tx​(java.lang.String txhash)
                                       throws ApiException
        Description copied from interface: IProxyApi
        Returns the information about a transaction requested by transaction hash eth_getTransactionByHash
        Specified by:
        tx in interface IProxyApi
        Parameters:
        txhash - tx hash
        Returns:
        tx info
        Throws:
        ApiException
      • tx

        @NotNull
        public java.util.Optional<TxProxy> tx​(long blockNo,
                                              long index)
                                       throws ApiException
        Description copied from interface: IProxyApi
        Returns information about a transaction by block number and transaction index position eth_getTransactionByBlockNumberAndIndex
        Specified by:
        tx in interface IProxyApi
        Parameters:
        blockNo - block number
        index - tx index in block
        Returns:
        tx info
        Throws:
        ApiException
      • txCount

        public int txCount​(long blockNo)
                    throws ApiException
        Description copied from interface: IProxyApi
        Returns the number of transactions in a block from a block matching the given block number eth_getBlockTransactionCountByNumber
        Specified by:
        txCount in interface IProxyApi
        Parameters:
        blockNo - block number
        Returns:
        tx count in block
        Throws:
        ApiException
      • txSendCount

        public int txSendCount​(java.lang.String address)
                        throws ApiException
        Description copied from interface: IProxyApi
        Returns the number of transactions sent from an address eth_getTransactionCount
        Specified by:
        txSendCount in interface IProxyApi
        Parameters:
        address - to look for
        Returns:
        tx send count
        Throws:
        ApiException
      • txSendRaw

        @NotNull
        public java.util.Optional<java.lang.String> txSendRaw​(java.lang.String hexEncodedTx)
                                                       throws ApiException
        Description copied from interface: IProxyApi
        Creates new message call transaction or a contract creation for signed transactions eth_sendRawTransaction
        Specified by:
        txSendRaw in interface IProxyApi
        Parameters:
        hexEncodedTx - tx as hex
        Returns:
        result (check eth grpc info)
        Throws:
        ApiException
      • txReceipt

        @NotNull
        public java.util.Optional<ReceiptProxy> txReceipt​(java.lang.String txhash)
                                                   throws ApiException
        Description copied from interface: IProxyApi
        Returns the receipt of a transaction by transaction hash eth_getTransactionReceipt
        Specified by:
        txReceipt in interface IProxyApi
        Parameters:
        txhash - tx hash
        Returns:
        receipt
        Throws:
        ApiException
      • call

        @NotNull
        public java.util.Optional<java.lang.String> call​(java.lang.String address,
                                                         java.lang.String data)
                                                  throws ApiException
        Description copied from interface: IProxyApi
        Executes a new message call immediately without creating a transaction on the block chain eth_call
        Specified by:
        call in interface IProxyApi
        Parameters:
        address - to look for
        data - in tx for call
        Returns:
        result (check eth grpc info)
        Throws:
        ApiException
      • code

        @NotNull
        public java.util.Optional<java.lang.String> code​(java.lang.String address)
                                                  throws ApiException
        Description copied from interface: IProxyApi
        Returns code at a given address eth_getCode
        Specified by:
        code in interface IProxyApi
        Parameters:
        address - to look for
        Returns:
        result (check eth grpc info)
        Throws:
        ApiException
      • storageAt

        @NotNull
        public java.util.Optional<java.lang.String> storageAt​(java.lang.String address,
                                                              long position)
                                                       throws ApiException
        Description copied from interface: IProxyApi
        (**experimental) Returns the value from a storage position at a given address eth_getStorageAt
        Specified by:
        storageAt in interface IProxyApi
        Parameters:
        address - to look for
        position - storage position
        Returns:
        result (check eth grpc info)
        Throws:
        ApiException
      • gasPrice

        @NotNull
        public java.math.BigInteger gasPrice()
                                      throws ApiException
        Description copied from interface: IProxyApi
        Returns the current price per gas in wei eth_gasPrice
        Specified by:
        gasPrice in interface IProxyApi
        Returns:
        price
        Throws:
        ApiException
      • gasEstimated

        @NotNull
        public java.math.BigInteger gasEstimated()
                                          throws ApiException
        Description copied from interface: IProxyApi
        Makes a call or transaction, which won't be added to the blockchain and returns the used gas, which can be used for estimating the used gas eth_estimateGas
        Specified by:
        gasEstimated in interface IProxyApi
        Returns:
        gas estimate
        Throws:
        ApiException