Alexis Hernandez
a74e7cd714
server: Use the AddressValidator on the TransactionService
6 years ago
Alexis Hernandez
3ea419bf85
server: Optimize the ledger synchronization process
The block transactions are loaded only when they are required, this
is specially useful while synchronizing bitcoin because it reduces
the workload to the bitcoind on the initial sync.
6 years ago
Alexis Hernandez
0f04494d65
server: Add endpoint "GET /addresses/:address/tposcontracts"
6 years ago
Alexis Hernandez
887af0ff56
server: Synchronize the TPoS contracts
- A TPoS contract is created when the transaction is synchronized.
- A TPoS contract is deleted when the transaction is rolled back.
- A TPoS contract is closed when the collateral output is spent.
- A TPoS contract is enabled when the collateral output gets unspent.
6 years ago
Alexis Hernandez
80f02664e5
server: Update the persisted Transaction model
- Allow mapping from rpc transaction with values only
- While mapping from rpc transactions, return the TPoS contract if there is one.
6 years ago
Alexis Hernandez
4af9a6cac4
server: Remove TPoS contract logic from the ScriptPubKey model
6 years ago
Alexis Hernandez
bdbaa415b5
server: Add isTPoSContract method to the XSNService
The method verifies whether a transaction is a TPoS contract.
6 years ago
Alexis Hernandez
d781a0f646
server: Remove hardcoded 1000 on the BlockHeaderCache
6 years ago
Alexis Hernandez
b9ee34d97d
server: BlockService uses the cache for loading headers
6 years ago
Alexis Hernandez
be72834662
server: Allow to reverse the block headers ordering
6 years ago
Alexis Hernandez
1b359f7585
server: Extract the OrderingConditionParser from the TransactionService
6 years ago
Alexis Hernandez
19fdfc26c8
server: Allow to sync 1000 headers per request
6 years ago
Alexis Hernandez
10f1932902
server: Add endpoint "GET /v2/blocks/:blockhash/light-wallet-transactions"
6 years ago
Alexis Hernandez
ff85797565
server: Refactor the TransactionVIN into a typed alternative
Now we are able to use types to detect when a TransactionVIN has the
cached values.
6 years ago
Alexis Hernandez
aa05af72ac
server: Return the txid after pushing a transaction to the network
6 years ago
Alexis Hernandez
c921d73415
server: Update classes related to the ledger sync process to use the Block.HasTransactions model
6 years ago
Alexis Hernandez
dbd1f28ff7
server: Log invalid response details on XSNService
6 years ago
Alexis Hernandez
2798b528ed
server: Add endpoint "GET /blocks/headers"
6 years ago
Alexis Hernandez
a926191a77
server: Persist the block extraction method while synchronizing the blocks
6 years ago
Alexis Hernandez
a334864e38
server: allow to get block extractionMethod from the BlockService
6 years ago
Alexis Hernandez
fc0696a467
server: Refactor TransactionService to remove the transaction transformer
The logic was moved to the transformers package.
6 years ago
Alexis Hernandez
aef41d5f8e
server: Split the persisted transaction model
There are two models now, the one having inputs/outputs
and the one without them.
6 years ago
Alexis Hernandez
347a4d6ca5
server: Move the TransactionId value to the values package
6 years ago
Alexis Hernandez
f67d7831f0
server: Move the IPAddress value to the values package
6 years ago
Alexis Hernandez
29b8b583ba
server: Move the HexString model to the values package
6 years ago
Alexis Hernandez
33fcda6ef3
server: Move the Height 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
685b54b576
server: Move the Balance 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
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
97254aae11
server: Remove unnecessary endpoint "POST /transactions/latest"
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
e464080a76
server: Don't ignore errors while loading transaction inputs
6 years ago
Alexis Hernandez
fe9d2985f6
server: Add endpoint - GET /v2/blocks/:blockhash/transactions
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
e9116b3544
server: Add endpoint - GET /v2/balances
Returns the highest balances allowing to paginate from highest to smallest.
6 years ago
Alexis Hernandez
36e05516fb
server: Wrap the light wallet transactions response in a data field
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
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