https://github.com/tendermint/tendermint
- HEAD
- refs/heads/0.35x
- refs/heads/1394-mempool-overload-2
- refs/heads/2565-max-age-duration
- refs/heads/2926_don_panic_with_getaddr
- refs/heads/abci++
- refs/heads/abci++_rebased
- refs/heads/abci-responses-flag-merge
- refs/heads/abci_remove_setOption
- refs/heads/add_persistence
- refs/heads/adi/gldb_test
- refs/heads/alessio/go1.14
- refs/heads/alessio/new-setup-test-configuration
- refs/heads/anca/block_search_q
- refs/heads/anca/fix_TestReactorTerminationScenarios
- refs/heads/anca/fix_pbts_tests
- refs/heads/anca/pbts_metrics
- refs/heads/anca/prevote_nil_untimely
- refs/heads/anca/remove_median_time
- refs/heads/anton/4963-jepsen-tests
- refs/heads/anton/block-file-format-adr
- refs/heads/bez/check-deliver-tx-block-gas-used
- refs/heads/bez/consensus-reactor-internal
- refs/heads/bez/kafka-indexer-sink
- refs/heads/bez/nuke-libs
- refs/heads/bez/p2p-refactor-blockchain-v2-reactor
- refs/heads/bez/revert-16bbe8c
- refs/heads/bez/v0.34.x-prioritized-mempool
- refs/heads/bez/wal-update
- refs/heads/breaking
- refs/heads/bucky/2871-disconnect-bad-peers
- refs/heads/bucky/adr-038
- refs/heads/bucky/chunking
- refs/heads/bucky/fix-pb2tm-header
- refs/heads/bucky/node-info-substructs
- refs/heads/bucky/upgrades
- refs/heads/bucky/versions
- refs/heads/bucky/ws
- refs/heads/cal/abci-client-mutex
- refs/heads/cal/backport-grpc-deprecation
- refs/heads/cal/default-trust-level
- refs/heads/cal/e2e-evidence
- refs/heads/cal/local-sync-adr
- refs/heads/cal/node-constructor
- refs/heads/cal/port-confix
- refs/heads/cal/prepare-proposal
- refs/heads/cal/process_proposal
- refs/heads/cal/rfc-lib-main
- refs/heads/cal/val-tool
- refs/heads/cal/vote-extensions-1
- refs/heads/cal/vote-extensions-2
- refs/heads/callum/adr16-versioning
- refs/heads/callum/app-version
- refs/heads/callum/config
- refs/heads/callum/e2e-timeout
- refs/heads/callum/e2e-upgrade
- refs/heads/callum/event-bus
- refs/heads/callum/evidence-hashes
- refs/heads/callum/handshake
- refs/heads/callum/mempool-full-error
- refs/heads/callum/merge-spec
- refs/heads/callum/nuke-libs
- refs/heads/callum/p2p-logs
- refs/heads/callum/p2p-provider
- refs/heads/callum/rfc-lib
- refs/heads/callum/simplify-config
- refs/heads/callum/v035-spec
- refs/heads/cason/bls-dev
- refs/heads/cason/rfc-accountability
- refs/heads/checked_ints
- refs/heads/clist-waitgroup
- refs/heads/cmd-add-p2p-external-address
- refs/heads/conr2d/doc-go-built-in
- refs/heads/creachadair/psql-event-schema
- refs/heads/delete-proto-gen-script
- refs/heads/dependabot/go_modules/master/github.com/bufbuild/buf-1.4.0
- refs/heads/dev/boiler_plate_val_distr_tets
- refs/heads/dev/simple_merkle_rfc
- refs/heads/do-not-delete/wiki
- refs/heads/docs-staging
- refs/heads/docs-tendermint-com
- refs/heads/dont_panic_fileperms
- refs/heads/e2e-avoid-random-node-selection
- refs/heads/e2e-extend-timeouts
- refs/heads/e2e-future-proof
- refs/heads/e2e-limit-experiment
- refs/heads/e2e-limited-no-catchup
- refs/heads/e2e-no-perterb
- refs/heads/e2e-perturb-timeouts
- refs/heads/e2e-small-suite
- refs/heads/erik/usi-kvstore-statesync
- refs/heads/feature/abci++vef
- refs/heads/feature/adr075-backport
- refs/heads/finalizeBlock
- refs/heads/fix-issue-8160
- refs/heads/igor/spec-annotations1.2-lightclient
- refs/heads/igor/tendermint-ind-inv
- refs/heads/indexer_return_early
- refs/heads/ismail/custom_types_revival_or_not
- refs/heads/jae/generalmerkle
- refs/heads/jae/literefactor6
- refs/heads/jae/verifyingcachineprovider
- refs/heads/jasmina-200-testnet
- refs/heads/jasmina/4457-blocksync-verification_part1
- refs/heads/jasmina/4457_block_sync_verification
- refs/heads/jasmina/8219-blocksync-spec
- refs/heads/jasmina/8219-blocksync-verification-rfc
- refs/heads/jasmina/e2efix-nightly-fails
- refs/heads/jasmina/kvindexer-eventq-0.37
- refs/heads/jasmina/kvindexer-fix-0.34
- refs/heads/jasmina/p2p-bad-peers
- refs/heads/jk/pbtsPOL
- refs/heads/jlandrews/removetimestamp
- refs/heads/jlandrews/trim_commit
- refs/heads/jmalicevic/4729-evidence-individual-processing
- refs/heads/josef/check-validators
- refs/heads/josef/i9573-josef-p2p
- refs/heads/lasarojc-patch-1
- refs/heads/lasarojc-patch-2
- refs/heads/lasarojc/spec/gossip
- refs/heads/main
- refs/heads/main-libp2p
- refs/heads/main-pbts
- refs/heads/main_backup
- refs/heads/manuel/abci++-spec-refactor-methodspage
- refs/heads/marko/4698grpc_priv
- refs/heads/marko/bringbackdocs
- refs/heads/marko/filter_logging
- refs/heads/marko/int64-
- refs/heads/marko/remove-apphash
- refs/heads/master
- refs/heads/mergify/bp/v0.34.x/pr-7266
- refs/heads/mergify/bp/v0.34.x/pr-7551
- refs/heads/mergify/bp/v0.34.x/pr-7625
- refs/heads/mergify/bp/v0.34.x/pr-9351
- refs/heads/mergify/bp/v0.34.x/pr-9367
- refs/heads/mergify/bp/v0.35.x/pr-7551
- refs/heads/mergify/bp/v0.35.x/pr-7625
- refs/heads/mergify/bp/v0.35.x/pr-7849
- refs/heads/mergify/bp/v0.35.x/pr-8694
- refs/heads/mergify/bp/v0.35.x/pr-9007
- refs/heads/mergify/bp/v0.36.x/pr-9007
- refs/heads/mergify/bp/v0.37.x/pr-9367
- refs/heads/mergify/bp/v0.37.x/pr-9473
- refs/heads/mergify/bp/v0.37.x/pr-9500
- refs/heads/mergify/bp/v0.37.x/pr-9505
- refs/heads/mergify/bp/v0.37.x/pr-9622
- refs/heads/mergify/bp/v0.37.x/pr-9650
- refs/heads/mergify/bp/v0.37.x/pr-9720
- refs/heads/mergify/bp/v0.37.x/pr-9933
- refs/heads/mjf/adr075-eventlog
- refs/heads/mjf/panic-tooling
- refs/heads/mjf/rpc-rfc-bbq
- refs/heads/mr/short-tests
- refs/heads/p2p-accept-not-abort
- refs/heads/proto-fixup
- refs/heads/proxy-move-internal
- refs/heads/proxy-remove-triforcated-client
- refs/heads/rc0/v0.33.8
- refs/heads/rc1/0.33.4
- refs/heads/rc1/v0.32.12
- refs/heads/rc1/v0.33.5
- refs/heads/rc1/v0.33.6
- refs/heads/rc2/v0.33.5
- refs/heads/rc5/v0.34.0
- refs/heads/rc6/v0.34.0
- refs/heads/rc7/v0.34.0
- refs/heads/release/0.32.12
- refs/heads/release/v0.28.0
- refs/heads/release/v0.28.1
- refs/heads/release/v0.29.0
- refs/heads/release/v0.29.1
- refs/heads/release/v0.29.2
- refs/heads/release/v0.30.0
- refs/heads/release/v0.30.1
- refs/heads/release/v0.30.2
- refs/heads/release/v0.30.3
- refs/heads/release/v0.31.0
- refs/heads/release/v0.31.0-dev0-fix
- refs/heads/release/v0.31.1
- refs/heads/release/v0.31.3
- refs/heads/release/v0.31.4
- refs/heads/release/v0.31.6
- refs/heads/release/v0.31.7
- refs/heads/release/v0.31.8
- refs/heads/release/v0.31.9
- refs/heads/release/v0.32.1
- refs/heads/release/v0.32.11
- refs/heads/release/v0.32.13
- refs/heads/release/v0.32.14
- refs/heads/release/v0.32.2
- refs/heads/release/v0.32.3
- refs/heads/release/v0.32.4
- refs/heads/release/v0.32.5
- refs/heads/release/v0.32.8
- refs/heads/release/v0.32.9
- refs/heads/release/v0.33.1
- refs/heads/release/v0.33.2
- refs/heads/release/v0.33.4
- refs/heads/release/v0.33.5
- refs/heads/release/v0.33.7
- refs/heads/release/v0.33.8
- refs/heads/release/v0.33.9
- refs/heads/release/v0.34.0
- refs/heads/release/v0.34.13
- refs/heads/release/v0.37.1
- refs/heads/removes-formatting
- refs/heads/removing-formatting
- refs/heads/revert-8754-thane/7832-generic-e2e-runner
- refs/heads/rfc-e2e-tests
- refs/heads/rpc-header
- refs/heads/sam/abci++-tutorial
- refs/heads/sam/abci-responses
- refs/heads/sam/test-lint-downgrade
- refs/heads/sergio/9954-fix-contexts
- refs/heads/sergio/chpi-finalize
- refs/heads/sergio/e2e-external-load-prototype
- refs/heads/sergio/for-william-timout-gc
- refs/heads/sergio/hide_header_beginblock
- refs/heads/sergio/vote-ext
- refs/heads/show_validator_experiments
- refs/heads/sign_bytes_amino
- refs/heads/split_validator_upgrade_test
- refs/heads/statesync-reactor-lifecycle
- refs/heads/stepper-default
- refs/heads/tau3/feature/2998/addressbooks-hash
- refs/heads/tessr/codeowner
- refs/heads/tessr/f
- refs/heads/tessr/speling
- refs/heads/tessr/tm-db
- refs/heads/thane/7655-vote-extensions
- refs/heads/thane/7832-generic-e2e-runner
- refs/heads/thane/8272-propagate-vote-extensions
- refs/heads/thane/9020-qa
- refs/heads/thane/adr-082-data-companion-api
- refs/heads/thane/adr-084-data-companion-pull-api
- refs/heads/thane/v0.34.x/ci-multiversion-e2e
- refs/heads/tmp
- refs/heads/tycho/mempool-prioritized-e2e-testing
- refs/heads/tycho/p2p-dialer-storage-change
- refs/heads/tycho/p2p-dialer-storage-change-35-backport
- refs/heads/tycho/p2p-dialer-store-change
- refs/heads/tychoish/adr-node-init
- refs/heads/tychoish/e2e-smaller-queues
- refs/heads/tychoish/rfc-databases
- refs/heads/tychoish/scratch-node-minimize
- refs/heads/update-to-consensus-params
- refs/heads/v0.19.1
- refs/heads/v0.19.2
- refs/heads/v0.25
- refs/heads/v0.30
- refs/heads/v0.31
- refs/heads/v0.31.6-changelog
- refs/heads/v0.31.9-changelog
- refs/heads/v0.32.5-backport
- refs/heads/v0.32.x
- refs/heads/v0.33.x
- refs/heads/v0.34.0-rc
- refs/heads/v0.34.x
- refs/heads/v0.35.x
- refs/heads/v0.36.x
- refs/heads/v0.37.x
- refs/heads/v035-mempool-test
- refs/heads/v035-testing
- refs/heads/wb/035-backport-ticker-startup
- refs/heads/wb/abc-cli-install
- refs/heads/wb/abci++-enum
- refs/heads/wb/abci++-metrics
- refs/heads/wb/abci++-protos-branch
- refs/heads/wb/abci-buffer-revert
- refs/heads/wb/abci-cli-install
- refs/heads/wb/abci-endblock-metric
- refs/heads/wb/abci-finalize-block-synchronize
- refs/heads/wb/abci-metrics
- refs/heads/wb/abci-metrics-backport
- refs/heads/wb/abci-prepare-proposal-synchronize
- refs/heads/wb/abci-process-proposal-synchronize
- refs/heads/wb/abcicli-test-fixup
- refs/heads/wb/adaptive-synchrony
- refs/heads/wb/add-consensus-param-internal
- refs/heads/wb/add-multiversion-script
- refs/heads/wb/add-nullable-false
- refs/heads/wb/add-timeout-params
- refs/heads/wb/adr-071
- refs/heads/wb/adr-74
- refs/heads/wb/apphash-fail
- refs/heads/wb/authors-script
- refs/heads/wb/backport-load-time
- refs/heads/wb/backport-load-time-v0.34
- refs/heads/wb/backport-metrics
- refs/heads/wb/backport-rpc-change
- refs/heads/wb/backport-ticker-startup
- refs/heads/wb/block-height-app-hash
- refs/heads/wb/block-time-metrics
- refs/heads/wb/blocksync-fastsync-rename
- refs/heads/wb/blocksync-shutdown-deadlock
- refs/heads/wb/builtin-tutorial-fixup
- refs/heads/wb/callbacks-invoked
- refs/heads/wb/callbacks-invoked-fp
- refs/heads/wb/celestia-fixes
- refs/heads/wb/chain-upgrade
- refs/heads/wb/change-con-startup-ordering
- refs/heads/wb/changelog-update
- refs/heads/wb/check-proposal-non-nil
- refs/heads/wb/clist-revert
- refs/heads/wb/clist-tests
- refs/heads/wb/config-queue-name
- refs/heads/wb/consensus-change
- refs/heads/wb/consensus-params-proto
- refs/heads/wb/consensus-timing-metrics
- refs/heads/wb/debug-db
- refs/heads/wb/default-synchrony
- refs/heads/wb/delete-gas
- refs/heads/wb/dialnext-error
- refs/heads/wb/dialwaker-change
- refs/heads/wb/dispatch-lightblock-race-cond
- refs/heads/wb/do-not-send-extensions-when-not-needed
- refs/heads/wb/dockerfile-fixup
- refs/heads/wb/e2e-cleanup-defer
- refs/heads/wb/e2e-do-disconnected
- refs/heads/wb/ensure-timeout-refactor
- refs/heads/wb/envelope-experiments
- refs/heads/wb/epoch-block-idea
- refs/heads/wb/epoch-block-idea-2
- refs/heads/wb/epoch-block-idea-3
- refs/heads/wb/epoch-fixes-forward-port
- refs/heads/wb/epoch-fixes-forward-port-master
- refs/heads/wb/even-faster-dial
- refs/heads/wb/evidence-nondeterminism
- refs/heads/wb/exec-tx-result
- refs/heads/wb/experiments
- refs/heads/wb/extensions-proto
- refs/heads/wb/fix-%w-error-format
- refs/heads/wb/fix-README-libs
- refs/heads/wb/fix-max-size-check
- refs/heads/wb/fix-new-node-dial
- refs/heads/wb/fix-pbts-params
- refs/heads/wb/fix-pqueue-metric
- refs/heads/wb/fix-proto-lints
- refs/heads/wb/fix-state-no-initialized
- refs/heads/wb/fix-test-errorf
- refs/heads/wb/fix-timeout-defaults
- refs/heads/wb/fuzz-testdata-cases
- refs/heads/wb/genesis-time-change
- refs/heads/wb/getfreeport-fix
- refs/heads/wb/handlemsg-error-handling
- refs/heads/wb/handshake-dial-timeout
- refs/heads/wb/handshake-dial-timeout-35
- refs/heads/wb/image-publish
- refs/heads/wb/implement-wrapper
- refs/heads/wb/increase-default-synchrony-params
- refs/heads/wb/ingest-consensus-params
- refs/heads/wb/ingest-params
- refs/heads/wb/initial-height
- refs/heads/wb/internal-consensus-param
- refs/heads/wb/internal-consensus-param-all
- refs/heads/wb/internal-consensus-param-commits
- refs/heads/wb/is-regression-testnet-peers-questionmark
- refs/heads/wb/is-timely
- refs/heads/wb/is-timely-metric
- refs/heads/wb/issue-3546
- refs/heads/wb/issue-5908
- refs/heads/wb/issue-6570
- refs/heads/wb/issue-6660
- refs/heads/wb/issue-6849
- refs/heads/wb/issue-6850
- refs/heads/wb/issue-7750
- refs/heads/wb/issue-7761
- refs/heads/wb/issue-7849
- refs/heads/wb/issue-7950
- refs/heads/wb/issue-8039
- refs/heads/wb/issue-8088
- refs/heads/wb/issue-8124
- refs/heads/wb/issue-8126
- refs/heads/wb/issue-8156
- refs/heads/wb/issue-8178
- refs/heads/wb/issue-8182
- refs/heads/wb/issue-8639
- refs/heads/wb/issue-9165
- refs/heads/wb/issue-9166
- refs/heads/wb/issue-9227
- refs/heads/wb/issue-9331
- refs/heads/wb/issue-9352
- refs/heads/wb/issue-9587
- refs/heads/wb/issue-9773
- refs/heads/wb/issue-9790
- refs/heads/wb/json-rpc-fuzz
- refs/heads/wb/light-client-sycnronization
- refs/heads/wb/light-client-test-fix
- refs/heads/wb/loadtime
- refs/heads/wb/lock-debug
- refs/heads/wb/lower-default-outgoing
- refs/heads/wb/mark-peer-unavailable-during-dispatch
- refs/heads/wb/master-2
- refs/heads/wb/max-connected
- refs/heads/wb/mconn-change
- refs/heads/wb/mconn-close-fix
- refs/heads/wb/merge-master
- refs/heads/wb/message-byte-measurement
- refs/heads/wb/message-delay-metrics
- refs/heads/wb/metrics-gen-transition
- refs/heads/wb/metrics-md-fixup
- refs/heads/wb/metrics-to-prom
- refs/heads/wb/metrics-wip
- refs/heads/wb/metricsdiff
- refs/heads/wb/mg
- refs/heads/wb/mg-issues
- refs/heads/wb/mockery-tools
- refs/heads/wb/mocks
- refs/heads/wb/more-dial-routines
- refs/heads/wb/msg-byte-tests
- refs/heads/wb/msg-byte-tests-22
- refs/heads/wb/msg-byte-tests-envelope
- refs/heads/wb/msg-byte-tests-no-envelope
- refs/heads/wb/multi-test-simultaneously
- refs/heads/wb/no-tx
- refs/heads/wb/no-update-until-start
- refs/heads/wb/option-3
- refs/heads/wb/p2p-accept-not-abort-v035
- refs/heads/wb/p2p-test
- refs/heads/wb/panic-on-serialize-fail
- refs/heads/wb/panic-remove
- refs/heads/wb/pbts-doc-fixup
- refs/heads/wb/pbts-metrics
- refs/heads/wb/pbts-overview
- refs/heads/wb/pbts-rebase
- refs/heads/wb/pbts-rebase-master
- refs/heads/wb/pbts-runbook
- refs/heads/wb/pbts-test-fixup
- refs/heads/wb/peer-manager-test-fix
- refs/heads/wb/peer-use-wait
- refs/heads/wb/peer-use-wait-backport
- refs/heads/wb/pqueue-close-test
- refs/heads/wb/pqueue-proposal
- refs/heads/wb/proposal-timeout
- refs/heads/wb/proposal-timestamp-difference
- refs/heads/wb/proposer-based-timestamps
- refs/heads/wb/proposer-based-timestamps-redux
- refs/heads/wb/proposer-brased-timestamps
- refs/heads/wb/proposer-sets-block-time
- refs/heads/wb/proposer-sets-own-time
- refs/heads/wb/proposer-waits-state
- refs/heads/wb/proposer-waits-until
- refs/heads/wb/proto-fixes
- refs/heads/wb/provider-mock
- refs/heads/wb/provider-mock-old
- refs/heads/wb/random-seed-testnet
- refs/heads/wb/rare-statesync-race-fix
- refs/heads/wb/rebuild-protos
- refs/heads/wb/rebuild-synchrony-params
- refs/heads/wb/refactor-ensure
- refs/heads/wb/reimpl
- refs/heads/wb/release-commit
- refs/heads/wb/release-document
- refs/heads/wb/remove-accuracy
- refs/heads/wb/remove-app-signed
- refs/heads/wb/remove-old-blockchain-reactors
- refs/heads/wb/remove-old-proto-lint
- refs/heads/wb/remove-privval-reseuse
- refs/heads/wb/remove-proposal-wait
- refs/heads/wb/remove-proto-lints
- refs/heads/wb/remove-rand-state-helpers
- refs/heads/wb/remove-rechecktx-panic
- refs/heads/wb/remove-vector-tests
- refs/heads/wb/remove-wake-more
- refs/heads/wb/remove-wake-more-v036
- refs/heads/wb/rename-timing-params
- refs/heads/wb/retry-blocksync-test
- refs/heads/wb/rfc-01-performance-questions
- refs/heads/wb/rfc-015
- refs/heads/wb/rfc-017-transition
- refs/heads/wb/rfc-block-structure
- refs/heads/wb/rfc-bls-project
- refs/heads/wb/rfc-broadcast-with-timeout
- refs/heads/wb/rfc-deterministic-proto-bytes
- refs/heads/wb/rfc-perf-taxonomy
- refs/heads/wb/rollback-test-fix
- refs/heads/wb/roundstate-test-fix
- refs/heads/wb/routes-combine
- refs/heads/wb/rw-bench
- refs/heads/wb/set-empty-timeouts
- refs/heads/wb/simple-property
- refs/heads/wb/simul-queue
- refs/heads/wb/state-add-vote-refactor
- refs/heads/wb/state-serialize
- refs/heads/wb/state-serialize-receive
- refs/heads/wb/state-sync-mock
- refs/heads/wb/statesync-init-deadlock
- refs/heads/wb/switch-to-cons-update-to-state
- refs/heads/wb/syncer-fix
- refs/heads/wb/synchronize-pbts-adr
- refs/heads/wb/synchrony-defaults
- refs/heads/wb/test
- refs/heads/wb/test-branch
- refs/heads/wb/test-fix
- refs/heads/wb/test-lint-upgrade
- refs/heads/wb/test-lint-upgrade-main
- refs/heads/wb/test-vote-extension-called
- refs/heads/wb/timely-metrics-fixup
- refs/heads/wb/tm-signer-harness
- refs/heads/wb/tools-fix
- refs/heads/wb/triggered-precommit-fix
- refs/heads/wb/txrset
- refs/heads/wb/undo-queue-buffer-limit
- refs/heads/wb/untimely-propose
- refs/heads/wb/update-changelog-6630
- refs/heads/wb/update-mockery
- refs/heads/wb/upgrade-p2p-v0.35
- refs/heads/wb/upgrade-test-prototype
- refs/heads/wb/use-buffered-channel-test-state-full-round
- refs/heads/wb/use-ctx-err
- refs/heads/wb/use-fifo-in-test
- refs/heads/wb/use-metricsgen
- refs/heads/wb/uuid-on-startup
- refs/heads/wb/v0.34.17-release-commit
- refs/heads/wb/v0.34.24-docker-release
- refs/heads/wb/v034-e2e
- refs/heads/wb/v035-testing
- refs/heads/wb/validator-set-changes-fail
- refs/heads/wb/validator-waits-for-proposal
- refs/heads/wb/vote-duplication
- refs/heads/wb/vote-extension-blocksync-test
- refs/heads/wb/vote-info-enum
- refs/heads/wb/vwfp-rebased
- refs/heads/wb/with-old-call
- refs/heads/zarko/1555-make-proposer-selection-functional
- refs/heads/zarko/add-experiments-code
- refs/heads/zm_light_client_spec
- refs/remotes/origin/config
- refs/remotes/tychoish/e2e-runner-load-generation
- refs/remotes/zmanian/zaki/HttpServerWithTimeouts
- refs/tags/0.1
- refs/tags/0.19.0-rc1
- refs/tags/0.19.0-rc2
- refs/tags/0.2
- refs/tags/v0.0.0
- refs/tags/v0.0.1
- refs/tags/v0.10.0
- refs/tags/v0.10.0-rc1
- refs/tags/v0.10.0-rc2
- refs/tags/v0.10.1
- refs/tags/v0.10.2
- refs/tags/v0.10.3
- refs/tags/v0.10.4
- refs/tags/v0.11.0
- refs/tags/v0.11.1
- refs/tags/v0.12.0
- refs/tags/v0.12.1
- refs/tags/v0.13.0
- refs/tags/v0.14.0
- refs/tags/v0.15.0
- refs/tags/v0.16.0
- refs/tags/v0.17.0
- refs/tags/v0.17.1
- refs/tags/v0.18.0
- refs/tags/v0.18.0-autodraft
- refs/tags/v0.18.0-rc1
- refs/tags/v0.19.0
- refs/tags/v0.19.0-rc3
- refs/tags/v0.19.0-rc4
- refs/tags/v0.19.1
- refs/tags/v0.19.2
- refs/tags/v0.19.2-rc0
- refs/tags/v0.19.3
- refs/tags/v0.19.3-rc0
- refs/tags/v0.19.4-rc0
- refs/tags/v0.19.5
- refs/tags/v0.19.5-rc0
- refs/tags/v0.19.5-rc1
- refs/tags/v0.19.6
- refs/tags/v0.19.6-rc0
- refs/tags/v0.19.6-rc1
- refs/tags/v0.19.6-rc2
- refs/tags/v0.19.7
- refs/tags/v0.19.7-rc0
- refs/tags/v0.19.8
- refs/tags/v0.19.9
- refs/tags/v0.19.9-rc0
- refs/tags/v0.20.0
- refs/tags/v0.20.0-rc0
- refs/tags/v0.20.0-rc1
- refs/tags/v0.20.0-rc2
- refs/tags/v0.20.0-rc3
- refs/tags/v0.20.1-rc0
- refs/tags/v0.21.0
- refs/tags/v0.21.0-rc0
- refs/tags/v0.21.1-rc0
- refs/tags/v0.21.1-rc1
- refs/tags/v0.22.0
- refs/tags/v0.22.0-autodraft
- refs/tags/v0.22.0-rc0
- refs/tags/v0.22.0-rc1
- refs/tags/v0.22.0-rc2
- refs/tags/v0.22.1
- refs/tags/v0.22.2
- refs/tags/v0.22.2-rc0
- refs/tags/v0.22.3
- refs/tags/v0.22.4
- refs/tags/v0.22.4-rc0
- refs/tags/v0.22.5
- refs/tags/v0.22.6
- refs/tags/v0.22.6-rc0
- refs/tags/v0.22.7
- refs/tags/v0.22.8
- refs/tags/v0.22.8-autodraft
- refs/tags/v0.22.8-rc0
- refs/tags/v0.23.0
- refs/tags/v0.23.1
- refs/tags/v0.23.1-rc0
- refs/tags/v0.24.0
- refs/tags/v0.24.0-rc0
- refs/tags/v0.25.0
- refs/tags/v0.25.1-rc0
- refs/tags/v0.26.0
- refs/tags/v0.26.0-dev0
- refs/tags/v0.26.0-rc0
- refs/tags/v0.26.0-rc1
- refs/tags/v0.26.1
- refs/tags/v0.26.1-rc0
- refs/tags/v0.26.1-rc1
- refs/tags/v0.26.1-rc2
- refs/tags/v0.26.1-rc3
- refs/tags/v0.26.2
- refs/tags/v0.26.2-rc0
- refs/tags/v0.26.3
- refs/tags/v0.26.4
- refs/tags/v0.27.0
- refs/tags/v0.27.0-dev0
- refs/tags/v0.27.0-dev1
- refs/tags/v0.27.0-rc0
- refs/tags/v0.27.0-rc1
- refs/tags/v0.27.1
- refs/tags/v0.27.2
- refs/tags/v0.27.3
- refs/tags/v0.27.4
- refs/tags/v0.28.0
- refs/tags/v0.28.0-beta1
- refs/tags/v0.28.0-beta2
- refs/tags/v0.28.0-dev0
- refs/tags/v0.28.1
- refs/tags/v0.29.0
- refs/tags/v0.29.0-beta0
- refs/tags/v0.29.0-beta1
- refs/tags/v0.29.0-rc0
- refs/tags/v0.29.1
- refs/tags/v0.29.1-rc0
- refs/tags/v0.29.2
- refs/tags/v0.29.2-rc0
- refs/tags/v0.29.2-rc1
- refs/tags/v0.29.2-rc2
- refs/tags/v0.30.0
- refs/tags/v0.30.0-rc0
- refs/tags/v0.30.1
- refs/tags/v0.30.2
- refs/tags/v0.30.3
- refs/tags/v0.30.4
- refs/tags/v0.31.0
- refs/tags/v0.31.0-dev0
- refs/tags/v0.31.0-dev0-fix0
- refs/tags/v0.31.0-rc0
- refs/tags/v0.31.1
- refs/tags/v0.31.10
- refs/tags/v0.31.11
- refs/tags/v0.31.12
- refs/tags/v0.31.2
- refs/tags/v0.31.2-rc0
- refs/tags/v0.31.3
- refs/tags/v0.31.4
- refs/tags/v0.31.5
- refs/tags/v0.31.6
- refs/tags/v0.31.7
- refs/tags/v0.31.8
- refs/tags/v0.31.9
- refs/tags/v0.32.0
- refs/tags/v0.32.1
- refs/tags/v0.32.10
- refs/tags/v0.32.11
- refs/tags/v0.32.12
- refs/tags/v0.32.13
- refs/tags/v0.32.14
- refs/tags/v0.32.2
- refs/tags/v0.32.3
- refs/tags/v0.32.4
- refs/tags/v0.32.5
- refs/tags/v0.32.6
- refs/tags/v0.32.7
- refs/tags/v0.32.8
- refs/tags/v0.32.9
- refs/tags/v0.33.0
- refs/tags/v0.33.1
- refs/tags/v0.33.2
- refs/tags/v0.33.3
- refs/tags/v0.33.4
- refs/tags/v0.33.5
- refs/tags/v0.33.6
- refs/tags/v0.33.7
- refs/tags/v0.33.8
- refs/tags/v0.33.9
- refs/tags/v0.34.0-rc3
- refs/tags/v0.34.11
- refs/tags/v0.34.13
- refs/tags/v0.35.0-rc1
- refs/tags/v0.35.0-rc2
- refs/tags/v0.7.0
- refs/tags/v0.7.1
- refs/tags/v0.7.2
- refs/tags/v0.7.3
- refs/tags/v0.7.4
- refs/tags/v0.8.0
- refs/tags/v0.9.0
- refs/tags/v0.9.1
- refs/tags/v0.9.2
- v0.37.0-rc2
- v0.37.0-rc1
- v0.37.0-alpha.2
- v0.37.0-alpha.1
- v0.36.0-dev
- v0.35.9-rc0
- v0.35.9
- v0.35.8
- v0.35.7
- v0.35.6
- v0.35.5
- v0.35.4
- v0.35.3
- v0.35.2
- v0.35.1
- v0.35.0-rc4
- v0.35.0-rc3
- v0.35.0-dev
- v0.35.0
- v0.34.9
- v0.34.8
- v0.34.7
- v0.34.6
- v0.34.5
- v0.34.4
- v0.34.3
- v0.34.24
- v0.34.23
- v0.34.22
- v0.34.21
- v0.34.20-rc1
- v0.34.20-rc0
- v0.34.20
- v0.34.2
- v0.34.19
- v0.34.18
- v0.34.17
- v0.34.16
- v0.34.15
- v0.34.14
- v0.34.12
- v0.34.10
- v0.34.1-rc1
- v0.34.1-dev1
- v0.34.1
- v0.34.0-rc6
- v0.34.0-rc5
- v0.34.0-rc4
- v0.34.0-rc2
- v0.34.0-dev1
- v0.34.0
- v0.33.1-dev3
- v0.33.1-dev2
- v0.33.1-dev1
- v0.33.1-dev0
- v0.33.0-dev2
- v0.33.0-dev1
- v0.32.13-rc1
- v0.32.0-dev2
- v0.32.0-dev1
- v0.32.0-dev0
- v0.10.5
- dev-v0.38.0
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
b7a42b5 | Anton Kaliaev | 23 October 2019, 23:03:09 UTC | fix test | 29 October 2019, 18:00:57 UTC |
3f23456 | Anton Kaliaev | 23 October 2019, 22:33:47 UTC | fix tests | 29 October 2019, 18:00:57 UTC |
761ac70 | Anton Kaliaev | 23 October 2019, 22:16:41 UTC | align max wal msg and max consensus msg sizes | 29 October 2019, 18:00:57 UTC |
8804495 | Anton Kaliaev | 17 October 2019, 23:08:36 UTC | fix merge conflicts | 29 October 2019, 18:00:57 UTC |
87374c9 | Anton Kaliaev | 17 October 2019, 22:39:15 UTC | update changelog and bump version to 0.31.11 | 29 October 2019, 18:00:57 UTC |
e78255c | Anton Kaliaev | 17 October 2019, 01:57:13 UTC | cs: only assert important stuff | 29 October 2019, 18:00:57 UTC |
6dee110 | Anton Kaliaev | 17 October 2019, 01:47:48 UTC | cs: test new limits | 29 October 2019, 18:00:57 UTC |
1abbdcb | Anton Kaliaev | 17 October 2019, 00:34:49 UTC | cs: limit max bit array size and block parts count | 29 October 2019, 18:00:57 UTC |
19971bd | Anton Kaliaev | 16 October 2019, 23:00:39 UTC | types: validate Part#Proof add ValidateBasic to crypto/merkle/SimpleProof | 29 October 2019, 18:00:57 UTC |
2abad85 | Anton Kaliaev | 16 October 2019, 20:26:36 UTC | cs: panic only when WAL#WriteSync fails - modify WAL#Write and WAL#WriteSync to return an error | 29 October 2019, 18:00:57 UTC |
0545f4c | Anton Kaliaev | 08 October 2019, 18:48:20 UTC | update changelog and bump version to v0.31.10 | 10 October 2019, 16:01:50 UTC |
5c9b5cf | Anton Kaliaev | 08 October 2019, 17:52:28 UTC | p2p: only allow ed25519 pubkeys when connecting also, recover from any possible failures in acceptPeers Refs #4030 | 10 October 2019, 16:01:50 UTC |
2cda97e | Marko | 02 October 2019, 06:25:11 UTC | Merge PR #4029: golangci remove | 02 October 2019, 06:32:55 UTC |
dee855c | Anton Kaliaev | 30 September 2019, 19:19:53 UTC | update changelog | 02 October 2019, 06:32:55 UTC |
882e854 | Anton Kaliaev | 22 June 2019, 06:30:23 UTC | Mergerun profileer in go func | 02 October 2019, 06:32:55 UTC |
a4f9c6a | Anton Kaliaev | 21 June 2019, 05:30:32 UTC | Merge node bug fix | 02 October 2019, 06:32:55 UTC |
832a98b | Zaki Manian | 27 September 2019, 21:46:10 UTC | Update CHANGELOG.md Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> | 02 October 2019, 06:32:55 UTC |
798354a | Zaki Manian | 26 September 2019, 16:12:05 UTC | Update changelog | 02 October 2019, 06:32:55 UTC |
97a6368 | Zaki Manian | 26 September 2019, 15:48:37 UTC | Update version.go for release | 02 October 2019, 06:32:55 UTC |
9939562 | Zaki Manian | 20 September 2019, 16:37:49 UTC | Fix for panic in signature verification if a peer sends a nil public key. | 02 October 2019, 06:32:55 UTC |
cb7aea7 | Ethan Buchman | 29 July 2019, 14:16:28 UTC | Merge pull request #3843 from tendermint/v0.31.8 v0.31.8 release | 29 July 2019, 14:16:28 UTC |
bb9ee2c | Anton Kaliaev | 29 July 2019, 13:58:58 UTC | bump version and update changelog | 29 July 2019, 13:58:58 UTC |
fe54b33 | Ethan Buchman | 29 July 2019, 11:43:40 UTC | Merge pull request #3837 from ruseinov/v0.31.8 V0.31.8 | 29 July 2019, 11:43:40 UTC |
7924c76 | Anton Kaliaev | 02 July 2019, 17:19:58 UTC | p2p: dial addrs which came from seed instead of calling ensurePeers (#3762) Calling ensurePeers outside of ensurePeersRoutine can lead to nodes disconnecting from us due to "sent next PEX request too soon" error. Solution is to just dial addrs we got from src instead of calling ensurePeers. Refs #2093 Fixes #3338 | 26 July 2019, 09:44:13 UTC |
e2775ba | Roman Useinov | 17 July 2019, 04:37:27 UTC | abci/server: recover from app panics in socket server (#3809) fixes #3800 | 26 July 2019, 09:43:52 UTC |
8fb2c2a | Ethan Buchman | 04 June 2019, 03:14:37 UTC | Merge pull request #3712 from tendermint/release/v0.31.7 Release/v0.31.7 | 04 June 2019, 03:14:37 UTC |
65a3dfe | Ethan Buchman | 03 June 2019, 15:34:21 UTC | changelog and version (#3709) | 03 June 2019, 15:34:21 UTC |
048ac8d | Anton Kaliaev | 03 June 2019, 12:46:02 UTC | remove invalid transactions from the mempool (#3701) Otherwise, we'll be trying to include them in each consecutive block. The downside is that evil proposers will be able to drop valid transactions (see #3322). Reverts https://github.com/tendermint/tendermint/pull/3625 Fixes #3699 | 03 June 2019, 12:46:02 UTC |
21bfd7f | Thane Thomson | 03 June 2019, 12:41:27 UTC | Add check for version/version.go TMCoreSemVer (#3704) | 03 June 2019, 12:41:27 UTC |
77e711f | Ethan Buchman | 30 May 2019, 23:15:48 UTC | Merge pull request #3695 from tendermint/release/v0.31.6 Release/v0.31.6 | 30 May 2019, 23:15:48 UTC |
0dd6b92 | Thane Thomson | 30 May 2019, 22:40:17 UTC | Relocate GenesisDocProvider and DefaultGenesisDocProviderFunc (#3693) * Move GenesisDocProvider and DefaultGenesisDocProviderFunc GenesisDocProvider, being a provider of *types.GenesisDoc, makes sense to be part of the types package. DefaultGenesisDocProviderFunc, which relies on *config.Config to produce a types.GenesisDocProvider, makes sense being part of the config package. * Add aliases to avoid breaking node package API * Revert to original structure After discussion, it appears as though the best place for the relocated structures is still in the node package. This means that for the v0.31.6 release and into the future, there will be no changes two these two entities' APIs. | 30 May 2019, 22:40:17 UTC |
9dcee69 | Anton Kaliaev | 30 May 2019, 22:25:21 UTC | v0.31.6 changelog (#3688) * update changelog * Update changelog - less detail about internal stuff like the `mempool` - focus BUG FIX entries more on what was fixed rather than how * minor cleanup. - remove entry for GenesisDocProvider, it's being undone * minor fix | 30 May 2019, 22:25:21 UTC |
b522ad0 | Girish Ramnani | 29 May 2019, 08:32:34 UTC | docs: fix minor typo (#3681) | 29 May 2019, 08:32:34 UTC |
b9508ff | Sean Braithwaite | 27 May 2019, 19:44:56 UTC | [p2p] Peer behaviour test tweaks (#3662) * Peer behaviour test tweaks: Address the remaining test issues mentioned in ##3552 notably: + switch to p2p_test package + Use `Error` instead of `Errorf` when not using formatting + Add expected/got errors to `TestMockPeerBehaviourReporterConcurrency` test * Peer behaviour equal behaviours test + slices of PeerBehaviours should be compared as histograms to ensure they have the same set of PeerBehaviours at the same freequncy. * TestEqualPeerBehaviours: + Add tests for the equivalence between sets of PeerBehaviours | 27 May 2019, 19:44:56 UTC |
a6ac611 | Thane Thomson | 27 May 2019, 19:33:41 UTC | tendermint testnet: Allow for better hostname control (#3661) * Allow testnet hostnames to be overridden This allows one to specify the `--hostname` flag multiple times, each time providing an additional custom hostname for a respective peer (validator or non-validator). This overrides any of the `--hostname-prefix` or `--starting-ip-address` flags. The string array approach is taken instead of the string slice approach (see the pflag docs: https://godoc.org/github.com/spf13/pflag#StringArray) because the string slice approach (a comma-separated string) doesn't allow for cleaner multi-line BASH scripts - where this feature is intended to be used. * Reorder conditional for clarity with simpler earlier return * Allow for specifying peer hostname suffix * Quote values in help strings for greater clarity * Fix command switch * Add CHANGELOG_PENDING entry for PR * Allow for unique monikers The current approach to generating monikers for testnet nodes assigns the local hostname of the machine on which the testnet config was generated to all nodes. This results in the same moniker for each and every node. This commit makes use of the supplied `--hostname-prefix` and `--hostname-suffix`, or `--hostname` parameters to generate unique monikers for each node. Alternatively, another parameter (`--random-monikers`) allows one to forcibly override all of the other options with random hexadecimal strings. * Update CHANGELOG_PENDING entry for new command line switch | 27 May 2019, 19:33:41 UTC |
e7bf258 | Ethan Buchman | 27 May 2019, 18:45:27 UTC | update PULL_REQUEST_TEMPLATE and CONTRIBUTING (#3655) * update PULL_REQUEST_TEMPLATE and CONTRIBUTING * Update .github/PULL_REQUEST_TEMPLATE.md Co-Authored-By: Thane Thomson <connect@thanethomson.com> * note ADRs | 27 May 2019, 18:45:27 UTC |
bcf10d5 | Anton Kaliaev | 27 May 2019, 18:39:58 UTC | p2p: peer state init too late and pex message too soon (#3634) * fix peer state init to late Peer does not have a state yet. We set it in AddPeer. We need an new interface before mconnection is started * pex message to soon fix reconnection pex send too fast, error is caused lastReceivedRequests is still not deleted when a peer reconnected * add test case for initpeer * add prove case * remove potentially infinite loop * Update consensus/reactor.go Co-Authored-By: guagualvcha <baifudong@lancai.cn> * Update consensus/reactor_test.go Co-Authored-By: guagualvcha <baifudong@lancai.cn> * document Reactor interface better * refactor TestReactorReceiveDoesNotPanicIfAddPeerHasntBeenCalledYet * fix merge conflicts * blockchain: remove peer's ID from the pool in InitPeer Refs #3338 * pex: resetPeersRequestsInfo both upon InitPeer and RemovePeer * ensure RemovePeer is always called before InitPeer by removing the peer from the switch last (after we've stopped it and removed from all reactors) * add some comments for ConsensusReactor#InitPeer * fix pex reactor * format code * fix spelling * update changelog * remove unused methods * do not clear lastReceivedRequests upon error only in RemovePeer * call InitPeer before we start the peer! * add a comment to InitPeer * write a test * use waitUntilSwitchHasAtLeastNPeers func * bring back timeouts * Test to ensure Receive panics if InitPeer has not been called | 27 May 2019, 18:39:58 UTC |
5997e75 | Carlos Flores | 23 May 2019, 16:56:57 UTC | fix integration script (#3667) | 23 May 2019, 16:56:57 UTC |
97ceeed | Ismail Khoffi | 23 May 2019, 08:09:52 UTC | Merge pull request #3670 from yutianwu/fix_proxy [R4R] Fix missing context parameter in proxy | 23 May 2019, 08:09:52 UTC |
3ef9e45 | yutianwu | 23 May 2019, 06:26:11 UTC | update change log | 23 May 2019, 06:26:11 UTC |
c7b324d | Ismail Khoffi | 23 May 2019, 05:45:05 UTC | Merge pull request #3675 from alexanderbez/bez/3672-improve-AddSignatureFromPubKey-error Improve error message returned from AddSignatureFromPubKey | 23 May 2019, 05:45:05 UTC |
cfd42be | Aleksandr Bezobchuk | 23 May 2019, 00:02:00 UTC | Improve error and tests | 23 May 2019, 00:02:00 UTC |
f1f243d | Roman Shtylman | 21 May 2019, 21:05:56 UTC | p2p/pex: consult seeds in crawlPeersRoutine (#3647) * p2p/pex: consult seeds in crawlPeersRoutine This changeset alters the startup behavior for crawlPeersRoutine. Previously the routine would crawl a random selection of peers on startup. For a new seed node, there are no peers. As a result, new seed nodes are unable to bootstrap themselves with a list of peers until another node with a list of peers connects to the seed. If this node relies on the seed node for peers, then the two will not discover more peers. This changeset makes the startup behavior for crawlPeersRoutine connect to any seed nodes. Upon connecting, a request for peers will be sent to the seed node thus helping bootstrap our seed node. * p2p/pex: Adjust error message for no peers Co-Authored-By: Ethan Buchman <ethan@coinculture.info> | 21 May 2019, 21:05:56 UTC |
fcce9ed | yutianwu | 21 May 2019, 06:23:50 UTC | fix lint | 21 May 2019, 06:23:50 UTC |
c21b4fc | yutianwu | 21 May 2019, 06:12:40 UTC | fix bug of proxy | 21 May 2019, 06:12:40 UTC |
86cf8ee | Sean Braithwaite | 10 May 2019, 17:45:50 UTC | p2p: PeerBehaviour implementation (#3539) (#3552) * p2p: initial implementation of peer behaviour * [p2p] re-use newMockPeer * p2p: add inline docs for peer_behaviour interface * [p2p] Align PeerBehaviour interface (#3558) * [p2p] make switchedPeerHebaviour private * [p2p] make storePeerHebaviour private * [p2p] Add CHANGELOG_PENDING entry for PeerBehaviour * [p2p] Adjustment naming for PeerBehaviour * [p2p] Add coarse lock around storedPeerBehaviour * [p2p]: Fix non-pointer methods in storedPeerBehaviour + Structs with embeded locks must specify all methods with pointer receivers to avoid creating a copy of the embeded lock. * [p2p] Thorough refactoring based on comments in #3552 + Decouple PeerBehaviour interface from Peer by parametrizing methods with `p2p.ID` instead of `p2p.Peer` + Setter methods wrapped in a write lock + Getter methods wrapped in a read lock + Getter methods on storedPeerBehaviour now take a `p2p.ID` + Getter methods return a copy of underlying stored behaviours + Add doc strings to public types and methods * [p2p] make structs public * [p2p] Test empty StoredPeerBehaviour * [p2p] typo fix * [p2p] add TestStoredPeerBehaviourConcurrency + Add a test which uses StoredPeerBehaviour in multiple goroutines to ensure thread-safety. * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour_test.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * Update p2p/peer_behaviour.go Co-Authored-By: brapse <brapse@gmail.com> * [p2p] field ordering convention * p2p: peer behaviour refactor + Change naming of reporting behaviour to `Report` + Remove the responsibility of distinguishing between the categories of good and bad behaviour and instead focus on reporting behaviour. * p2p: rename PeerReporter -> PeerBehaviourReporter | 10 May 2019, 17:45:50 UTC |
6f1ccb6 | Zarko Milosevic | 10 May 2019, 17:37:21 UTC | [ADR] ADR-36: blockchain reactor refactor spec (#3506) * Add blockchain reactor refactor ADR * docs: Correct markdown and go syntax in adr-036 * Update docs/architecture/adr-036-blockchain-reactor-refactor.md Co-Authored-By: milosevic <zarko@interchain.io> * Add comments and address reviewer comments * Improve formating * Small improvements * adr-036 -> adr-040 | 10 May 2019, 17:37:21 UTC |
a076b48 | Anton Kaliaev | 07 May 2019, 10:06:20 UTC | libs/db: boltdb: use slice instead of sync.Map (#3633) for storing batch keys and values in boltDBBatch. NOTE: batch does not have to be safe for concurrent access. Delete may be slow, but given it should not be used often, it's ok. Fixes #3631 | 07 May 2019, 10:06:20 UTC |
a7358bc | Anton Kaliaev | 07 May 2019, 08:33:47 UTC | libs/db: conditional compilation (#3628) * libs/db: conditional compilation For cleveldb: go build -tags cleveldb For boltdb: go build -tags boltdb Fixes #3611 * document db_backend param better * remove deprecated LevelDBBackend * update changelog * add missing lines * add new line * fix TestRemoteDB * add a line about boltdb tag * Revert "remove deprecated LevelDBBackend" This reverts commit 1aa85453f76605e0c4d967601bbe26240e668d51. * make PR non breaking * change DEPRECATED label format https://stackoverflow.com/a/36360323/820520 | 07 May 2019, 08:33:47 UTC |
27909e5 | Anton Kaliaev | 07 May 2019, 08:25:35 UTC | mempool: remove only valid (Code==0) txs on Update (#3625) * mempool: remove only valid (Code==0) txs on Update so evil proposers can't drop valid txs in Commit stage. Also remove invalid (Code!=0) txs from the cache so they can be resubmitted. Fixes #3322 @rickyyangz: In the end of commit stage, we will update mempool to remove all the txs in current block. // Update mempool. err = blockExec.mempool.Update( block.Height, block.Txs, TxPreCheck(state), TxPostCheck(state), ) Assum an account has 3 transactions in the mempool, the sequences are 100, 101 and 102 separately, So an evil proposal can only package the 101 and 102 transactions into its proposal block, and leave 100 still in mempool, then the two txs will be removed from all validators' mempool when commit. So the account lost the two valid txs. @ebuchman: In the longer term we may want to do something like #2639 so we can validate txs before we commit the block. But even in this case we'd only want to run the equivalent of CheckTx, which means the DeliverTx could still fail even if the CheckTx passes depending on how the app handles the ABCI Code semantics. So more work will be required around the ABCI code. See also #2185 * add changelog entry and tests * improve changelog message * reformat code | 07 May 2019, 08:25:35 UTC |
1e07381 | Anton Kaliaev | 07 May 2019, 07:09:06 UTC | rpc: /dial_peers: only mark peers as persistent if flag is on (#3620) ## Description also handle errors from DialPeersAsync remove nil addr from log msg fix TestPEXReactorDoesNotDisconnectFromPersistentPeerInSeedMode This is a follow-up from #3593 (review) Fixes most of the #3617, except #3593 (comment) ## Commits * rpc: /dial_peers: only mark peers as persistent if flag is on also - handle errors from DialPeersAsync - remove nil addr from log msg - fix TestPEXReactorDoesNotDisconnectFromPersistentPeerInSeedMode This is a follow-up from https://github.com/tendermint/tendermint/pull/3593#pullrequestreview-233556909 * remove a call to AddPersistentPeers TestDialFail will trigger a reconnect | 07 May 2019, 07:09:06 UTC |
2bb1a87 | Ismail Khoffi | 07 May 2019, 07:03:49 UTC | Merge pull request #3629 from leoluk/fix-boltdb-batch libs/db: fix boltdb batching | 07 May 2019, 07:03:49 UTC |
d0d9ef1 | Leo | 06 May 2019, 20:10:39 UTC | libs/db: fix boltdb batching `[]byte` is unhashable and needs to be casted to a string. See https://github.com/tendermint/tendermint/pull/3610#discussion_r280995538 Ref https://github.com/tendermint/tendermint/issues/3626 | 06 May 2019, 20:10:39 UTC |
60b8334 | Anton Kaliaev | 06 May 2019, 17:37:41 UTC | libs/db: close boltDBIterator (#3627) Refs https://github.com/tendermint/tendermint/pull/3610#discussion_r281201274 If we do not close, other txs will be stuck forever. | 06 May 2019, 17:37:41 UTC |
debf8f7 | Anton Kaliaev | 06 May 2019, 09:42:21 UTC | libs/db: bbolt (etcd's fork of bolt) (#3610) Description: add boltdb implement for db interface. The boltdb is safe and high performence embedded KV database. It is based on B+tree and Mmap. Now it is maintained by etcd-io org. https://github.com/etcd-io/bbolt It is much better than LSM tree (levelDB) when RANDOM and SCAN read. Replaced #3604 Refs #1835 Commits: * add boltdb for storage * update boltdb in gopkg.toml * update bbolt in Gopkg.lock * dep update Gopkg.lock * add boltdb'bucket when create Boltdb * some modifies * address my own comments * fix most of the Iterator tests for boltdb * bolt does not support concurrent writes while iterating * add WARNING word * note that ReadOnly option is not supported * fixes after Ismail's review Co-Authored-By: melekes <anton.kalyaev@gmail.com> * panic if View returns error plus specify bucket in the top comment | 06 May 2019, 09:42:21 UTC |
4519ef3 | Ethan Buchman | 05 May 2019, 16:42:26 UTC | adr renames (#3622) | 05 May 2019, 16:42:26 UTC |
86f2765 | Mostafa Sedaghat Joo | 05 May 2019, 16:19:41 UTC | Add adr-36 (#3324) | 05 May 2019, 16:19:41 UTC |
e2f5471 | Daniil Lashin | 05 May 2019, 16:19:19 UTC | ADR-037: DeliverBlock (#3420) * ADR 037 Initial draft * Add link to initial conversation * Update initial draft * Fix indentations * Change negative consequences * Fix indentations * Change ADR id * Add one more positive consequence * Rollback ADR number | 05 May 2019, 16:19:19 UTC |
4905640 | Ethan Buchman | 05 May 2019, 16:01:35 UTC | types: CommitVotes struct as last step towards #1648 (#3298) * VoteSignBytes builds CanonicalVote * CommitVotes implements VoteSetReader - new CommitVotes struct holds both the Commit and the ValidatorSet and implements VoteSetReader - ToVote takes a ValidatorSet * fix TestCommit * use CommitSig.BlockID Commits may include votes for a different BlockID, could be nil, or different altogether. This means we can't use `commit.BlockID` for reconstructing the sign bytes, since up to -1/3 of the commits might be for independent BlockIDs. This means CommitSig will need to include an indicator for what BlockID it signed - if it's not the committed one or nil, it will need to include it fully in order to be verified. This is unfortunate but unavoidable so long as we include votes for non-committed BlockIDs (which we do to track validator liveness) * fixes from review * remove CommitVotes. CommitSig contains address * remove commit.canonicalVote method * toVote -> getVote, takes valIdx * update adr-025 * commit.ToVoteSet -> CommitToVoteSet * add test * fix from review | 05 May 2019, 16:01:35 UTC |
4c60ab8 | needkane | 05 May 2019, 14:23:41 UTC | Update apps.md (#3621) | 05 May 2019, 14:23:41 UTC |
5051a1f | Anton Kaliaev | 04 May 2019, 06:41:31 UTC | mempool: move interface into mempool package (#3524) ## Description Refs #2659 Breaking changes in the mempool package: [mempool] #2659 Mempool now an interface old Mempool renamed to CListMempool NewMempool renamed to NewCListMempool Option renamed to CListOption MempoolReactor renamed to Reactor NewMempoolReactor renamed to NewReactor unexpose TxID method TxInfo.PeerID renamed to SenderID unexpose MempoolReactor.Mempool Breaking changes in the state package: [state] #2659 Mempool interface moved to mempool package MockMempool moved to top-level mock package and renamed to Mempool Non Breaking changes in the node package: [node] #2659 Add Mempool method, which allows you to access mempool ## Commits * move Mempool interface into mempool package Refs #2659 Breaking changes in the mempool package: - Mempool now an interface - old Mempool renamed to CListMempool Breaking changes to state package: - MockMempool moved to mempool/mock package and renamed to Mempool - Mempool interface moved to mempool package * assert CListMempool impl Mempool * gofmt code * rename MempoolReactor to Reactor - combine everything into one interface - rename TxInfo.PeerID to TxInfo.SenderID - unexpose MempoolReactor.Mempool * move mempool mock into top-level mock package * add a fixme TxsFront should not be a part of the Mempool interface because it leaks implementation details. Instead, we need to come up with general interface for querying the mempool so the MempoolReactor can fetch and broadcast txs to peers. * change node#Mempool to return interface * save commit = new reactor arch * Revert "save commit = new reactor arch" This reverts commit 1bfceacd9d65a720574683a7f22771e69af9af4d. * require CListMempool in mempool.Reactor * add two changelog entries * fixes after my own review * quote interfaces, structs and functions * fixes after Ismail's review * make node's mempool an interface * make InitWAL/CloseWAL methods a part of Mempool interface * fix merge conflicts * make node's mempool an interface | 04 May 2019, 06:41:31 UTC |
8711af6 | Anton Kaliaev | 03 May 2019, 13:21:56 UTC | p2p: make persistent prop independent of conn direction (#3593) ## Description Previously only outbound peers can be persistent. Now, even if the peer is inbound, if it's marked as persistent, when/if conn is lost, Tendermint will try to reconnect. This part is actually optional and can be reverted. Plus, seed won't disconnect from inbound peer if it's marked as persistent. Fixes #3362 ## Commits * make persistent prop independent of conn direction Previously only outbound peers can be persistent. Now, even if the peer is inbound, if it's marked as persistent, when/if conn is lost, Tendermint will try to reconnect. Plus, seed won't disconnect from inbound peer if it's marked as persistent. Fixes #3362 * fix TestPEXReactorDialPeer test * add a changelog entry * update changelog * add two tests * reformat code * test UnsafeDialPeers and UnsafeDialSeeds * add TestSwitchDialPeersAsync * spec: update p2p/config spec * fixes after Ismail's review * Apply suggestions from code review Co-Authored-By: melekes <anton.kalyaev@gmail.com> * fix merge conflict * remove sleep from TestPEXReactorDoesNotDisconnectFromPersistentPeerInSeedMode We don't need it actually. | 03 May 2019, 13:21:56 UTC |
9926ae7 | Anton Kaliaev | 02 May 2019, 07:53:33 UTC | abci/types: update comment (#3612) Fixes #3607 | 02 May 2019, 07:53:33 UTC |
5df6cf5 | Ivan Kushmantsev | 02 May 2019, 06:09:56 UTC | p2p: session should terminate on nonce wrapping (#3531) (#3609) Refs #3531 | 02 May 2019, 06:09:56 UTC |
2c26d95 | JamesRay | 01 May 2019, 21:15:53 UTC | cs/replay: execCommitBlock should not read from state.lastValidators (#3067) * execCommitBlock should not read from state.lastValidators * fix height 1 * fix blockchain/reactor_test * fix consensus/mempool_test * fix consensus/reactor_test * fix consensus/replay_test * add CHANGELOG * fix consensus/reactor_test * fix consensus/replay_test * add a test for replay validators change * fix mem_pool test * fix byzantine test * remove a redundant code * reduce validator change blocks to 6 * fix * return peer0 config * seperate testName * seperate testName 1 * seperate testName 2 * seperate app db path * seperate app db path 1 * add a lock before startNet * move the lock to reactor_test * simulate just once * try to find problem * handshake only saveState when app version changed * update gometalinter to 3.0.0 (#3233) in the attempt to fix https://circleci.com/gh/tendermint/tendermint/43165 also code is simplified by running gofmt -s . remove unused vars enable linters we're currently passing remove deprecated linters (cherry picked from commit d47094550315c094512a242445e0dde24b5a03f5) * gofmt code * goimport code * change the bool name to testValidatorsChange * adjust receive kvstore.ProtocolVersion * adjust receive kvstore.ProtocolVersion 1 * adjust receive kvstore.ProtocolVersion 3 * fix merge execution.go * fix merge develop * fix merge develop 1 * fix run cleanupFunc * adjust code according to reviewers' opinion * modify the func name match the convention * simplify simulate a chain containing some validator change txs 1 * test CI error * Merge remote-tracking branch 'upstream/develop' into fixReplay 1 * fix pubsub_test * subscribeUnbuffered vote channel | 01 May 2019, 21:15:53 UTC |
a2a68df | Ivan Kushmantsev | 01 May 2019, 06:01:41 UTC | cli: add option to not clear address book with unsafe reset (#3606) Fixes #3585 | 01 May 2019, 06:01:41 UTC |
4334802 | Anton Kaliaev | 01 May 2019, 05:38:26 UTC | pex: various follow-ups (#3605) * p2p: merge switch cases also improve the error msg in privval * pex: refactor code plus update specification follow-up to https://github.com/tendermint/tendermint/pull/3603 * Update docs/spec/reactors/pex/pex.md Co-Authored-By: melekes <anton.kalyaev@gmail.com> | 01 May 2019, 05:38:26 UTC |
40dbad9 | Roman Shtylman | 30 April 2019, 06:17:57 UTC | pex: dial seeds when address book needs more addresses (#3603) If we are low on addresses for peering, we need to discover more peers. The previous behavior would query existing peers; however, if an existing peer does not participate in peer exchange, then our node will not discover more peers. This change consults both existing peers as well as seeds when there is a deficit in address book addresses. This allows for discovering peers though existing channels as well as via seeds if existing peers do not share addresses. | 30 April 2019, 06:17:57 UTC |
2585187 | Ethan Buchman | 26 April 2019, 23:14:54 UTC | Merge pull request #3597 from tendermint/bucky/merge-master Bucky/merge master | 26 April 2019, 23:14:54 UTC |
d76952c | Ethan Buchman | 26 April 2019, 21:49:28 UTC | Merge branch 'master' into bucky/merge-master | 26 April 2019, 21:49:28 UTC |
7b162f5 | Thane Thomson | 26 April 2019, 12:05:39 UTC | node: refactor node.NewNode (#3456) The node.NewNode method is pretty complex at the moment, an in order to address issues like #3156, we need to simplify the interface for partial node instantiation. In some places, we don't need to build up a full node (like in the node.TestCreateProposalBlock test), but the complexity of such partial instantiation needs to be reduced. This PR aims to eventually make this easier/simpler. See also this gist https://gist.github.com/thanethomson/56e1640d057a26186e38ad678a1d114c for some background work done when starting to refactor here. ## Commits: * [WIP] Refactor node.NewNode to simplify The `node.NewNode` method is pretty complex at the moment, an in order to address issues like #3156, we need to simplify the interface for partial node instantiation. In some places, we don't need to build up a full node (like in the `node.TestCreateProposalBlock` test), but the complexity of such partial instantiation needs to be reduced. This PR aims to eventually make this easier/simpler. * Refactor state loading and genesis doc provider into state package * Refactor for clarity of return parameters * Fix incorrect capitalization of error messages * Simplify extracted functions' names * Document optionally-prefixed functions * Refactor optionallyFastSync for clarity of separation of concerns * Restructure function for early return * Restructure function for early return * Remove dependence on deprecated panic functions * refactor code a bit more plus, expose PEXReactor on node * align logger names * add a changelog entry * align logger names 2 * add a note about PEXReactor returning nil | 26 April 2019, 12:05:39 UTC |
70592cc | Thane Thomson | 26 April 2019, 10:23:43 UTC | libs/common: remove deprecated PanicXXX functions (#3595) * Remove deprecated PanicXXX functions from codebase As per discussion over [here](https://github.com/tendermint/tendermint/pull/3456#discussion_r278423492), we need to remove these `PanicXXX` functions and eliminate our dependence on them. In this PR, each and every `PanicXXX` function call is replaced with a simple `panic` call. * add a changelog entry | 26 April 2019, 10:23:43 UTC |
90997ab | Ethan Buchman | 23 April 2019, 09:34:14 UTC | docs: update contributing.md (#3503) Minor updates to reflect squash merging and how to prepare releases | 23 April 2019, 09:34:14 UTC |
b738add | Zarko Milosevic | 23 April 2019, 09:19:16 UTC | cs: fix nondeterministic tests (#3582) Should fix #3451, #2723 and #3317. Test TestResetTimeoutPrecommitUponNewHeight is simplified so it reduces a risk of timeout failure. Furthermore, timeout we wait for TimeoutEvents is increased, and the timeout value is more precisely computed. This should hopefully decrease a chance of non-deterministic test failures. This assertion is problematic to ensure consistently due to dependency on scheduler. On the other hand, if I am not wrong, order in which messages are read from the channel respects order in which messages are written. Therefore, process will receive 2f+1 precommits that are not all for v (one is for nil) so TriggeredTimeoutPrecommit would be set to true. So we don't need to assert it. I know that it would be better to still assert to it but I don't know how to do it without sleep and that is ugly and is causing us nondeterministic failures. | 23 April 2019, 09:19:16 UTC |
968e955 | Greg Hill | 23 April 2019, 08:52:46 UTC | testnet cmd: add config option (#3559) Option to explicitly provide the -config in the testnet command, closing #3160. | 23 April 2019, 08:52:46 UTC |
ebf815e | Anton Kaliaev | 23 April 2019, 08:22:40 UTC | cs/replay: check appHash for each block (#3579) * check every block appHash Fixes #3460 Not really needed, but it would detect if the app changed in a way it shouldn't have. * add a changelog entry * no need to return an error if we panic * rename methods * rename methods once again * add a test * correct error msg plus fix a few go-lint warnings * better panic msg | 23 April 2019, 08:22:40 UTC |
8db7e74 | Ismail Khoffi | 22 April 2019, 08:04:04 UTC | privval: increase timeout to mitigate non-deterministic test failure (#3580) This should fix #3576 (ran it many times locally but only time will tell). The test actually only checked for the opcode of the error. From the name of the test we actually want to test if we see a timeout after a pre-defined time. ## Commits: * increase readWrite timeout as it is also used in the `Accept` of the tcp listener: - before this caused the readWriteTimeout to kick in (rarely) while Accept - as a side-effect: remove obsolete time.Sleep: in both listener cases the Accept will only return after successfully accepting and the timeout that is supposed to be tested here will be triggered because there is a read without a write - see if we actually run into a timeout error (the whole purpose of this test AFAIU) Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * makee local test-vars `const` Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> ## Additional comments: @xla: Confusing how an accept could take longer than that, but assuming a noisy environment full of little docker whales will be slower than what 50 years of silicon are capable of. The only thing I'd be vary of is that we mask structural issues with the code by just bumping the timeout, if we are sensitive towards that it warrants invesigation, but again this might only be true in the environment our CI runs in. | 22 April 2019, 08:04:04 UTC |
4253e67 | Ethan Buchman | 19 April 2019, 11:46:11 UTC | Merge pull request #3571 from tendermint/v0.31 V0.31.5 | 19 April 2019, 11:46:11 UTC |
671c5c9 | Sean Braithwaite | 18 April 2019, 15:31:36 UTC | crypto: Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) (#2611) had suggested that an iterative version of SimpleHashFromByteSlice would be faster, presumably because we can envision some overhead accumulating from stack frames and function calls. Additionally, a recursive algorithm risks hitting the stack limit and causing a stack overflow should the tree be too large. Provided here is an iterative alternative, a simple test to assert correctness and a benchmark. On the performance side, there appears to be no overall difference: ``` BenchmarkSimpleHashAlternatives/recursive-4 20000 77677 ns/op BenchmarkSimpleHashAlternatives/iterative-4 20000 76802 ns/op ``` On the surface it might seem that the additional overhead is due to the different allocation patterns of the implementations. The recursive version uses a single `[][]byte` slices which it then re-slices at each level of the tree. The iterative version reproduces `[][]byte` once within the function and then rewrites sub-slices of that array at each level of the tree. Eexperimenting by modifying the code to simply calculate the hash and not store the result show little to no difference in performance. These preliminary results suggest: 1. The performance of the current implementation is pretty good 2. Go has low overhead for recursive functions 3. The performance of the SimpleHashFromByteSlice routine is dominated by the actual hashing of data Although this work is in no way exhaustive, point #3 suggests that optimizations of this routine would need to take an alternative approach to make significant improvements on the current performance. Finally, considering that the recursive implementation is easier to read, it might not be worthwhile to switch to a less intuitive implementation for so little benefit. * re-add slice re-writing * [crypto] Document SimpleHashFromByteSlicesIterative | 18 April 2019, 15:31:36 UTC |
f2aa1bf | kevlubkcm | 17 April 2019, 16:14:01 UTC | bandaid for non-deterministic clist test (#3575) * add a deterministic timeout Co-Authored-By: kevlubkcm <36485490+kevlubkcm@users.noreply.github.com> | 17 April 2019, 16:14:01 UTC |
90465f7 | Thane Thomson | 17 April 2019, 15:10:12 UTC | rpc: add support for batched requests/responses (#3534) Continues from #3280 in building support for batched requests/responses in the JSON RPC (as per issue #3213). * Add JSON RPC batching for client and server As per #3213, this adds support for [JSON RPC batch requests and responses](https://www.jsonrpc.org/specification#batch). * Add additional checks to ensure client responses are the same as results * Fix case where a notification is sent and no response is expected * Add test to check that JSON RPC notifications in a batch are left out in responses * Update CHANGELOG_PENDING.md * Update PR number now that PR has been created * Make errors start with lowercase letter * Refactor batch functionality to be standalone This refactors the batching functionality to rather act in a standalone way. In light of supporting concurrent goroutines making use of the same client, it would make sense to have batching functionality where one could create a batch of requests per goroutine and send that batch without interfering with a batch from another goroutine. * Add examples for simple and batch HTTP client usage * Check errors from writer and remove nolinter directives * Make error strings start with lowercase letter * Refactor examples to make them testable * Use safer deferred shutdown for example Tendermint test node * Recompose rpcClient interface from pre-existing interface components * Rename WaitGroup for brevity * Replace empty ID string with request ID * Remove extraneous test case * Convert first letter of errors.Wrap() messages to lowercase * Remove extraneous function parameter * Make variable declaration terse * Reorder WaitGroup.Done call to help prevent race conditions in the face of failure * Swap mutex to value representation and remove initialization * Restore empty JSONRPC string ID in response to prevent nil * Make JSONRPCBufferedRequest private * Revert PR hard link in CHANGELOG_PENDING * Add client ID for JSONRPCClient This adds code to automatically generate a randomized client ID for the JSONRPCClient, and adds a check of the IDs in the responses (if one was set in the requests). * Extract response ID validation into separate function * Remove extraneous comments * Reorder fields to indicate clearly which are protected by the mutex * Refactor for loop to remove indexing * Restructure and combine loop * Flatten conditional block for better readability * Make multi-variable declaration slightly more readable * Change for loop style * Compress error check statements * Make function description more generic to show that we support different protocols * Preallocate memory for request and result objects | 17 April 2019, 15:10:12 UTC |
621c0e6 | kevlubkcm | 17 April 2019, 15:09:17 UTC | docs: fix typo in clist readme (#3574) | 17 April 2019, 15:09:17 UTC |
c0e8fb5 | Anton Kaliaev | 17 April 2019, 12:44:26 UTC | p2p: (seed mode) limit the number of attempts to connect to a peer (#3573) * use dialPeer function in a seed mode Fixes #3532 by storing a number of attempts we've tried to connect in-memory and removing the address from addrbook when number of attempts > 16 | 17 April 2019, 12:44:26 UTC |
d2eab53 | Ethan Buchman | 16 April 2019, 20:51:18 UTC | Merge pull request #3568 from tendermint/anton/release-v0.31.5 v0.31.5 changelog and version updates | 16 April 2019, 20:51:18 UTC |
18bd5b6 | Ismail Khoffi | 16 April 2019, 11:13:30 UTC | Apply suggestions from code review Co-Authored-By: melekes <anton.kalyaev@gmail.com> | 16 April 2019, 11:13:30 UTC |
4474a5e | Anton Kaliaev | 16 April 2019, 09:34:01 UTC | bump version | 16 April 2019, 09:38:54 UTC |
3cb7013 | Anton Kaliaev | 16 April 2019, 09:33:51 UTC | update changelog | 16 April 2019, 09:38:54 UTC |
5b8888b | hucc | 16 April 2019, 08:04:09 UTC | common: CMap: slight optimization in Keys() and Values(). (#3567) | 16 April 2019, 08:04:08 UTC |
439312b | zjubfd | 16 April 2019, 07:54:19 UTC | blockchain: dismiss request channel delay (#3459) Fixes #3457 The topic of the issue is that : write a BlockRequest int requestsCh channel will create an timer at the same time that stop the peer 15s later if no block have been received . But pop a BlockRequest from requestsCh and send it out may delay more than 15s later. So that the peer will be stopped for error("send nothing to us"). Extracting requestsCh into its own goroutine can make sure that every BlockRequest been handled timely. Instead of the requestsCh handling, we should probably pull the didProcessCh handling in a separate go routine since this is the one "starving" the other channel handlers. I believe the way it is right now, we still have issues with high delays in errorsCh handling that might cause sending requests to invalid/ disconnected peers. | 16 April 2019, 07:54:19 UTC |
f1cf101 | dongsamb | 16 April 2019, 04:49:03 UTC | gitignore: add .vendor-new (#3566) | 16 April 2019, 04:49:03 UTC |
50b87c3 | Anton Kaliaev | 15 April 2019, 14:53:38 UTC | state: Use last height changed if validator set is empty (#3560) What happened: New code was supposed to fall back to last height changed when/if it failed to find validators at checkpoint height (to make release non-breaking). But because we did not check if validator set is empty, the fall back logic was never executed => resulting in LoadValidators returning an empty validator set for cases where `lastStoredHeight` is checkpoint height (i.e. almost all heights if the application does not change validator set often). How it was found: one of our users - @sunboshan reported a bug here https://github.com/tendermint/tendermint/pull/3537#issuecomment-482711833 * use last height changed in validator set is empty * add a changelog entry | 15 April 2019, 14:53:38 UTC |
f2119c3 | Sean Braithwaite | 15 April 2019, 14:38:45 UTC | adr: PeerBehaviour updates (#3558) * [adr] Peer behaviour adr updates * [docs] fix Behaved function signature * [adr] typo fix in code example | 15 April 2019, 14:38:45 UTC |
d35c087 | Ethan Buchman | 15 April 2019, 12:16:37 UTC | Merge pull request #3563 from tendermint/master Merge master to develop | 15 April 2019, 12:16:37 UTC |
1c6d9d2 | Ethan Buchman | 15 April 2019, 12:16:00 UTC | Merge pull request #3553 from tendermint/v0.31 V0.31 | 15 April 2019, 12:16:00 UTC |
4695414 | Ethan Buchman | 12 April 2019, 14:56:03 UTC | Merge pull request #3548 from tendermint/release/v0.31.4 Release/v0.31.4 | 12 April 2019, 14:56:03 UTC |
def5c8c | Ismail Khoffi | 12 April 2019, 14:48:34 UTC | address review comments: (#3550) - mention ADR in release summary - remove [p2p] api changes - amend v0.31.3 log to contain note about breaking change | 12 April 2019, 14:48:34 UTC |
b6da888 | Ismail Khoffi | 12 April 2019, 12:24:51 UTC | prepare v0.31.4 release: - prep changelog - add missing changelog entries - fix minor glitch in existing changelog (v0.31.2) - bump versions | 12 April 2019, 12:24:51 UTC |
a453628 | Martin Dyring-Andersen | 12 April 2019, 11:25:14 UTC | Fix a couple of typos (#3547) Fix some typos in p2p/transport.go | 12 April 2019, 11:25:14 UTC |
4e42242 | Sean Braithwaite | 12 April 2019, 10:32:00 UTC | adr: Peer Behaviour (#3539) * [adr] ADR 037: Peer Behaviour inital draft * Update docs/architecture/adr-037-peer-behaviour.md Co-Authored-By: brapse <brapse@gmail.com> * Update docs/architecture/adr-037-peer-behaviour.md Co-Authored-By: brapse <brapse@gmail.com> * [docs] adr-037 Better footnote styling * [ADR] ADR-037 adjust Footnotes for github markdown * [ADR] ADR-037 fix numbered list | 12 April 2019, 10:32:00 UTC |
b5b3b85 | Alexander Simmerl | 12 April 2019, 10:31:02 UTC | Bring back NodeInfo NetAddress form the dead (#3545) A prior change to address accidental DNS lookups introduced the SocketAddr on peer, which was then used to add it to the addressbook. Which in turn swallowed the self reported port of the peer, which is important on a reconnect. This change revives the NetAddress on NodeInfo which the Peer carries, but now returns an error to avoid nil dereferencing another issue observed in the past. Additionally we could potentially address #3532, yet the original problem statemenf of that issue stands. As a drive-by optimisation `MarkAsGood` now takes only a `p2p.ID` which makes it interface a bit stricter and leaner. | 12 April 2019, 10:31:02 UTC |