Commit graph

953 commits

Author SHA1 Message Date
Antioch Peverell
510a5b9016
fix build warning as per warning text (#1198) 2018-06-25 16:24:48 -04:00
Antioch Peverell
ce2d13e8ac
document kernel offsets (finally) (#1196) 2018-06-25 15:24:26 -04:00
Antioch Peverell
ddcd9dc1d7
implement prune_list as a bitmap (#1179)
* implement prune_list as a bitmap
and simplify

* cleanup prune_list, use maximum()

* handle migration of prune_list to new bitmap prun file

* legacy filename consts

* cleanup and docs
2018-06-25 07:57:19 -04:00
Antioch Peverell
8c0bc013bc
document proposals for - (#1190)
* conditional timelocked outputs, and
* conditional relative timelocked outputs
2018-06-23 22:29:37 -04:00
Antioch Peverell
3439041807
pin croaring to version 0.3.2 until we get the clang conflict sorted out (#1183) 2018-06-21 09:52:39 -04:00
Quentin Le Sceller
9f8c7cf1b4
Handle SIGINT and SIGTERM (#1180)
* Handle SIGINT and SIGTERM
2018-06-20 23:15:30 -04:00
Ignotus Peverell
70ba1c838c
As per Travis CI advice trying sudo builds
Based on @bladedoyle's support request, should help with build stability.
2018-06-20 17:11:13 +01:00
Jeffrey Esquivel S
77eaf76706 Fix typo (#1181) 2018-06-20 09:31:55 -04:00
Blade Doyle
179ad5983f Update Stratum Server to use rust Result for returning errors (#1178) 2018-06-20 10:34:39 +01:00
Blade Doyle
0e969849c4 Fix rpc response message id (#1177) 2018-06-19 17:24:35 +01:00
Antioch Peverell
028b14d9d9
Replace rm_log with leaf_set (compact bitmap) (#1147)
* only store leaves in rm_log

* cleanup

* commit

* add failing test to cover case where we compact
an already compacted data file

* fix the logic for pruning the data file

* rm_log only contains leaves
prunelist only contains non-leaf subtree roots

* cleanup

* commit

* bitmap impl running in parallel

* rustfmt

* this is better - rewind unremoves outpu pos spent by rewound inputs

* commit

* commit

* pass bitmap around when rewinding

* store and retrieve input bitmap per block from the db

* Replace the RemoveLog with the UTXO set.

* utxo set starting to pass tests

* stuff works...

* split store types out
added some tests to compare the performance of the rm_log and the proposed utxo_set

* pull prune_list out into standalone file

* cleanup, get rid of unused height param

* cleanup and add doc comments

* add support for migrating rm_log to utxo_set

* take snapshot of utxo file during fast sync
implement migration of rm_log -> utxo_set

* rename rewound_copy to snapshot

* fixup pmmr tests to reflect cutoff_pos

* cleanup unused import

* check_compact needs to rewind the utxo_set as appropriate

* fix pool tests

* fixup core tests

* cache block_input_bitmaps via LruCache in store

* cache block header on initial write to db

* rename utxo_set -> leaf_set
and remove references to "spent" in grin_store

* better document the rewind behavior
2018-06-18 11:18:38 -04:00
Blade Doyle
59472e9570 StratumServer RPC extra-quotes fix (#1164)
* StratumServer RPC extra-quotes fix
* better - skip intermediate string
* Fix invalid json _ok_ response
* Undo protocol-breaking change to ok response
* use RpcError structure rather than string to avoid extra quoting
2018-06-17 20:08:17 +01:00
Ignotus Peverell
9b69b5376d
More @tromp feedback 2018-06-17 00:48:54 +01:00
Ignotus Peverell
df2d109281
Typo fix 2018-06-16 21:06:09 +01:00
Ignotus Peverell
c2a4211660
Re-added bitcoin in the atomic swap section
Also added some minor clarifications on the setup and verification of `x*G` on other chain, as well as a more detailed section on how this would work on bitcoin.
2018-06-16 18:15:02 +01:00
Ignotus Peverell
934668d3f3
Fixes to the atomic swap section
Can only swap with Ethereum right now, not Bitcoin. Pubkey derivation is a hash function.
2018-06-16 16:46:28 +01:00
Quentin Le Sceller
d3a2ecd489
Update env_logger to 0.5.1 (#1169)
* Update env_logger to 0.5.1
2018-06-14 18:59:53 -04:00
Ignotus Peverell
7993e511ea
Minor: markdown formatting 2018-06-14 22:18:29 +01:00
Quentin Le Sceller
c4f438fdb2
Typo and formatting (#1170) 2018-06-14 17:15:52 -04:00
Quentin Le Sceller
c412bc6c60 Fix empty candidate txs (#1168) 2018-06-14 18:37:21 +01:00
Yeastplume
9e0b3b6862
Store additional wallet detail and WalletInfo cleanup (#1167)
* adding wallet detail file, clean up wallet info output

* rustfmt

* ensure change outputs aren't written early

* rustfmt

* travis problems AGAIN

* file wallet explicit types
2018-06-14 17:02:05 +01:00
Quentin Le Sceller
a30ee88236
Cleanup imports (#1161)
Reorganize imports
2018-06-14 08:16:14 -04:00
Yeastplume
88616fd341
[WIP] Updates to support web-wallet (#1160)
* updates to support web wallet workflow

* rustfmt

* functions to support wallet, error handling

* rustfmt

* rebase rustfmt

* test fix
2018-06-13 21:58:45 +01:00
Ignotus Peverell
922b04608f
Clarification on range element count and parent insertion 2018-06-13 21:14:28 +01:00
Quentin Le Sceller
8f4dbfa540 Many typo fixes (#1158)
* Typo fix
* Parameterise
2018-06-13 17:03:34 +01:00
Antioch Peverell
a3bc383d4c fix build error (#1157) 2018-06-11 17:21:16 -04:00
Quentin Le Sceller
169ffee607 Externalize PMMR test (#1154)
Externalize PMMR tests into their own file under `tests/`
2018-06-11 22:01:30 +01:00
Yeastplume
05073c5c02
Web wallet api updates (#1155)
* CORS for webwallet

* rustfmt

* automatically start up wallet web api (owner) listener
2018-06-11 18:19:38 +01:00
Blade Doyle
973d46e6aa Fix the way shares are validated (#1153)
* Fix the way shares are validated

* fix includes

* Add unique error codes for share rejection reasons
2018-06-11 16:39:04 +01:00
Antioch Peverell
edc01bb05a Add verify_cut_through to both transaction and block (#1130)
We have no code that will produce a non-cut-through version of either
so this should be safe to add in testnet2
2018-06-10 20:59:58 +01:00
Quentin Le Sceller
310c7b0b48 Missing type annotation keychain (#1152) 2018-06-08 20:59:59 +01:00
yuntai
d07c5a128a [Trivial] Typo fixed (#1150) 2018-06-08 11:15:12 -04:00
Ignotus Peverell
af178f82f8
Refactor the Keychain to be based on a trait (#1146)
* First pass at restructuring the keychain crate and introducing a Keychain trait
* Parameterized everything that had to. Stuff compiles.
* More stuff compiles, fix most tests
* Big merge, pushing down opening the keychain forced adding factory methods on trait
* Test fixes for pool and servers crate
2018-06-08 06:21:54 +01:00
Quentin Le Sceller
a6590ea0ae
Add doc and persistent storage for docker (#1140)
* Add docker doc
2018-06-07 14:04:51 -04:00
Yeastplume
ebee05591b
Factor out wallet communications (#1142)
* move http calls out from libwallet internal

* rustfmt

* start to think about wallet communication traits

* rustfmt

* start of factoring out wallet client trait

* rustfmt

* move node_url trait fn into walletclient

* rustfmt

* comms factored out (with exception of wallet restore)

* rustfmt

* fix test

* rustfmt

* further test fix
2018-06-07 15:04:21 +01:00
Antioch Peverell
fffee377dd
Fix 2nd compact (#1143)
* add failing test to cover case where we compact
an already compacted data file

* fix the logic for pruning the data file
2018-06-06 22:46:21 +01:00
Yeastplume
8f66016557
[WIP] Wallet API Structure (#1133)
Wallet API Structure
2018-06-06 15:36:29 +01:00
Quentin Le Sceller
1815a6a8bf
Add a minimal dockerfile (#1136)
Add a minimal dockerfile
2018-06-05 14:54:06 -04:00
Quentin Le Sceller
1255ea2224
Upgrade and uniformize dependencies (#1138)
* Remove unused DandelionConfig

* Cargo upgrade and cleanup
2018-06-05 13:26:32 -04:00
Ignotus Peverell
057eb2dcb8
Minor typo fix 2018-06-05 06:46:07 +01:00
Ignotus Peverell
1bd7ece6e8
Doc drop, all unfinished drafts 2018-06-05 06:46:07 +01:00
Quentin Le Sceller
663733e72b
Replace try! for ? (#1134)
* Replace try for ?
2018-06-04 12:05:49 -04:00
Blade Doyle
c34da9598d Support shares (#1132)
* Support logging miner shares and minimum mining difficulty configuration

* rust formatting

* fix test
2018-06-04 11:22:42 +01:00
Antioch Peverell
0ecadd3486
move verify_kernel_sums into committed trait (#1131) 2018-06-02 19:00:44 +01:00
Antioch Peverell
6fd2afccb4
block::new() now sets a random pow on the header (#1128) 2018-06-02 15:17:07 +01:00
Antioch Peverell
0a80023527
pass in next height when applying raw txs (#1129)
rewind correctly to the previous height as necessary
2018-06-02 12:29:18 +01:00
Quentin Le Sceller
d6b689bada
Simplify DandelionConfig (#1115)
* Simplify DandelionConfig and make fields optional
2018-06-01 18:41:39 -04:00
Antioch Peverell
68c7cff6db Fix the intermittent error in pool tests (#1123) 2018-06-01 23:18:58 +01:00
hashmap
2fa32d15ce Rustify core/src/core (#1122)
Small refactoring of one folder, if it makes sense I could extend the scope.
* Remove some cloning (real and just verbosity in the code)
* Naming conventions like to/into*
* Some Clippy's suggestions

I found that we don't use field init shorthand syntax, so I didn't touch this part, was it discussed before?
2018-06-01 20:41:26 +01:00
Yeastplume
7812a02233
Libwallet refactoring - Library functions + ErrorTypes (#1113)
* move checker and rename to updater

* rustfmt

* complete checker/updater move

* rustfmt

* move libwallet error into separate file

* rustfmt

* starting to sort our error types

* updating errors in libtx and libwallet

* rustfmt

* factor out error type

* rustfmt

* compiling, errors split into libwallet and wallet errors

* rustfmt

* changing user error reporting to new format

* rustfmt

* clean up error types

* clean up error types

* move restore into libwallet

* rustfmt
2018-06-01 15:06:59 +01:00