mirror of
https://github.com/Xahau/Validation-Ledger-Tx-Store-to-xPOP.git
synced 2025-11-19 11:15:50 +00:00
Also store ledger information
This commit is contained in:
@@ -43,7 +43,20 @@ const onLedger = async ({
|
|||||||
: []),
|
: []),
|
||||||
].map(query => query.then(results => {
|
].map(query => query.then(results => {
|
||||||
if (results?.validated && results?.ledger_index === ledger?.ledger_index && results?.ledger_hash === ledger?.ledger_hash) {
|
if (results?.validated && results?.ledger_index === ledger?.ledger_index && results?.ledger_hash === ledger?.ledger_hash) {
|
||||||
if (results?.ledger?.transactions && obtainedBinaryTxLedgers.indexOf(ledger.ledger_index) < 0) {
|
if (
|
||||||
|
results?.ledger?.transactions
|
||||||
|
&& Array.isArray(results.ledger.transactions)
|
||||||
|
&& results.ledger.transactions.length > 0
|
||||||
|
&& obtainedBinaryTxLedgers.indexOf(ledger.ledger_index) < 0
|
||||||
|
) {
|
||||||
|
/**
|
||||||
|
* Store in array, so if more ledger events come in and they
|
||||||
|
* also result in a response here, it won't be saved again.
|
||||||
|
* So yes: events will come in multiple times if multiple
|
||||||
|
* nodes are connected, and yes, multiple promises will be
|
||||||
|
* fired to fetch the ledger information, but then only
|
||||||
|
* the first one will be stored.
|
||||||
|
*/
|
||||||
obtainedBinaryTxLedgers.unshift(results.ledger_index)
|
obtainedBinaryTxLedgers.unshift(results.ledger_index)
|
||||||
obtainedBinaryTxLedgers.length = 250
|
obtainedBinaryTxLedgers.length = 250
|
||||||
|
|
||||||
@@ -54,7 +67,13 @@ const onLedger = async ({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (results?.ledger?.parent_hash && obtainedHumanReadableLedgers.indexOf(ledger.ledger_index) < 0) {
|
if (
|
||||||
|
results?.ledger?.parent_hash
|
||||||
|
&& obtainedHumanReadableLedgers.indexOf(ledger.ledger_index) < 0
|
||||||
|
) {
|
||||||
|
/**
|
||||||
|
* See comment above "Store in array" ... - first one will be stored
|
||||||
|
*/
|
||||||
obtainedHumanReadableLedgers.unshift(results.ledger_index)
|
obtainedHumanReadableLedgers.unshift(results.ledger_index)
|
||||||
obtainedHumanReadableLedgers.length = 250
|
obtainedHumanReadableLedgers.length = 250
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user