100 Commits
Author SHA1 Message Date
Craig Raw e63e4b2776 pay the silent payment address of a resolved instruction where the sending wallet can, treating the address in the body as a fallback 2026-09-11 13:01:10 +02:00
Craig Raw 8e9661a6e0 verify psbt silent payment metadata against the input hash of every input, not only the eligible ones 2026-09-11 12:33:54 +02:00
Craig Raw b43f24f961 hide the gap limit and request a birth date for a silent payments wallet in the terminal 2026-09-11 12:22:18 +02:00
Craig Raw 4ee9a4a702 hide account discovery on a silent payments wallet 2026-09-11 12:11:54 +02:00
Craig Raw 6fcdc88bf2 explicitly reject a psbt signed over silent payment outputs that have not been computed 2026-09-11 12:04:38 +02:00
Craig Raw 7ae8ee954c hold silent payment notifications arriving before the subscribe response is recorded, discarding those of a replaced subscription 2026-09-11 10:59:07 +02:00
Craig Raw e05d81bcb1 write the output descriptor of a silent payments address as rawtr() 2026-09-11 09:28:33 +02:00
Craig Raw 3dc99b6b54 size an unresolved silent payment output as the p2tr output it becomes when deriving the fee 2026-09-10 15:26:25 +02:00
Craig Raw 0a0a6919bb take the silent payments tweak of an input from the wallet node when adding key path information 2026-09-10 14:25:35 +02:00
Craig Raw 10b001e850 recognise a silent payments descriptor when matching label origins and reading a descriptor pdf 2026-09-10 13:55:35 +02:00
Craig Raw a7541fffda copy the stored table layout of a wallet, and clear it and the silent payment addresses on a new account 2026-09-10 13:21:20 +02:00
Craig Raw c3e7645456 fetch all nodes on a silent payments refresh when a reorg has invalidated any of them 2026-09-10 13:04:16 +02:00
Craig Raw 314ac18452 do not advance the stored block height of a silent payments wallet until a scan has covered it 2026-09-10 12:48:08 +02:00
Craig Raw 1675e206d4 name the sortedmulti reinterpretation in the message for a bsms record whose first address does not match 2026-09-10 10:54:19 +02:00
Craig Raw f7b637d0d8 refuse to display a wallet seed in the terminal when the wallet was locked while its key was derived 2026-09-10 10:53:55 +02:00
Craig Raw b6d74f8015 derive the fee of a wallet transaction from the transactions funding its inputs rather than the value its history entry reports 2026-09-10 10:40:04 +02:00
Craig Raw b59f355bfd do not import wallet descriptors on a cormorant started to test a server connection 2026-09-10 09:24:45 +02:00
Craig Raw 75cd6ceba2 cancel a retrying connection attempt when testing a server to avoid resource sharing 2026-09-10 08:51:32 +02:00
Craig Raw 3590fb3a51 verify the signatures of a finalized psbt before copying its fields into an open transaction 2026-09-09 14:23:39 +02:00
Craig Raw 70e56a5bc3 refresh a node when its script hash status returns to an earlier value, retiring the mitigation for electrs < 0.9.0 2026-09-09 11:45:42 +02:00
Craig Raw 34f27fd84c do not offer copy and qr export actions for an extended private key pasted into the keystore xpub field 2026-09-09 11:00:56 +02:00
Craig Raw 5aa262ee24 require the policy line and check the declared cosigner count when importing coldcard format multisig wallets 2026-09-09 10:17:06 +02:00
Craig Raw b7902f5405 clear a replacement transaction when a utxo it spends is frozen rather than silently removing the input 2026-09-08 10:46:50 +02:00
Craig Raw ed78418aac verify silent payment output scripts before device signing, combining and export 2026-09-07 14:26:44 +02:00
Craig Raw a7d857760b update lark for ledger merkle proof hashes continuation fix 2026-09-07 12:45:01 +02:00
Craig Raw 080be6056a report a transaction tab height the server will not prove instead of marking it unverified until it does 2026-09-07 12:32:18 +02:00
Craig Raw 62ec51ceb8 compare silent payment scan addresses when considering wallet address changes 2026-09-04 13:18:59 +02:00
Craig Raw 6983c955d0 revert the sighash selection when the sighash none warning is dismissed rather than answered no 2026-09-04 13:12:07 +02:00
Craig Raw b0a4934a00 correct an amount or fee entry that parses as zero when only part of it validates 2026-09-04 13:09:29 +02:00
Craig Raw 97954f44a4 show a height the transaction tab takes from the server as unverified until it is proven 2026-09-04 12:54:37 +02:00
Craig Raw 8ab75efd5f refuse an announced tip below the last pinned header 2026-09-04 08:53:17 +02:00
Craig Raw ce42c0db66 recover the trezor safe 7 session when the device retransmits an unacknowledged message 2026-09-03 15:26:20 +02:00
Craig Raw aeeeeb5404 show the signatures for a signed transaction opened offline or when the server cannot return every input 2026-08-31 14:37:20 +02:00
Craig Raw e6242780ed retain an entered https scheme for its host when configuring a bitcoin core server 2026-08-28 13:21:06 +02:00
Craig Raw b415e380b3 report bitcoin core rpc errors that carry no result instead of failing on a null response 2026-08-28 13:20:23 +02:00
Craig Raw 067b4d376d bump to v2.5.5 2026-08-27 14:06:23 +02:00
Craig Raw 8871f4f1af fix the windows test failures from crlf converted resources and a directory that cannot deny removal 2026-08-27 13:09:06 +02:00
Craig Raw ffc1221e80 name the conflicting keystore when an entered extended key is not unique 2026-08-27 10:26:25 +02:00
Craig Raw bb60cf0a59 disable payjoin on transactions with silent payment outputs 2026-08-27 09:51:52 +02:00
Craig Raw 624f999ec5 update hummingbird to v1.7.5 2026-08-26 15:45:21 +02:00
Craig Raw 344700f0c4 fall back to the next usable camera instead of failing the qr scan on one reporting no resolutions 2026-08-26 15:35:17 +02:00
Craig Raw 5f7770b873 gate the display address, sign message and keystore discovery panes on a fingerprint resolved after pin entry 2026-08-26 15:04:38 +02:00
Craig Raw 0e8d8192fb report an oversized download manifest instead of verifying the signature alone 2026-08-26 13:33:16 +02:00
Craig Raw 7da2ebc760 scope payjoin endpoints to the payment tab and transaction instead of the destination address 2026-08-26 12:54:08 +02:00
Craig Raw d8ea42643a confirm the passphrase in the wallet-level and terminal seed imports 2026-08-26 11:10:56 +02:00
Craig Raw 12d45a8c20 verify inclusion proofs for newly confirmed transactions, leaving them unconfirmed where they cannot be proved 2026-08-26 10:42:15 +02:00
Craig Raw 74060d1472 maintain a verified block header store anchored at the pinned checkpoints, refreshing affected wallets on a reorg 2026-08-25 09:33:24 +02:00
Craig Raw 70f9c844b7 document the electrum server rpc method contracts 2026-08-24 13:14:09 +02:00
Craig Raw ccfb9fdb61 support additional electrum server rpc methods and configurable batch paging 2026-08-24 13:04:43 +02:00
Craig Raw 0a484201d9 clarify that the slip39 import passphrase applies to all shares and not individual ones 2026-08-23 10:19:40 +02:00
Craig Raw 87c78be355 serialise usb device access so the periodic enumeration cannot interrupt an operation in progress 2026-08-23 10:05:31 +02:00
Craig Raw 5cdb3e04e7 disable transaction version and locktime editing once signed 2026-08-23 08:59:58 +02:00
Craig Raw 8a19156349 fix skipInstallers property being ignored and document its use 2026-08-23 08:43:12 +02:00
Craig Raw 5b87f3512d close storage opened when testing rejected wallet schemas 2026-08-23 08:22:22 +02:00
Craig Raw e7ae9ccae5 update drongo and lark to require anti-klepto on bitbox02 and fix taproot signing issue 2026-08-21 15:26:14 +02:00
Craig Raw cdcdcfc3a3 update lark to fix ledger registration issue 2026-08-21 14:13:09 +02:00
Craig Raw 4989a881c1 isolate a malformed card response to the card that caused it 2026-08-21 13:13:48 +02:00
Craig Raw 3e53f19353 fail rather than loop indefinitely on an unsuccessful card wait or repeated secure channel resets 2026-08-21 13:03:57 +02:00
Craig Raw e49b6a4a63 bound the bitcoin core rpc connect and read timeouts, exempting the methods that rescan synchronously 2026-08-21 12:25:41 +02:00
Craig Raw 5b10debd7a bound the electrum read timeout across the wait for a response, not just acquiring the read lock 2026-08-21 11:13:47 +02:00
Craig Raw 185e0e8b69 only apply dns payment resolutions matching the currently entered recipient 2026-08-21 10:27:17 +02:00
Craig Raw bf0daae6cd improve randomization for utxo selection, input and output shuffling, and anti-fee-sniping 2026-08-21 10:06:28 +02:00
Craig Raw fdd1875a0c warn before creating a keystore from a scanned seed with an invalid checksum 2026-08-21 09:45:45 +02:00
Craig Raw 9b05c26cf3 comment on why the securerandom.getinstancestrong() fallback is neither weaker nor reachable 2026-08-21 09:39:11 +02:00
Craig Raw 4e2903fe60 compare the ecies mac in constant time and test the invalid password cause 2026-08-21 09:27:58 +02:00
Craig Raw 325ab3b71b reprompt for the bip38 passphrase rather than clearing the encrypted key 2026-08-21 09:13:00 +02:00
Craig Raw 4caa02d340 catch any parse failure when opening pasted or server-fetched transactions 2026-08-21 07:18:40 +02:00
Craig Raw b3b55a5f24 pin the gradle distribution checksum in the wrapper properties 2026-08-20 14:05:14 +02:00
Craig Raw fb811e10ba redact the core credentials from the bwt debug log 2026-08-20 13:56:59 +02:00
Craig Raw 4b373714a9 release the reference to the derived encryption key when clearing a loaded wallet 2026-08-20 13:37:20 +02:00
Craig Raw bad92ba6e9 strip only the trailing extension when deriving the h2 database name 2026-08-20 13:27:20 +02:00
Craig Raw 6cda110e28 show the resource an auth47 challenge is signed for 2026-08-20 13:02:43 +02:00
Craig Raw abd9de2d15 ignore the results of superseded download verifications 2026-08-20 12:51:55 +02:00
Craig Raw 54926b5fd4 confirm the imported quorum and cosigners before completing an incomplete multisig wallet 2026-08-20 12:24:40 +02:00
Craig Raw 73c06c327f report failed bitcoin core descriptor imports instead of only logging them 2026-08-20 11:36:26 +02:00
Craig Raw 7faa65fc9f range check the server supplied minimum relay fee 2026-08-20 10:37:32 +02:00
Craig Raw ad61007ddd warn when a bitcoin core node is neither local nor onion 2026-08-20 10:02:32 +02:00
Craig Raw 194bd70f86 retain the existing wallet encryption when a password change is cancelled 2026-08-20 08:34:11 +02:00
Craig Raw 1e660ad230 skip malformed silent payment entries rather than aborting the scan batch 2026-08-19 16:13:20 +02:00
Craig Raw c60a6ddd9e handle an absent final scriptsig or witness when restoring the original payjoin inputs 2026-08-19 15:56:38 +02:00
Craig Raw dde0985da8 verify the version check signature before assigning the current version 2026-08-19 15:35:33 +02:00
Craig Raw 571e4c9480 disable the proxy setting when no proxy server is configured 2026-08-19 14:50:49 +02:00
Craig Raw b38f517f81 update drongo submodule with minor fixes 2026-08-19 14:49:32 +02:00
Craig Raw e0ee957c31 detect legacy multisig descriptors case insensitively when warning about key sorting 2026-08-19 09:14:41 +02:00
Craig Raw b99b880c9f improve max cosigner ui handling in settings 2026-08-10 12:41:59 +02:00
Craig Raw d9ad061859 resolve bip353 hrns over tcp via the socks proxy when one is configured 2026-08-10 10:24:13 +02:00
Craig Raw 03222f20c3 close remaining local dns resolution gaps when classifying hostnames and connecting via tor 2026-08-06 14:13:24 +02:00
Craig Raw b6ed4ba7c9 avoid deleting the backups of same-prefixed wallets 2026-08-05 13:52:07 +02:00
Craig Raw 5ccc4902d0 verify proof of work on chain tips and warn when a tip goes stale 2026-08-05 13:15:08 +02:00
Craig Raw 24c6202ef7 prevent a password change from re-encrypting wallets whose filenames share the same prefix 2026-08-05 07:29:24 +02:00
Craig Raw b0b9cc23d4 reject truncated and oversized tlv lengths when parsing keycard responses 2026-08-04 16:31:07 +02:00
Craig Raw fa0d48415f reject extended private keys when creating a terminal watch only wallet, and show import errors 2026-08-04 15:55:45 +02:00
Craig Raw 7a3f775a57 ensure imported keystore labels are truncated and unique 2026-08-04 15:40:47 +02:00
Craig Raw 5d387765af always check and restrict existing wallets and backup directories to owner only permissions 2026-08-04 15:35:00 +02:00
Craig Raw 1a810c0620 add bitbox02 attestation failed dialog 2026-08-04 14:54:50 +02:00
Craig Raw 32f7e58f9e improve validation of payjoin proposals, and accept a substituted payment output where a change output is present 2026-08-04 13:14:56 +02:00
Craig Raw 059f1e8850 improve validation of legacy multipart qr part numbers 2026-08-04 11:52:06 +02:00
Craig Raw 866e989380 remove unused signature verification results in satochip and keycard signers, note where signatures are verified 2026-08-04 10:49:22 +02:00
Craig Raw 3752540e0b improve validation of bip129, descriptor and unchained wallet imports 2026-08-04 09:31:37 +02:00
Craig Raw 1a00e2ef3a add security policy 2026-08-03 17:40:16 +02:00