catbref
d43a074cc1
Use *ACCT*.class.getSimpleName() for less error-prone ACCT.NAME
2020-12-29 11:00:43 +00:00
catbref
27783dc6de
Add WARNING on start-up if repository is missing latest AT state data
2020-12-29 10:34:25 +00:00
catbref
e00579e1a2
Fix incorrect LatestATStates SQL table definition
...
This table was previously defined using the TEMPORARY keyword as the rows were used as a cached/index to speed up AT trimming SQL statements.
However, the table definition was lacking the "ON COMMIT PRESERVE ROWS" clause, and possibly the "GLOBAL" keyword, which caused the table contents to be emptied, immediately after being filled, when <tt>repository.saveChanges()</tt> was called (i.e. "COMMIT").
This caused latest AT states to be trimmed in error.
AtRepositoryTests.testGetLatestATStatePostTrimming also fixed so that it fails with the previous, broken code.
2020-12-29 09:11:11 +00:00
catbref
99f1a55de2
Improve logging for case where trade offer is locked to someone else
2020-12-29 08:56:26 +00:00
catbref
3ec307a2a1
Don't allow more than one (active) trade-bot entry per trade-offer
2020-12-28 15:55:14 +00:00
catbref
3fdef9ea6d
Fix P2SH refund "non-final" error issue
...
According to Bitcoin source, CheckFinalTx() in validation.cpp ~line 223,
we need to make sure median blocktime has passed P2SH refund transaction's
nLockTime.
Previously we were erroneously checking that median blocktime was in the past.
This should fix issues where refunding P2SH results in a "non-final" error
from the ElectrumX server network.
2020-12-28 15:44:45 +00:00
catbref
332c917c94
Fix ALICE-based PRESENCE transactions.
...
PRESENCE transactions were previously validated using Bob's trade key (in address form).
But as PRESENCE transactions are already emitted by Alice, her trade key is also used
(if present in trade data by virtue of AT being locked to Alice).
Similarly, Alice's trade-bot won't even try to build PRESENCE transactions if her
trade key isn't publicly visible to other peers, i.e. after AT is locked to Alice.
2020-12-28 12:00:11 +00:00
catbref
35b0ac78b8
Bump ElectrumX transaction cache size from 100 to 200
2020-12-24 16:52:58 +00:00
catbref
047627a6e5
Force bitcoinj keychain lookaheadThreshold to zero so we always generate more keys
2020-12-24 16:48:47 +00:00
catbref
688f215dfd
Allow PresenceType filtering on presence websocket via presenceType query param
2020-12-21 12:25:58 +00:00
catbref
7cbdbbcc8d
Allow exception-free conversion from String to PresenceType
2020-12-21 12:25:11 +00:00
catbref
4e89b8fbac
No need to create a map entry for null foreignBlockchain in TradeOffersWebSocket
2020-12-21 12:24:44 +00:00
catbref
70ec8cb11f
Add public key in Qortal address form to tradeoffers and presence websockets
...
This aids matching PRESENCE to corresponding trade offers for use in UI.
Also tighten up visibility of some fields in ChainChainOfferSummary and
PresenceInfo to private.
PresenceInfo.address should map to CrossChainOfferSummary.qortalCreatorTradeAddress
which is "AT creator's ephemeral trading key-pair represented as Qortal address"
2020-12-18 11:42:53 +00:00
catbref
0f0266609f
Add trading price estimate API call GET /crosschain/price/{blockchain} where blockchain is something like LITECOIN
2020-12-18 11:42:32 +00:00
catbref
1c6ea0a860
Improvements to ElectrumX, Bitcoin-y aspects, etc.
...
Add caching of transactions fetched via ElectrumX to reduce network load and speed up API response.
Fix handling ElectrumX servers that don't want to supply verbose transaction JSON.
Hide lots of data in BitcoinyTransaction that isn't needed by current API users.
2020-12-11 17:30:15 +00:00
catbref
3706cd5ff7
Return list, not set, of wallet transactions via API and provide better (usable) examples
2020-12-11 17:29:00 +00:00
catbref
934cd1d511
Add support for preferred blockchain to /websockets/crosschain/tradebot via foreignBlockchain query param
2020-12-10 17:08:32 +00:00
catbref
68e3d3b989
Add preferred-blockchain filtering to /websockets/crosschain/tradeoffers via foreignBlockchain query param
2020-12-10 16:00:01 +00:00
catbref
31fa916156
Add filtering by foreign blockchain to API crosschain calls
2020-12-10 14:52:06 +00:00
catbref
456bb3ca63
Include output addresses, if present, in BitcoinyTransaction
2020-12-10 14:01:40 +00:00
catbref
b07ad094c1
Fix DELETE /crosschain/tradebot by adding missing repository.saveChanges()
2020-12-10 13:11:48 +00:00
catbref
d766cfaa67
Fix API/websockets that were still BitcoinACCTv1-only
2020-12-10 12:48:46 +00:00
catbref
acc616c204
Add defensive code to EventBus to catch unexpected exceptions
2020-12-10 11:55:06 +00:00
catbref
8707f154ee
Add support to ElectrumX for barring servers that don't give us the data we need
2020-12-10 11:32:09 +00:00
catbref
992427f0e0
Fix NPE due to unboxing null/no entry from PREVIOUS_STATES.get() in TradeBotWebSocket. Usually triggered when creating new trade-bot entry while having open websocket connection.
2020-12-10 11:31:37 +00:00
catbref
2c84add935
Bitcoiny improvements
2020-12-09 13:12:15 +00:00
catbref
e8fc91fd34
Minor work on ByteArray and associated tests
2020-12-08 15:19:12 +00:00
catbref
8c9cf4a02d
Add API support for listing Bitcoin/Litecoin wallet transactions
2020-12-07 16:40:12 +00:00
catbref
23f0969b2d
Requesting BTC/LTC wallet balance now accepts public key xpub/tpub too
2020-12-07 15:40:05 +00:00
catbref
cf82813280
Report foreignBlockchain and acctName in results for API call GET /crosschain/tradeoffers
2020-12-02 14:37:50 +00:00
catbref
753fa4dfa9
Remove extraneous boxing/unboxing from PresenceWebSocket
2020-12-02 13:20:37 +00:00
catbref
58ff338ab3
Now Transaction.importAsConfirmed() calls Controller.onNewTransaction(), removing call from API POST /transactions/process and Controller.onNetworkTransactionMessage()
2020-12-02 13:19:53 +00:00
catbref
064e12a57b
Improve documentation regarding deadlock in EventBus
2020-12-02 13:16:18 +00:00
catbref
54bb8ed817
New PRESENCE-related API websocket at /websockets/presence
2020-12-01 17:24:02 +00:00
catbref
b651eae258
Notify EventBus with NewTransactionEvent in Controller.onNewTransaction
2020-12-01 17:23:10 +00:00
catbref
7562d9bbf8
Fix potential NPE when closing a websocket that failed to open properly
2020-12-01 17:22:40 +00:00
catbref
1b50dd5adf
Modify API TransactionsResource to notify Controller after closing repository handle/session
2020-12-01 17:22:03 +00:00
catbref
c10a5db280
Fix PresenceTransaction to work with any ACCT, not only BitcoinACCTv1
2020-12-01 15:06:07 +00:00
catbref
500690be49
Add ATRepository.getAllATsByFunctionality() to fetch ATs matching selection of code hashes
2020-12-01 15:05:40 +00:00
catbref
778ac35ee6
Improve HSQLDBRepository.temporaryValuesTableSql to work with Collection, not just List
2020-12-01 15:04:50 +00:00
catbref
c16a664a78
Add toString() to ByteArray
2020-12-01 15:03:23 +00:00
catbref
75a265f89a
Improve SupportedBlockchain enum
2020-12-01 15:02:58 +00:00
catbref
ddb55210b4
Merge branch 'presence-txn' into LTCv3-with-presence
2020-11-30 15:10:03 +00:00
catbref
e093520696
WIP: PRESENCE - TradeBot support, moved PresenceType enum, added Presence-only transaction deadline override
2020-11-27 18:06:24 +00:00
catbref
cfacddcb36
Change Controller.deleteExpiredTransactions to use Transaction-subclass .getDeadline() instance method call instead of static Transaction.getDeadline(transactionData) which allows Transaction subclasses to override with custom deadlines/expiry periods
2020-11-27 18:05:03 +00:00
catbref
d2dea3ff35
BlockMinter now notifies Controller of new block while still holding blockchain lock, bringing it in line with Synchronizer
2020-11-27 18:02:05 +00:00
catbref
865fcb95bf
In pom.xml, have Maven surefire plugin skip tests by default
2020-11-27 14:26:01 +00:00
catbref
a52c089728
WIP: PRESENCE transactions - support only TRADE_BOT type and restrict to known trades
2020-11-26 16:33:21 +00:00
catbref
15d25649b2
WIP: PRESENCE transactions - repository support, removing older versions, tests
2020-11-26 16:11:11 +00:00
catbref
e0210635e3
Add repository support for fetching subset of unconfirmed transactions by type and/or creator
2020-11-26 16:10:13 +00:00