Alexis Hernandez
41ebfec542
server: Add the script to the LightWalletTransaction.Output
6 years ago
Alexis Hernandez
2c463b95ef
infra: Enable lite version on bitcoin
6 years ago
Alexis Hernandez
5527b545b6
server: Add lite-version config
Enabling the lite-version allows to prune block details
to allow syncing fast until what the light wallet needs.
6 years ago
Alexis Hernandez
e5fc2ac250
server: Filter out duplicated transactions while synchronizing the ledger
Bitcoin allows duplicated transactions that are already spent, this causes
conflicts when retrieving them from the txindex because the older ones are lost.
Filtering the lost transactions reduces the consistency but allows to keep syncing.
6 years ago
Alexis Hernandez
e91de5b6de
server: Fix bug that corrupted the transaction outputs
For some reason, storing a list on an array column gets the row
corrupted.
6 years ago
Alexis Hernandez
46779c9db9
server: Discard 0-value outputs while building a persisted transaction
6 years ago
Alexis Hernandez
149601dda7
server: Allow storing empty addresses on transaction inputs/outputs
6 years ago
Alexis Hernandez
87b345dd76
server: Refactor the transaction models to support multisig transactions
This refactor changes the input/output model from transactions to store
the possibly empty address list, which allows to deal with certain
transactions on bitcoin as well as with multisig transactions.
6 years ago
Alexis Hernandez
67f724ed21
infra: Update hidden_addresses
6 years ago
Alexis Hernandez
6961c764f7
server: Refactor the TransactionCollectorService
6 years ago
Alexis Hernandez
364fe6a997
server: Handle duplicate txid by excluding inputs referring them
When syncing the ledger, the inputs that are spending outputs from
duplicated txids are excluded.
6 years ago
Alexis Hernandez
666561124d
server: Allow upto 250,000 headers on the cache
6 years ago
Alexis Hernandez
f065e142b2
infra: Set the app host as the bitcoin lite server
6 years ago
Alexis Hernandez
67a0e62b97
server: Allow to set the app host as the allowed host
6 years ago
Alexis Hernandez
be415eaa22
infra: Update bitcoin ip
6 years ago
Alexis Hernandez
3888041470
server: Add endpoint "GET /blocks/estimate-fee"
6 years ago
Alexis Hernandez
092f3b7b94
server: Add estimateSmartFee method to the XSNService
6 years ago
Alexis Hernandez
28c8c71705
infra: Add script for syncing headers
6 years ago
Alexis Hernandez
62a313b28a
infra: Increase bitcoin-explorer memory
6 years ago
Alexis Hernandez
1185c799ba
server: Use the TransactionCollectorService on the LedgerSynchronizerService
6 years ago
Alexis Hernandez
9fc35c16ce
server: Add the TransactionCollectorService
6 years ago
Alexis Hernandez
d670d13850
server: Add getOutput method to the TransactionDataHandler
6 years ago
Alexis Hernandez
21fcb826a0
server: Simplify the validators
6 years ago
Alexis Hernandez
277abf922b
server: Use the validators in the service package
6 years ago
Alexis Hernandez
8a9ce8179b
server: Use the TransactionIdValidator on the TransactionService
6 years ago
Alexis Hernandez
bbe4828a0e
server: Simplify the AddressValidator
6 years ago
Alexis Hernandez
a723a6501c
server: Extract the BlockValidator from the BlockLogic
6 years ago
Alexis Hernandez
0373dff0fe
server: Use the AddressValidator on the BalanceService
6 years ago
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
13e25faa08
infra: Update the xsn-backend memory
6 years ago
Alexis Hernandez
c0ba0b4306
server: Enable POST method on the CORSFilter
6 years ago
Alexis Hernandez
0f04494d65
server: Add endpoint "GET /addresses/:address/tposcontracts"
6 years ago
Alexis Hernandez
8c3a0cb3e6
server: Add the TPoSContractDataHandler
6 years ago
Alexis Hernandez
f926b44272
infra: Update xsnd
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
87793c7bcb
server: Add the TPoSContractDAO
6 years ago
Alexis Hernandez
35f1b3b3ac
server: Add the tpos_contracts table
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
1daa9ee3cc
server: Remove the TPoS addresses from the transaction_outputs table
6 years ago
Alexis Hernandez
9d2edf8314
server: Remove the TPoS addresses from the Transaction.Output
The addresses are useless and the whole contract will be stored instead.
6 years ago
Alexis Hernandez
4af9a6cac4
server: Remove TPoS contract logic from the ScriptPubKey model
6 years ago
Alexis Hernandez
c6800a1fc7
server: Add the TPoSContract 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
750ab7c4ae
server: Simplify the anorm parsers
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
4c7b05b48d
server: Add the CacheModule which loads the available caches
6 years ago
Alexis Hernandez
0153d8dfae
server: Add the BlockHeaderCache
6 years ago
Alexis Hernandez
5439314522
server: Add caffeine dependency
6 years ago