@@ -236,14 +236,14 @@ export default class Transaction {
this.database.all('SELECT * FROM (SELECT `transaction`.* FROM `transaction` '+
'INNER JOIN transaction_input ON transaction_input.transaction_id = `transaction`.transaction_id '+
'INNER JOIN transaction_output ON transaction_output.transaction_id = transaction_input.transaction_id '+
'WHERE transaction_input.address_key_identifier = ?1 '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND transaction_output.is_stable = 0 ORDER BY transaction_date ASC LIMIT '+config.CONSENSUS_VALIDATION_PARALLEL_PROCESS_MAX+') '+
'WHERE transaction_input.address_key_identifier = ?1 '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND transaction_output.is_stable = 0 ORDER BY transaction_date ASC LIMIT 100) '+
'UNION SELECT * FROM (SELECT `transaction`.* FROM `transaction` '+
'INNER JOIN transaction_output ON transaction_output.transaction_id = `transaction`.transaction_id '+
'WHERE transaction_output.address_key_identifier = ?1 '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND transaction_output.is_stable = 0 ORDER BY transaction_date ASC LIMIT '+config.CONSENSUS_VALIDATION_PARALLEL_PROCESS_MAX+') '+
'WHERE transaction_output.address_key_identifier = ?1 '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND transaction_output.is_stable = 0 ORDER BY transaction_date ASC LIMIT 100) '+
'UNION SELECT * FROM (SELECT `transaction`.* FROM transaction_input '+
'INNER JOIN `transaction` ON `transaction`.transaction_id = transaction_input.transaction_id '+
'WHERE output_transaction_id IN (SELECT transaction_id FROM transaction_output WHERE address_key_identifier = ?1 '+
'AND is_stable = 1 AND is_spent = 1 AND status = 2) '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND +`transaction`.is_stable = 0 ORDER BY transaction_date ASC LIMIT '+config.CONSENSUS_VALIDATION_PARALLEL_PROCESS_MAX+') ',
'AND is_stable = 1 AND is_spent = 1 AND status = 2) '+(excludeTransactionIDList&&excludeTransactionIDList.length>0?'AND `transaction`.transaction_id NOT IN ('+excludeTransactionIDList.map((_,idx)=>`?${idx+2}`).join(',')+')':'')+'AND +`transaction`.is_stable = 0 ORDER BY transaction_date ASC LIMIT 100) ',
[
addressKeyIdentifier
].concat(excludeTransactionIDList),
...
...
@@ -578,12 +578,6 @@ export default class Transaction {
@@ -1019,7 +1001,10 @@ export default class Transaction {
});
})
.then(transaction=>resolve(transaction))
.catch((e)=>resolve(null));
.catch((e)=>{
console.log('[transaction] cannot get transaction with id',transactionID,'err:',e);
resolve(null);
});
});
}
...
...
@@ -2423,12 +2408,12 @@ export default class Transaction {
'TIN.input_position, TIN.output_transaction_id AS input_output_transaction_id, TIN.output_shard_id AS input_output_shard_id, TIN.output_position AS input_output_position, TIN.output_transaction_date AS input_output_transaction_date, TIN.double_spend_date AS input_double_spend_date, TIN.is_double_spend AS input_is_double_spend, TIN.address AS input_address, TIN.address_key_identifier as input_address_key_identifier, TIN.status AS input_status, TIN.create_date AS input_create_date, '+
'TOUT.output_position, TOUT.address AS output_address, TOUT.address_key_identifier AS output_address_key_identifier, TOUT.amount, TOUT.stable_date AS output_stable_date, TOUT.is_stable AS output_is_stable, TOUT.spent_date, TOUT.is_spent, TOUT.double_spend_date AS output_double_spend_date, TOUT.is_double_spend AS output_is_double_spend, TOUT.status AS output_status, TOUT.create_date AS output_create_date, '+
'TOUTA.attribute_type_id AS output_attribute_type_id, TOUTA.value AS output_attribute_value, TOUTA.status AS output_attribute_status, TOUTA.create_date AS output_attribute_create_date, '+
'TPP.transaction_id_parent, TPP.transaction_id_child, TPP.status AS transaction_parent_status, TPP.create_date AS transaction_parent_create_date '+
'TPP.transaction_id_parent, TPP.transaction_id_child, TPP.shard_id AS shard_id_child, TPP.status AS transaction_parent_status, TPP.create_date AS transaction_parent_create_date '+
'FROM `transaction` INNER JOIN transaction_signature AS TS ON `transaction`.transaction_id = TS.transaction_id '+
'INNER JOIN transaction_input AS TIN ON `transaction`.transaction_id = TIN.transaction_id '+
'INNER JOIN transaction_output AS TOUT ON `transaction`.transaction_id = TOUT.transaction_id '+
'LEFT JOIN transaction_output_attribute AS TOUTA ON `transaction`.transaction_id = TOUTA.transaction_id '+
'LEFT JOIN transaction_parent AS TPP ON `transaction`.transaction_id = TPP.transaction_id_child',where);
'LEFT JOIN transaction_parent AS TPP ON `transaction`.transaction_id = TPP.transaction_id_child',where);
this.database.all(sql,parameters,(err,rows)=>{
if(err){
console.log(err);
...
...
@@ -2489,11 +2474,15 @@ export default class Transaction {
if(transaction.shard_id==='AyAC3kjLtjM4vktAJ5Xq6mbXKjzEqXoSsmGhhgjnkXUvjtF2M'){/* do not prune this special shard id. TODO: refactor and activate shard */
if(transaction.shard_id==='AyAC3kjLtjM4vktAJ5Xq6mbXKjzEqXoSsmGhhgjnkXUvjtF2M'){/* do not prune this special shard id. TODO: refactor and activate shard */