Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

merge 0.2.0 into develop #608

Merged
merged 65 commits into from
Sep 9, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
3eb126c
fixed crash from issue #538
chris-belcher Jun 1, 2016
088ca1d
Allow configuration of multiple message channel instances in config.
AdamISZ Jun 5, 2016
65bb4de
onpubmsg trigger to mark nick as seen, and on_connect trigger updates…
AdamISZ Jun 10, 2016
eda7c64
onprivmsg trigger to mark nick as seen in case onpubmsg wasn't fired …
AdamISZ Jun 19, 2016
c3646f0
fix bug on all channels disconnect
AdamISZ Jun 29, 2016
6b8fcce
use signed messages to prevent impersonation - first draft
AdamISZ Jul 7, 2016
e8ad6fa
nicks are now b58 encoded first 10 bytes of hash, right padded with 'O'
AdamISZ Jul 8, 2016
bca5e63
Merge branch 'mc-collection' into 0.2.0
AdamISZ Jul 11, 2016
082d5bb
initial working version of PoDLE commitments by takers
AdamISZ Jul 11, 2016
4bf5b4b
Merge pull request #590 from AdamISZ/podle
AdamISZ Jul 11, 2016
c2a0ef3
allow multiple blacklist files in test
AdamISZ Jul 12, 2016
43f6b2a
cleanup format of blockchaininterface and support modules
AdamISZ Jul 12, 2016
7d83041
Maker uses one of input utxos for authorization pubkey, not coinjoin …
AdamISZ Jul 12, 2016
ad1d876
small tweak for message signature hashing
AdamISZ Jul 12, 2016
069f6aa
multiple generators first commit
AdamISZ Jul 17, 2016
0568b5c
Redesign and refactor PoDLE commitments; btc.podle.PoDLE class for en…
AdamISZ Jul 21, 2016
f4984c2
upgrade protocol to version 5
AdamISZ Jul 25, 2016
766ada4
bugfix for orderlines, handling message sig correctly
AdamISZ Jul 26, 2016
f0ec87e
Modify announce_orders to make private orderbook announcements on a p…
AdamISZ Jul 26, 2016
3564f85
fix test_blockr
AdamISZ Jul 26, 2016
49f6678
prevent sig replay cross-messagechannel
AdamISZ Jul 28, 2016
2adeb30
Remove taker authorizing via btc utxo; addresses issue 90
AdamISZ Jul 28, 2016
83f2703
add add-utxo tool to import commitments from other wallets into the e…
AdamISZ Jul 28, 2016
302da31
fix config comment describing taker_utxo_retries
adlai Jul 29, 2016
12aeeb1
fix ObQueue priority bug; for long order announce privmsgs, if the ni…
AdamISZ Jul 29, 2016
96fcba9
Allow selection of utxos for commitment from whole wallet, if selecti…
AdamISZ Jul 29, 2016
54de61e
add commitments files to ignore and remove podle from build test
AdamISZ Jul 29, 2016
af1c1bc
add age restriction on PoDLE (incl facility to query utxo age from bc…
AdamISZ Jul 31, 2016
b6a585c
add commitment utxo btc amount requirement as fraction of coinjoin am…
AdamISZ Jul 31, 2016
8510689
fix add-utxo to take privkey from raw_input
AdamISZ Aug 1, 2016
f330bc0
add useful tool for manual testing - test/ygrunner.py
AdamISZ Aug 1, 2016
e63f83f
new config field hostid (see comments in default config for format) t…
AdamISZ Aug 1, 2016
8f50282
remove legacy signature conversions
AdamISZ Aug 1, 2016
f152495
change ordernames to absoFFer and relOFFer
AdamISZ Aug 2, 2016
fe9f6d5
Print out detailed debug info in case of failure to generate a commit…
AdamISZ Aug 2, 2016
c5860c6
return False on any parsing error in ecdsa_verify in case counterpart…
AdamISZ Aug 2, 2016
66458e7
update ob-watcher messagechannel connection
AdamISZ Aug 3, 2016
db8a2ae
made irc code detect network name and use it for hostid
chris-belcher Aug 4, 2016
d37bd84
Merge pull request #598 from JoinMarket-Org/0.2.0-networkname
AdamISZ Aug 4, 2016
126a206
remove hostid from config and get_irc_mchannels
AdamISZ Aug 4, 2016
a255d5d
Broadcast used commitments to the joinmarket pit; other makers add to…
AdamISZ Aug 4, 2016
a28cf38
clarified debug on commitment receipt via broadcast
AdamISZ Aug 4, 2016
891cfe9
transfer hp2 commitments via privsmg to random other maker, who broad…
AdamISZ Aug 6, 2016
d50ae7c
fix nick cycling bug
AdamISZ Aug 7, 2016
66fdcce
fixed irc network name finder
chris-belcher Aug 7, 2016
53e30d7
force nick change across all message channels; should be a better nic…
AdamISZ Aug 7, 2016
37402a1
fix crash on unsigned privmsg
AdamISZ Aug 9, 2016
7ab3659
bugfix blockr confirms read
AdamISZ Aug 9, 2016
30d69a0
refactor yieldgenerator module into joinmarket, add yg-pe (privacy en…
AdamISZ Aug 9, 2016
6cc78ff
Merge pull request #602 from AdamISZ/ygrefactor
AdamISZ Aug 9, 2016
0537a69
fix bug in yg-pe oidtoorder
AdamISZ Aug 9, 2016
1d95b15
allow commitment creation in recovery
AdamISZ Aug 10, 2016
cdcbc67
removed pybitcointools, modified and refactored donations and tests t…
AdamISZ Aug 11, 2016
59443a2
Modify create-unsigned-tx for 0.2.0. Fix bug in commitments.json pars…
AdamISZ Aug 12, 2016
c6c67ba
Add cmttools directory; put commitments.json there; pretty print the …
AdamISZ Aug 14, 2016
077d3ed
allow taker to wait for commitments; switched on for tumbler. bugfix …
AdamISZ Aug 16, 2016
82f09da
Fix wait_for_commitments reference bug
AdamISZ Aug 16, 2016
a4ac313
check external commitments against age and amount limits
AdamISZ Aug 17, 2016
dcf9333
fix up broadcast test to work in 0.2
AdamISZ Aug 21, 2016
cf1ce8d
handle invalid utxo requests properly in taker commitments
AdamISZ Aug 22, 2016
a9ede54
only update blacklist on actual usage, to avoid potential rejection b…
AdamISZ Aug 28, 2016
00301e1
Make libnacl and secp256k1 requirements, remove local copy
AdamISZ Aug 29, 2016
a6f191e
update README for 0.2
AdamISZ Aug 29, 2016
980c536
bugfix for empty external cmt in taker
AdamISZ Aug 30, 2016
340b32b
Remove custom ygs, only yg-basic and yg-pe
AdamISZ Sep 9, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ blockchain.cache
env
htmlcov/
joinmarket.cfg
cmttools/commitments.json
blacklist

6 changes: 5 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
sudo: required
dist: trusty
language: python
python:
- "2.7_with_system_site_packages"
Expand Down Expand Up @@ -27,11 +29,13 @@ script:
- cd ..
#set up joinmarket.cfg
- cp test/regtest_joinmarket.cfg joinmarket.cfg
#install miniircd
- git clone git://github.com/Joinmarket-Org/miniircd.git
#setup bitcoin config file
- mkdir /home/travis/.bitcoin
- cp test/bitcoin.conf /home/travis/.bitcoin/.
- chmod 600 /home/travis/.bitcoin/bitcoin.conf
- PYTHONPATH=.:$PYTHONPATH py.test --cov-report html --btcconf=/home/travis/.bitcoin/bitcoin.conf --btcpwd=123456abcdef --ignore test/test_tumbler.py
- PYTHONPATH=.:$PYTHONPATH py.test --cov=joinmarket/ --cov=test/ --cov=bitcoin/ --cov-report html --nirc=2 --btcconf=/home/travis/.bitcoin/bitcoin.conf --btcuser=bitcoinrpc --btcpwd=123456abcdef --ignore test/test_tumbler.py
- cd logs
- for x in `ls`; do tail -50 $x; done
- cd ..
Expand Down
32 changes: 26 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ Widespread use of JoinMarket could improve bitcoin's fungibility as a commodity.

##Installation

#####A NOTE ON UPDATING
The installation is slightly changed, with the secp256k1 python binding no longer being optional, and libnacl now being installed via pip, not locally. The short version is: do follow the below process, for example the secp256k1 binding must be the latest version else you'll get errors. Of course if you already have libsodium you don't need to re-install it.

#####REQUIRED INSTALLATION DEPENDENCIES

+ You will need python 2.7
Expand All @@ -33,22 +36,39 @@ Widespread use of JoinMarket could improve bitcoin's fungibility as a commodity.
make check
sudo make install
```
+ (optional, recommended): Install the libsecp256k1 Python library:

+ Install Python dependencies:
You need `pip` (e.g. `sudo apt-get python-pip`, recent Python usually ships with pip).

(Setuptools version must be >= 3.3).

(Recommended but not needed) : use `virtualenv` to keep dependencies isolated.

If on Linux/OSX:

The Python binding to libsecp256k1 will most likely have some dependencies; read the [Wiki article](https://github.com/JoinMarket-Org/joinmarket/wiki/Installing-the-libsecp256k1-binding).

Try running the below without following those instructions, most likely it will fail and you will then have to follow them.

```
pip install -r requirements.txt
```

If on Windows:

```
pip install secp256k1
pip install -r requirements-windows.txt
```

Note that this requires `pip`. This library will make use of libsecp256k1 if you already have it installed on your system. Most likely you won't, and it will try to build libsecp256k1 automatically for you. This requires some development packages; please read the installation details [here](https://github.com/ludbb/secp256k1-py#installation), provided for Debian/Ubuntu and OS X. Please also note that if you can't complete this step, Joinmarket will still run correctly, with two disadvantages: wallet loading is much slower without libsecp256k1, and the ECC crypto code is far less robust and well tested.
+ Matplotlib for displaying the graphs in orderbook-watcher (optional)

###DEBIAN / UBUNTU QUICK INSTALL FOR USERS:

1. `sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install python libsodium-dev -y`
2. `pip install secp256k1` (optional but recommended)
2. `pip install -r requirements.txt`
2. `sudo apt-get install python-matplotlib -y` (optional)
3. Download JoinMarket 0.1.4 source from [here](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.1.4)
4. Extract or unzip and `cd joinmarket-0.1.4`
3. Download JoinMarket 0.2.0 source from [here](https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.0)
4. Extract or unzip and `cd joinmarket-0.2.0`
4. Generating your first wallet will populate the configuration file: `joinmarket.cfg`.
Check if the default settings suit your needs.

Expand Down
16 changes: 5 additions & 11 deletions bitcoin/__init__.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
from bitcoin.py2specials import *
from bitcoin.py3specials import *
secp_present = False
try:
import secp256k1
secp_present = True
from bitcoin.secp256k1_main import *
from bitcoin.secp256k1_transaction import *
from bitcoin.secp256k1_deterministic import *
except ImportError as e:
from bitcoin.main import *
from bitcoin.deterministic import *
from bitcoin.transaction import *
import secp256k1
from bitcoin.secp256k1_main import *
from bitcoin.secp256k1_transaction import *
from bitcoin.secp256k1_deterministic import *
from bitcoin.bci import *
from bitcoin.podle import *
128 changes: 0 additions & 128 deletions bitcoin/deterministic.py

This file was deleted.

Loading