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
Antioch Peverell
c631b45ab6
cleanup how we deal with flexible rproof size in ser/deser ( #1965 )
2018-11-13 09:30:40 +00:00
Antioch Peverell
a3c1c6d603
Do not use mem::size_of() when calculating serialized size of data ( #1967 )
...
* use FixedLength to define serialized size in bytes of various structs
replace usages of mem::size_of() with ::LEN so we correctly calculate serialized sizes in bytes
* rustfmt
2018-11-13 09:30:02 +00:00
Yeastplume
4e6d7e374b
wallet seed trim on read ( #1964 )
2018-11-12 20:09:33 +00:00
Quentin Le Sceller
1b264595e3
Add retrieve by tx_id in owner_api
2018-11-12 19:18:54 +01:00
antiochp
f820b3675d
cleanup
2018-11-12 13:59:22 +00:00
antiochp
0010a9227e
replace ftruncate/ftruncate64 with a simple set_len() call
2018-11-12 13:54:38 +00:00
Mike Dallas
1b65738504
BIP39 Support ( #1502 )
...
* add BIP39 word list
* implement BIP39
* add unit tests
* add from_mnemonic() constructor to ExtendedPrivKey
* fix formatting
* update hasher name
* replace rust-crypto supercrate with individual crates
* rustfmt
2018-11-12 10:06:04 +00:00
Antioch Peverell
207621b545
Tx kernel entry ( #1957 )
...
* Wrap tx kernels in tx kernel entries when storing them in the MMR.
Decouples the storage impl of kernels.
* rustfmt
2018-11-11 16:03:03 +01:00
Antioch Peverell
d0d8d14ac2
cleanup unused compact_transaction code ( #1958 )
...
we use a simplified "kernel first" impl
2018-11-11 15:59:05 +01:00
hashmap
f5b71b4190
Instantiate wallet once in wallet cli ( #1927 )
...
Also remove extra Box to simplify type
2018-11-11 12:56:42 +01:00
Gary Yu
7ff1ee5fde
Peer send receive bytes statistics missed response messages and attachment ( #1953 )
...
* fix: peer send receive bytes statistics missed response message and attachment
* rustfmt
2018-11-11 07:30:57 +08:00
Gary Yu
2352275dff
Suppress some peers logs by trace level instead of debug ( #1952 )
...
* suppress some peers boring logs by trace instead of debug
* rustfmt
2018-11-11 07:30:14 +08:00
Antioch Peverell
183d9c9f3e
Refactor kernel sig msg creation ( #1954 )
...
* refactor kernel msg creation
* rustfmt
* Error not secp::Error
* fix tests for refactored errors
2018-11-10 16:24:11 +01:00
Antioch Peverell
29b2c3384c
refactor secp errors in transaction ( #1955 )
...
* cleanup secp errors in transaction
* rustfmt
2018-11-10 15:48:45 +01:00
Gary Yu
9af9ca9518
refactor the state_sync to handle the long fork ( #1902 )
...
* split horizon into two explicit values for cut through and txhashset request
* let node which has 2-7 days of history be able to handle forks larger than 2 days
* add test simulate_long_fork
* add pause/resume feature on p2p for tests
* refactor the state_sync
* ignore the test case simulate_long_fork for normal Travis-CI
* refactor function check_txhashset_needed to be shared with body_sync
* fix: state TxHashsetDone should allow header sync
2018-11-10 11:27:52 +08:00
Antioch Peverell
408fcc386e
show header and chain tip hashes on status page in tui ( #1951 )
2018-11-09 15:14:25 +00:00
Antioch Peverell
39ebb33ba1
bump 0.4.0 -> 0.4.1 (tx kernel broadcast support) ( #1950 )
2018-11-09 14:57:25 +00:00
Antioch Peverell
10c6f8d1ad
add "User Agent" column to peers in tui ( #1949 )
2018-11-09 14:47:28 +00:00
Ignotus Peverell
ee5fd489bb
Moving distro-related files to etc subdir
2018-11-08 22:29:30 +00:00
Dawid Ciężarkiewicz
a98f2afa29
Add nix-shell
to help test/build on NixOS ( #1819 )
2018-11-08 14:26:25 -08:00
Yeastplume
ee19cfcf86
Wallet self-send ( #1939 )
...
* add self send function to wallet
* rustfmt
* add destination to self send method
* update usage doc
* doc clarification
* remove localhost send restriction
2018-11-08 09:46:09 +00:00
Ignotus Peverell
e9c50ccb56
Time comparisons are difficult. Or not.
2018-11-08 00:40:28 +00:00
Ignotus Peverell
f7d0fe1840
Bug fix, tuning of peer message rate counting
2018-11-07 22:15:12 +00:00
Antioch Peverell
ab30f714fc
Capabilities now deserialize safely ( #1946 )
...
* deserialize capabilities dropping unknown flag bits
* add tests for capabilities deserialization
* rustfmt
* FULL_NODE needs to be handled safely for legacy nodes
2018-11-07 11:15:37 +00:00
Antioch Peverell
e25a3b9d72
Fix capabilities ( #1944 )
...
* we cannot safely update nodes to use capabilities bits = 15 ...
* rustfmt
2018-11-07 10:00:42 +00:00
Antioch Peverell
949f75c77c
fix the lock on the new mutex ( #1942 )
2018-11-07 09:40:39 +00:00
Antioch Peverell
d97a6c2189
[DNM] broadcast tx kernel hash (if supported by peer) ( #1929 )
...
broadcast tx kernel hash (if supported by peer)
2018-11-07 09:28:17 +00:00
Ignotus Peverell
8b546632fe
Peer rate limiting ( #1933 )
...
* Rate counter in peer conn to monitor traffic
* Ban peers that trigger is_abusive
2018-11-06 17:51:22 -08:00
hashmap
d2088ff48c
Fix recently introduced peer deadlock ( #1941 )
2018-11-06 16:42:36 -08:00
hashmap
8742c334dd
Remove unsafe sync/send impl for Peers ( #1938 )
...
This is really unsafe. Fixes #1937
* Switch to better mutex
2018-11-06 08:59:46 -08:00
hashmap
0af1f13bf9
Fix IPV6 address deserialization ( #1932 )
...
Fuzz test found that we don't read IPV6 addr (as part of p2p message)
properly. The code is supposed to read 8 dwords, but [0..8] is not a
slice of 8 ints, but a slice of one Range, so we always read just one
dword
2018-11-05 20:38:41 -08:00
hashmap
109a426990
Add fuzz tests for p2p crate ( #1931 )
...
Add fuzz tests for p2p crate
2018-11-05 21:50:16 +01:00