0e80b2dee7 Show fidelity bond value in manual order picking (Kristaps Kaupe)
Pull request description:
.
Top commit has no ACKs.
Tree-SHA512: c9ace4fd09f7bd36abd8fe887a6cd17d47e34f504fc0f30dcd6ef959f8af68b49fcafacd44dff7d91d651234e4c1c45a226ec731c09fc7fb1d447306b5abee6a
2fdebb8 do not call reactor.stop() in test_commands.py (undeath)
e082c3c remove unneeded hex encoding/decoding from sent_tx + push_tx (undeath)
dfc82ab various whitespace fixes (undeath)
7dcd3f3 move client/server data encoding to twisted (undeath)
f50fa4f74f Add a menu action to force wallet refresh (Wukong)
Pull request description:
After https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/942, the Qt wallet view is only updated when the callback is triggered.
If, for some reason, the callback wasn't triggered properly, a user would have to close and re-open the Qt wallet to refresh the wallet.
This PR adds a new menu action, "Refresh Wallet", so that in this rare case, a user can use this menu action to force a wallet refresh.
Top commit has no ACKs.
Tree-SHA512: 8f1ead71e7b5bd6bd93ab7af28efb5ee19e480c9051ed29457e21b3e6878dce205b6af24bcc3e09ddd239e78ea46c3490e4393102f0b9ce05cbeb660b1673f9a
1. The url for jmqtui should be `/jmqtui`, not `/jmfg`.
2. All the urls in setup.py must specify `tree/master` as part of the url, otherwise the links can no longer be opened.
3. All the urls in setup.py should use `https` instead of `http`, even though GitHub will auto redirect the request to use `https`.
4. Use `JoinMarket-Org` instead of `Joinmarket-Org` in the url links for better consistency, even though it doesn't affect the effectiveness of the link.
Before this commit, the ob-watcher.py script errored
in trying to read offers because the variable
dust_threshold of the OrderbookWatch class was not
initialized; this was because this variable is now
set by the client in the AMP message JMInit; but
ob-watcher is a script that runs without any such
client. Since the script has access to the global
configuration from the jmclient package anyway, the
fix is just to add that into the ObBasic class
constructor.
This ensures that `wallet_utils.py` and `genwallet.py` use the same logic for
reading the password.
The current algorithm for reading the password entails some
non-obvious details like utf-8 encoding and not stripping trailing
newlines.
Changes from top to bottom:
- Add header comment
- Import wallet_utils (needed for DEFAULT_MIXDEPTH)
- Make password optional in usage string
- Set variable wallet_name at the top where options are parsed
- Use DEFAULT_MIXDEPTH instead of hardcoded value
bugfix: use enumerate instead of len
reviewed estimation of transaction sizes
estimates are still a bit conservative with room for improvement;
signatures could still save up to one byte each if using low-r
values. python-bitcointx==1.1.2-dev already supports grinding for
low-r values so when it's stable and referenced version is updated,
this should be reviewed again so as to utilize that benefit.
added utility method `estimate_extra_bytes`
the purpose of this method is for the computation
of extra bytes when the coinjoin or direct send output
type is different from that of the wallet
updated tests to reflect new transaction size
computation
p2pkh transactions are now 1 byte larger for
the inputs hence the change amount should be
less 4 * 30 sats.
add private keys for utxos that we may not be
tracking
some transactions (e.g. opt-in rbf) may require signing
with private keys for utxos that we may have stopped
tracking. this commit will search through all inputs
and for those we own and retrieve their private keys
so we can sign with them.
added support for p2wsh output scripts in
refactored the estimation of the transaction size
when outputs of a different type is the target
Previously, a different method was employed which
was kind of kludgy considering the fact that the
`extra_bytes` parameter is really for `OP_RETURN`
outputs. This method modifies the `estimate_tx_size`
method to accept an optional extra parameter called
`outtype` which is used to estimate the correct
transaction size if the target output is different
from that of the wallet.
added missing import
added a note about preserving the order of wallet type constants
Fix bug with timelocked addrs in receive payjoin
Previously there would be a crash if the wallet receiving a payjoin
had a timelocked UTXO.
dab61bb9d6 Minor context menu improvements (Kristaps Kaupe)
Pull request description:
1) Added Ctrl+C keyboard shortcut to "Copy address to clipboard" and "Copy extended public key to clipboard" context menu actions of "JM Wallet" tab.
2) Renamed "pubkey" to "public key" and "tx" to "transaction" in context menus.
Top commit has no ACKs.
Tree-SHA512: 7c4a64940d5ad29d1ad8ff0f935268da750ccd52a9629722a1ad6e6dd9987b930d3b076e0334d226ae6d8bbb038475907399b4c9561b46a48c72ae831878fe05
7c4ba09dab remove executable bit (undeath)
f93ccf0f0c remove unneeded shebangs (undeath)
Pull request description:
Minor code cleanup, removes shebang from files that are not meant to be executed. Additionally, the executable bit is removed from one of the GPG pubkeys.
ACKs for top commit:
kristapsk:
utACK 7c4ba09dab
Tree-SHA512: afce99ceb910ee658d986a07a5c1b6447d4ec3e917921630e47a82b8788984ec150f4c692e5eb47b48d95d468878fb2d741d511622a30e328741e218f1f33972
f7180b8 Emphasize that ygen uses only single UTXO as fbond (chris-belcher)
Tree-SHA512: b6aeee067273f57688d71c87059f5d53492769f9a69c98908421b6abba88d824e8366df1916e29615e7416de0b79e1c8949167ae8ac5033928c1968ad4917277
At least two people have been burned by creating two transactions
sending bitcoins to two timelocked addresses, and then finding that
yield-generator announces only one of them.
This commit expands the section talking about how only one UTXO will
be used. It also edits the text to refer to yield-generator's fidelity
bonds only in the singular, as previously they were referred to in
the plural (i.e. "fidelity bonds"), which possibly added to user's
confusion.
Fixes#976. Joinmarket will allow, but warn, when
non-zero change values (which are not included in
the transaction) result from sweeps (due to the
impossibility of knowing the exact value in advance).
However, prior to this commit, if that estimation
inaccuracy resulted in a negative change value that
was to be ignored, there was a crash due to the fact
that `jmbitcoin.amount_to_str` does not allow negative
values. Hence we instead print the number in the warning
without going through this formatting function.
Adds tests case for negative sweep change.