diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 1a1707d..70eb372 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -89,7 +89,7 @@ If you have installed this "full" version of the client, you can use it with the ``` 2) Install Homebrew ``` - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 3) Install automake, libtool, and libsodium ``` diff --git a/docs/PAYJOIN.md b/docs/PAYJOIN.md index aaf50b8..df9e9cc 100644 --- a/docs/PAYJOIN.md +++ b/docs/PAYJOIN.md @@ -280,7 +280,7 @@ the wallet internally, of course, stores which type of addresses it manages, and types currently (ignoring legacy upgrades): bech32 or p2sh-segwit (starting with '3'), the former being the default in Joinmarket as of 0.8.0+. -Note that the p2sh-wrapped-segwit style wallet is written to conform to [BIP49](https://github.com/bitcoin/bips/blob/master/bip-0040.mediawiki), +Note that the p2sh-wrapped-segwit style wallet is written to conform to [BIP49](https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki), analogous to the BIP84 case for native/bech32. diff --git a/docs/SNICKER.md b/docs/SNICKER.md index a59dd4d..4e35fe6 100644 --- a/docs/SNICKER.md +++ b/docs/SNICKER.md @@ -50,7 +50,7 @@ For the time constraints, consider these points: ### Slightly longer read on what this is: -For formal specs as currently implemented, please use [this](https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79). Less technical description [here](https://joinmarket.me/blog/blog/snicker/). +For formal specs as currently implemented, please use [this](https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79). Less technical description [here](https://reyify.com/blog/snicker). Essentially, this is a two party but non-interactive protocol. The **proposer** will identify, on the blockchain, a candidate transaction where he has some confidence that one or more inputs are owned by the same party as one output, and that that party has SNICKER receiver functionality. Given those conditions, he'll create one or more **proposals** which are of form `base64-encoded-ECIES-encrypted-PSBT,hex-encoded-pubkey` (the separator is literally a comma; this is ASCII encoded), and send them to a **snicker-server** which is hosted at an onion address (possibly TLS but let's stick with onion for now, it's easier). They could also be sent manually. We'll talk more about these two possibilities below. diff --git a/docs/TESTING.md b/docs/TESTING.md index c296f19..059cde6 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -54,7 +54,7 @@ So for example: ``` To change the parameters of the yieldgenerators you can edit the parametrization of -the function `test_start_ygs` in [this file](https://github.com/Joinmarket-Org/joinmarket-clientserver/blob/master/test/ygrunner.py). +the function `test_start_ygs` in [this file](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/test/unified/ygrunner.py). There are two changes that may be of special interest: * to change the number of yg diff --git a/docs/architecture-notes.md b/docs/architecture-notes.md index 7ec2e35..f9c72eb 100644 --- a/docs/architecture-notes.md +++ b/docs/architecture-notes.md @@ -22,7 +22,7 @@ Joinmarket's own [messaging protocol](https://github.com/JoinMarket-Org/JoinMark The client and server currently communicate using twisted.protocol.amp, see [AMP](https://amp-protocol.net/), and the specification of the communication between the client and server is isolated to -[this](https://github.com/AdamISZ/joinmarket-clientserver/blob/master/jmbase/jmbase/commands.py) module. +[this](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/src/jmbase/commands.py) module. Currently the messaging layer of Joinmarket is IRC-only (but easily extensible, see [here](https://github.com/JoinMarket-Org/joinmarket/issues/650). The IRC layer is also implemented here using Twisted, reducing the complexity required with threading. diff --git a/docs/release-notes/release-notes-0.4.0.md b/docs/release-notes/release-notes-0.4.0.md index a61e206..eebe0f4 100644 --- a/docs/release-notes/release-notes-0.4.0.md +++ b/docs/release-notes/release-notes-0.4.0.md @@ -20,7 +20,7 @@ To upgrade: First run the `install.sh` script as mentioned in the README. When prompted to overwrite the directory `jmvenv`, accept. Next: there is a small but not disruptive task to do: upgrade the wallet file format. Use the instructions -[here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/wallet-upgrade.md) . Note this +[here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/v0.4.0/docs/wallet-upgrade.md). Note this does not require doing transactions, or rescanning Core or anything similarly disruptive; it's purely a file format change (see "Notable Changes" (under "Upgrade of wallet ...") below for details on this wallet upgrade). Obviously do keep a backup of the previous format, at least initially, but the new format has been quite widely tested now diff --git a/docs/release-notes/release-notes-0.5.2.md b/docs/release-notes/release-notes-0.5.2.md index c98ac63..32700f3 100644 --- a/docs/release-notes/release-notes-0.5.2.md +++ b/docs/release-notes/release-notes-0.5.2.md @@ -35,7 +35,7 @@ receiver runs the new script `receive-payjoin.py` and the sender runs `sendpayme with the option `-T`. See [here](https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/PAYJOIN.md) for more detailed instructions on how to use. -See [here](https://joinmarket.me/blog/blog/payjoin/) for conceptual explanation, which also links to other +See [here](https://reyify.com/blog/payjoin) for conceptual explanation, which also links to other writeups about the concept. This can be used with a BIP84 bech32 wallet, but the latter is *not* compatible with Joinmarket coinjoins. diff --git a/src/jmbase/bytesprod.py b/src/jmbase/bytesprod.py index 04e9fb7..1e847e5 100644 --- a/src/jmbase/bytesprod.py +++ b/src/jmbase/bytesprod.py @@ -1,9 +1,6 @@ -""" See https://twistedmatrix.com/documents/current/web/howto/client.html -""" -from zope.interface import implementer - from twisted.internet.defer import succeed from twisted.web.iweb import IBodyProducer +from zope.interface import implementer @implementer(IBodyProducer) class BytesProducer(object): diff --git a/src/jmclient/payjoin.py b/src/jmclient/payjoin.py index bec46ee..d880c10 100644 --- a/src/jmclient/payjoin.py +++ b/src/jmclient/payjoin.py @@ -16,10 +16,6 @@ from jmclient import (select_one_utxo, """ For some documentation see: https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki - and an earlier document: - https://github.com/btcpayserver/btcpayserver-doc/blob/master/Payjoin-spec.md - and even earlier: - https://github.com/bitcoin/bips/blob/master/bip-0079.mediawiki """ log = get_log() diff --git a/test/jmclient/test_wallets.py b/test/jmclient/test_wallets.py index 675c975..abbed58 100644 --- a/test/jmclient/test_wallets.py +++ b/test/jmclient/test_wallets.py @@ -104,7 +104,7 @@ def check_bip39_case(vectors, language="english"): """ Sanity check of basic bip39 functionality for 12 words seed, copied from -https://github.com/trezor/python-mnemonic/blob/master/test_mnemonic.py +https://github.com/trezor/python-mnemonic/blob/master/tests/test_mnemonic.py """ def test_bip39_vectors(setup_wallets): with open(os.path.join(testdir, 'bip39vectors.json'), 'r') as f: