Commit graph

1598 commits

Author SHA1 Message Date
Ignotus Peverell
e356280841
Quick fix for graph_weight used with AR PoW () 2018-11-28 20:33:46 -08:00
Ignotus Peverell
28e0d97e64
Cuckatoo size shift upgrade schedule ()
* Cuckatoo size shift upgrade schedule
* Move the schedule into graph_weight instead of messing with min edge bits
* Cleanup and fixes now that we have an agreed upon schedule
2018-11-28 14:05:55 -08:00
Antioch Peverell
7dee490962 Two year secondary pow ratio fix ()
* Tweak (consensus breaking) secondary_pow_ratio
* Look at chain type for sec pow ratio calc (hardfork is t4 only)
2018-11-28 14:05:13 -08:00
Antioch Peverell
60cbcbd96b Get rid of block hashes cache ()
check_known_head and check_known_orphans catches majority of cases
2018-11-28 09:48:50 -08:00
Antioch Peverell
add068f10d ust iterate over the locator... () 2018-11-28 09:46:15 -08:00
Onefox
7354344879 doc: update owner_api post_tx call ()
* doc: update owner_api post_tx call

* doc: make it even clearer that finalize doesn't broadcasts
2018-11-28 16:52:55 +00:00
Yeastplume
fdb0197ef9
Cleanup of wallet owner API, rustdoc documentation ()
* doc start

* rustfmt

* tightening up wallet owner API

* rustfmt

* remove burn tx functions

* more tx api documentation

* rustfmt
2018-11-28 15:31:23 +00:00
Yeastplume
2a77207713
http api output lock/finalize order () 2018-11-28 11:02:29 +00:00
Yeastplume
b95caecc27
Fixes to grin wallet repost, cancel tx ()
* fixes to wallet cancel, repost, ensure stored transaction is updated with final signatures

* rustfmt

* add tests for reposting

* fixes to tests

* repost
2018-11-27 13:36:49 +00:00
Antioch Peverell
79d540cf86
Header MMR Refactor ()
* refactor header MMR to use regular backend
this lets us store header hashes in the mmr data file
the hashes in the hash file are "hash with index"

* rustfmt

* get_header_hash(pos) on header extension

* rustfmt

* cleanup

* cleanup

* comments

* cleanup

* fixup testelem so tests work
2018-11-27 12:32:39 +00:00
Gary Yu
ae49f30b2f
binary release for osx ()
* a dedicated test suit for mac binary release

* Moved `matrix:` at the root
2018-11-27 18:42:38 +08:00
Juan Leni
92ac80f0d3 Fixing disabled unit test pow::test::genesis_pow () 2018-11-27 18:33:58 +08:00
Mike Dallas
d5c3e61cbe Add mining instructions in docs ()
I see this question being asked multiple times every day in the chat.
2018-11-26 10:41:40 -08:00
Yeastplume
1465599df1
more wallet api docs ()
* more aggsig doce

* rustfmt
2018-11-26 14:41:23 +00:00
Yeastplume
34520a46d9
fix self send command () 2018-11-26 12:35:14 +00:00
Onefox
0c5b3f5f64 Fixed account info wallet cli call example () 2018-11-26 12:28:16 +00:00
Yeastplume
b2c177d16a
Saner error output on multiple attempts to init wallet ()
* less scary error message on duplicate wallet commit

* rustfmt
2018-11-26 12:02:18 +00:00
Jake Craige
9db36f7ba3 Improve serve command error message ()
Update the command matcher for the server command to log a more helpful
message when it's called without a subcommand.

Before:
```sh
$ target/debug/grin server
:: Some(ArgMatches { args: {}, subcommand: None, usage: Some("USAGE:\n    grin server [OPTIONS] [SUBCOMMAND]") })
```

After:
```sh
$ target/debug/grin server
Subcommand required, use 'grin help server' for details
```
2018-11-25 15:47:47 -08:00
Antioch Peverell
1ea82d9abe
Refactor is_orphan and is_fork during block processing ()
* refactor check_prev logic in process_block

* rustfmt
2018-11-25 10:22:19 +00:00
Ignotus Peverell
af595fa0fc
Fix T4 genesis after 2018-11-24 22:50:50 +00:00
Ignotus Peverell
c5b9d867ae
Cuckaroo Testnet4 hard fork ()
* PoW context is now properly picked depending on the chain type,
edge bits and block height. Height const for T4 hard fork leaving
a couple weeks to have miners in place. Removed now unused Cuckoo context.
* Simplified block siphash
* Fix servers crate compilation
* Tiny bit cleaner block siphash. Maybe.
* Cuckatoo min edge bits update for T4 and mainnet
* Fix header size tests, Cuckatoo31 default means one more bit per edge
* Remove redundant param from verify_size
2018-11-24 12:33:17 -08:00
Antioch Peverell
71342d11b1 Tweak input/output/kernel weights (1/21/3) () 2018-11-24 12:32:08 -08:00
Yeastplume
5992542152
Wallet Seed Encryption + BIP39 ()
* add encryption/decryption of wallet seed

* rustfmt

* update passphrase to encrypt/decrypt wallet

* rustfmt

* add conversion for old wallet seeds

* add ability to restore old seed

* rustfmt

* add bip39 recovery phrase support, conversion from existing seed formats

* rustfmt

* error recovery

* rustfmt

* add password prompts where required

* rustfmt

* add note specifying wallet conversion

* update documentation

* doc update
2018-11-24 10:03:09 +00:00
Borkmywork
80a09c3fec Translated introduction into Dutch ()
* Added reference link to Dutch translation
* Translated intro.md to Dutch
* Update intro.md
2018-11-23 12:29:37 -08:00
Antioch Peverell
c299f709e0
Remove header cache (remove need to invalidate the cache for orphans) ()
* wip

* remove "header cache" from our store
we have cache invalidation issues...
2018-11-23 15:49:23 +00:00
Mike Dallas
dd8b4fa264 Turn a Vec of bytes into a BIP39 mnemonic ()
* add from_entropy() function to turn bytes into a mnemonic

* add tests

* rustfmt
2018-11-21 15:37:00 +00:00
Antioch Peverell
66f2545186
Block accepted reorg aware ()
* block_accepted via adapter is now reorg aware
we skip reconciling the txpool is block is not most work
we skip reconciling the reorg_cache is not a reorg

* rustfmt

* logging tweaks

* rework block_accepted interface

* rustfmt

* rework reorg determination

* introduce BlockStatus to represent next vs reorg vs fork

* rustfmt

* cleanup logging

* log from adapter, even during sync
2018-11-21 14:35:38 +00:00
Antioch Peverell
61f1f6103b
Reorg cache time based (cache 30mins of txs) ()
* cache 30 mins of txs for reorg handling
hard limit set the same as the txpool size limit

* rustfmt
2018-11-20 21:47:59 +00:00
Antioch Peverell
e86eb641f1
move txpool reconcile_block to after block propagation in adapter () 2018-11-20 14:55:05 +00:00
Yeastplume
0eec80789a
start libtx docs () 2018-11-20 13:02:51 +00:00
Antioch Peverell
458a980470
[WIP] minimum_confirmations = 10 ()
* default to minimum_confirmation = 10
pass in minimum_confirmations to grin wallet info

* rustfmt

* rebase against master

* fixup wallet tests

* fixup server tests
2018-11-20 11:17:03 +00:00
Yeastplume
5ba163fa66
Provide wallet 'plugin' architecture ()
* remove receive_coinbase fn from wallet to wallet client

* start moving clients into separate mod

* rustfmt

* move wallet client + start listener into wallet 'clients'

* rustfmt

* refactor API to make it more modular and completely decouple sending

* rustfmt

* further decouple API from sending methods

* rustfmt

* remove wallet to wallet client trait

* rustfmt

* rename / refactor client + adapters

* rustfmt

* add adapter concept

* add midding node_clients dir

* add file and null adapters

* rustfmt

* remove receive from owner api

* factor out receiving slates into trait

* rustfmt

* adding listen trait

* rustfmt

* change listener to use trait

* rustfmt

* add test for file-based exchange

* replace http api send command

* rustfmt

* move controller out of libwallet and into top-level wallet dir

* rustfmt

* add moved controller
2018-11-19 19:47:40 +00:00
Ignotus Peverell
66acee8f71
Cuckaroo validation implementation ()
* First pass at iterative siphash
* Generalizing our siphash24 implementation slightly to make it friendlier to repeated hashing
* Block siphash algorithm, Cuckaroo placeholder
* Cuckaroo validator, still needs to be tested with vectors from the @tromp implementation
* Working cuckaroo validation with test vectors for cuckaroo19, will add cuckaroo29 vectors when a lean or mean implementation can find some solutions
2018-11-19 11:03:58 -08:00
pj
77e6e4b41f doc: fix typo () 2018-11-18 09:10:09 -08:00
hashmap
bc36de8187 Remove unsafe code from base58 impl () 2018-11-17 09:23:54 -08:00
Ryan Zimmerman
f8787514f9 Fix build docs ()
* Update rust version requirement in doc/build.md

* Apply previous updates to doc/build_ES.md

English version was updated and ES version wasn't kept in sync
2018-11-17 00:38:26 +01:00
Ignotus Peverell
5f67af52d6
P2p read write ()
Refactor some p2p to use Read/Write over TcpStream
2018-11-16 09:57:16 -08:00
antiochp
f7608f5b9c
rustfmt 2018-11-16 14:34:05 +00:00
antiochp
4b48eebdfe
refactor some p2p to use Read/Write over TcpStream 2018-11-16 14:33:35 +00:00
Antioch Peverell
f0fa410273
Streaming headers ()
* headers msg is now "streamed" off the tcp stream

* rustfmt

* cleanup

* move StreamingReader into ser.rs
extract read_exact out into util crate

* rustfmt
2018-11-16 11:00:39 +00:00
hashmap
a011450825
Remove unsafe from chain ()
Now roaring bitmap implements Sync and Send, we don't need to implement
it manually for Chain
2018-11-15 23:27:42 +01:00
Ignotus Peverell
e4be820671
Configurable max block weight for mining (aka soft limit) () 2018-11-14 10:22:08 -08:00
Antioch Peverell
2e421191e2
implement read_multi with an internal iterating reader ()
* rework read_multi to use an "iterating reader" internally
we are going to use this for reading headers in batches

* rustfmt
2018-11-14 14:52:43 +00:00
Jacob Gadikian
fb3f967a86 Update build.md ()
added LLVM to the dependency one-liner and dependency list for 

https://github.com/saulius/croaring-rs
2018-11-14 10:17:41 +01:00
Antioch Peverell
cb652e7ef1
do not treat txhashset.zip download as abusive behavior ()
* do not treat txhashset.zip download as abusive behavior

* count times, not bytes so we exclude quiet increments

* use inc_quiet when tracking sent bytes via an attachment

* add comment

* fixup "quiet" counter entries

* rustfmt
2018-11-13 21:34:45 +00:00
Ignotus Peverell
137c70f6b9
Add cancel_tx and retrieve by tx_slate_id in owner_api ()
* Add retrieve by tx_id in owner_api
* Add cancel tx by tx_slate_id
* Add doc
2018-11-13 09:34:33 -08:00
Ignotus Peverell
5fb8b4764f
Replace ftruncate/ftruncate64 with a simple set_len() call () 2018-11-13 09:31:43 -08:00
Antioch Peverell
01900f2e4d Enable TX_KERNEL_HASH capability by default () 2018-11-13 09:28:36 -08:00
Yeastplume
5a06f5dac7
Split wallet client trait ()
* complete trait split

* rustfmt
2018-11-13 13:18:33 +01:00
Antioch Peverell
236fe56f60
ask for peers with PEER_LIST capability when asking for more peers ()
do not simply look for peers with the same capabilities we have
2018-11-13 10:59:33 +00:00