Commit Graph

9941 Commits

Author SHA1 Message Date
William Banfield
52226ce09c ToABCI does not preallocate 2022-02-23 12:03:39 -05:00
William Banfield
8c62b98dad makeStateArgs takes logger and config 2022-02-23 12:00:46 -05:00
William Banfield
50d371a8a1 Update abci/types/application.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-02-23 11:26:18 -05:00
William Banfield
23c1c88734 ToABCI comment fix 2022-02-23 11:20:37 -05:00
William Banfield
d1652bb924 comment process proposal in test app 2022-02-23 11:19:36 -05:00
William Banfield
5e3a41a477 use require true 2022-02-23 11:18:33 -05:00
William Banfield
9cf5066c68 remove redundant err check 2022-02-23 11:18:12 -05:00
William Banfield
1c14787133 remove redundant err check 2022-02-23 11:17:35 -05:00
William Banfield
fbb57451a0 legibility for struct in execution_test.go 2022-02-23 11:16:38 -05:00
William Banfield
cbf6b3eb98 use const for height 2022-02-23 11:14:39 -05:00
William Banfield
2a17dd505f remove unnecessary allocation in buildLastCommitInfo 2022-02-23 11:13:04 -05:00
William Banfield
271c85a5f2 remove unnecessary error check 2022-02-23 11:03:54 -05:00
William Banfield
2a49070299 ProcessProposal comment fix 2022-02-23 10:59:54 -05:00
William Banfield
2bfc90c0cb txs fixup 2022-02-22 17:54:04 -05:00
William Banfield
4f40cd9bce fix lint error 2022-02-22 17:28:17 -05:00
William Banfield
cddcd01bf8 Merge branch 'master' into wb/abci-process-proposal-synchronize 2022-02-22 17:24:13 -05:00
William Banfield
a7e13a7974 synchronize test fixtures 2022-02-22 16:55:10 -05:00
William Banfield
e215259550 Merge remote-tracking branch 'origin' into wb/abci-process-proposal-synchronize 2022-02-22 16:04:37 -05:00
Sam Kleinman
2ffb262600 context: cleaning up context dead ends (#7963) 2022-02-22 20:04:16 +00:00
Sam Kleinman
912751cf93 math: remove panics in safe math ops (#7962)
* math: remove panics in safe math ops

* fix docs

* fix lint
2022-02-22 18:34:17 +00:00
William Banfield
914c727f13 add finalize block 2022-02-22 13:17:11 -05:00
M. J. Fromberger
926c469fcc Restore building docs for master on docs.tendermint.com. (#7969)
There are a lot of existing links to the master section of the site, and my
attempts to get a redirector working have so far not succeeded. While it still
makes sense to not publish docs for unreleased code, a 404 is almost certainly
more disruptive than seeing docs for unreleased stuff.

This includes the docs in the build again, but does not add them back to the
selector menu. That allows URLs to resolve but encourages folks to use the
released versions when they have a choice.

I left the redirect for the RPC link in place, since that's still useful.

Updates #7935.
2022-02-22 17:14:40 +00:00
William Banfield
efd3603cdc finish ProcessProposal test 2022-02-22 10:59:59 -05:00
Sam Kleinman
3dc04430c3 cmd/debug: remove global variables and logging (#7957) 2022-02-22 10:13:03 -05:00
William Banfield
b0f02a94b5 add call to Counter application 2022-02-22 09:19:08 -05:00
William Banfield
3f0bd351bd fix test base application 2022-02-22 09:17:12 -05:00
M. J. Fromberger
70ee282d9e docs: redirect master links to the latest release version (#7936) 2022-02-22 04:51:02 -08:00
M. J. Fromberger
c88cf0b66c config: add event subscription options and defaults (#7930) 2022-02-22 04:46:27 -08:00
William Banfield
0a24a4d885 simplify test 2022-02-21 19:33:42 -05:00
William Banfield
32ee73ac5d rename nil prevote test field 2022-02-21 19:29:35 -05:00
William Banfield
11218c6332 write test and add mocks for accept proposal 2022-02-21 19:26:33 -05:00
William Banfield
d20f2b987e rebuild without finalize block 2022-02-21 19:25:51 -05:00
William Banfield
4bd42a6856 test work in progress 2022-02-21 18:35:17 -05:00
William Banfield
5b648affb6 udpate make state to take args structure 2022-02-21 17:32:31 -05:00
William Banfield
80a738300b comment ToABCI 2022-02-21 17:14:35 -05:00
William Banfield
39e0957b40 test for process proposal builds 2022-02-21 17:00:14 -05:00
William Banfield
77e0dc8a24 use accept instead of IsOK Method 2022-02-21 16:48:36 -05:00
Callum Waters
50de246a2b docs: update repo and spec readme's (#7907) 2022-02-21 20:00:05 +01:00
M. J. Fromberger
705f365bcd rpc: implement the eventlog defined by ADR 075 (#7825)
Implement the basic cursor and eventlog types described in ADR 075.  Handle
encoding and decoding as strings for compatibility with JSON.

- Add unit tests for the required order and synchronization properties.
- Add hooks for metrics, with one value to be expanded later.
- Update ADR 075 to match the specifics of the implementation so far.
2022-02-21 08:54:50 -08:00
M. J. Fromberger
3b20931da3 docs: Pin the RPC docs to v0.35 instead of master (#7909) 2022-02-21 07:46:39 -08:00
M. J. Fromberger
bd6fce13ae Update release instructions for documentation. (#7846)
* Add linkpatch tool to rewrite documentation URLs.
* Update instructions for creating backport branches.

Updates #7675.
2022-02-21 07:26:48 -08:00
M. J. Fromberger
351adf8ddb Remove master from the docs site version config. (#7874) 2022-02-21 06:07:06 -08:00
Jasmina Malicevic
e80541a251 types/events+evidence: emit events + metrics on evidence validation (#7802)
* event: Added Events after evidence validation; evidence: refactored AddEvidence

Added context and Metrics as parameter for the pool constructor

* evidence: pushed event firing into evidence pool and added metrics to represent the size of the evpool

* state: fixed parameters of evpool mock functions

* evidence: added test to confirm events are generated

* Removed obsolete EvidenceEventPublisher interface

* evidence: pool removed error on missing eventbus
2022-02-21 14:45:56 +01:00
JayT106
ce898a738c consensus: HasVoteMessage index boundary check (#7720)
Went through #2871, there are several issues, this PR tries to tackle the `HasVoteMessage` with an invalid validator index sent by a bad peer and it prevents the bad vote goes to the peerMsgQueue.

Future work, check other bad message cases and plumbing the reactor errors with the peer manager and then can disconnect the peer sending the bad messages.
2022-02-21 13:21:24 +00:00
M. J. Fromberger
a185163c57 light: avert a data race (#7888) 2022-02-21 04:54:43 -08:00
M. J. Fromberger
51b93c8606 Re-enable the Markdown link checker. (#7889) 2022-02-21 04:26:23 -08:00
dependabot[bot]
325740a57c build(deps): Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) 2022-02-21 10:41:06 +01:00
Thane Thomson
abdf717761 spec: Minor updates to spec merge PR (#7835)
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
2022-02-20 11:36:20 -08:00
Sam Kleinman
d65237ff87 logging: allow logging level override (#7873)
I think in the future we should migrate from having our own logging
interface and use our logger directly, which I think would help
obviate this particular problem, but in the mean time, this seems safe.
2022-02-20 16:18:05 +00:00
William Banfield
3401eb2410 types: add default values for the synchrony parameters (#7788)
## Summary

This pull request adds a default set of values to the new Synchrony parameters. These values were chosen by after observation of three live networks: Emoney, Osmosis, and the Cosmos Hub. 

For the default Precision value, `505ms` was selected. The reasoning for this is summarized in https://github.com/tendermint/tendermint/issues/7724

For each observed chain, an experimental Message Delay was collected over a 24 hour period and an average over this period was calculated using this data. Values over 10s were considered outliers and treated separately for the average since the majority of observations were far below 10s. The message delay was calculated both for the quorum and the 'full' prevote. Description of the technique for collecting the experimental values can found in #7202. This value is calculated only using timestamps given by processes on the network, so large variation in values is almost certainly due to clock skew among the validator set.

`12s` is proposed for the default MessageDelay value. This value would easily accomodates all non-outlier values, allowing even E-money's 4.25s value to be valid. This would also allow some validators with skewed clocks to still participate without allowing for huge variation in the timestamps produced by the network. Additionally, for the currently listed use-cases of PBTS, such as unbonding period, and light client trust period, the current bounds for these are in weeks. Adding a few seconds of tolerance by default is therefore unlikely to have serious side-effects.

## Data

### Cosmos Hub
Observation Period: 2022-02-03 20:22-2022-02-04 20:22

Avg Full Prevote Message Delay: 1.27s
Outliers: 11s,13s,50s,106s,144s
Total Outlier Heights: 86

Avg Quorum Prevote Message Delay: .77s
Outliers: 10s,14s,107s,144s
Total Outlier Heights: 617

Total heights: 11528

### Osmosis
Observation Period: 2022-01-29 20:26-2022-01-28 20:26
Avg Quorum Prevote Message Delay: .46s
Outliers: 21s,50s
Total Outlier Heights: 26
NOTE: During the observation period, a 'full' prevote was not observed.

Total heights: 13983

### E-Money
Observation Period: 2022-02-07 04:29-2022-02-08 04:29
Avg Full Prevote Message Delay: 4.25s
Outliers: 12s,15s,39s
Total Outlier Heights: 128

Avg Quorum Prevote Message Delay: .20s
Outliers: 28s
Total Outlier Heights: 15

Total heights: 3791
2022-02-19 19:53:18 +00:00