Alexis Hernandez
9c10ae154d
server: Move the Confirmations value to the values package
6 years ago
Alexis Hernandez
de64af5b9b
server: Move the Blockhash value to the values package
6 years ago
Alexis Hernandez
a1737b9710
server: Move the Address value to the values package
6 years ago
Alexis Hernandez
d7cc0307f3
server: Create the values package
6 years ago
Alexis Hernandez
685b54b576
server: Move the Balance model to the persisted package
6 years ago
Alexis Hernandez
38a83f23ae
server: Move the AddressTransactionDetails model to the persisted package
6 years ago
Alexis Hernandez
b7f91b7ce4
server: Move the Transaction model to the persisted package
6 years ago
Alexis Hernandez
5a5f607317
server: Create the model transformers package
The logic to transform a rpc block to a persisted block lives here.
6 years ago
Alexis Hernandez
21399f3c99
server: Add extraction_method column to the blocks table
Defaults to PoW, a migration is required to set the correct values.
6 years ago
Alexis Hernandez
2dd9b4837a
server: Update the data package to use the Block from the persisted package
6 years ago
Alexis Hernandez
7619ef3483
server: Add the persisted models package
Includes the Block model which represents what is actually persisted.
6 years ago
Alexis Hernandez
988694b88a
server: Refactor the sql parsers to expect correct data from the database
If the data turns out to be corrupted, an exception is going to be thrown,
as there are check constraints on the sql schema, this shouldn't occur.
6 years ago
Alexis Hernandez
516dd402d1
server: Return statistics even if masternodes or difficulty aren't available
6 years ago
Kolby Moroz
423ff7df1a
server: Add difficulty to the /stats endpoint
6 years ago
Alexis Hernandez
56963b23d6
server: Remove unnecessary timing logs
6 years ago
Alexis Hernandez
b7d2dc0740
server: Allow to retrieve blocks without rewards ( #62 )
6 years ago
Alexis Hernandez
99c0200af0
server: Extract the TransactionRPCService from TransactionService
6 years ago
Alexis Hernandez
3630e24483
server: Log timings while synchronizing blocks
6 years ago
Alexis Hernandez
668153d6c4
server: Split the TransactionPostgresDAO into several files
6 years ago
Alexis Hernandez
447e31e55c
server: Insert transaction batch while synchronizing the ledger
6 years ago
Alexis Hernandez
a3feadbcf0
server: The Transaction now requires that its outputs belong to it
6 years ago
Alexis Hernandez
72b66c0768
server: Refactor the TransactionPostgresDataHandlerSpec
6 years ago
Alexis Hernandez
8bf78c6081
server: Fix scrolled pagination bug while retrieving address transactions
6 years ago
Alexis Hernandez
97254aae11
server: Remove unnecessary endpoint "POST /transactions/latest"
6 years ago
Alexis Hernandez
8f0645b30a
server: Batch update while spending outputs on TransactionPostgresDAO
6 years ago
Alexis Hernandez
81535991a7
server: Batch insert for inputs/outputs on TransactionPostgresDAO
6 years ago
Alexis Hernandez
1d3e843254
server: Update endpoint "GET /v2/addresses/:address/transactions"
The inputs and outputs are now retrieved from the database, this makes
calls more reliable.
6 years ago
Alexis Hernandez
1c0c271864
server: Remove temporal shift while computing supplies
6 years ago
Alexis Hernandez
e464080a76
server: Don't ignore errors while loading transaction inputs
6 years ago
Alexis Hernandez
7c7abaf7ac
server: Avoid transaction ordering issues while deleting blocks
There are certain transactions that spend inputs from created on
the same block, these transaction with dependencies should be deleted
before the transactions that they depend on, otherwise, we get
constraint violation errors.
6 years ago
Alexis Hernandez
a9aa182091
server: Store the transaction index while synchronizing the blocks
6 years ago
Alexis Hernandez
fe9d2985f6
server: Add endpoint - GET /v2/blocks/:blockhash/transactions
6 years ago
Alexis Hernandez
df8bc2e9ec
server: Add method to get scrolled transactions by blockhash
6 years ago
Alexis Hernandez
95f16d79e8
server: Rename getLatestBy to getBy on TransactionDataHandler
The method now allows an ordering condition (asc, desc) to choose
the result ordering.
6 years ago
Alexis Hernandez
e030480a7c
server: Allow to reverse the order of TransactionPostgresDAO#getLatestBy
6 years ago
Alexis Hernandez
e9116b3544
server: Add endpoint - GET /v2/balances
Returns the highest balances allowing to paginate from highest to smallest.
6 years ago
Alexis Hernandez
f1cc9103ea
server: Add getHighestBalances method to the BalanceDataHandler
6 years ago
Alexis Hernandez
36e05516fb
server: Wrap the light wallet transactions response in a data field
6 years ago
Alexis Hernandez
2db4f9f513
server: Simplify the light wallet transactions retrieval query
6 years ago
Alexis Hernandez
38ab0e1803
server: Add the value to the LightWalletTransaction.Input
6 years ago
Alexis Hernandez
a03e4401ca
server: Update endpoint - GET /addresses/:address/lightWalletTransactions
The pagination is updated to check the latest seen transaction instead of its time,
this avoids hiding items when there are ties on the time.
6 years ago
Alexis Hernandez
4feee274ec
server: Add endpoint - GET /addresses/:address/lightWalletTransactions
6 years ago
Alexis Hernandez
6e54e9f870
server: Add keyset-based method for retrieving address transactions
6 years ago
Alexis Hernandez
e1a96c2c61
server: Speed up the statistics computation from the database
6 years ago
Alexis Hernandez
80c7460b18
server: Precompute the available coins
In order to speed up the available coins retrieval,
the aggregated_amounts table is created, here we store
the total available coins which can be retrieved fast.
6 years ago
Alexis Hernandez
b2aaae4d4d
server: Be resilient while loading a transaction
For loading a transaction, we need to make several calls to
the RPC API for retrieving the inputs, when the server gets
overloaded by this, we try to get the inputs sequentially.
6 years ago
Alexis Hernandez
f348eaf86f
server: Enable constraints on the Address model
6 years ago
Alexis Hernandez
c8b71046a3
server: Be resilient while loading a batch of transactions
Instead of failing to load a batch of transactions, we try to load
them sequencially to avoid overloading the RPC API.
This allows a smoother synchronization process.
6 years ago
Alexis Hernandez
479eaca09c
server: Handle XSNWorkQueueDepthExceeded when the response is not a json
When the RPC API returns a non-json response, the XSNWorkQueueDepthExceeded
error can be derived.
6 years ago
Alexis Hernandez
f4738baef7
server: Update playsonify to 2.0.0
6 years ago