OlinCoin
Test
|
#include "base_tx.h"
#include "utxo_pool.h"
#include "mempool.h"
#include "constants.h"
#include "crypto.h"
#include "create_block.h"
#include "validate_tx.h"
#include "utxo_to_tx.h"
#include "double_spend_set.h"
Functions | |
void | create_blank_sig_txhash (unsigned char *blank_hash, Transaction *tx) |
Create a copy of a transaction with blank signatures and hash it for signature validation. More... | |
int | check_input_unlockable (Input *input, unsigned char *blank_tx_hash) |
Check if a given input is unlockable iwth it's unlock script. More... | |
int | validate_input_matches_utxopool (Input *input) |
Check if the inputs to a transaction exists in the utxo pool ignoring spent flag now. This cna likely be replaced by just checkign to see if the tx is in the mempool. More... | |
int | validate_input (Input *input, unsigned char *blank_tx_hash) |
Wrapper to validate a transactions input in various ways, inputs size, utxo available, unlockable. More... | |
int | validate_tx_parts_not_null (Transaction *tx) |
Check if a Transaction (Not a coinbase tx) is malformed this should be the first check run on a transaction. More... | |
int | validate_coinbase_tx_parts_not_null (Transaction *coinbase_tx) |
Check if a coinbase TX has a Null value in an improper place. More... | |
int | validate_tx_shared (Transaction *tx) |
Overall wrapper to validate an entire transaction that is NOT a Coinbase_tx. More... | |
int | check_tx_double_spent (Transaction *tx) |
Check if UTXO is double-spent in a transaction. More... | |
int | check_inputs_not_in_mempool (Transaction *tx) |
Check if an UTXO in a transaction is already referenced in the mempool. More... | |
int | validate_tx_incoming (Transaction *tx) |
Validate incoming transactions from the network (different than block transaction validation) More... | |
int check_input_unlockable | ( | Input * | input, |
unsigned char * | blank_tx_hash | ||
) |
Check if a given input is unlockable iwth it's unlock script.
input | input to check |
blank_tx_hash | blank tx hash that the tx was signed with |
int check_inputs_not_in_mempool | ( | Transaction * | tx | ) |
Check if an UTXO in a transaction is already referenced in the mempool.
tx | transaction to check |
int check_tx_double_spent | ( | Transaction * | tx | ) |
Check if UTXO is double-spent in a transaction.
tx | transaction to check |
void create_blank_sig_txhash | ( | unsigned char * | blank_hash, |
Transaction * | tx | ||
) |
Create a copy of a transaction with blank signatures and hash it for signature validation.
blank_hash | destination for the blank signature hash |
tx | transaction to blank and hash |
int validate_coinbase_tx_parts_not_null | ( | Transaction * | tx | ) |
Check if a coinbase TX has a Null value in an improper place.
tx | coinbase tx to check |
int validate_input | ( | Input * | input, |
unsigned char * | blank_tx_hash | ||
) |
Wrapper to validate a transactions input in various ways, inputs size, utxo available, unlockable.
input | input to validate |
blank_tx_hash | tx hash of the larger transaction with signatures blanked |
int validate_input_matches_utxopool | ( | Input * | input | ) |
Check if the inputs to a transaction exists in the utxo pool ignoring spent flag now. This cna likely be replaced by just checkign to see if the tx is in the mempool.
input | input to validate |
int validate_tx_incoming | ( | Transaction * | tx | ) |
Validate incoming transactions from the network (different than block transaction validation)
tx | transaction to validate |
int validate_tx_parts_not_null | ( | Transaction * | tx | ) |
Check if a Transaction (Not a coinbase tx) is malformed this should be the first check run on a transaction.
tx | transaction to validate |
int validate_tx_shared | ( | Transaction * | tx | ) |
Overall wrapper to validate an entire transaction that is NOT a Coinbase_tx.
tx | transaction to validate |