Commit Graph

1545 Commits

Author SHA1 Message Date
Antioch Peverell 60cbcbd96b Get rid of block hashes cache (#2018)
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... (#2031) 2018-11-28 09:46:15 -08:00
Onefox 7354344879 doc: update owner_api post_tx call (#2035)
* 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 (#2036)
* 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 (#2034) 2018-11-28 11:02:29 +00:00
Yeastplume b95caecc27 Fixes to grin wallet repost, cancel tx (#2029)
* 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 (#2028)
* 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 (#2027)
* 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 (#1984) 2018-11-27 18:33:58 +08:00
Mike Dallas d5c3e61cbe Add mining instructions in docs (#2025)
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 (#2023)
* more aggsig doce

* rustfmt
2018-11-26 14:41:23 +00:00
Yeastplume 34520a46d9 fix self send command (#2022) 2018-11-26 12:35:14 +00:00
Onefox 0c5b3f5f64 Fixed account info wallet cli call example (#2011) 2018-11-26 12:28:16 +00:00
Yeastplume b2c177d16a Saner error output on multiple attempts to init wallet (#2021)
* 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 (#2017)
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 (#2015)
* refactor check_prev logic in process_block

* rustfmt
2018-11-25 10:22:19 +00:00
Ignotus Peverell af595fa0fc Fix T4 genesis after #1997 2018-11-24 22:50:50 +00:00
Ignotus Peverell c5b9d867ae Cuckaroo Testnet4 hard fork (#1997)
* 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) (#2006) 2018-11-24 12:32:08 -08:00
Yeastplume 5992542152 Wallet Seed Encryption + BIP39 (#2004)
* 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 (#2010)
* 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) (#2009)
* 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 (#2005)
* 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 (#2003)
* 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) (#2002)
* 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 (#2000) 2018-11-20 14:55:05 +00:00
Yeastplume 0eec80789a start libtx docs (#1998) 2018-11-20 13:02:51 +00:00
Antioch Peverell 458a980470 [WIP] minimum_confirmations = 10 (#1996)
* 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 (#1983)
* 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 (#1911)
* 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 (#1995) 2018-11-18 09:10:09 -08:00
hashmap bc36de8187 Remove unsafe code from base58 impl (#1992) 2018-11-17 09:23:54 -08:00
Ryan Zimmerman f8787514f9 Fix build docs (#1994)
* 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 (#1993)
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 (#1989)
* 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 (#1990)
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) (#1976) 2018-11-14 10:22:08 -08:00
Antioch Peverell 2e421191e2 implement read_multi with an internal iterating reader (#1981)
* 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 (#1975)
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 (#1973)
* 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 (#1963)
* 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 (#1961) 2018-11-13 09:31:43 -08:00
Antioch Peverell 01900f2e4d Enable TX_KERNEL_HASH capability by default (#1971) 2018-11-13 09:28:36 -08:00
Yeastplume 5a06f5dac7 Split wallet client trait (#1970)
* 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 (#1969)
do not simply look for peers with the same capabilities we have
2018-11-13 10:59:33 +00:00
Quentin Le Sceller e923b90ad2 Fix tests 2018-11-13 11:57:43 +01:00
Quentin Le Sceller 2ab31d18a3 Add doc 2018-11-13 11:56:48 +01:00
Quentin Le Sceller 59b0f1b1d7 Add cancel tx by tx_slate_id 2018-11-13 11:53:23 +01:00