CalDescent
c2bad62d36
Updated status text when not initialized.
2022-05-22 16:00:37 +01:00
CalDescent
4516d44cc0
UnspentOutput additions to support latest PirateChainHTLC methods
2022-05-22 15:55:40 +01:00
CalDescent
9c02b01318
Added PirateChainHTLC.getUnspentFundingTxid(), allowing a minimum amount to be specified.
...
This will ensure that the correct fundingTxid can be redeemed or refunded by the trade bot.
2022-05-22 15:55:01 +01:00
CalDescent
08fab451d2
Added PirateChainHTLC.getFundingTxid(), to lookup the txid that funded a P2SH.
2022-05-22 15:49:14 +01:00
CalDescent
d47570c642
First draft of Pirate Chain ACCT, with modifications to allow for 33 byte public keys instead of 20 byte PKH. Pirate Chain HTLCs are required to use full public keys rather than hashes.
2022-05-22 12:23:01 +01:00
CalDescent
4547386b1f
Increase receiving_account_info column size from 32 to 128 bytes, to allow for Pirate Chain sapling shielded addresses, which are much longer.
2022-05-21 15:24:37 +01:00
CalDescent
ab01dc5e54
Implemented address validation for Pirate Chain
2022-05-21 09:22:49 +01:00
CalDescent
380c742aad
Pirate chain minimum order size temporarily decreased to 0.0001, for testing only.
2022-05-21 09:11:24 +01:00
CalDescent
368359917b
Use LegacyZcashAddress (copied and modified from bitcoinj) to derive and encode Pirate Chain P2SH addresses.
...
It wasn't possible to use bitcoinj directly because Zcash-style P2SH addresses have 2 prefix characters (t3), which isn't supported by bitcoinj.
2022-05-20 21:27:38 +01:00
CalDescent
3fe43372a7
Added PirateChainHTLC - uses a different HTLC format suitable for Pirate Chain.
...
Also removes transaction building code, since this is handled by the light wallet library.
2022-05-20 21:21:51 +01:00
CalDescent
c7bc1d7dcd
Hardcode fee to MAINNET_FEE when sending coins.
2022-05-20 21:16:12 +01:00
CalDescent
a7ea6ec80d
Added wrapper methods for Pirate LiteWalletJni P2SH funding/redeeming/refunding.
...
These require a heavily customized version of both piratewallet-light-cli and librustzcash.
2022-05-20 21:14:50 +01:00
CalDescent
9cf574b9e5
Added support for Pirate Chain transaction lookups and deserialization, necessary for HTLC status checks.
2022-05-20 21:07:54 +01:00
CalDescent
20e63a1190
Removed "consecutive blocks" limitation in block minter.
2022-05-20 13:38:56 +01:00
CalDescent
f6fc5de520
Removed extra unnecessary digest after writing new data.
2022-05-20 13:36:56 +01:00
CalDescent
0b89118cd1
Fixed bug in Pirate wallet transaction parsing.
2022-05-20 13:35:52 +01:00
CalDescent
e1e1a66a0b
Improvements and fixes to PirateWallet
2022-05-14 12:10:35 +01:00
CalDescent
e552994f68
Merge branch 'master' into pirate-chain
2022-05-13 13:23:26 +01:00
CalDescent
b33afd99a5
Bump invalid transaction import logging from trace to debug.
2022-05-13 13:22:58 +01:00
CalDescent
3c2ba4a0ea
Improved logging when importing transactions.
2022-05-13 12:31:48 +01:00
CalDescent
ab0fc07ee9
Refactored transaction importer, to separate signature validation from importing.
...
Importing has to be single threaded since it requires the database lock, but there's nothing to stop us from validating signatures on multiple threads, as no lock is required. So it makes sense to separate these two functions to allow for possible multi threaded signature validation in the future, to speed up the process.
Everything remains single threaded in this commit. It should be functionally the same as before, to reduce risk.
2022-05-13 12:31:19 +01:00
CalDescent
001650d48e
Fixed typo in currently unused getSignaturesInvolvingAddress() method.
2022-05-13 11:28:55 +01:00
CalDescent
659431ebfd
Added "txTypes" parameter to GET /transactions/unconfirmed, to allow optional filtering of unconfirmed transactions by one or more types
2022-05-13 11:28:21 +01:00
CalDescent
0a419cb105
Added "creator" parameter to GET /transactions/unconfirmed, to allow filtering unconfirmed transactions by creator's public key
2022-05-13 11:13:39 +01:00
CalDescent
0829ff6908
Fixed bugs in tooltip, introduced in lite node branch
2022-05-12 19:33:12 +01:00
CalDescent
2d1b0fd6d0
Merge branch 'lite-node'
2022-05-12 08:51:05 +01:00
CalDescent
122539596d
Merge branch 'qdn-direct-connections'
2022-05-12 08:45:45 +01:00
CalDescent
107a23f1ec
Switch to PirateChainMainNetParams
2022-05-10 08:05:32 +01:00
CalDescent
abce068b97
Catch UnsatisfiedLinkError when initializing Pirate Chain library
2022-05-10 08:05:06 +01:00
CalDescent
598f219105
Don't require a full synchronization in order to return the ARRR wallet address.
2022-05-08 08:26:00 +01:00
CalDescent
bbf7193c51
Fixed bugs in wallet initialization
2022-05-08 08:24:54 +01:00
CalDescent
58917eeeb4
"walletsPath" is now configurable in the settings.
2022-05-07 17:01:19 +01:00
CalDescent
f36e193650
Merge branch 'master' into pirate-chain
...
# Conflicts:
# src/main/java/org/qortal/settings/Settings.java
2022-05-07 16:50:32 +01:00
CalDescent
dac484136f
Fixed bug in name rebuilding.
2022-05-07 16:46:10 +01:00
CalDescent
999ad857ae
Fixed typo
2022-05-07 16:33:10 +01:00
CalDescent
d073b9da65
Added support for Pirate Chain wallets.
...
Note: this relies on (a modified version of) liblitewallet-jni which is not included, but will ultimately be compiled for each supported architecture and hosted on QDN.
LiteWalletJni code is based on https://github.com/PirateNetwork/cordova-plugin-litewallet - thanks to @CryptoForge for the help in getting this up and running.
2022-05-07 16:32:04 +01:00
CalDescent
aaa0b25106
Make sure to set Peer.isDataPeer() to false as well as true, to prevent bugs due to object reuse.
...
Also designate a peer as a "data peer" when making an outbound connection to request data from it.
2022-05-02 10:20:23 +01:00
CalDescent
3409086978
Merge branch 'master' into lite-node
2022-05-02 08:31:43 +01:00
CalDescent
6c201db3dd
Merge branch 'EPC-fixes'
2022-05-02 08:28:14 +01:00
CalDescent
da47df0a25
Fixed merge issue.
2022-05-01 16:41:56 +01:00
CalDescent
eea215dacf
Merge branch 'ravencoin' into new-coins
...
# Conflicts:
# pom.xml
# src/main/java/org/qortal/controller/tradebot/TradeBot.java
# src/main/java/org/qortal/crosschain/SupportedBlockchain.java
# src/main/java/org/qortal/settings/Settings.java
2022-05-01 16:28:22 +01:00
CalDescent
0949271dda
Merge branch 'digibyte' into new-coins
2022-05-01 16:25:40 +01:00
CalDescent
6bb9227159
Removed RavencoinACCTv1
...
Also removed CrossChainRavencoinACCTv1Resource - same as Digibyte.
2022-05-01 16:17:00 +01:00
CalDescent
a95a37277c
Removed DigibyteACCTv1 and v2
...
Also removed CrossChainDigibyteACCTv1Resource, since this is unused, and it seems excessive to maintain support of this for every coin (and potentially every ACCT version).
2022-05-01 16:12:12 +01:00
CalDescent
48b9aa5c18
Allow images to be displayed in QDN websites via data: and blob:
2022-05-01 14:37:57 +01:00
CalDescent
1d7203a6fb
Bug fixes found when testing previous commits.
2022-05-01 14:29:24 +01:00
CalDescent
1030b00f0a
Keep track of peers requesting data for which we have at least one chunk. Then allow subsequent incoming connections from that peer through, up to a maximum of maxDataPeers.
...
Direct connections for arbitrary data are currently unlikely to succeed, because those allowing incoming connections generally have their slots maxed out and have reached maxPeers. The idea here is that some connections remain reserved for dedicated arbitrary data transfers, therefore temporarily circumventing the limit (up to a defined maximum number of reserved connections).
Arbitrary data connections will auto disconnect after 2 minutes (we might be able to reduce this at a later date), and it also probably makes sense for the requesting node to disconnect as soon as it has all the chunks that it needs (this part isn't implemented yet).
One downside of this feature is that the listen socket is now going to be accepting connections most of the time, since it is unlikely that we will regularly have 4 data peers connected. This could be improved by modifying the OP_ACCEPT behaviour based on whether we are expecting any data peers to connect. In most cases, this would allow it to remain closed. But for the sake of simplicity I will leave that optimization for a future commit.
2022-05-01 14:02:44 +01:00
CalDescent
0c16d1fc11
Added "maxDataPeerConnectionTime" setting (default 2 mins).
...
This is used to force a quick disconnect for peers that are only connecting for the purposes of requesting data for a specific arbitrary transaction signature.
2022-05-01 14:02:44 +01:00
CalDescent
ed04375385
Increased default maxPeers from 32 to 36 to compensate - otherwise the network will lose a considerable amount of inbound capacity.
2022-05-01 14:02:44 +01:00
CalDescent
6e49d20383
Added "maxDataPeers" setting to reserve 4 connections by default for direct QDN data requests.
2022-05-01 14:02:44 +01:00