The SQS seeder and the Poller seeder are removed, they weren't
adapted to the linear synchronization process and they are not
required anymore.
Also, all related classes and dependencies that where used by
these tasks were removed too.
The task runs frequently polling the xsn service for its latest block,
then, it calls the LedgerSynchronizerService to ensure that block
gets into the ledger database.
This is a simplified version of the BlockEventProcessor, it handles
the synchronization between the xsn and our ledger database, it also
takes care of a lot of corner cases to keep the synchronization process
flexible enough and linear.
Now it retrieves the address balance from the database
instead of the xsn server, this reduces the data because
now we get the balance only and the transactions are retrieved
with another endpoint.
In order to get deterministic results while retrieving
paginated results, the getUniqueColumnName method has been
introduced, when sorting by a non-unique column, we'll break
ties using the unique column.
This is a piece for #18, it allow us to retrieve the transactions
for the given address.
NOTE: This commit doesn't include tests in order to work in the frontend
concurrently, tests will be included before the release.
This is a piece for #18, we need to retrieve paginated transactions for a given
address.
NOTE: This commit doesn't include tests in order to work in the frontend
concurrently, tests will be included before the release.
The trait is implemented by TransactionPostgresDataHandler and
TransactionPostgresDataHandler.
This is a piece for creating endpoints interacting with transactions
from the database instead of the xsn service.
This is a replacement for the SQSSeederModule, instead
of requiring AWS SQS to sync the database, we poll the
latest block from the rpc server every minute.
As reuse most of the logic from the SQS seeding approach,
this could be a good replacement to remove the AWS
dependency, at the moment, the idea is to use this new
module locally.