Craig Raw
|
aa459d0084
|
ensure finalizing psbt wallet purpose nodes have no children
|
2022-08-22 11:32:45 +02:00 |
|
Craig Raw
|
8cdea77562
|
refactor supported bip47 script type lists
|
2022-08-04 11:13:27 +02:00 |
|
Craig Raw
|
ddaf698c10
|
avoid saving address data where master wallet has a passphrase
|
2022-08-01 14:16:20 +02:00 |
|
Craig Raw
|
ca833fbf68
|
use locale-insensitive lowercase and uppercase functions
|
2022-07-29 09:44:57 +02:00 |
|
Craig Raw
|
8a6d2da5c9
|
disallow duplicate xpubs in multisig wallet keystores
|
2022-07-25 14:46:54 +02:00 |
|
Craig Raw
|
ce90e29284
|
allow psbts without previous utxo data
|
2022-07-25 13:36:38 +02:00 |
|
Craig Raw
|
b2f5f5ffeb
|
spend change from notification transactions only if necessary
|
2022-07-21 12:29:21 +02:00 |
|
Craig Raw
|
40dab59337
|
remove deprecated finalize method
|
2022-07-21 10:44:06 +02:00 |
|
Craig Raw
|
b4b2534e7a
|
add fee rate retreival to blocktransaction
|
2022-07-20 16:54:39 +02:00 |
|
Craig Raw
|
f10688279a
|
add bip38 decryption functionality and tests
|
2022-07-19 13:21:21 +02:00 |
|
Craig Raw
|
5de3abd362
|
store address data on wallet nodes
|
2022-07-18 16:11:59 +02:00 |
|
Craig Raw
|
9ae1f68dc4
|
address and related optimizations
|
2022-07-15 13:42:27 +02:00 |
|
Craig Raw
|
fefebbabb5
|
remove key derivation method
|
2022-07-14 16:07:55 +02:00 |
|
Craig Raw
|
d489aa6af9
|
follow up
|
2022-07-14 15:37:48 +02:00 |
|
Craig Raw
|
67bc479ae9
|
prevent concurrent modification exception while copying node tree
|
2022-07-14 15:30:39 +02:00 |
|
Craig Raw
|
c4d2041a77
|
optimize retrieving unspent utxos
|
2022-07-14 15:08:01 +02:00 |
|
Craig Raw
|
377843a4a5
|
add performance optimization when requesting purpose node for deep wallets
|
2022-07-14 14:48:05 +02:00 |
|
Craig Raw
|
6d0d5b7f62
|
use an address node cache to avoid repeat wallet address lookups
|
2022-07-14 13:20:15 +02:00 |
|
Craig Raw
|
bd01cb8730
|
add method to warm the pubkey cache
|
2022-07-14 09:55:46 +02:00 |
|
Craig Raw
|
cd1e21ebaa
|
prefer using libsecp256k1 to derive public keys from private
|
2022-07-12 10:43:20 +02:00 |
|
Craig Raw
|
d05ec39df7
|
optimize utxo selection through local variable caching of wallet data reused in computation
|
2022-07-07 11:08:39 +02:00 |
|
Craig Raw
|
1a20e0381c
|
always find node for first input when retrieving historical notification txes
|
2022-06-06 13:38:06 +02:00 |
|
Craig Raw
|
7f2c5a5a59
|
rename taproot sighash default and avoid conflation with sighash all
|
2022-05-30 16:27:55 +02:00 |
|
Craig Raw
|
7535c876ba
|
ensure dummy y value of taproot internal key is consistent
|
2022-05-25 16:14:26 +02:00 |
|
Craig Raw
|
a3ec868b75
|
add ledger nano s plus wallet model
|
2022-05-24 10:43:49 +02:00 |
|
Craig Raw
|
8e50815a3f
|
preserve txo status when updating node outputs
|
2022-05-19 16:34:14 +02:00 |
|
Craig Raw
|
d24243ce20
|
set lower bound on bip47 account index
|
2022-05-19 12:29:56 +02:00 |
|
Craig Raw
|
38deacaeec
|
add support for seedqr parsing
|
2022-05-17 08:02:24 +02:00 |
|
Craig Raw
|
eddd6406ef
|
consider spent mempool outputs when checking max spendable amount for rbf txes
|
2022-05-12 10:56:00 +02:00 |
|
Craig Raw
|
ba86924503
|
add native libraries for aarch64
|
2022-05-06 17:34:00 +02:00 |
|
Craig Raw
|
9cb95f2f8c
|
add psbt taproot output fields, jade wallet
|
2022-05-04 14:32:24 +02:00 |
|
craigraw
|
759ebb975c
|
Merge pull request #6 from satsen/master
avoid manual parsing of a bitcoin uri
|
2022-04-28 11:28:02 +02:00 |
|
Craig Raw
|
5b3712bfe0
|
dont add bip32 derived key field to taproot inputs
|
2022-04-26 14:57:24 +02:00 |
|
satsen
|
d9831bdcd0
|
Use URI instead of manual parsing
|
2022-04-13 16:58:38 +01:00 |
|
Craig Raw
|
20f4ac9657
|
ensure unique stonewall input txids for entire tx (not just per set)
|
2022-03-30 08:55:41 +02:00 |
|
Craig Raw
|
d1088fe9ee
|
support psbt taproot bip32 derivation field, fix taproot signature verification
|
2022-03-29 11:49:49 +02:00 |
|
Craig Raw
|
74e32bab3d
|
simplify automatic master wallet label
|
2022-03-22 09:14:29 +02:00 |
|
Craig Raw
|
88bd6ada98
|
disable bip47 support for taproot script type
|
2022-03-21 09:39:04 +02:00 |
|
Craig Raw
|
fe57ad3e7a
|
set bip47 wallet label before creating addresses
|
2022-03-17 10:33:32 +02:00 |
|
Craig Raw
|
6401761530
|
automatically label new bip47 receive addresses to identify incoming bip47 payments
|
2022-03-17 09:44:47 +02:00 |
|
Craig Raw
|
04631be8c1
|
copy label on wallet copy
|
2022-03-04 10:35:20 +02:00 |
|
Craig Raw
|
0734757a17
|
support nested wallets
|
2022-03-02 13:34:10 +02:00 |
|
Craig Raw
|
956f59880e
|
fix for retreiving notification tx data for non-zero bip47 accounts
|
2022-02-23 09:44:09 +02:00 |
|
Craig Raw
|
7bb07ab39e
|
add bip47 keystores
|
2022-02-22 12:02:40 +02:00 |
|
Craig Raw
|
f73cabad3c
|
remove unused copy labels method
|
2022-02-09 16:07:26 +02:00 |
|
Craig Raw
|
78359961f3
|
followup
|
2022-02-09 13:23:37 +02:00 |
|
Craig Raw
|
de87ab1102
|
add detached labels map to store labels during a wallet refresh
|
2022-02-09 11:38:23 +02:00 |
|
Craig Raw
|
ee732fb223
|
handle wif format private keys with uncompressed pubkeys
|
2022-02-03 12:43:14 +02:00 |
|
Craig Raw
|
9618c73c50
|
allow short wallet display name retrieval
|
2022-01-31 19:12:36 +02:00 |
|
Craig Raw
|
61317f15ac
|
more nuanced wallet compare with master wallets first
|
2022-01-25 13:46:02 +01:00 |
|
Craig Raw
|
fe61c633ae
|
performance optimisations
|
2022-01-20 17:12:00 +02:00 |
|
Craig Raw
|
8dca2ee3f0
|
add wallet watchLast field
|
2022-01-19 13:48:20 +02:00 |
|
Craig Raw
|
34bd72d87a
|
get wif from eckey
|
2022-01-12 15:42:44 +02:00 |
|
Craig Raw
|
3a557e3af8
|
introduce general purpose hash index record
|
2022-01-09 11:05:17 +02:00 |
|
Craig Raw
|
083288061f
|
rename gordian seed tool, support retrieving a keystore from an output descriptor more generally
|
2022-01-04 10:33:47 +02:00 |
|
Craig Raw
|
c1f6a1245e
|
add seed tool wallet model
|
2021-12-16 10:06:06 +02:00 |
|
Craig Raw
|
d59da36506
|
return zero total when some input values are not available
|
2021-12-15 14:13:29 +02:00 |
|
Craig Raw
|
8ac3f47380
|
shuffle utxos within input sets
|
2021-12-15 10:10:55 +02:00 |
|
Craig Raw
|
6ac593f161
|
detect if output descriptor represents a cosigner
|
2021-12-14 11:20:45 +02:00 |
|
Craig Raw
|
60e989b946
|
follow up
|
2021-12-13 16:02:20 +02:00 |
|
Craig Raw
|
3131b265a5
|
ensure selected utxo sets retain stable ordering
|
2021-12-13 15:42:02 +02:00 |
|
Craig Raw
|
20ec0f95fb
|
test for two person coinjoin
|
2021-12-01 14:13:58 +02:00 |
|
Craig Raw
|
16d348a91d
|
add support for dumped private keys
|
2021-11-29 15:30:31 +02:00 |
|
Craig Raw
|
da14a9bf34
|
add retrieval of wallet nodes and history
|
2021-11-26 14:04:46 +02:00 |
|
Craig Raw
|
4a4a62f239
|
various changes to support soroban
|
2021-11-25 16:13:57 +02:00 |
|
Craig Raw
|
3a061cb73a
|
remove taproot activation code, update libsecp256k1 libs
|
2021-11-17 14:49:22 +02:00 |
|
Craig Raw
|
8e49247832
|
introduce multipath derivations to output descriptors and use h for hardened indexes
|
2021-11-13 15:04:37 +02:00 |
|
Craig Raw
|
ebf7128ae5
|
support utxo sets in wallet tx
|
2021-11-12 15:54:22 +02:00 |
|
Craig Raw
|
f46d627755
|
allow zero length paths when parsing psbt key derivations
|
2021-11-10 15:43:11 +02:00 |
|
Craig Raw
|
6c03c4106a
|
respect wallet labels when displaying name
|
2021-10-29 14:33:15 +02:00 |
|
Craig Raw
|
bdb9900d8d
|
improve multi account wallet name display
|
2021-10-29 13:21:53 +02:00 |
|
Craig Raw
|
360550a718
|
fix rounding issue when converting btc values to sats
|
2021-10-28 13:52:18 +02:00 |
|
Craig Raw
|
434c18ef0a
|
add wallet label and mixConfig indexRange
|
2021-10-27 16:13:32 +02:00 |
|
Craig Raw
|
24d9e5fcda
|
walletnode toString refactor
|
2021-10-27 12:00:02 +02:00 |
|
Craig Raw
|
99440eda7f
|
fix high stonewall fee issue, add support for generalized transaction diagram
|
2021-10-26 17:35:13 +02:00 |
|
Craig Raw
|
eb49c97133
|
support adding op return data when creating wallet transactions
|
2021-10-22 11:00:51 +02:00 |
|
Craig Raw
|
57290a20a1
|
add coin selection filter to exclude immature coinbase outputs
|
2021-10-16 11:09:30 +02:00 |
|
Craig Raw
|
c04c249450
|
add mixable standard accounts list
|
2021-10-14 11:11:41 +02:00 |
|
Craig Raw
|
61b2fd21e6
|
add support for retrieving added nodes, refactor nodeRangeToString
|
2021-10-13 15:20:22 +02:00 |
|
Craig Raw
|
025af05758
|
postmix gap limit to 40
|
2021-10-07 12:28:54 +02:00 |
|
Craig Raw
|
2fd7e8e7e4
|
add mnemonic seed type exception
|
2021-10-06 08:22:30 +02:00 |
|
Craig Raw
|
e0302cef22
|
increase postmix lookahead
|
2021-10-04 12:15:37 +02:00 |
|
Craig Raw
|
9a9a1b9254
|
support add child wallets from all wallet types, double postmix gap limit
|
2021-09-29 10:11:07 +02:00 |
|
Craig Raw
|
c9e57fad01
|
add privacy-focused anti-fee-sniping recommendations for taproot transactions
|
2021-09-22 16:31:06 +02:00 |
|
Craig Raw
|
38783d68a4
|
support network dependent block height taproot activation
|
2021-09-08 13:21:04 +02:00 |
|
Craig Raw
|
0b40c20ab2
|
support required script types on child wallets
|
2021-09-03 17:12:58 +02:00 |
|
Craig Raw
|
94d22b8758
|
store mix indexes in mixconfig
|
2021-09-02 14:11:51 +02:00 |
|
Craig Raw
|
b4f4cc8726
|
improve mix config retrieval
|
2021-09-02 11:39:33 +02:00 |
|
Craig Raw
|
67836b2b55
|
add mix config to wallet
|
2021-09-01 13:08:18 +02:00 |
|
craigraw
|
71b5778226
|
Merge pull request #4 from zeroleak/whirlpool-client-0.23.30-early4
upgrade to whirlpool-client 0.23.30-early4 + extlibj 0.0.19-dsk3
|
2021-08-31 10:43:29 +02:00 |
|
Craig Raw
|
7ac4bce14f
|
support multiple utxo sets and change outputs
|
2021-08-27 15:58:23 +02:00 |
|
zeroleak
|
0947ea10c8
|
upgrade to whirlpool-client 0.23.30-early4 + extlibj 0.0.19-dsk3
|
2021-08-27 09:30:11 +02:00 |
|
Craig Raw
|
81c202198e
|
add utxo mix data storage to wallet
|
2021-08-23 16:34:40 +02:00 |
|
Craig Raw
|
2eedd2290c
|
fix npe for new wallets
|
2021-08-16 10:45:48 +02:00 |
|
Craig Raw
|
eab42c0f05
|
support for standardized child wallet accounts
|
2021-08-12 17:48:36 +02:00 |
|
Craig Raw
|
8fd14ce133
|
fix psbt testcase
|
2021-08-02 16:10:06 +02:00 |
|
Craig Raw
|
debafd42e8
|
add wallet hierarchy-aware convenience naming methods
|
2021-07-30 14:15:08 +02:00 |
|
Craig Raw
|
46e4413cf6
|
activate p2tr script type on testnet, and on mainnet after activation
|
2021-07-19 12:34:58 +02:00 |
|
Craig Raw
|
db081695e8
|
fix p2tr script required sigs
|
2021-07-15 11:08:59 +02:00 |
|
Craig Raw
|
c71979966b
|
support taproot single key keypath spends
|
2021-07-14 15:12:18 +02:00 |
|
Craig Raw
|
f1ce2ec939
|
refactor ECKey and TransactionSignature to support schnorr
|
2021-07-12 08:55:31 +02:00 |
|
Craig Raw
|
e53574ea54
|
support p2tr script type wallet creation
|
2021-07-09 13:33:35 +02:00 |
|
Craig Raw
|
5013a0ef2f
|
rename tx segwit version field to segwit flag
|
2021-07-08 11:45:39 +02:00 |
|
Craig Raw
|
60511e2c83
|
add native secp256k1 library with jni bindings
|
2021-07-02 13:40:23 +02:00 |
|
Craig Raw
|
967a2c2026
|
add support for sending to taproot addresses
|
2021-07-02 10:43:26 +02:00 |
|
Craig Raw
|
107a165fc1
|
support determining if tx input refers to a txo from a wallet
|
2021-06-28 13:08:09 +02:00 |
|
Craig Raw
|
c021300797
|
parse bitcoin core wallet model type
|
2021-06-18 11:19:24 +02:00 |
|
Craig Raw
|
5e8a14678d
|
add seedsigner wallet model
|
2021-06-16 14:45:36 +02:00 |
|
Craig Raw
|
729c3a1435
|
ensure deep copy of child wallets
|
2021-06-16 09:37:05 +02:00 |
|
Craig Raw
|
f407547c47
|
preserve id when encrypting or decrypting seeds or private keys
|
2021-06-14 14:53:53 +02:00 |
|
Craig Raw
|
485e8c825b
|
add keystone wallet
|
2021-06-10 16:46:22 +02:00 |
|
Craig Raw
|
8e3d0d23c1
|
support database persistence
|
2021-06-10 12:07:20 +02:00 |
|
Craig Raw
|
42ffeb9565
|
allow psbt signature verification to be deferred
|
2021-05-28 11:07:59 +02:00 |
|
Craig Raw
|
567294a4b0
|
support creating a transaction excluding the provided change addresses
|
2021-05-17 13:20:43 +02:00 |
|
Craig Raw
|
7dca0d0c39
|
add master wallet reference
|
2021-05-14 12:54:31 +02:00 |
|
Craig Raw
|
cc32285d58
|
add helper to construct payment from bitcoin uri
|
2021-05-06 14:20:58 +02:00 |
|
Craig Raw
|
db9617ee10
|
handle user defined fee amount better by requiring a fee rate of 1 sat/vb for utxo selectors
|
2021-04-26 14:39:13 +02:00 |
|
Craig Raw
|
2cd133bc1c
|
handle user defined fee amount better by requiring a fee rate of 1 sat/vb for utxo selectors
|
2021-04-26 14:38:36 +02:00 |
|
Craig Raw
|
63394b142c
|
dont add inputs with negative effective value when calculating max value
|
2021-04-26 14:27:08 +02:00 |
|
Craig Raw
|
cc6e3ffdc2
|
add message sign test for low r requiring only a single attempt
|
2021-04-25 18:05:22 +02:00 |
|
Craig Raw
|
f4730f7147
|
add message sign test for low r grinding (verified signatures against electrum 4.1.2)
|
2021-04-25 13:25:04 +02:00 |
|
Craig Raw
|
173743ba0d
|
ensure grinding for low R is done in the same way as libsecp256k1 so signatures match
|
2021-04-25 12:22:38 +02:00 |
|
Craig Raw
|
db05e09fe5
|
verify segwit psbt partial signatures with only non-witness utxo provided
|
2021-04-24 08:55:33 +02:00 |
|
Craig Raw
|
0a43f9f6a8
|
dont increment fee if user set
|
2021-04-21 13:08:22 +02:00 |
|
Craig Raw
|
b0d37fe8fe
|
include all utxos when sending max amount
|
2021-04-21 09:53:53 +02:00 |
|
Craig Raw
|
efaa6a066d
|
improve variable naming for utxo selection criteria
|
2021-04-21 09:37:01 +02:00 |
|
Craig Raw
|
a25dfa5c76
|
allow external unconfirmed utxos to be spent
|
2021-04-20 11:08:13 +02:00 |
|
Craig Raw
|
85e8b97a8c
|
support extended master private key keystores
|
2021-04-20 08:27:26 +02:00 |
|
Craig Raw
|
1aeaacaf59
|
preserve capitalization in keystore naming in policy script
|
2021-04-19 08:56:05 +02:00 |
|
Craig Raw
|
891499aff0
|
safer istransaction test
|
2021-04-16 12:30:22 +02:00 |
|
Craig Raw
|
a56f8971c0
|
support blockchain ordering of txes a separate method
|
2021-04-12 15:46:44 +02:00 |
|
Craig Raw
|
b7038b19f9
|
add option to strip sensitive info from psbt serialization
|
2021-04-12 13:42:11 +02:00 |
|
Craig Raw
|
428054d375
|
fix p2sh-p2wpkh description
|
2021-04-12 09:33:52 +02:00 |
|
Craig Raw
|
49654b7c82
|
ensure safe psbt testing
|
2021-04-01 09:51:43 +02:00 |
|
Craig Raw
|
e974c3f422
|
sort descriptor xpubs lexicographically when child derivation paths are supplied
|
2021-03-10 11:28:59 +02:00 |
|
Craig Raw
|
533791edcf
|
use fractional tx virtual size
|
2021-03-08 16:20:35 +02:00 |
|
Craig Raw
|
5b2e21b3d7
|
provide framework for application logging
|
2021-03-08 09:16:28 +02:00 |
|
Craig Raw
|
c084a0de7e
|
dont allow negative values to enter tx when send max true
|
2021-03-04 12:59:49 +02:00 |
|
Craig Raw
|
b84aa2e7cb
|
set log level dynamically
|
2021-03-01 16:30:12 +02:00 |
|
Craig Raw
|
faa8f71313
|
return boolean if labels have changed
|
2021-03-01 15:26:55 +02:00 |
|
Craig Raw
|
08acfe5ba1
|
add signet support
|
2021-02-24 13:38:47 +02:00 |
|
Craig Raw
|
fe91063e8f
|
add system property to disable script type derivation validation
|
2021-02-22 16:04:34 +02:00 |
|
Craig Raw
|
79216fac91
|
add descriptions to script types
|
2021-02-17 10:23:49 +02:00 |
|
Craig Raw
|
3882a4b4bd
|
support wallet labels copying from past wallets
|
2021-02-09 17:31:26 +02:00 |
|
Craig Raw
|
44b29b2b7b
|
add blue wallet
|
2021-02-08 18:17:11 +02:00 |
|
Craig Raw
|
4d61585e4c
|
rbf: remove unnecessary locktime = 0 check
|
2021-02-08 11:04:57 +02:00 |
|
Craig Raw
|
a38206f17c
|
add passport hww single and multisig importing
|
2021-01-28 10:39:25 +02:00 |
|
Craig Raw
|
4b682fb3e7
|
dont add non-witness utxo when keystores are exclusively coldcard or cobovault
|
2021-01-26 12:18:27 +02:00 |
|
Craig Raw
|
93d494fcde
|
export max keystore label length
|
2021-01-18 13:38:34 +02:00 |
|
Craig Raw
|
3e91bdb46c
|
find signing nodes and keystores from transaction
|
2021-01-11 12:26:28 +02:00 |
|