Commit Graph
100 Commits
Author SHA1 Message Date
Ethan FreyandAnton Kaliaev f9ae7730fe abciClient.BeginBlockSync should not hang on crashed server (#1891)
* Add test showing normal Sync call

* Show hanging response if server dies during BeginBlock

* Flush all in-flight requests on shutdown, not just pending requests

* Add bugfix to CHANGELOG
2018-07-11 09:59:16 +04:00
Ethan FreyandEthan Buchman fff0c6cd8e Add app_state from genesis file in InitChain message 2018-03-02 03:46:04 -05:00
Ethan Frey 9cb45eb7df Add skeleton for functionality and concurrency 2018-01-04 19:08:03 +01:00
Ethan Frey 17b61db40a Document p2p and rpc messages 2018-01-04 18:12:48 +01:00
Ethan Frey 7b52499463 Start writing mempool specification
Include overview and configuration options.
2018-01-04 17:11:35 +01:00
Ethan FreyandEthan Buchman d65234ed51 Add /block_results?height=H as rpc endpoint
Expose it in rpc client
Move ABCIResults into tendermint/types from tendermint/state
2017-12-26 19:24:25 -05:00
Ethan FreyandEthan Buchman 58c5df729b Add ResultHash to header 2017-12-26 19:24:25 -05:00
Ethan FreyandEthan Buchman 632cc918b4 Save/Load Results for every height
Add some tests.
Behaves like saving validator set, except it always saves at each height
instead of a reference to last changed.
2017-12-26 19:24:25 -05:00
Ethan FreyandEthan Buchman f870a49f42 Add ABCIResults with Hash and Proof to State
State maintains LastResultsHash
Verify that we can produce unique hashes for each result,
and provide valid proofs from the root hash.
2017-12-26 19:24:25 -05:00
Ethan FreyandEthan Buchman 960b25408f Store LastConsensusHash in State as well
Update all BlockValidation that it matches the last state
2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman 45bc106de7 Updated lite tests to set ConsensusHash in header 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman d151e36ea8 Add ConsensusHash to header 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman 56cada6a0c Validate ConsensusParams returned from abci app 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman a0b2d77bef Add hash to ConsensusParams 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman 030fd00232 Added tests for applying consensus param changes 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman d21f39160f Apply ConsensusParamChanges to state/State 2017-12-19 12:28:08 -05:00
Ethan FreyandEthan Buchman 4265a94bfe Update EndBlock parameters
* Update abci dependencies
* Modify references from Diffs to Changes
* Fixes issues #924
2017-12-19 12:28:08 -05:00
Ethan Frey eb6d412a82 Add tests to protobuf objects for pr coverage 2017-12-14 09:35:33 +01:00
Ethan Frey 9c5e1a824d Updated naming of EndBlock parameters
* Changes -> Updates for validators
* ConsensusParams.XXXParams -> ConsensusParams.XXX
* As per feedback from Jae on PR
2017-12-14 09:27:20 +01:00
Ethan Frey a6f719a402 Add tests for block validation 2017-12-13 19:54:16 +01:00
Ethan Frey 895e14d6bd Update Diffs to Changes, fix README 2017-12-13 17:57:43 +01:00
Ethan Frey 25f6f6518c Update the ResponseEndBlock values
* Rename diffs -> changes
* Add consensus_param_changes

For context, see:
https://github.com/tendermint/tendermint/issues/924
https://github.com/tendermint/tendermint/issues/952
2017-12-13 17:50:24 +01:00
Ethan Frey dedf03bb81 Add TotalTx to block header, issue #952
Update state to keep track of this info.
Change function args as needed.
Make NumTx also an int64 for consistency.
2017-12-13 12:20:53 +01:00
Ethan Frey 5ffb5f01cc Add more tests for Proposal/Vote serialization
String() and Proposal valid after serializing.
To be safe, but mainly to increase test coverage for the PR
2017-12-12 12:59:51 +01:00
Ethan Frey 8576ad58bd Cleanup canonical json 2017-12-12 12:59:51 +01:00
Ethan Frey c4860f6c29 Force CanonicalTime to UTC
fixes issue with vote serialization breaking the signatures
2017-12-12 12:59:51 +01:00
Ethan Frey 850310b034 Add test to isolate precommit failure
types/vote_test.go now checks signature on a serialized and
then deserialized vote. Turns out go-wire time encoding doesn't
respect timezones, and the signatures don't check out.
2017-12-12 12:59:51 +01:00
Ethan Frey a29c781295 Add default timestamp to all instances of *types.Vote 2017-12-12 12:59:51 +01:00
Ethan Frey 599673690c Add timestamp to vote canonical encoding 2017-12-12 12:59:51 +01:00
Ethan Frey 7deda53b7c Add Timestamp to Proposal for issue #929
Store it as time.Timestamp locally, encode it as RFC3339 with milliseconds
before signing the canonical form.
2017-12-12 12:59:51 +01:00
Ethan Frey 2112299586 Cleanup apt-get ala PR comments 2017-12-08 19:20:53 +01:00
Ethan Frey c771964a40 Add vagrant_test to Makefile for integration tests 2017-12-08 18:36:58 +01:00
Ethan Frey 5bcd95f01f Use apt-get/ppa instead of tarballs for golang/docker
Minor cleanup and comments
2017-12-08 18:10:39 +01:00
Ethan Frey c84494b36b Update Vagrantfile to xenial (16.04 LTS)
Note default username changed from vagrant to ubuntu in the base image.
2017-12-08 18:10:39 +01:00
Ethan Frey 9657d183f8 Remove CGO_ENABLED=0 from make install
It was writing to stdlib packages net, x/crypto, etc. and failing when it didn't have write access to them (which it often shouldn't)

Fixes issue #941

Explained in golang issue: golang/go#18981 (fixed in develop/1.10)
2017-12-08 17:03:09 +01:00
Ethan Frey ec4adf21e0 Cleanup from PR comments 2017-12-08 10:15:26 +01:00
Ethan Frey cc7a87e27c Use Ticker in Repeat again to avoid drift 2017-12-07 11:22:54 +01:00
Ethan Frey 8797197cdf No more blocking on multiple Stop() 2017-12-07 10:38:50 +01:00
Ethan Frey 887d766c86 Refactored RepeatTimer, tests hang 2017-12-07 10:15:38 +01:00
Ethan Frey 8b518fadb2 Don't close throttle channel, explain why 2017-12-06 22:28:18 +01:00
Ethan Frey e430d3f844 One more attempt with a read-only channel 2017-12-06 21:51:23 +01:00
Ethan Frey 1ac4c5dd6d Made throttle output non-blocking 2017-12-06 21:20:30 +01:00
Ethan Frey 0a8721113a First pass of PR updates 2017-12-06 21:08:55 +01:00
Ethan Frey 4ec7883891 Cleanup 2017-12-06 11:21:01 +01:00
Ethan Frey dcb4395604 Refactor throttle timer 2017-12-06 11:17:50 +01:00
Ethan Frey 3d9113c16e Add a bit more padding to tests so they pass on osx with -race 2017-12-06 09:18:04 +01:00
Ethan Frey 26abd65e34 Add tests for repeat timer 2017-12-05 15:01:07 +01:00
Ethan Frey 53cdb6cf82 Demo throttle timer is broken 2017-12-05 14:49:16 +01:00
Ethan FreyandGitHub 468c4188c1 Merge pull request #51 from tendermint/keystore
Keybase
2017-11-29 15:25:59 +01:00
Ethan Frey 086e1f6508 Make vetshadow and zach happy 2017-11-15 13:57:17 +01:00
Ethan Frey 2649c056cd Minor cleanup 2017-11-13 14:54:14 +01:00
Ethan Frey 9d78be41b5 Update tmlibs to sdk-develop, fix broken test 2017-11-13 14:41:00 +01:00
Ethan Frey 2d4544d6ce Tests compile 2017-11-13 14:36:43 +01:00
Ethan Frey 4173d1031e go build compiles 2017-11-13 14:36:43 +01:00
Ethan Frey 9ef978c5ec Fix errors except for es missing 2017-11-13 14:36:43 +01:00
Ethan Frey 946c9c573e Handle generating keys 2017-11-13 14:36:43 +01:00
Ethan Frey ac841a6124 Fixed imports 2017-11-13 14:36:43 +01:00
Ethan Frey ad31f6a953 osx + hid = <3 2017-10-27 18:46:21 +02:00
Ethan FreyandGitHub db5603e374 Merge pull request #45 from tendermint/bugfix/nano-hid
Bugfix: ledger nano/hid compiles on osx/golang1.9
2017-10-26 06:52:52 -07:00
Ethan Frey 5d8890530a Update glide deps, nano/hid for osx/golang1.9 2017-10-26 12:00:42 +02:00
Ethan FreyandGitHub c496dea2e5 Merge pull request #42 from tendermint/feature/bcrypt-usability
Bcrypt usability
2017-10-26 11:59:32 +02:00
Ethan Frey f653ba63bf Separated out certifiers.Commit from rpc structs 2017-10-25 16:43:18 +02:00
Ethan Frey 0396b6d521 Rename checkpoint.go 2017-10-25 16:13:04 +02:00
Ethan Frey 94b36bb65e Move VerifyCommitAny into the types package 2017-10-25 16:13:04 +02:00
Ethan Frey b4fd6e876e Copy certifiers from light-client 2017-10-25 16:13:04 +02:00
Ethan Frey dfc4cdd2d7 Parameterize and lower bcrypt cost 2017-10-24 12:19:45 +02:00
Ethan FreyandGitHub 0a5b1d979a Merge pull request #37 from tendermint/nano
Nano Support
2017-10-24 12:18:45 +02:00
Ethan Frey 0219ba2a63 Fix bug introduced by metalinting... 2017-10-24 12:14:20 +02:00
Ethan Frey 69a7b389b8 Removed keys/server as it is now in cosmos-sdk 2017-10-24 11:59:44 +02:00
Ethan Frey 6f6bbf718e Fix metalinter complaints 2017-10-24 11:56:37 +02:00
Ethan Frey 2d04544088 Addressed Buckys PR review comments 2017-10-24 11:38:06 +02:00
Ethan Frey 4a2c63f5e1 Update ledger names to specify ed25519 2017-10-24 11:38:06 +02:00
Ethan Frey 9601e48ab4 Improve error message 2017-10-24 11:38:06 +02:00
Ethan Frey 61d1bdb5ed Test error handling, load without ledger 2017-10-24 11:38:06 +02:00
Ethan Frey 9afceb7ee8 ledger pubkey serializes properly, better load checks 2017-10-24 11:38:06 +02:00
Ethan Frey 2490952515 nano validates key on load 2017-10-24 11:38:06 +02:00
Ethan Frey bce88a20df Enable privkey validity checking on load 2017-10-24 11:38:06 +02:00
Ethan Frey 1b8d52bb82 Rename NameLedger to NameLedgerEd25519 2017-10-24 11:38:06 +02:00
Ethan Frey ae078ee915 Generate/recover can return error, not panic on ledger 2017-10-24 11:38:06 +02:00
Ethan Frey 085d72d212 Cleanup nano calls, cannot run parallel test on one hardware device 2017-10-24 11:38:06 +02:00
Ethan Frey 91fccb8b14 Add test for cryptostore working with ledger 2017-10-24 11:38:06 +02:00
Ethan Frey 88475230c4 Re-enabled crypostore example usage 2017-10-24 11:38:06 +02:00
Ethan Frey 34b9309f24 Re-enable signing tests with cryptostore 2017-10-24 11:38:06 +02:00
Ethan Frey 8c98c4fdf4 Add nano ledger to key manager 2017-10-24 11:38:06 +02:00
Ethan Frey 0383feab49 Add and test serialization of ledger privkey 2017-10-24 11:38:06 +02:00
Ethan Frey 3edeb0cd45 Ledger caches pubkey, works with newer firmware 2017-10-24 11:38:06 +02:00
Ethan Frey 081f21af11 Add glide version for ledger drivers 2017-10-24 11:38:06 +02:00
Ethan Frey 008dba3af8 Test ledger calls 2017-10-24 11:38:06 +02:00
Ethan Frey 623bd803c2 write code to actually call ledger app 2017-10-24 11:38:06 +02:00
Ethan Frey 265e261c63 Add more test cases from running the ledger 2017-10-24 11:38:06 +02:00
Ethan Frey 7c5a10a7d4 Add tests for pub/priv key validation 2017-10-24 11:38:06 +02:00
Ethan Frey 06d74b24dd Wrote PrivKey/PubKey for ledger 2017-10-24 11:38:06 +02:00
Ethan Frey 74878ee313 Update code to work with current nano implementation 2017-10-24 11:38:06 +02:00
Ethan Frey 8220d59178 Work on using returned bytes as crypto keys 2017-10-24 11:38:06 +02:00
Ethan Frey 0781c12ede Message encoding for nano 2017-10-24 11:38:06 +02:00
Ethan FreyandGitHub bb9bb4aa46 Merge pull request #116 from tendermint/feature/merkleeyes-to-iavl
merkleeyes to iavl
2017-10-23 14:26:12 +02:00
Ethan Frey 446e50ca9e Moved RandVal into test helper functions, as needed in other repos for testing 2017-10-23 14:20:15 +02:00
Ethan Frey e7ebf62092 Remove empty check after iavl fixup 2017-10-23 14:08:36 +02:00
Ethan Frey 5162ed1b2b Remove gotype from metalinter so it passes (need newer go on circleci) 2017-10-19 15:21:03 +02:00
Ethan Frey 7aa00e9ddd Fix metalinter errors 2017-10-19 14:48:07 +02:00