Class SmartContractExecution
- java.lang.Object
-
- com.klaytn.caver.transaction.AbstractTransaction
-
- com.klaytn.caver.transaction.type.SmartContractExecution
-
- All Implemented Interfaces:
ITransactionWithGasPriceField
public class SmartContractExecution extends AbstractTransaction implements ITransactionWithGasPriceField
Represents a smart contract execution transaction. Please refer to https://docs.klaytn.com/klaytn/design/transactions/basic#txtypesmartcontractexecution to see more detail.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SmartContractExecution.Builder
SmartContractExecution Builder class
-
Constructor Summary
Constructors Constructor Description SmartContractExecution(Klay klaytnCall, java.lang.String from, java.lang.String nonce, java.lang.String gas, java.lang.String gasPrice, java.lang.String chainId, java.util.List<SignatureData> signatures, java.lang.String to, java.lang.String value, java.lang.String input)
Creates a SmartContractExecution instance
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
combineSignedRawTransactions(java.util.List<java.lang.String> rlpEncoded)
Combines signatures to the transaction from RLP-encoded transaction strings and returns a single transaction with all signatures combined.boolean
compareTxField(AbstractTransaction obj, boolean checkSig)
Check equals txObj passed parameter and Current instance.static SmartContractExecution
create(Klay klaytnCall, java.lang.String from, java.lang.String nonce, java.lang.String gas, java.lang.String gasPrice, java.lang.String chainId, java.util.List<SignatureData> signatures, java.lang.String to, java.lang.String value, java.lang.String input)
Creates a SmartContractExecution instance.static SmartContractExecution
create(SmartContractExecution.Builder builder)
Creates a SmartContractExecution instance.static SmartContractExecution
decode(byte[] rlpEncoded)
Decodes a RLP-encoded SmartContractExecution byte array.static SmartContractExecution
decode(java.lang.String rlpEncoded)
Decodes a RLP-encoded SmartContractExecution string.void
fillTransaction()
Fills empty optional transaction field.(gasPrice)java.lang.String
getCommonRLPEncodingForSignature()
Returns the RLP-encoded string to make the signature of this transaction.java.lang.String
getGasPrice()
Getter function for gas pricejava.lang.String
getInput()
Getter function for inputjava.lang.String
getRLPEncoding()
Returns the RLP-encoded string of this transaction (i.e., rawTransaction).java.lang.String
getTo()
Getter function for tojava.lang.String
getValue()
Getter function for valuevoid
setGasPrice(java.lang.String gasPrice)
Setter function for gas price.void
setGasPrice(java.math.BigInteger gasPrice)
Setter function for gas price.void
setInput(java.lang.String input)
Setter function for inputvoid
setTo(java.lang.String to)
Setter function for tovoid
setValue(java.lang.String value)
Setter function for valuevoid
setValue(java.math.BigInteger value)
Setter function for valuevoid
validateOptionalValues(boolean checkChainID)
Checks that member variables that can be defined by the user are defined.-
Methods inherited from class com.klaytn.caver.transaction.AbstractTransaction
appendSignatures, appendSignatures, getChainId, getFrom, getGas, getKeyType, getKlaytnCall, getNonce, getRawTransaction, getRLPEncodingForSignature, getSenderTxHash, getSignatures, getTransactionHash, getType, recoverPublicKeys, refineSignature, setChainId, setChainId, setFrom, setGas, setGas, setKlaytnCall, setNonce, setNonce, setSignatures, setType, sign, sign, sign, sign, sign, sign, suggestGasPrice
-
-
-
-
Constructor Detail
-
SmartContractExecution
public SmartContractExecution(Klay klaytnCall, java.lang.String from, java.lang.String nonce, java.lang.String gas, java.lang.String gasPrice, java.lang.String chainId, java.util.List<SignatureData> signatures, java.lang.String to, java.lang.String value, java.lang.String input)
Creates a SmartContractExecution instance- Parameters:
klaytnCall
- Klay RPC instancefrom
- The address of the sender.nonce
- A value used to uniquely identify a sender’s transaction.gas
- The maximum amount of gas the transaction is allowed to use.gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.chainId
- Network IDsignatures
- A Signature listto
- The account address that will receive the transferred value.value
- The amount of KLAY in peb to be transferred.input
- The data attached to the transaction, used for transaction execution.
-
-
Method Detail
-
create
public static SmartContractExecution create(SmartContractExecution.Builder builder)
Creates a SmartContractExecution instance.- Parameters:
builder
- SmartContractExecution.Builder- Returns:
- SmartContractExecution
-
create
public static SmartContractExecution create(Klay klaytnCall, java.lang.String from, java.lang.String nonce, java.lang.String gas, java.lang.String gasPrice, java.lang.String chainId, java.util.List<SignatureData> signatures, java.lang.String to, java.lang.String value, java.lang.String input)
Creates a SmartContractExecution instance.- Parameters:
klaytnCall
- Klay RPC instancefrom
- The address of the sender.nonce
- A value used to uniquely identify a sender’s transaction.gas
- The maximum amount of gas the transaction is allowed to use.gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.chainId
- Network IDsignatures
- A Signature listto
- The account address that will receive the transferred value.value
- The amount of KLAY in peb to be transferred.input
- The data attached to the transaction, used for transaction execution.- Returns:
- SmartContractExecution
-
getGasPrice
public java.lang.String getGasPrice()
Getter function for gas price- Specified by:
getGasPrice
in interfaceITransactionWithGasPriceField
- Returns:
- String
-
setGasPrice
public void setGasPrice(java.lang.String gasPrice)
Setter function for gas price.- Parameters:
gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.
-
setGasPrice
public void setGasPrice(java.math.BigInteger gasPrice)
Setter function for gas price.- Parameters:
gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.
-
decode
public static SmartContractExecution decode(java.lang.String rlpEncoded)
Decodes a RLP-encoded SmartContractExecution string.- Parameters:
rlpEncoded
- RLP-encoded SmartContractExecution string- Returns:
- SmartContractExecution
-
decode
public static SmartContractExecution decode(byte[] rlpEncoded)
Decodes a RLP-encoded SmartContractExecution byte array.- Parameters:
rlpEncoded
- RLP-encoded SmartContractExecution byte array.- Returns:
- SmartContractExecution
-
getRLPEncoding
public java.lang.String getRLPEncoding()
Returns the RLP-encoded string of this transaction (i.e., rawTransaction).- Specified by:
getRLPEncoding
in classAbstractTransaction
- Returns:
- String
-
getCommonRLPEncodingForSignature
public java.lang.String getCommonRLPEncodingForSignature()
Returns the RLP-encoded string to make the signature of this transaction.- Specified by:
getCommonRLPEncodingForSignature
in classAbstractTransaction
- Returns:
- String
-
compareTxField
public boolean compareTxField(AbstractTransaction obj, boolean checkSig)
Check equals txObj passed parameter and Current instance.- Overrides:
compareTxField
in classAbstractTransaction
- Parameters:
obj
- The AbstractTransaction Object to comparecheckSig
- Check whether signatures field is equal.- Returns:
- boolean
-
combineSignedRawTransactions
public java.lang.String combineSignedRawTransactions(java.util.List<java.lang.String> rlpEncoded)
Description copied from class:AbstractTransaction
Combines signatures to the transaction from RLP-encoded transaction strings and returns a single transaction with all signatures combined. When combining the signatures into a transaction instance, an error is thrown if the decoded transaction contains different value except signatures.- Specified by:
combineSignedRawTransactions
in classAbstractTransaction
- Parameters:
rlpEncoded
- A List of RLP-encoded transaction strings.- Returns:
- String
-
fillTransaction
public void fillTransaction() throws java.io.IOException
Fills empty optional transaction field.(gasPrice)- Overrides:
fillTransaction
in classAbstractTransaction
- Throws:
java.io.IOException
-
validateOptionalValues
public void validateOptionalValues(boolean checkChainID)
Checks that member variables that can be defined by the user are defined. If there is an undefined variable, an error occurs.- Overrides:
validateOptionalValues
in classAbstractTransaction
-
getTo
public java.lang.String getTo()
Getter function for to- Returns:
- String
-
getValue
public java.lang.String getValue()
Getter function for value- Returns:
- String
-
getInput
public java.lang.String getInput()
Getter function for input- Returns:
- String
-
setTo
public void setTo(java.lang.String to)
Setter function for to- Parameters:
to
- The account address that will receive the transferred value.
-
setValue
public void setValue(java.lang.String value)
Setter function for value- Parameters:
value
- The amount of KLAY in peb to be transferred.
-
setValue
public void setValue(java.math.BigInteger value)
Setter function for value- Parameters:
value
- The amount of KLAY in peb to be transferred.
-
setInput
public void setInput(java.lang.String input)
Setter function for input- Parameters:
input
- The data attached to the transaction, used for transaction execution.
-
-