public abstract class Contract
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Contract.EventValuesWithLog
Adds a log field to
EventValues. |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
BIN_NOT_PROVIDED |
protected java.lang.String |
contractAddress |
protected java.lang.String |
contractBinary |
protected org.web3j.protocol.core.DefaultBlockParameter |
defaultBlockParameter |
protected java.util.Map<java.lang.String,java.lang.String> |
deployedAddresses |
static java.lang.String |
FUNC_DEPLOY |
protected org.web3j.tx.gas.ContractGasProvider |
gasProvider |
protected org.web3j.protocol.core.methods.response.TransactionReceipt |
transactionReceipt |
| Modifier | Constructor and Description |
|---|---|
protected |
Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit) |
protected |
Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
org.web3j.tx.gas.ContractGasProvider gasProvider) |
protected |
Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
Handler handler,
org.web3j.tx.gas.ContractGasProvider gasProvider) |
| Modifier and Type | Method and Description |
|---|---|
protected static <S extends org.web3j.abi.datatypes.Type,T> |
convertToNative(java.util.List<S> arr) |
protected static <T extends Contract> |
deploy(java.lang.Class<T> type,
Handler handler,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit,
java.lang.String binary,
java.lang.String encodedConstructor,
java.math.BigInteger value) |
protected static <T extends Contract> |
deploy(java.lang.Class<T> type,
Handler handler,
org.web3j.tx.gas.ContractGasProvider contractGasProvider,
java.lang.String binary,
java.lang.String encodedConstructor,
java.math.BigInteger value) |
static <T extends Contract> |
deployRemoteCall(java.lang.Class<T> type,
Handler handler,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit,
java.lang.String binary,
java.lang.String encodedConstructor) |
static <T extends Contract> |
deployRemoteCall(java.lang.Class<T> type,
Handler handler,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit,
java.lang.String binary,
java.lang.String encodedConstructor,
java.math.BigInteger value) |
static <T extends Contract> |
deployRemoteCall(java.lang.Class<T> type,
Handler handler,
org.web3j.tx.gas.ContractGasProvider contractGasProvider,
java.lang.String binary,
java.lang.String encodedConstructor) |
static <T extends Contract> |
deployRemoteCall(java.lang.Class<T> type,
Handler handler,
org.web3j.tx.gas.ContractGasProvider contractGasProvider,
java.lang.String binary,
java.lang.String encodedConstructor,
java.math.BigInteger value) |
protected java.util.List<org.web3j.abi.datatypes.Type> |
executeCallMultipleValueReturn(org.web3j.abi.datatypes.Function function) |
protected <T extends org.web3j.abi.datatypes.Type> |
executeCallSingleValueReturn(org.web3j.abi.datatypes.Function function) |
protected <T extends org.web3j.abi.datatypes.Type,R> |
executeCallSingleValueReturn(org.web3j.abi.datatypes.Function function,
java.lang.Class<R> returnType) |
protected org.web3j.protocol.core.RemoteFunctionCall<java.util.List<org.web3j.abi.datatypes.Type>> |
executeRemoteCallMultipleValueReturn(org.web3j.abi.datatypes.Function function) |
protected <T extends org.web3j.abi.datatypes.Type> |
executeRemoteCallSingleValueReturn(org.web3j.abi.datatypes.Function function) |
protected <T> org.web3j.protocol.core.RemoteFunctionCall<T> |
executeRemoteCallSingleValueReturn(org.web3j.abi.datatypes.Function function,
java.lang.Class<T> returnType) |
protected org.web3j.protocol.core.RemoteFunctionCall<org.web3j.protocol.core.methods.response.TransactionReceipt> |
executeRemoteCallTransaction(org.web3j.abi.datatypes.Function function) |
protected org.web3j.protocol.core.RemoteFunctionCall<org.web3j.protocol.core.methods.response.TransactionReceipt> |
executeRemoteCallTransaction(org.web3j.abi.datatypes.Function function,
java.math.BigInteger weiValue) |
protected org.web3j.protocol.core.methods.response.TransactionReceipt |
executeTransaction(org.web3j.abi.datatypes.Function function) |
protected org.web3j.abi.EventValues |
extractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log) |
protected java.util.List<org.web3j.abi.EventValues> |
extractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt) |
protected Contract.EventValuesWithLog |
extractEventParametersWithLog(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log) |
protected java.util.List<Contract.EventValuesWithLog> |
extractEventParametersWithLog(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt) |
java.lang.String |
getContractAddress() |
java.lang.String |
getContractBinary() |
java.lang.String |
getDeployedAddress(java.lang.String networkId) |
protected java.lang.String |
getStaticDeployedAddress(java.lang.String networkId)
Subclasses should implement this method to return pre-existing addresses for
deployed contracts.
|
java.util.Optional<org.web3j.protocol.core.methods.response.TransactionReceipt> |
getTransactionReceipt()
If this Contract instance was created at deployment, the TransactionReceipt
associated with the initial creation will be provided, e.g.
|
boolean |
isValid()
Check that the contract deployed at the address associated with this smart
contract wrapper is in fact the contract you believe it is.
|
protected org.web3j.protocol.core.methods.response.TransactionReceipt |
send(java.lang.String to,
java.lang.String data,
java.math.BigInteger value,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit) |
void |
setContractAddress(java.lang.String contractAddress) |
void |
setDefaultBlockParameter(org.web3j.protocol.core.DefaultBlockParameter defaultBlockParameter)
Sets the default block parameter.
|
void |
setDeployedAddress(java.lang.String networkId,
java.lang.String address) |
void |
setGasProvider(org.web3j.tx.gas.ContractGasProvider gasProvider) |
void |
setHandler(Handler handler) |
void |
setTransactionReceipt(org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt) |
static org.web3j.abi.EventValues |
staticExtractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log) |
protected static Contract.EventValuesWithLog |
staticExtractEventParametersWithLog(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log) |
public static final java.lang.String BIN_NOT_PROVIDED
public static final java.lang.String FUNC_DEPLOY
protected final java.lang.String contractBinary
protected java.lang.String contractAddress
protected org.web3j.tx.gas.ContractGasProvider gasProvider
protected org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt
protected java.util.Map<java.lang.String,java.lang.String> deployedAddresses
protected org.web3j.protocol.core.DefaultBlockParameter defaultBlockParameter
protected Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
Handler handler,
org.web3j.tx.gas.ContractGasProvider gasProvider)
protected Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
org.web3j.tx.gas.ContractGasProvider gasProvider)
protected Contract(java.lang.String contractBinary,
java.lang.String contractAddress,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit)
public void setHandler(Handler handler)
public void setContractAddress(java.lang.String contractAddress)
public java.lang.String getContractAddress()
public void setTransactionReceipt(org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt)
public java.lang.String getContractBinary()
public void setGasProvider(org.web3j.tx.gas.ContractGasProvider gasProvider)
public boolean isValid()
throws java.io.IOException
This method uses the eth_getCode method to get the contract byte code and validates it against the byte code stored in this smart contract wrapper.
java.io.IOException - if unable to connect to web3j nodepublic java.util.Optional<org.web3j.protocol.core.methods.response.TransactionReceipt> getTransactionReceipt()
public void setDefaultBlockParameter(org.web3j.protocol.core.DefaultBlockParameter defaultBlockParameter)
defaultBlockParameter - the default block parameterprotected <T extends org.web3j.abi.datatypes.Type> T executeCallSingleValueReturn(org.web3j.abi.datatypes.Function function)
throws java.lang.Exception
java.lang.Exceptionprotected <T extends org.web3j.abi.datatypes.Type,R> R executeCallSingleValueReturn(org.web3j.abi.datatypes.Function function,
java.lang.Class<R> returnType)
throws java.lang.Exception
java.lang.Exceptionprotected java.util.List<org.web3j.abi.datatypes.Type> executeCallMultipleValueReturn(org.web3j.abi.datatypes.Function function)
throws java.lang.Exception
java.lang.Exceptionprotected org.web3j.protocol.core.methods.response.TransactionReceipt executeTransaction(org.web3j.abi.datatypes.Function function)
throws java.lang.Exception,
org.web3j.protocol.exceptions.TransactionException
java.lang.Exceptionorg.web3j.protocol.exceptions.TransactionExceptionprotected <T extends org.web3j.abi.datatypes.Type> org.web3j.protocol.core.RemoteFunctionCall<T> executeRemoteCallSingleValueReturn(org.web3j.abi.datatypes.Function function)
protected <T> org.web3j.protocol.core.RemoteFunctionCall<T> executeRemoteCallSingleValueReturn(org.web3j.abi.datatypes.Function function,
java.lang.Class<T> returnType)
protected org.web3j.protocol.core.RemoteFunctionCall<java.util.List<org.web3j.abi.datatypes.Type>> executeRemoteCallMultipleValueReturn(org.web3j.abi.datatypes.Function function)
protected org.web3j.protocol.core.RemoteFunctionCall<org.web3j.protocol.core.methods.response.TransactionReceipt> executeRemoteCallTransaction(org.web3j.abi.datatypes.Function function)
protected org.web3j.protocol.core.RemoteFunctionCall<org.web3j.protocol.core.methods.response.TransactionReceipt> executeRemoteCallTransaction(org.web3j.abi.datatypes.Function function,
java.math.BigInteger weiValue)
protected static <T extends Contract> T deploy(java.lang.Class<T> type, Handler handler, org.web3j.tx.gas.ContractGasProvider contractGasProvider, java.lang.String binary, java.lang.String encodedConstructor, java.math.BigInteger value) throws java.lang.RuntimeException, org.web3j.protocol.exceptions.TransactionException
java.lang.RuntimeExceptionorg.web3j.protocol.exceptions.TransactionExceptionprotected static <T extends Contract> T deploy(java.lang.Class<T> type, Handler handler, java.math.BigInteger gasPrice, java.math.BigInteger gasLimit, java.lang.String binary, java.lang.String encodedConstructor, java.math.BigInteger value) throws java.lang.RuntimeException, org.web3j.protocol.exceptions.TransactionException
java.lang.RuntimeExceptionorg.web3j.protocol.exceptions.TransactionExceptionpublic static <T extends Contract> org.web3j.protocol.core.RemoteCall<T> deployRemoteCall(java.lang.Class<T> type, Handler handler, org.web3j.tx.gas.ContractGasProvider contractGasProvider, java.lang.String binary, java.lang.String encodedConstructor, java.math.BigInteger value)
public static <T extends Contract> org.web3j.protocol.core.RemoteCall<T> deployRemoteCall(java.lang.Class<T> type, Handler handler, java.math.BigInteger gasPrice, java.math.BigInteger gasLimit, java.lang.String binary, java.lang.String encodedConstructor, java.math.BigInteger value)
public static <T extends Contract> org.web3j.protocol.core.RemoteCall<T> deployRemoteCall(java.lang.Class<T> type, Handler handler, java.math.BigInteger gasPrice, java.math.BigInteger gasLimit, java.lang.String binary, java.lang.String encodedConstructor)
public static <T extends Contract> org.web3j.protocol.core.RemoteCall<T> deployRemoteCall(java.lang.Class<T> type, Handler handler, org.web3j.tx.gas.ContractGasProvider contractGasProvider, java.lang.String binary, java.lang.String encodedConstructor)
protected org.web3j.protocol.core.methods.response.TransactionReceipt send(java.lang.String to,
java.lang.String data,
java.math.BigInteger value,
java.math.BigInteger gasPrice,
java.math.BigInteger gasLimit)
throws java.lang.Exception,
org.web3j.protocol.exceptions.TransactionException
java.lang.Exceptionorg.web3j.protocol.exceptions.TransactionExceptionpublic static org.web3j.abi.EventValues staticExtractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log)
protected org.web3j.abi.EventValues extractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.Log log)
protected java.util.List<org.web3j.abi.EventValues> extractEventParameters(org.web3j.abi.datatypes.Event event,
org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt)
protected Contract.EventValuesWithLog extractEventParametersWithLog(org.web3j.abi.datatypes.Event event, org.web3j.protocol.core.methods.response.Log log)
protected static Contract.EventValuesWithLog staticExtractEventParametersWithLog(org.web3j.abi.datatypes.Event event, org.web3j.protocol.core.methods.response.Log log)
protected java.util.List<Contract.EventValuesWithLog> extractEventParametersWithLog(org.web3j.abi.datatypes.Event event, org.web3j.protocol.core.methods.response.TransactionReceipt transactionReceipt)
protected java.lang.String getStaticDeployedAddress(java.lang.String networkId)
networkId - the network id, for example "1" for the main-net, "3" for
ropsten, etc.public final void setDeployedAddress(java.lang.String networkId,
java.lang.String address)
public final java.lang.String getDeployedAddress(java.lang.String networkId)
protected static <S extends org.web3j.abi.datatypes.Type,T> java.util.List<T> convertToNative(java.util.List<S> arr)