Prior to this commit, the sendtomany.py script
would sometimes fail based on the output of the
RPC call gettxout returning only a script, and not
an address. After this commit, the validation will
still work correctly in these cases using the
chosen cryptoengine to convert from script to address.
Also notably, the return value of utxo set does
not include an 'address' key any more.
Tests are updated to reflect this.
9ebd538db5 Removed Unicode dash. (Mark Lopez)
Pull request description:
Executing with `0.9.4` now results in a crash when attempting to generate a new `joinmarket.cfg`. The issue is likely related to my terminal emulator or something - but a easily fix is to remove the superfluous unicode dash from the generated configuration file.
```
$ python wallet-tool.py generate
User data location: /home/blah/.joinmarket/
Traceback (most recent call last):
File "wallet-tool.py", line 6, in <module>
jmprint(wallet_tool_main("wallets"), "success")
File "/opt/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 1502, in wallet_tool_main
load_program_config(config_path=options.datadir)
File "/opt/joinmarket/joinmarket-clientserver/jmclient/jmclient/configure.py", line 635, in load_program_config
configfile.write(defaultconfig)
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2014' in position 2701: ordinal not in range(256)
```
ACKs for top commit:
kristapsk:
ACK 9ebd538db5
Tree-SHA512: daa316818eefb6ee7fe927894b177dbbd66373c2267f7e70a64f6df493b9c2bf5f44b2b744e336f241f54a7cf9a95f9824ee4285593d5fbdd286ce307290ec3a
c706c6e1e9 Improve the UX of open wallet dialog. (Wukong)
Pull request description:
This PR addresses the first two items in the "Next step improvements" of #932:
1. Show all the error messages, like "Wrong Password", "File not exist", "Invalid wallet file" etc., within the same dialog, and allow the user to make changes to their decisions in the same dialog when these errors occur.


2. Update the UX of menu action "Wallet -> Load" to also use this new Open Wallet dialog.
In this update, I also renamed the current menu item "Load" to "Open", and added a shortcut "Ctrl+O" for this menu item, which I believe is more consistent with the expectation of the UI from most users.
ACKs for top commit:
kristapsk:
re-ACK c706c6e1e9
Tree-SHA512: 3d953234034859d82f06ac018eb484024272eba58397598a014cbad1faf099ffe4ac28d661e3649c17e77bb26ba9cb7af9433a5bdd856023f61192aba5d1f2e6
When open wallet from menu, also use the JMOpenWalletDialog to handle the workflow
Create a new "errorMessageLabel" in the OpenWalletDialog, and show the error message in this new label instead of in a separate message box popup.
Auto focus on passphraseEdit when OpenWalletDialog is launched, and when a wallet file has been chosen
If the user has an incompatible version of PySide2 installed on their system, the generation process might fail.
Since we have already checked in the correct version of the generated QT UI code, we don't need to run the generation process for every user in the `setup.py`
ca85ac67d3 Don't throw when disabled socks config missing (Daniel McNally)
Pull request description:
Previously, the default config file generated by JM causes an error due to not having `socks5_host` and `socks5_port`, which are commented out since `socks5` is disabled by default. This commit makes those fields optional when `socks5` is not set to `true` in the config. It also makes `socks5` default to `false` if it is not specified in the config for a given IRC server.
ACKs for top commit:
kristapsk:
re-ACK ca85ac67d3
Tree-SHA512: eb33298573c684f5f845bafbec41f37f89c46431d7b5e94f9341c92563dfbfb9146e277f19a2fa4844e57fb6d8accab51340472c5ae6e73097b62a98f5c2afc5
Previously, the default config file generated by JM causes an error due
to not having `socks5_host` and `socks5_port`, which are commented out
since `socks5` is disabled by default. This commit makes those fields
optional when `socks5` is not set to `true` in the config. It also
makes `socks5` default to `false` if it is not specified in the config
for a given IRC server.
0507f6a117 Validate message signature encoding (Adam Gibson)
Pull request description:
Fixes#1069.
Before this commit, a non-hex encoded pubkey sent
as part of the privmsg signature raised an Exception,
this commit fixes this, checking the encoding of both
the pubkey and signature fields before sending them
from daemon to client.
ACKs for top commit:
kristapsk:
ACK 0507f6a117. Checked diff between commits, test suite passes, did successful signet coinjoin. Merging.
Tree-SHA512: d6b59fc340b015157544330a0a4624999559d9f2bcc5ee1ef189558bdab5fb2a2cf80287d1020bfe5be1f4919037b794a0fa4bbe2292a80aca0a03e9de23384a
840189cd0a Fix SNICKER daemon startup (Kristaps Kaupe)
Pull request description:
Fixes#1067.
Bug was introduced with 7e73e4caa9 (part of #996) when return value of `start_daemon_on_port()` was changed from `int` to `tuple`.
Top commit has no ACKs.
Tree-SHA512: 76bfbbf89b66d39d277bac4aed515cd251fe5f40e6eaafc2596c2e095a60931f1cddd2b147e4fd51d07c99c6ff8c94bbc2fe661a618da0220ff4924128833031
e7ff25d1ca Fix example date and example output in fidelity bond doc (Kristaps Kaupe)
Pull request description:
Resolves#1071.
Top commit has no ACKs.
Tree-SHA512: 0ae4a130d9fa3cc815e60ee4d03524573b992559e2da768ad0600e350e5a92cf67644d6896a3c84daad02b5161eb9793fbb9cec602e1d79b1f9c5626d91f4ee2
14bed1400a Fix @fort-nix's public orderbook links (Kristaps Kaupe)
Pull request description:
In long-term IMO it would be cool to have some orderbook watcher in the Qt GUI, so it would be easy to view orderbook without running ob-watcher script locally.
Top commit has no ACKs.
Tree-SHA512: 80084a3999da0d31d91d6b7307cdb5362f5c7dbbe142056d5e857fce0d0bc5b027aef1e7a81391c5f0d06b006c698112472682fabffeddfdf0540625a93a8fb0
Fixes#1069.
Before this commit, a non-hex encoded pubkey sent
as part of the privmsg signature raised an Exception,
this commit fixes this, checking the encoding of both
the pubkey and signature fields before sending them
from daemon to client.
af4f071b74 Add Ilita IRC server (.onion) (xanoni)
Pull request description:
- Added Ilita (http://ilitafrzzgxymv6umx2ux7kbz3imyeko6cnqkvy4nisjjj4qpqkrptid.onion)
- Cleaned up server list overall
ACKs for top commit:
kristapsk:
ACK af4f071b74, did successful signet coinjoin.
Tree-SHA512: 0767782a51fc94b474a5a084b84390a67a2b3d9239915df7abaab50a388be918393ef083909f46fb1a7246c4f70556fece94afdfcb11af24b760f0e2230159cc
1e25d1fbbf Allow to not specify rpc_port in config, use network's default then (Kristaps Kaupe)
Pull request description:
I regularly switch between mainnet and signet on my development laptop, this will save little bit of time, one setting less to change each time.
Top commit has no ACKs.
Tree-SHA512: 23122443cbbaeb1cf48a5fd472684d62cb5519c6cc822d4735c0faa98cadc3f08f5c39d963066e5e5a6e1fe6227244c34ea5ed596d7b9d7b8d7da02efb018cb1
21c0e3e758 Implement address labeling (Kristaps Kaupe)
Pull request description:
Adds new method `setlabel` to `wallet-tool.py` that allows to set label for wallet address. Setting it to empty string removes label. Labels are shown as additional column in `display` and `displayall` methods.
Full functionality for now is cli only, in Qt GUI is only read-only displaying implemented.
Top commit has no ACKs.
Tree-SHA512: b24c96d4d57ab75a511474898e9087e8cd5faa0e1e9440ab57e6caafbc442a8b4edbbad5d3dbd67f0ed3a0cd95f9cd059924d28956869456901fb27dba0530d6
Prior to this commit, it was possible for a modified
taker client to get a maker to participate in a join
tx with a size less than their minsize, which could
burn up to an amount of the txfee contribution to
miner fees.
After this commit, the maker stops the coinjoin
coordination when the too-small coinjoin size is seen,
as intended.
Additionally, a check is now in place in the function
`Maker.verify_unsigned_transaction` that the earned
amount is positive, which otherwise could raise an
Exception (but should now be impossible in any case).
Also, changed the default txfee_contibution to zero
as it is of no value to have a nonzero amount.
Also return added for unrecognized orderid, for clearer
error messages.
ba63b01729 Option to skip OS package manager's dependency check (Kristaps Kaupe)
Pull request description:
This is needed to be able to install on Debian and macOS using `install.sh` from user that does not have `sudo` permissions <ins>and for some reason user has all necessary dependencies on the machine but OS package manager this it does not</ins>.
Noticed while migrating my RaspiBolt test setup from Raspberry Pi (which defaults to 32-bit Raspbian as OS) to Odroid-HC4 (which has 64-bit Ubuntu Server instead).
Top commit has no ACKs.
Tree-SHA512: 5be7b9ae04e5227dc386567baf6ad02b0dd77162cb31f81dbf55d5284437decd65c0ad01c7801f3a405735c1f49712811247146eea82bf9bc423bc92f5d2fdb8