226 Commits

Author SHA1 Message Date
Ethan Frey
f2c881573c Merge pull request #26 from odeke-em/improve-reverse-bytes+tests
hd: optimize ReverseBytes + add tests
2017-07-28 14:28:16 -04:00
Emmanuel Odeke
ae9c5b1ca0 hd: optimize ReverseBytes + add tests
* Optimized ReverseBytes to:
a) Minimally allocate --> 60.0% reduction in the number of allocations
b) Only walk halfway the length of the string thus performing
byte swaps from left to right. Improves the performance as well.
Complexity is O(n/2) instead of O(n) which is still O(n) but
benchmarks show the new time is in deed 1/2 of the original time.

* Added unit tests and some common cases to ensure correctness.

* Benchmark shoot out results:
```shell
name            old time/op    new time/op    delta
ReverseBytes-4     554ns ± 4%     242ns ± 3%  -56.20%  (p=0.000 n=10+10)

name            old alloc/op   new alloc/op   delta
ReverseBytes-4      208B ± 0%      114B ± 0%  -45.19%  (p=0.000 n=10+10)

name            old allocs/op  new allocs/op  delta
ReverseBytes-4      10.0 ± 0%       4.0 ± 0%  -60.00%  (p=0.000 n=10+10)
```
2017-07-28 12:21:41 -06:00
Ethan Frey
bf355d1b58 Merge pull request #23 from tendermint/feature/short-recover-text
Shorter recovery seed
2017-07-27 16:11:03 -04:00
Ethan Frey
050b965708 Code cleanup ala Emmanuel 2017-07-27 15:59:59 -04:00
Ethan Frey
10222adaf1 Remove deprecated code. Now in basecoin/weave 2017-07-26 16:12:25 -04:00
Ethan Frey
c20e83565c Recovery also works with secp256 keys 2017-07-22 05:53:46 -04:00
Ethan Frey
4ff889a236 Use 16 random bytes for seed and key, crc16 by default 2017-07-22 05:44:09 -04:00
Ethan Frey
65da3cf340 Add crc16 support 2017-07-22 05:25:59 -04:00
Ethan Frey
95b7c9e09c Merge branch 'develop' 2017-06-23 09:11:30 +02:00
Ethan Frey
d31cfbaeaa Fixed up help text for "keys recover" 2017-06-23 09:10:59 +02:00
Ethan Frey
19bd8dc3a6 Merge branch 'develop' 2017-06-21 19:36:11 +02:00
Ethan Frey
ad70b22226 Update to 0.2.1 2017-06-21 19:35:57 +02:00
Ethan Frey
8bdb5ceda4 Merge pull request #19 from tendermint/feature/cli-improvements
cli improvements
2017-06-21 19:00:25 +02:00
Ethan Frey
d665c9ef10 Code cleanup from review comments 2017-06-21 18:57:32 +02:00
Ethan Frey
a944bdebfc Make sure prompt looks good in interactive mode 2017-06-20 20:46:00 +02:00
Ethan Frey
1ab9ab9494 Add delete and recover commands, and test them 2017-06-20 20:34:13 +02:00
Ethan Frey
e9537b2da6 Freshen up existing cmd files 2017-06-20 19:50:39 +02:00
Ethan Frey
7d08ea4c09 Fixed all tests and binaries to compile 2017-06-20 18:50:53 +02:00
Ethan Frey
53e19e3dfa Add codec to keys.Manager, recovery test passes 2017-06-20 18:35:16 +02:00
Ethan Frey
7108dedc21 Fix broken key manager tests 2017-06-20 18:19:13 +02:00
Ethan Frey
15609e1219 Updated Manager interface to return seed on create, fix server tests 2017-06-20 18:15:49 +02:00
Ethan Frey
56200e167a Use go-bindata to embed wordlist in a binary 2017-06-20 18:03:17 +02:00
Ethan Frey
878c8b3a87 Removed obsolete file 2017-06-20 17:51:25 +02:00
Ethan Frey
1e15c8f75b Extend wordcodec benchmarks 2017-06-20 17:13:10 +02:00
Ethan Frey
daab270ff7 First obvious speedup 2017-06-20 17:02:58 +02:00
Ethan Frey
1e978ba838 Import multiple language wordbanks, test them 2017-06-20 16:53:07 +02:00
Ethan Frey
2c0d52f4b5 Add typo detector test, fix panics 2017-06-20 16:52:04 +02:00
Ethan Frey
65c880e753 Test validation of word banks upon load 2017-06-20 16:32:33 +02:00
Ethan Frey
ad029d1293 Integrate ecc into word-byte codec 2017-06-20 16:10:15 +02:00
Ethan Frey
0b0e994cd1 Add crc64, constructors 2017-06-20 16:02:47 +02:00
Ethan Frey
ce6b08761e Improve crc32 2017-06-20 15:56:12 +02:00
Ethan Frey
55a25f0f62 Add first pass of ecc checksuming 2017-06-20 15:49:17 +02:00
Ethan Frey
e20cdfcbae Cleanup wordcodec 2017-06-20 15:20:40 +02:00
Ethan Frey
2278f566bf Add beginning of wordcodec for bytes 2017-06-20 14:57:49 +02:00
Ethan Frey
ea4f45828d Update circle ci for new cli tests 2017-06-19 17:52:45 +02:00
Ethan Frey
0c32d2722f #17 - better support passwords in tests, more cli tests 2017-06-19 17:49:16 +02:00
Ethan Frey
0edd1297a9 Got basic key test working 2017-06-19 17:07:12 +02:00
Ethan Buchman
7dff40942a Merge pull request #15 from tendermint/develop
v0.2.0
2017-05-18 11:37:23 +02:00
Ethan Buchman
c61497b56e CHANGELOG: update release date 2017-05-18 11:35:32 +02:00
Ethan Frey
438b16f1f8 Merge pull request #16 from tendermint/data-codegen
Use codegen to create wrappers for interfaces
2017-05-16 17:10:26 +02:00
Ethan Frey
db5cb8d92c Change codegen name holder->wrapper 2017-05-16 17:02:48 +02:00
Ethan Frey
bee63ce4ff Cleaned up build process, moved codegen to separate package in go-wire 2017-05-16 17:01:30 +02:00
Ethan Frey
79c580492e add make codegen for gen 2017-05-16 17:01:15 +02:00
Ethan Frey
746a2e286d Codegen wrappers for privkey and signature as well 2017-05-16 17:01:15 +02:00
Ethan Frey
ee200d998f Fix unwrap for proper json format 2017-05-16 17:01:15 +02:00
Ethan Frey
f16f711992 First code from codegen... wrong names 2017-05-16 17:01:03 +02:00
Ethan Frey
c38a6f55b3 Prepare for codegen 2017-05-16 17:01:03 +02:00
Ethan Buchman
a42b10e0fe update glide 2017-05-15 09:41:07 -04:00
Ethan Buchman
d901fba662 add changelog and version 2017-05-15 09:40:20 -04:00
Ethan Frey
e71bbb2509 Update to make full use of new tmlibs/cli helpers 2017-05-05 19:25:44 +02:00