013b9ce | Ethan Buchman | 05 August 2018, 21:11:22 UTC | Merge pull request #2152 from tendermint/release/v0.23.0 Release/v0.23.0 | 05 August 2018, 21:11:22 UTC |
309a677 | Ethan Buchman | 05 August 2018, 20:29:01 UTC | types: fix formatting when printing signatures - use cmn.Fingerprint and %X | 05 August 2018, 20:35:43 UTC |
8bd514d | Ethan Buchman | 05 August 2018, 19:45:52 UTC | update changelog | 05 August 2018, 19:55:48 UTC |
f903947 | ValarDragon | 02 August 2018, 00:02:05 UTC | crypto: Remove interface from crypto.Signature Signatures are now []byte, which saves on the number of bytes after amino encoding (squash this) address Ismail's comment | 05 August 2018, 19:46:57 UTC |
d6a666b | Dev Ojha | 05 August 2018, 18:47:01 UTC | p2p/pex: Fix mismatch between dialseeds and checkseeds. (#2151) | 05 August 2018, 18:47:01 UTC |
c5c2b96 | Ethan Buchman | 05 August 2018, 18:14:56 UTC | update changelog and version | 05 August 2018, 18:14:56 UTC |
6e3c5e8 | Dev Ojha | 05 August 2018, 00:35:08 UTC | p2p/pex: Allow configured seed nodes to not be resolvable over DNS (#2129) * p2p/pex: Allow configured seed nodes to be offline Previously you couldn't startup tendermint if a seed node was offline. This now allows you to startup tendermint, as long as all seed node addresses are formatted correctly. In the event that all seed nodes are down, and the address book is empty, then it crashes with an informative error msg. (This case doesn't occur if no seeds were specified) Closes #1716 * (Squash this) Address melekes' comments * (squash this) fix package imports * (squash this) fix pex_reactor comment * (squash this) add a test case | 05 August 2018, 00:35:08 UTC |
8073e51 | Ethan Buchman | 05 August 2018, 00:27:24 UTC | Merge pull request #2096 from tendermint/dev/adr_symmetric [ADR] Proposal for encoding symmetric cryptography | 05 August 2018, 00:27:24 UTC |
3161ebb | Ethan Buchman | 05 August 2018, 00:22:56 UTC | Merge pull request #2091 from tendermint/dev/adr_secp_signatures [ADR] Fix malleability problems in Secp256k1 signatures | 05 August 2018, 00:22:56 UTC |
4cbeb30 | Ethan Buchman | 04 August 2018, 03:40:21 UTC | Merge pull request #2136 from tendermint/1944-update-grpc update genproto | 04 August 2018, 03:40:21 UTC |
d5b5e5a | Ethan Buchman | 04 August 2018, 03:39:25 UTC | Merge pull request #2135 from tendermint/2072-unresponsive-tm-after-cs-failure consensus: non-responsive to CTRL-C if consensus state panics | 04 August 2018, 03:39:25 UTC |
6691492 | ValarDragon | 04 August 2018, 00:49:46 UTC | (squash this) indicate what Ethereum does | 04 August 2018, 00:49:46 UTC |
2878c75 | Anton Kaliaev | 03 August 2018, 07:39:57 UTC | update github bug report template (#2131) | 03 August 2018, 07:39:57 UTC |
b1cff0f | Anton Kaliaev | 03 August 2018, 07:34:58 UTC | [libs/autofile] create a Group ticker on Start 1) no need to stop the ticker in createTestGroup() method 2) now there is a symmetry - we start the ticker in OnStart(), we stop it in OnStop() Refs #2072 | 03 August 2018, 07:34:58 UTC |
d09a3a6 | Anton Kaliaev | 03 August 2018, 07:24:55 UTC | stop gracefully instead of trying to resume ops Refs #2072 We most probably shouldn't be running any further when there is some unexpected panic. Some unknown error happened, and so we don't know if that will result in the validator signing an invalid thing. It might be worthwhile to explore a mechanism for manual resuming via some console or secure RPC system, but for now, halting the chain upon unexpected consensus bugs sounds like the better option. | 03 August 2018, 07:24:55 UTC |
87f09ad | ValarDragon | 03 August 2018, 06:27:16 UTC | (Squash this) Be more explicit about the exact encoding of the secp signature | 03 August 2018, 06:27:16 UTC |
b3a3c8a | ValarDragon | 03 August 2018, 06:25:14 UTC | Merge remote-tracking branch 'origin/develop' into dev/adr_secp_signatures | 03 August 2018, 06:25:14 UTC |
2487210 | Ethan Buchman | 02 August 2018, 21:31:07 UTC | Merge pull request #2097 from tendermint/1772-revert revert "make `/status` RPC endpoint resistant to consensus halt" | 02 August 2018, 21:31:07 UTC |
a040c36 | ValarDragon | 02 August 2018, 17:43:47 UTC | (squash this) change adr number, remove redundancy in function names | 02 August 2018, 17:43:47 UTC |
d579f4c | Anton Kaliaev | 02 August 2018, 13:54:55 UTC | update genproto Closes #1944 | 02 August 2018, 13:54:55 UTC |
b82138b | Anton Kaliaev | 02 August 2018, 12:48:12 UTC | update changelog | 02 August 2018, 12:48:12 UTC |
8ed99c2 | Anton Kaliaev | 02 August 2018, 12:42:25 UTC | exit from initSighupWatcher child goroutine also, remove excessive log message Refs #2072 | 02 August 2018, 12:42:25 UTC |
4c5a143 | Anton Kaliaev | 02 August 2018, 12:36:28 UTC | respawn receiveRoutine so we can properly exit Closes #2072 | 02 August 2018, 12:36:28 UTC |
b33f73e | Anton Kaliaev | 02 August 2018, 12:33:34 UTC | stop autofile and autogroup properly NOTE: from the ticker#Stop documentation: ``` Stop does not close the channel, to prevent a read from the channel succeeding incorrectly. https://golang.org/src/time/tick.go?s=1318:1341#L35 ``` Refs #2072 | 02 August 2018, 12:33:34 UTC |
eaa1375 | Dev Ojha | 01 August 2018, 22:19:21 UTC | adr: Encoding for cryptography at launch (#2121) | 01 August 2018, 22:19:21 UTC |
023bb99 | Dev Ojha | 01 August 2018, 19:06:30 UTC | p2p: Add test vectors for deriving secrets (#2120) These test vectors are needed for comparison with the Rust implementation. To implement this effectively, a "RandBool" method was added to cmn.Rand. | 01 August 2018, 19:06:29 UTC |
dde96b7 | Dev Ojha | 01 August 2018, 09:57:31 UTC | abci: Update readme for building protoc (#2124) | 01 August 2018, 09:57:31 UTC |
6fb2f44 | Dev Ojha | 31 July 2018, 20:09:01 UTC | p2p: Connect to peers from a seed node immediately (#2115) This is to reduce wait times when initially connecting. This still runs checks such as whether you still want additional peers. A test case has been created, which fails if this change is not included. | 31 July 2018, 20:09:01 UTC |
08ad162 | Zarko Milosevic | 31 July 2018, 18:19:57 UTC | docs: Modify blockchain spec to reflect validator set changes (#2107) | 31 July 2018, 18:19:57 UTC |
a83eed1 | ValarDragon | 30 July 2018, 23:19:33 UTC | libs/cmn: Remove Tempfile, Tempdir, switch to ioutil variants (#2114) Our Tempfile was just a wrapper on ioutil that panicked instead of error. Our Tempdir was a less safe variant of ioutil's Tempdir. | 31 July 2018, 17:43:36 UTC |
be64275 | ValarDragon | 30 July 2018, 21:06:48 UTC | libs/cmn/writefileatomic: Handle file already exists gracefully (#2113) This uses the stdlib's method of creating a tempfile in our write file atomimc method, with a few modifications. We use a 64 bit number rather than 32 bit, and therefore a corresponding LCG. This is to reduce collision probability. (Note we currently used 32 bytes previously, so this is likely a concern) We handle reseeding the LCG in such a way that multiple threads are even less likely to reuse the same seed. | 31 July 2018, 17:43:36 UTC |
2608249 | ValarDragon | 30 July 2018, 19:24:39 UTC | libs/common: Refactor tempfile code into its own file | 31 July 2018, 17:43:36 UTC |
62b8ee2 | Anton Kaliaev | 31 July 2018, 16:28:19 UTC | [docs] Validator's address can be skipped (#2117) Refs #1712 | 31 July 2018, 16:28:19 UTC |
0c7338c | Anton Kaliaev | 30 July 2018, 15:29:40 UTC | abci: Change validators to last_commit_info in RequestBeginBlock (#2074) * change validators to last_commit_info in RequestBeginBlock * do not send pubkeys with RequestBeginBlock Refs #1856 | 30 July 2018, 15:29:40 UTC |
231cdc1 | Dev Ojha | 29 July 2018, 23:05:27 UTC | ci: Reduce log output in test_cover (#2105) This commit makes it such that circle CI only shows the module whose tests it is currently running in the log, unless a test fails. For each failing test, it will display the name of all failing tests, along with their log output. This is done to make our log output far more scrollable. We lose no information in debugging. | 29 July 2018, 23:05:27 UTC |
fef4fe1 | Zaki Manian | 29 July 2018, 05:49:42 UTC | Link to "The latest gossip on BFT consensus" (#2102) The paper is such a useful resource to anyone building on Tendermint. It should be linked in the ReadMe. | 29 July 2018, 05:49:42 UTC |
f00b52b | Dev Ojha | 29 July 2018, 05:48:37 UTC | libs/autofile/group_test: Remove unnecessary logging (#2100) Previously we logged `Testing for i <i>` for all i in [0,100). This was unnecessary. This changes it to just log the value for i on error messages, to reduce the unnecessary verbosity in log files. | 29 July 2018, 05:48:37 UTC |
188e459 | VenkatDatta | 29 July 2018, 05:46:53 UTC | Removed unnecessary onStart call (#2098) * Removed unnecessary onStart & onStop calls in reactor * Refactor OnStart & OnStop in reactor * Removed redundant OnStart func in reactor | 29 July 2018, 05:46:53 UTC |
3d5d254 | ValarDragon | 29 July 2018, 03:40:21 UTC | (squash this) Mixed up field element and curve element. Idea still stands. | 29 July 2018, 03:41:19 UTC |
ce9ddc7 | ValarDragon | 28 July 2018, 13:32:54 UTC | (squash this) Note not to overwrite aead's. | 28 July 2018, 13:33:15 UTC |
c03ad56 | ValarDragon | 28 July 2018, 11:23:22 UTC | (squash this) Note that this breaks existing keys. | 28 July 2018, 11:23:22 UTC |
caef5dc | ValarDragon | 28 July 2018, 11:14:07 UTC | (Squash this) forgot to say that algo_name should be length prefixed | 28 July 2018, 11:14:07 UTC |
7634073 | Anton Kaliaev | 28 July 2018, 05:09:53 UTC | revert "make `/status` RPC endpoint resistant to consensus halt" Refs #1772 Reasons: - this was a bad patch for something not well understood Lessons learned: - nobody should be modifying code without understanding the problem first. it will only result in more technical debt and code rot. - we never hide information when we suspect a bug or we'not sure what's going on. | 28 July 2018, 05:17:42 UTC |
af2894c | ValarDragon | 28 July 2018, 02:27:25 UTC | (squash this) improve grammar. | 28 July 2018, 02:27:25 UTC |
a2debe5 | ValarDragon | 28 July 2018, 01:09:23 UTC | [ADR] Proposal for encoding symmetric cryptography | 28 July 2018, 01:10:41 UTC |
5955edd | ValarDragon | 27 July 2018, 20:18:21 UTC | ADR: Fix malleability problems in Secp256k1 signatures Previously you could not assume that your transaction hash would appear on chain. | 27 July 2018, 20:18:21 UTC |
4bab34a | Ethan Buchman | 27 July 2018, 18:06:12 UTC | Merge pull request #2088 from tendermint/bucky/fix-evidence-test consensus: Fix test for blocks with evidence | 27 July 2018, 18:06:12 UTC |
fe5b0d7 | Ethan Buchman | 27 July 2018, 17:52:42 UTC | consensus: fix test for blocks with evidence | 27 July 2018, 18:00:05 UTC |
96ae535 | Anton Kaliaev | 27 July 2018, 02:23:19 UTC | proto3 timestamp (#2064) This PR changes ABCI time format from int64 (Unix seconds) to WKT (WellKnownType) google.protobuf.Timestamp. Refs #1857 Reasons: better precision standard DT for proto * update Gopkg.lock * [makefile] remove extra grep - go list excludes vendor by default now * proto3 timestamp * [docs/abci-spec] note about serialisation format * make time non-nullable | 27 July 2018, 02:23:19 UTC |
4be6395 | Alexander Simmerl | 27 July 2018, 02:21:34 UTC | Merge pull request #2085 from tendermint/master Merge 0.23.8 back into develop | 27 July 2018, 02:21:34 UTC |
bc526f1 | Dev Ojha | 27 July 2018, 02:21:08 UTC | libs: Make bitarray functions lock parameters that aren't the caller (#2081) This now makes bit array functions which take in a second bit array, thread safe. Previously there was a warning on bitarray.Update to be lock the second parameter externally if thread safety wasrequired. This was not done within the codebase, so it was fine to change here. Closes #2080 | 27 July 2018, 02:21:08 UTC |
40d6dc2 | Jae Kwon | 27 July 2018, 02:13:27 UTC | Merge pull request #2082 from tendermint/release/0.22.8 HotFix for 0.22.7, bump to 0.22.8 | 27 July 2018, 02:13:27 UTC |
d542d2c | Jae Kwon | 27 July 2018, 01:08:09 UTC | Fix 0.22.7, bump to 0.22.8 | 27 July 2018, 01:08:09 UTC |
fd29fd6 | Alexander Simmerl | 27 July 2018, 00:27:19 UTC | adr: PeerTransport (#2069) * p2p: Propose PeerTransport ADR * adr: Set status to in review * adr: Add high-level decision * adr: Extend on the idea of guards * adr: Rework guards into transport specific filters * adr: Rename to nodeAddr * adr: Incorporate review | 27 July 2018, 00:27:19 UTC |
6241e6b | Dev Ojha | 27 July 2018, 00:10:58 UTC | libs: update BitArray go docs (#2079) | 27 July 2018, 00:10:58 UTC |
18acd77 | Ethan Buchman | 26 July 2018, 23:00:50 UTC | Merge pull request #2076 from tendermint/hotfix/0.22.7 Hotfix/0.22.7 | 26 July 2018, 23:00:50 UTC |
49b52ee | Hendrik Hofstadt | 26 July 2018, 22:41:15 UTC | Add test for MakePartSet with evidence | 26 July 2018, 23:00:07 UTC |
e4dfab6 | Ethan Buchman | 26 July 2018, 22:54:15 UTC | changelog and version | 26 July 2018, 22:54:15 UTC |
0e12756 | Ethan Buchman | 26 July 2018, 22:53:19 UTC | register evidence interface wherever its used | 26 July 2018, 22:53:19 UTC |
9f19229 | Dev Ojha | 26 July 2018, 08:18:55 UTC | .github: Split the issue template into two seperate templates (#2073) * .github: Split the issue template into two seperate templates Now we have different bug report and feature request templates. * Forgot to add the name, and about fields | 26 July 2018, 08:18:55 UTC |
bdab37a | Alexander Simmerl | 25 July 2018, 22:29:36 UTC | Merge pull request #2054 from tendermint/dev/secret_connection secret connection update | 25 July 2018, 22:29:36 UTC |
7bf28af | ValarDragon | 24 July 2018, 19:33:02 UTC | p2p/secret_connection: Switch salsa usage to hkdf + chacha This now uses one hkdf on the X25519 shared secret to create a key for the sender and receiver. The hkdf call is now just called upon the computed shared secret, since the shared secret is a function of the pubkeys. The nonces now start at 0, as we are using chacha as a stream cipher, and the sender and receiver now have different keys. | 25 July 2018, 22:12:32 UTC |
1b04e4e | Zaki Manian | 13 May 2018, 22:42:29 UTC | p2p: Remove RipeMd160. Generate keys with HKDF instead of hash functions, which provides better security properties. Add xchacha20poly1305 to secret connection. (Due to rebasing, this code has been removed) | 25 July 2018, 22:09:37 UTC |
66fe5b7 | Zach | 25 July 2018, 21:37:08 UTC | rpc: Improve slate for Jenkins (#2070) | 25 July 2018, 21:37:08 UTC |
24b94d7 | Dev Ojha | 25 July 2018, 21:12:39 UTC | crypto: Switch hkdfchacha back to xchacha (#2058) hkdfchachapoly was a construction we came up with. There is no longer any reason to use it. We should instead just use xchacha for the remaining use cases we have. (Symmetrically encrypting the keys in the sdk keys package) | 25 July 2018, 21:12:39 UTC |
0bd4fb9 | Dev Ojha | 25 July 2018, 21:07:47 UTC | crypto: Add benchmarking code for signature schemes (#2061) * crypto: Add benchmarking code for signature schemes This does a slight refactor for the key generation code. It now calls a seperate unexported method to allow generation from a reader. I think this will actually reduce time in generation, due to no longer initializing an extra slice. This was needed in order to enable benchmarking. This uses an internal package for the benchmarking code, so that this can be standardized without being exported in the public API. The benchmarking code is derived from agl/ed25519's benchmarking code, and has copied the license over. Closes #1984 | 25 July 2018, 21:07:47 UTC |
9cfc47a | Dev Ojha | 25 July 2018, 16:09:52 UTC | makefile: Add `make check_dep` and remove `make ensure_deps` (#2055) This adds a new makefile command, which is used in CI linting, `make check_dep`. This ensures the toml is in sync with the lock, and that were not pinning to a branch in any repository. This also adapts `make get_vendor_deps` to check the lock, in addition to populating the vendor directory. This removes the need for `make ensure_deps`. This makes `make get_vendor_deps` consistent between tendermint and the sdk. | 25 July 2018, 16:09:52 UTC |
d212292 | Alexander Simmerl | 25 July 2018, 15:36:39 UTC | Merge pull request #2066 from tendermint/bucky/merge-master Bucky/merge master | 25 July 2018, 15:36:39 UTC |
7ad92c4 | Ethan Buchman | 25 July 2018, 15:34:32 UTC | Merge branch 'master' into bucky/merge-master | 25 July 2018, 15:34:32 UTC |
5fdbcd7 | Ethan Buchman | 25 July 2018, 15:18:00 UTC | Merge pull request #2056 from tendermint/hotfix/v0.22.6 Hotfix/v0.22.6 | 25 July 2018, 15:18:00 UTC |
d149d8f | Dev Ojha | 25 July 2018, 07:34:51 UTC | github: update PR template to indicate changing pending changelog. (#2059) | 25 July 2018, 07:34:51 UTC |
74b6cc9 | Ethan Buchman | 25 July 2018, 06:56:00 UTC | rpc: log error when we timeout getting validators from consensus (#2045) | 25 July 2018, 06:56:00 UTC |
6046b99 | Ethan Buchman | 25 July 2018, 01:48:51 UTC | consensus: include evidence in proposed block parts. fixes #2050 | 25 July 2018, 01:58:39 UTC |
359898d | Ethan Buchman | 25 July 2018, 01:32:30 UTC | p2p: fix conn leak. part of #2046 | 25 July 2018, 01:53:37 UTC |
5768b67 | Ethan Buchman | 25 July 2018, 01:26:41 UTC | changelog and version | 25 July 2018, 01:26:41 UTC |
082557b | Ethan Buchman | 25 July 2018, 01:25:47 UTC | rpc: validate height in abci_query | 25 July 2018, 01:25:47 UTC |
8dc655d | Ethan Buchman | 25 July 2018, 00:35:36 UTC | rpc: fix /blockchain OOM #2049 | 25 July 2018, 01:18:20 UTC |
70d3783 | Ethan Buchman | 24 July 2018, 23:29:37 UTC | dep: revert updates - leave protobuf on 1.1.1 for grpc import fixes - amino v0.11 breaks tendermint - revert to v0.10.1 | 25 July 2018, 01:01:14 UTC |
60378fd | Anton Kaliaev | 24 July 2018, 15:28:26 UTC | abci: remove fee (#2043) Refs #1861 We don't use the fee field and its likely just confusing. We can add backwards compatible priority (instead of fee) later. Note priority is better than fee because it lets the app do the math on how to rank order transactions, rather than forcing that into tendermint (ie. if we return fee, priority would be fee/gas) | 24 July 2018, 15:28:26 UTC |
c248ce5 | Anton Kaliaev | 24 July 2018, 15:10:58 UTC | p2p: Reject addrs coming from private peers (#2032) Refs #1706 | 24 July 2018, 15:10:58 UTC |
059a03a | Anton Kaliaev | 24 July 2018, 14:02:32 UTC | tools: clean up Makefile and remove LICENSE file (#2042) * lean up Makefile and remove LICENSE file * remove k8s and build LICENSE files * remove non-existing target | 24 July 2018, 14:02:32 UTC |
abe5b63 | Alexander Simmerl | 24 July 2018, 13:52:45 UTC | Merge pull request #2040 from tendermint/2027-socket-pv fix acceptDeadline | 24 July 2018, 13:52:45 UTC |
7e7473a | Alexander Simmerl | 24 July 2018, 13:41:44 UTC | Merge pull request #2044 from tendermint/2019-prometheus do not overwrite metrics provider in node#NewNode | 24 July 2018, 13:41:44 UTC |
75a26eb | Anton Kaliaev | 24 July 2018, 11:44:01 UTC | do not overwrite metrics provider in node#NewNode also, make running Prometheus server optional. Closes #2019 | 24 July 2018, 12:01:11 UTC |
ad580e2 | Anton Kaliaev | 24 July 2018, 06:44:39 UTC | fix acceptDeadline before: 1.000000003s after: 3.000000000s Refs #2027 | 24 July 2018, 06:51:12 UTC |
b92860b | Ethan Buchman | 24 July 2018, 02:46:51 UTC | Merge pull request #1805 from tendermint/jae/optimize_blockchain Optimizing blockchain reactor. | 24 July 2018, 02:46:51 UTC |
54d753e | Ethan Buchman | 24 July 2018, 02:35:55 UTC | fix Gopkg, add changelog | 24 July 2018, 02:48:38 UTC |
e1b48b1 | Ethan Buchman | 24 July 2018, 02:16:34 UTC | Merge branch 'develop' into jae/optimize_blockchain | 24 July 2018, 02:16:34 UTC |
7c07235 | Ethan Buchman | 24 July 2018, 02:05:44 UTC | Merge pull request #2036 from tendermint/master Merge master to develop | 24 July 2018, 02:05:44 UTC |
05a76fb | Ethan Buchman | 24 July 2018, 01:57:43 UTC | Merge pull request #2029 from tendermint/release/0.22.5 Release/0.22.5 | 24 July 2018, 01:57:43 UTC |
15b112e | Ethan Buchman | 24 July 2018, 00:58:24 UTC | mempool: chan bool -> chan struct{} | 24 July 2018, 01:06:47 UTC |
2aef80b | Ethan Buchman | 24 July 2018, 00:34:34 UTC | Merge pull request #2034 from tendermint/dev/fix_pkg_names crypto: Fix package imports from the refactor | 24 July 2018, 00:34:34 UTC |
f3d519c | ValarDragon | 23 July 2018, 22:04:04 UTC | crypto: Fix package imports from the refactor | 23 July 2018, 23:14:21 UTC |
9962e59 | Anton Kaliaev | 23 July 2018, 17:15:08 UTC | reconnect to self-reported address if persistent peer is inbound (#2031) * reconnect to self-reported address if persistent peer is inbound * add a fixme | 23 July 2018, 17:15:08 UTC |
948b91e | Anton Kaliaev | 23 July 2018, 13:16:43 UTC | add missing changelog entries | 23 July 2018, 13:16:43 UTC |
1e05242 | Anton Kaliaev | 23 July 2018, 13:07:14 UTC | update changelog and bump version to 0.22.5 | 23 July 2018, 13:07:14 UTC |
94e8252 | Anton Kaliaev | 23 July 2018, 12:47:15 UTC | #2021 follow up (#2028) * update changelog * txAvailable is always true Refs #2021, #1920 * remove debug message No additional value. `enterPropose` log message should be enough. Refs #2021, #1920 | 23 July 2018, 12:47:15 UTC |
eb7dea1 | Dev Ojha | 23 July 2018, 11:35:13 UTC | crypto/ed25519: Remove privkey.Generate method (#2022) The privkey.Generate method here was a custom-made method for deriving a private key from another private key. This function is currently not used anywhere in our codebase, and has not been reviewed enough that it would be secure to use. This removes that method. We should adopt the official ed25519 HD derivation once that has been standardized, in order to fulfill this need. closes #2000 | 23 July 2018, 11:35:13 UTC |
e36ce6f | srmo | 23 July 2018, 11:34:45 UTC | fix race condition on proposal height for published txs (#2021) * #1920 try to fix race condition on proposal height for published txs - related to create_empty_blocks=false - published height for accepted tx can be wrong (too low) - use the actual mempool height + 1 for the proposal - expose Height() on mempool * #1920 add initial test for mempool.Height() - not sure how to test the lock - can the mutex reference be of type Locker? -- this way, we can use a "mock" of the mutex to test triggering * #1920 use the ConsensusState height in favor of mempool - gets rid of indirections - doesn't need any "+1" magic * #1920 cosmetic - if we use cs.Height, it's enough to evaluate right before propose * #1920 cleanup TODO and non-needed code * #1920 add changelog entry | 23 July 2018, 11:34:45 UTC |
c5c1689 | Dev Ojha | 21 July 2018, 04:52:04 UTC | crypto/secp256k1: Add godocs, remove indirection in privkeys (#2017) * crypto/secp256k1: Add godocs, remove indirection in privkeys The following was previously done for creating secp256k1 private keys: First obtain privkey bytes. Then create a private key in the underlying library, with scalar exponent equal to privKeyBytes. (The method called was secp256k1.PrivKeyFromBytes, https://github.com/btcsuite/btcd/blob/fb90c334dffc6c91843d8d36ac31e7f7eb6c7594/btcec/privkey.go#L21) Then the private key was serialized using the underlying library, which just returns back the bytes that comprised the scalar exponent, but padded to be exactly 32 bytes. https://github.com/btcsuite/btcd/blob/fb90c334dffc6c91843d8d36ac31e7f7eb6c7594/btcec/privkey.go#L70 Thus the entire indirection of calling the underlying library can be avoided by just ensuring that we pass in a 32 byte value. A test case has even be written to show this more clearly in review. * crypto/secp256k1: Address PR comments Squash this commit * crypto: Remove note about re-registering amino paths when unnecessary. This commit should be squashed. | 21 July 2018, 04:52:04 UTC |