Commit graph

326 commits

Author SHA1 Message Date
Craig Raw
70d0b7afcd add creator, combiner, extractor psbt tests and fix issues 2020-07-24 09:59:52 +02:00
Craig Raw
5cd203d366 fix for clear witness 2020-07-23 14:13:57 +02:00
Craig Raw
8bc4e3b3dc combiner, finaliser and extractor for psbts 2020-07-23 13:39:01 +02:00
Craig Raw
0cfe954463 refactor psbt classes and add serialization 2020-07-23 12:00:22 +02:00
Craig Raw
f2ee57cc4d grind for low r, for psbt ensure if a witness UTXO is provided, no non-witness signature may be created 2020-07-23 10:06:00 +02:00
Craig Raw
af562dad10 sign psbt inputs 2020-07-22 14:56:41 +02:00
Craig Raw
9e6cdf74f4 sighash int to byte, sign psbt input 2020-07-22 08:27:06 +02:00
Craig Raw
f6dcdb6d26 determine signing status from psbt 2020-07-20 17:04:39 +02:00
Craig Raw
dcd4218ba1 move sighash to top level, psbt signing status tests 2020-07-17 17:24:15 +02:00
Craig Raw
a56684240a default segwit version 2020-07-17 09:16:31 +02:00
Craig Raw
9b117cd7f9 programmatic psbt creation 2020-07-16 14:59:01 +02:00
Craig Raw
f00754b157 utxo grouping, filtering and zero conf handling 2020-07-15 09:15:27 +02:00
Craig Raw
832ca8f257 calculate no inputs fee 2020-07-14 13:36:12 +02:00
Craig Raw
9d272c0eb2 refactor outputgroup, add knapsackselector 2020-07-14 09:21:13 +02:00
Craig Raw
0a6e247163 support more accurate virtual size calculations 2020-07-13 14:27:54 +02:00
Craig Raw
b86887838f update dust fee rate to bitcoin core 0.19 DUST_RELAY_TX_FEE 2020-07-11 11:39:43 +02:00
Craig Raw
49a4b548b4 wallet auto bitcoin unit 2020-07-09 14:34:13 +02:00
Craig Raw
4e7f0611c4 move bitcoinunit to drongo 2020-07-09 10:25:28 +02:00
Craig Raw
687e235c94 show only addressable script types 2020-07-08 15:56:23 +02:00
Craig Raw
6135338df2 wallettx understand if coin control present 2020-07-07 13:58:29 +02:00
Craig Raw
5d14be5c9c send all utxos support 2020-07-07 07:42:36 +02:00
Craig Raw
2ff9c94c62 handle user set fee 2020-07-05 15:01:12 +02:00
Craig Raw
ccf7de9f62 tx creation algorithm 2020-07-04 12:51:31 +02:00
Craig Raw
3ee7cd11eb tx input construction from script type 2020-07-03 11:00:27 +02:00
Craig Raw
c4dd1cb9dd address parsing support 2020-06-30 09:22:23 +02:00
Craig Raw
24cde9d073 improve multithreaded behaviour 2020-06-26 13:34:07 +02:00
Craig Raw
2e1012da8b fix off by one bug 2020-06-25 16:44:25 +02:00
Craig Raw
66d4e11bf6 index fill fixes 2020-06-25 11:27:20 +02:00
Craig Raw
18036268e5 compare txes better, clear nodes functionality 2020-06-21 17:14:56 +02:00
Craig Raw
81378b28b2 various improvements 2020-06-19 15:35:29 +02:00
Craig Raw
601c11bd50 make isScript check a little safer 2020-06-14 13:59:19 +02:00
Craig Raw
75701c725d keep block hash 2020-06-11 16:59:24 +02:00
Craig Raw
728b6ce5ef save block height for current stored transactions 2020-06-10 16:14:57 +02:00
Craig Raw
0d56692784 look at used transactions for fresh nodes 2020-06-10 14:15:15 +02:00
Craig Raw
fa30f37e23 get dates from block header, better equality 2020-06-02 15:15:16 +02:00
Craig Raw
cb18f7c4c3 blockchain to block rename for transaction in block 2020-06-02 11:05:02 +02:00
Craig Raw
9820491cd5 add block header 2020-06-02 10:59:50 +02:00
Craig Raw
2bd81b7044 refactor transactionpart to message and childmessage 2020-06-02 09:51:42 +02:00
Craig Raw
a25d020e54 refactor transaction history storage 2020-06-02 09:20:59 +02:00
Craig Raw
f88e3d4423 parse transactions by wallet node 2020-06-01 10:31:41 +02:00
Craig Raw
d0a75fd268 highest used index 2020-05-30 13:15:28 +02:00
Craig Raw
60a0d450e0 refactor wallet node to non inner class 2020-05-30 11:57:40 +02:00
Craig Raw
cc4f70002f make wallet node static inner class 2020-05-30 11:47:05 +02:00
Craig Raw
a32410b538 transaction history support 2020-05-30 11:22:17 +02:00
Craig Raw
11978e1f48 output descriptor support and node fixes 2020-05-28 11:42:02 +02:00
Craig Raw
7871413573 generate fresh address nodes 2020-05-26 17:55:11 +02:00
Craig Raw
eabcf4e8f4 wallet receiving and change support 2020-05-26 10:18:52 +02:00
Craig Raw
c871bf829a refactor to parametrize with keypurpose 2020-05-23 18:10:04 +02:00
Craig Raw
de70f44535 address and output script derivation support 2020-05-23 16:52:54 +02:00
Craig Raw
785040898b naming improvements 2020-05-21 11:01:20 +02:00
Craig Raw
06de1d7e14 more clearing private bits 2020-05-19 16:41:37 +02:00
Craig Raw
d2bd335e76 securely handle mnemonic seed in memory 2020-05-19 14:02:29 +02:00
Craig Raw
9f5f5689bb use charsequence and securestring instead of string 2020-05-19 12:36:39 +02:00
Craig Raw
aa60e6b92e no fingerprint labels and tests 2020-05-18 17:19:17 +02:00
Craig Raw
8ffd225007 wallet encryption with argon2 key derivation 2020-05-18 15:50:25 +02:00
Craig Raw
7cb2f043a1 add argon2 key deriver 2020-05-17 13:38:20 +02:00
Craig Raw
e20501d954 refactor keycrypters 2020-05-17 12:51:56 +02:00
Craig Raw
312143cb61 rework deterministicseed, keycrypter 2020-05-16 15:09:15 +02:00
Craig Raw
9e5a7d0e8d electrum seed version system support 2020-05-15 17:56:14 +02:00
Craig Raw
6b1f7d0174 complete wallet validation 2020-05-15 13:42:58 +02:00
Craig Raw
f6414a4475 wallet export, settings fixes 2020-05-15 12:56:15 +02:00
Craig Raw
0c9a100c6d get account from derivation path 2020-05-14 13:36:19 +02:00
Craig Raw
766a986abb wallet encryption and decryption 2020-05-13 12:46:43 +02:00
Craig Raw
b951f79cfd minor refactoring 2020-05-12 14:16:13 +02:00
Craig Raw
ba2004c9fb followup to prev 2020-05-12 12:24:22 +02:00
Craig Raw
242c83735a refactor keycrypter hierarchy, add ECIESKeyCrypter #2 2020-05-11 17:39:39 +02:00
Craig Raw
492f447c28 refactor keycrypter hierarchy, add ECIESKeyCrypter 2020-05-11 17:39:23 +02:00
Craig Raw
c675e395db keystore source display 2020-05-11 11:37:25 +02:00
Craig Raw
0f008b8985 store mnemonic in determininistic seed 2020-05-10 15:30:40 +02:00
Craig Raw
dc569979e1 encryptableitem and bip39 from bitcoinj 2020-05-10 13:28:16 +02:00
Craig Raw
be0c4d1176 minor bip39 fixes 2020-05-08 14:36:29 +02:00
Craig Raw
d394c25a3c private key derivation 2020-05-07 14:36:03 +02:00
Craig Raw
c5042cf130 handle master private keys 2020-05-06 17:13:07 +02:00
Craig Raw
27dda91576 add bip39 seed calculator 2020-05-05 09:26:29 +02:00
Craig Raw
019a3cf34f handle casing on types 2020-04-29 16:50:52 +02:00
Craig Raw
cbffaf3e41 ensure keystore source and wallet model is always filled in 2020-04-29 15:43:57 +02:00
Craig Raw
d740895bd6 ability to display type of wallet model 2020-04-29 15:04:09 +02:00
Craig Raw
ed056bc49f keystore importing 2020-04-29 12:03:09 +02:00
Craig Raw
294649de66 wallet import and export needs 2020-04-25 11:38:46 +02:00
Craig Raw
282628e455 add ecies encrypt and decrypt 2020-04-21 16:58:00 +02:00
Craig Raw
7d69fafc3e add private key support to eckey #2 2020-04-20 16:30:40 +02:00
Craig Raw
06b46e0a02 add private key support to eckey 2020-04-20 16:16:17 +02:00
Craig Raw
813781902b wallet copying 2020-04-19 19:07:06 +02:00
Craig Raw
97cdd62173 move child derivation paths into outputdescriptor #2 2020-04-18 12:38:33 +02:00
Craig Raw
f7f15cebc7 move child derivation paths into outputdescriptor 2020-04-18 12:38:05 +02:00
Craig Raw
075707f1ad refactor extendedpublickey and keyderivation 2020-04-18 10:42:51 +02:00
Craig Raw
764841635c cleanup script type and patterns 2020-04-17 10:12:59 +02:00
Craig Raw
08e8df0807 wallet implementation first commit 2020-04-17 10:02:30 +02:00
Craig Raw
0cebee3d22 transaction and script parsing improvements 2020-04-11 15:04:46 +02:00
Craig Raw
14767c3250 helper methods for working with addresses 2020-04-10 16:59:23 +02:00
Craig Raw
2f5655708d minor refactoring 2020-04-09 15:07:38 +02:00
Craig Raw
c8226ea947 psbt and scripting improvments 2020-04-09 14:35:50 +02:00
Craig Raw
9d15c27bfd relative time locking improvements 2020-04-06 14:53:16 +02:00
Craig Raw
130fea0937 sequence number handling improvements 2020-04-05 16:01:24 +02:00
Craig Raw
d28186f8c9 script convenience methods 2020-04-04 15:13:13 +02:00
Craig Raw
4d875f5ad0 witness as display string 2020-04-03 17:14:10 +02:00
Craig Raw
e574a2bfd3 changes for input pane 2020-04-03 16:07:03 +02:00
Craig Raw
1a0880dde7 is locktime enabled check 2020-04-02 14:00:47 +02:00
Craig Raw
e0a4b29ed4 rename tld 2020-04-01 13:20:36 +02:00
Craig Raw
520aa89baf more detailed console logging 2020-04-01 12:39:31 +02:00
Craig Raw
53f0268445 upgrade bc, export packages, switch logging 2020-04-01 12:35:47 +02:00
Craig Raw
4f15cd48aa move module-info 2020-03-31 15:48:39 +02:00
Craig Raw
6614170d85 Merge branch 'master' of github.com:craigraw/drongo 2020-03-31 15:44:02 +02:00
Craig Raw
7fa50bc215 upgrade to java 9 and gradle 6 2020-03-31 15:43:34 +02:00
Craig Raw
314ee075c2 test for psbt in bytes form 2020-03-30 16:50:28 +02:00
Craig Raw
3d292b9dcc add checked PSBTParseException to replace IllegalStateException 2020-03-30 15:56:19 +02:00
Craig Raw
a1696ec2e8 update to refactor signature verification 2020-03-30 11:41:02 +02:00
Craig Raw
fd94e885b8 refactor partial signature verification 2020-03-30 11:39:39 +02:00
Craig Raw
7fb5601de3 transaction headers retrieval and edit 2020-03-28 10:44:50 +02:00
Craig Raw
566aa2e953 Tx inputs and outputs can find their index 2020-03-22 10:21:32 +02:00
Craig Raw
0340f06de4 partial signature verification 2020-03-06 15:21:05 +02:00
Craig Raw
061440b422 add additional checks and tests 2020-02-27 13:39:08 +02:00
Craig Raw
e5d2ad427c refactor and initial tests 2020-02-23 18:04:43 +02:00
Craig Raw
ce2b0648a6 psbt initial draft 2020-02-21 16:27:08 +02:00
Craig Raw
89e7892d7c change fingerprint storage from int to byte array 2020-02-13 10:40:32 +02:00
Craig Raw
d3d5fd4a80 detect p2wsh addresses properly 2019-09-06 18:11:57 +02:00
Craig Raw
3406ec2f15 fix transactions spending old p2pk coinbase utxos 2019-09-06 15:11:20 +02:00
Craig Raw
45154359e9 add multisig output descriptors 2019-09-06 14:47:38 +02:00
Craig Raw
e8f9e329a7 Fix address hashing 2019-03-29 15:06:23 +02:00
Craig Raw
82e01f4c13 initialise wallet addresses 2019-03-18 17:25:49 +02:00
Craig Raw
65e288b6de log all transactions 2019-03-18 17:21:44 +02:00
Craig Raw
4f2c055d1d check wallets #2 2019-03-18 17:21:11 +02:00
Craig Raw
1d925f63ae check wallets 2019-03-18 17:08:57 +02:00
Craig Raw
db2486ba97 log file name 2019-03-18 16:21:17 +02:00
Craig Raw
cdf608807f prepare address matching 2019-03-18 16:18:24 +02:00
Craig Raw
911a54347d Initial commit 2019-03-15 20:15:28 +02:00