public abstract class AbstractTransaction
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
AbstractTransaction.Builder<B extends AbstractTransaction.Builder>
Represents a AbstractTransaction class builder.
|
Constructor and Description |
---|
AbstractTransaction(AbstractTransaction.Builder builder)
Create AbstractTransaction instance
|
AbstractTransaction(Klay klaytnCall,
java.lang.String type,
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)
Create AbstractTransaction instance
|
Modifier and Type | Method and Description |
---|---|
void |
appendSignatures(java.util.List<SignatureData> signatureData)
Appends signatures to the transaction.
|
void |
appendSignatures(SignatureData signatureData)
Appends signatures to the transaction.
|
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 txObj,
boolean checkSig)
Check equals txObj passed parameter and Current instance.
|
void |
fillTransaction()
Fills empty optional transaction field.(nonce, gasPrice, chainId)
|
java.lang.String |
getChainId()
Getter function for chain id
|
abstract java.lang.String |
getCommonRLPEncodingForSignature()
Returns the RLP-encoded string to make the signature of this transaction.
|
java.lang.String |
getFrom()
Getter function for from
|
java.lang.String |
getGas()
Getter function for gas
|
java.lang.String |
getGasPrice()
Getter function for gas price
|
int |
getKeyType() |
Klay |
getKlaytnCall()
Getter function for klaytnRPC
|
java.lang.String |
getNonce()
Getter function for nonce
|
java.lang.String |
getRawTransaction()
Returns a RawTransaction(RLP-encoded transaction string)
|
abstract java.lang.String |
getRLPEncoding()
Returns the RLP-encoded string of this transaction (i.e., rawTransaction).
|
java.lang.String |
getRLPEncodingForSignature()
Returns an RLP-encoded transaction string for making signature.
|
java.lang.String |
getSenderTxHash()
Returns a senderTxHash of transaction
|
java.util.List<SignatureData> |
getSignatures()
Getter function for signatures
|
java.lang.String |
getTransactionHash()
Returns a hash string of transaction
|
java.lang.String |
getType()
Getter function for type.
|
java.util.List<SignatureData> |
refineSignature(java.util.List<SignatureData> signatureDataList)
Refines the array containing signatures
- Removes duplicate signatures
- Removes the default empty signature("0x01", "0x", "0x")
- For an empty signature array, return an array containing the default empty signature("0x01", "0x", "0x")
|
void |
setChainId(java.math.BigInteger chainId)
Setter function for chain id.
|
void |
setChainId(java.lang.String chainId)
Setter function for chain id.
|
void |
setFrom(java.lang.String from) |
void |
setGas(java.math.BigInteger gas)
Setter function for gas
|
void |
setGas(java.lang.String gas)
Setter function for gas
|
void |
setGasPrice(java.math.BigInteger gasPrice)
Setter function for gas price.
|
void |
setGasPrice(java.lang.String gasPrice)
Setter function for gas price.
|
void |
setKlaytnCall(Klay klaytnCall)
Setter function for klaytnRPC
|
void |
setNonce(java.math.BigInteger nonce)
Setter function for nonce.
|
void |
setNonce(java.lang.String nonce)
Setter function for nonce.
|
void |
setSignatures(java.util.List<SignatureData> signatures) |
void |
setType(java.lang.String type)
Setter function for type.
|
AbstractTransaction |
sign(AbstractKeyring keyring)
Signs using all private keys used in the role defined in the Keyring instance.
|
AbstractTransaction |
sign(AbstractKeyring keyring,
java.util.function.Function<AbstractTransaction,java.lang.String> signer)
Signs using all private keys used in the role defined in the Keyring instance.
|
AbstractTransaction |
sign(AbstractKeyring keyring,
int index)
Signs to the transaction with a private key in the Keyring instance.
|
AbstractTransaction |
sign(AbstractKeyring keyring,
int index,
java.util.function.Function<AbstractTransaction,java.lang.String> signer)
Signs to the transaction with a private key in the Keyring instance.
|
AbstractTransaction |
sign(java.lang.String keyString)
Signs to the transaction with a single private key.
|
AbstractTransaction |
sign(java.lang.String keyString,
java.util.function.Function<AbstractTransaction,java.lang.String> signer)
Signs to the transaction with a single private key.
|
void |
validateOptionalValues(boolean checkChainID)
Checks that member variables that can be defined by the user are defined.
|
public AbstractTransaction(AbstractTransaction.Builder builder)
builder
- AbstractTransaction.builderpublic AbstractTransaction(Klay klaytnCall, java.lang.String type, 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)
klaytnCall
- Klay RPC instancetype
- Transaction's type stringfrom
- 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 listpublic abstract java.lang.String getRLPEncoding()
public abstract java.lang.String getCommonRLPEncodingForSignature()
public AbstractTransaction sign(java.lang.String keyString) throws java.io.IOException
keyString
- The private key string.java.io.IOException
public AbstractTransaction sign(java.lang.String keyString, java.util.function.Function<AbstractTransaction,java.lang.String> signer) throws java.io.IOException
keyString
- The private key stringsigner
- The function to get hash of transaction.java.io.IOException
public AbstractTransaction sign(AbstractKeyring keyring) throws java.io.IOException
keyring
- The Keyring instance.java.io.IOException
public AbstractTransaction sign(AbstractKeyring keyring, java.util.function.Function<AbstractTransaction,java.lang.String> signer) throws java.io.IOException
keyring
- The Keyring instance.signer
- The function to get hash of transaction.java.io.IOException
public AbstractTransaction sign(AbstractKeyring keyring, int index) throws java.io.IOException
keyring
- The Keyring instance.index
- The index of private key to use in Keyring instance.java.io.IOException
public AbstractTransaction sign(AbstractKeyring keyring, int index, java.util.function.Function<AbstractTransaction,java.lang.String> signer) throws java.io.IOException
keyring
- The Keyring instance.index
- The index of private key to use in Keyring instance.signer
- The function to get hash of transaction.java.io.IOException
public void appendSignatures(SignatureData signatureData)
signatureData
- SignatureData instance contains ECDSA signature datapublic void appendSignatures(java.util.List<SignatureData> signatureData)
signatureData
- List of SignatureData contains ECDSA signature datapublic java.lang.String combineSignedRawTransactions(java.util.List<java.lang.String> rlpEncoded)
rlpEncoded
- A List of RLP-encoded transaction strings.public java.lang.String getRawTransaction()
public java.lang.String getTransactionHash()
public java.lang.String getSenderTxHash()
public java.lang.String getRLPEncodingForSignature()
public void fillTransaction() throws java.io.IOException
java.io.IOException
public boolean compareTxField(AbstractTransaction txObj, boolean checkSig)
txObj
- The AbstractTransaction Object to comparecheckSig
- Check whether signatures field is equal.public void validateOptionalValues(boolean checkChainID)
public java.util.List<SignatureData> refineSignature(java.util.List<SignatureData> signatureDataList)
signatureDataList
- public Klay getKlaytnCall()
public void setKlaytnCall(Klay klaytnCall)
klaytnCall
- Klay RPC Instance.public java.lang.String getType()
public java.lang.String getFrom()
public java.lang.String getNonce()
public java.lang.String getGas()
public java.lang.String getGasPrice()
public java.lang.String getChainId()
public java.util.List<SignatureData> getSignatures()
public void setType(java.lang.String type)
type
- The Transaction type.public void setFrom(java.lang.String from)
public void setGas(java.lang.String gas)
gas
- The maximum amount of gas the transaction is allowed to use.public void setGas(java.math.BigInteger gas)
gas
- The maximum amount of gas the transaction is allowed to use.public void setNonce(java.lang.String nonce)
nonce
- A value used to uniquely identify a sender’s transaction.public void setNonce(java.math.BigInteger nonce)
nonce
- A value used to uniquely identify a sender’s transaction.public void setGasPrice(java.lang.String gasPrice)
gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.public void setGasPrice(java.math.BigInteger gasPrice)
gasPrice
- A unit price of gas in peb the sender will pay for a transaction fee.public void setChainId(java.lang.String chainId)
chainId
- A network id.public void setChainId(java.math.BigInteger chainId)
chainId
- A network id.public void setSignatures(java.util.List<SignatureData> signatures)
public int getKeyType()