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 => {
|
||||
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.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.length = 250
|
||||
|
||||
|
||||
Reference in New Issue
Block a user