Class Transaction
java.lang.Object
com.bradyrussell.uiscoin.transaction.Transaction
- All Implemented Interfaces:
SerializableAsBinaryData,VerifiableWithBlockchain
public class Transaction extends java.lang.Object implements SerializableAsBinaryData, VerifiableWithBlockchain
-
Field Summary
Fields Modifier and Type Field Description java.util.ArrayList<TransactionInput>Inputsjava.util.ArrayList<TransactionOutput>OutputslongTimeStampintVersion -
Constructor Summary
Constructors Constructor Description Transaction()Transaction(int version, long timeStamp)Transaction(int version, long timeStamp, java.util.ArrayList<TransactionInput> inputs, java.util.ArrayList<TransactionOutput> outputs) -
Method Summary
Modifier and Type Method Description TransactionaddInput(TransactionInput Input)TransactionaddOutput(TransactionOutput Output)voiddebugVerify(BlockchainStorage blockchain)voiddebugVerifyCoinbase(BlockchainStorage blockchain, int BlockHeight)booleanequals(java.lang.Object o)byte[]getBinaryData()longgetFees(BlockchainStorage blockchain)byte[]getHash()longgetInputTotal(BlockchainStorage blockchain)longgetOutputTotal()intgetSize()intsetBinaryData(byte[] Data)booleanverify(BlockchainStorage blockchain)booleanverifyCoinbase(BlockchainStorage blockchain, int BlockHeight)booleanverifyInputsUnspent(BlockchainStorage blockchain)
-
Field Details
-
Constructor Details
-
Transaction
public Transaction() -
Transaction
public Transaction(int version, long timeStamp) -
Transaction
public Transaction(int version, long timeStamp, java.util.ArrayList<TransactionInput> inputs, java.util.ArrayList<TransactionOutput> outputs)
-
-
Method Details
-
addInput
-
addOutput
-
getBinaryData
public byte[] getBinaryData()- Specified by:
getBinaryDatain interfaceSerializableAsBinaryData
-
setBinaryData
public int setBinaryData(byte[] Data)- Specified by:
setBinaryDatain interfaceSerializableAsBinaryData
-
getSize
public int getSize()- Specified by:
getSizein interfaceSerializableAsBinaryData
-
getHash
public byte[] getHash()- Specified by:
getHashin interfaceSerializableAsBinaryData
-
verifyCoinbase
-
debugVerify
public void debugVerify(BlockchainStorage blockchain) throws NoSuchTransactionException, NoSuchBlockException -
debugVerifyCoinbase
-
verifyInputsUnspent
- Throws:
NoSuchTransactionException
-
getInputTotal
public long getInputTotal(BlockchainStorage blockchain) throws NoSuchTransactionException, NoSuchBlockException -
getOutputTotal
public long getOutputTotal() -
getFees
public long getFees(BlockchainStorage blockchain) throws NoSuchTransactionException, NoSuchBlockException -
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
verify
- Specified by:
verifyin interfaceVerifiableWithBlockchain
-