mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-07-22 14:59:38 +00:00
fix(amm): deduplicate transaction status polls
This commit is contained in:
parent
72bde7af6e
commit
3508bfbf42
@ -215,6 +215,7 @@ void AmmUiBackend::syncWalletState()
|
|||||||
if (addressChanged) {
|
if (addressChanged) {
|
||||||
m_identityRetryTimer->stop();
|
m_identityRetryTimer->stop();
|
||||||
m_pendingTransactions.clear();
|
m_pendingTransactions.clear();
|
||||||
|
m_transactionPollsInFlight.clear();
|
||||||
m_transactionTimer->stop();
|
m_transactionTimer->stop();
|
||||||
m_network.sequencerChanged(!state.sequencerAddress.isEmpty());
|
m_network.sequencerChanged(!state.sequencerAddress.isEmpty());
|
||||||
}
|
}
|
||||||
@ -327,8 +328,12 @@ void AmmUiBackend::pollTransactions()
|
|||||||
m_pendingTransactions.remove(transaction.nativeHash);
|
m_pendingTransactions.remove(transaction.nativeHash);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (m_transactionPollsInFlight.contains(transaction.nativeHash))
|
||||||
|
continue;
|
||||||
|
m_transactionPollsInFlight.insert(transaction.nativeHash);
|
||||||
m_sequencer->queryTransaction(transaction.nativeHash,
|
m_sequencer->queryTransaction(transaction.nativeHash,
|
||||||
[this, transaction](bool ok, bool included) {
|
[this, transaction](bool ok, bool included) {
|
||||||
|
m_transactionPollsInFlight.remove(transaction.nativeHash);
|
||||||
if (!ok || !included
|
if (!ok || !included
|
||||||
|| !m_pendingTransactions.contains(transaction.nativeHash)) {
|
|| !m_pendingTransactions.contains(transaction.nativeHash)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
|
#include <QSet>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
@ -86,6 +87,7 @@ private:
|
|||||||
qint64 deadlineMs = 0;
|
qint64 deadlineMs = 0;
|
||||||
};
|
};
|
||||||
QHash<QString, PendingTransaction> m_pendingTransactions;
|
QHash<QString, PendingTransaction> m_pendingTransactions;
|
||||||
|
QSet<QString> m_transactionPollsInFlight;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AMM_UI_BACKEND_H
|
#endif // AMM_UI_BACKEND_H
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user