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 |
---|---|---|---|---|
73c19bd | Tess Rinearson | 09 March 2020, 17:52:08 UTC | CONTRIBUTING: include instructions for installing protobuf | 09 March 2020, 17:52:08 UTC |
f17717f | Marko | 09 March 2020, 08:44:37 UTC | adr: crypto encoding for proto (#4481) * adr: crypto encoding for proto work - this adr is meant to help with deciding on how to move forward with keys in tendermint. * minor change * fix gomod * add a third option * fix spelling * add first part of descision * breakdown keys and where they are used * add some wording * minor wording fix * question * change proto messages * minor update * undo go.mod changes * add a few things based on comemnts * push, push it real good * minor explanation on interface type * touch up | 09 March 2020, 08:44:37 UTC |
b6f0aa3 | Callum Waters | 06 March 2020, 19:05:20 UTC | lite2: replace primary when providing invalid header (#4523) Closes: #4420 Created a new error ErrInvalidHeaderwhich can be formed during the verification process verifier.go and will result in the replacement of the primary provider with a witness by executing: replacePrimaryProvider() Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 06 March 2020, 19:05:20 UTC |
bc89aad | Anton Kaliaev | 06 March 2020, 13:23:44 UTC | rpc: create buffered subscriptions on /subscribe (#4521) Closes #3935 | 06 March 2020, 13:23:44 UTC |
d3f965b | Anton Kaliaev | 06 March 2020, 13:10:28 UTC | lite2: indicate success/failure of Update (#4536) error itself is not enough since it only signals if there were any errors. Either (types.SignedHeader) or (success bool) is needed to indicate the status of the operation. Returning a header is optimal since most of the clients will want to get a newly verified header anyway. | 06 March 2020, 13:10:28 UTC |
431618c | Anton Kaliaev | 06 March 2020, 09:33:07 UTC | lite2: remove auto update (#4535) We first introduced auto-update as a separate struct AutoClient, which was wrapping Client and calling Update periodically. // AutoClient can auto update itself by fetching headers every N seconds. type AutoClient struct { base *Client updatePeriod time.Duration quit chan struct{} trustedHeaders chan *types.SignedHeader errs chan error } // NewAutoClient creates a new client and starts a polling goroutine. func NewAutoClient(base *Client, updatePeriod time.Duration) *AutoClient { c := &AutoClient{ base: base, updatePeriod: updatePeriod, quit: make(chan struct{}), trustedHeaders: make(chan *types.SignedHeader), errs: make(chan error), } go c.autoUpdate() return c } // TrustedHeaders returns a channel onto which new trusted headers are posted. func (c *AutoClient) TrustedHeaders() <-chan *types.SignedHeader { return c.trustedHeaders } // Err returns a channel onto which errors are posted. func (c *AutoClient) Errs() <-chan error { return c.errs } // Stop stops the client. func (c *AutoClient) Stop() { close(c.quit) } func (c *AutoClient) autoUpdate() { ticker := time.NewTicker(c.updatePeriod) defer ticker.Stop() for { select { case <-ticker.C: lastTrustedHeight, err := c.base.LastTrustedHeight() if err != nil { c.errs <- err continue } if lastTrustedHeight == -1 { // no headers yet => wait continue } newTrustedHeader, err := c.base.Update(time.Now()) if err != nil { c.errs <- err continue } if newTrustedHeader != nil { c.trustedHeaders <- newTrustedHeader } case <-c.quit: return } } } Later we merged it into the Client itself with the assumption that most clients will want it. But now I am not sure. Neither IBC nor cosmos/relayer are using it. It increases complexity (Start/Stop methods). That said, I think it makes sense to remove it until we see a need for it (until we better understand usage behavior). We can always introduce it later 😅. Maybe in the form of AutoClient. | 06 March 2020, 09:33:07 UTC |
7d00117 | mergify[bot] | 05 March 2020, 13:25:18 UTC | readme: add discord to readme (#4533) * readme: add discord to readme Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add our id | 05 March 2020, 13:25:18 UTC |
3a695d4 | mergify[bot] | 05 March 2020, 10:48:29 UTC | docs: fix links (#4531) * docs: fix links - fix broken links closes #4522 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix more links * add enable and disable * remvoe deadlink | 05 March 2020, 10:48:29 UTC |
632b53d | mergify[bot] | 05 March 2020, 09:29:26 UTC | fix addrbook tests (#4526) Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Erik Grinaker <erik@grinaker.org> | 05 March 2020, 09:29:26 UTC |
4c8e3c8 | mergify[bot] | 05 March 2020, 08:41:36 UTC | fix: proto-breakage (#4506) * fix: fix proto-breakage - this is amed to fix proto breakage for consumers Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix for importing third_party everywhere * undo change * test breakage change * test ssh * test https * change ssh to https * fix phony | 05 March 2020, 08:41:36 UTC |
4936b23 | Anton Kaliaev | 05 March 2020, 07:28:32 UTC | adr-047: evidence handling (#4429) Closes #4213 and #4182 | 05 March 2020, 07:28:32 UTC |
9e5b4af | Tess Rinearson | 04 March 2020, 14:48:17 UTC | .github: add markdown link checker (#4513) co-authored-by: Marko <marbar3778@yahoo.com> | 04 March 2020, 14:48:17 UTC |
61380ff | dependabot-preview[bot] | 04 March 2020, 11:58:45 UTC | build(deps): bump github.com/prometheus/client_golang (#4525) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.4.1 to 1.5.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.4.1...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 04 March 2020, 11:58:45 UTC |
891afc2 | Anton Kaliaev | 03 March 2020, 12:41:59 UTC | cmd: fix debug kill and change debug dump archive filename format (#4517) * cmd: change archive filename format before: Mar 3 08:44:43.zip after: 2020-03-03T08:44:43Z.zip Refs #4515 * cmd: kill pid, not the debug process itself Fixes #4515 * update changelog Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 03 March 2020, 12:41:58 UTC |
ff78651 | Callum Waters | 03 March 2020, 12:00:06 UTC | lite: add helper functions for initiating the light client (#4486) * add new net client * hijack example test * lint fixes * reorganised file structure * renamed funcs and added documentation * implemented suggested changes * restored example tests * edited comments * Update lite2/setup.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * Update lite2/client.go * lite cmds use HTTP client * better naming * Delete go.sum * Delete go.mod * restore go mod * restore go.sum * fix double import Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 03 March 2020, 12:00:06 UTC |
c518a06 | dependabot-preview[bot] | 03 March 2020, 11:52:36 UTC | deps: bump github.com/Workiva/go-datastructures (#4519) Bumps [github.com/Workiva/go-datastructures](https://github.com/Workiva/go-datastructures) from 1.0.50 to 1.0.51. - [Release notes](https://github.com/Workiva/go-datastructures/releases) - [Commits](https://github.com/Workiva/go-datastructures/compare/v1.0.50...v1.0.51) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 03 March 2020, 11:52:36 UTC |
a60d032 | Anton Kaliaev | 03 March 2020, 08:37:29 UTC | docs: write about debug kill and dump (#4516) * docs: write about debug kill and dump Closes #4325 * wrap file tree in code blocks | 03 March 2020, 08:37:29 UTC |
3b2e1f2 | Anton Kaliaev | 02 March 2020, 15:59:38 UTC | cmd: show useful error when tm not initialised (#4512) Closes #4303 Before: ``` TMHOME="/Users/daniel/go/src/github.com/tendermint/thome" tendermint node --proxy_app=unix:///Users/daniel/go/src/github.com/kvstore/example.sock ERROR: 1 error(s) decoding: * error decoding 'consensus.create_empty_blocks_interval': time: invalid duration ``` After: ``` $ TMHOME=/tmp ./build/tendermint node --proxy_app=kvstore ERROR: failed to create node: Couldn't read GenesisDoc file: open /tmp/config/genesis.json: no such file or directory ``` | 02 March 2020, 15:59:38 UTC |
51e1b4e | Anton Kaliaev | 02 March 2020, 13:55:50 UTC | rpc: remove BlockStoreRPC in favor of BlockStore (#4510) * rpc: use BlockStoreRPC instead of BlockStore BlockStoreRPC is a limited version of BlockStore interface, which does not include SaveBlock method. Closes #4159 * remove BlockStoreRPC interface in favor of single BlockStore interface Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 02 March 2020, 13:55:50 UTC |
67224fd | Anton Kaliaev | 02 March 2020, 13:09:55 UTC | docs: `tendermint node --help` dumps all supported flags (#4511) Closes #4211 | 02 March 2020, 13:09:54 UTC |
9bf8f41 | Anton Kaliaev | 02 March 2020, 06:51:36 UTC | lite2: fix tendermint lite sub command (#4505) * lite2: fix tendermint lite sub command - better logging - chainID as an argument - more examples * one more log msg * lite2: fire update right away after start * turn off auto update in verification tests Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 02 March 2020, 06:51:36 UTC |
c33576e | Erik Grinaker | 01 March 2020, 20:03:28 UTC | example/kvstore: return ABCI query height (#4509) * example/kvstore: return ABCI query height * CHANGELOG: added PR link * Updated tests | 01 March 2020, 20:03:28 UTC |
3f18e22 | Michael FIG | 29 February 2020, 21:22:19 UTC | rpc: keep the original subscription "id" field when new RPCs come in (#4493) | 29 February 2020, 21:22:19 UTC |
c5fe733 | Erik Grinaker | 28 February 2020, 13:29:48 UTC | test: simplified txsearch cancellation test (#4500) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 28 February 2020, 13:29:48 UTC |
72488db | Erik Grinaker | 28 February 2020, 13:21:50 UTC | mergify: use strict merges (#4502) | 28 February 2020, 13:21:50 UTC |
d1f7ef6 | Erik Grinaker | 28 February 2020, 12:56:26 UTC | mergify: remove unnecessary conditions (#4501) | 28 February 2020, 12:56:26 UTC |
6c9e9b2 | Marko | 28 February 2020, 11:29:36 UTC | tool: add Mergify (#4490) | 28 February 2020, 11:29:36 UTC |
6f6843e | Erik Grinaker | 28 February 2020, 11:21:12 UTC | circleci: fix reproducible builds test (#4497) | 28 February 2020, 11:21:12 UTC |
6cebba5 | Marko | 28 February 2020, 11:05:55 UTC | swagger: update swagger port (#4498) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> | 28 February 2020, 11:05:55 UTC |
a122a55 | Anton Kaliaev | 28 February 2020, 10:53:06 UTC | docs: adr-046 add bisection algorithm details (#4496) * docs: adr-046 add bisection algorithm details Closes #4329 * format fig. 1 title * docs: adr-046 we no longer download headers in TrustedHeader https://github.com/tendermint/tendermint/pull/4496#issuecomment-592446054 | 28 February 2020, 10:53:06 UTC |
c837a57 | Gregory Terzian | 28 February 2020, 10:38:28 UTC | rpc: stop txSearch result processing if context is done (#4418) | 28 February 2020, 10:38:28 UTC |
b73c0b7 | dependabot-preview[bot] | 28 February 2020, 09:24:25 UTC | build(deps): bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.3 to 1.3.4. - [Release notes](https://github.com/golang/protobuf/releases) - [Commits](https://github.com/golang/protobuf/compare/v1.3.3...v1.3.4) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 28 February 2020, 09:24:25 UTC |
7814430 | Shivani Joshi | 28 February 2020, 08:57:00 UTC | JSON tests related changes (#4461) * test functions take time.Now and other minor changes * updated remaining test files * Update validation_test.go * fix typo * go fmt * import time Co-authored-by: Marko <marbar3778@yahoo.com> | 28 February 2020, 08:57:00 UTC |
3f883bb | Anton Kaliaev | 27 February 2020, 16:26:28 UTC | lite2: actually run example tests + clock drift (#4487) Closes: #4488 ## Commits: * run example tests * introduce max clock drift clockDrift variable from the spec. 10s should cover most of the clients. References: - http://vancouver-webpages.com/time/web.html - https://blog.codinghorror.com/keeping-time-on-the-pc/ * fix ExampleClient_Update * add test * increase clock drift * fix linter warning | 27 February 2020, 16:26:28 UTC |
b5f6bfa | Anton Kaliaev | 27 February 2020, 15:10:01 UTC | lite2: return height as 2nd return param in TrustedValidatorSet (#4479) Closes #4473 | 27 February 2020, 15:10:01 UTC |
6be0e13 | Callum Waters | 27 February 2020, 13:57:17 UTC | lite2: prune-headers (#4478) closes #4469 Improved speed of cleanup by using SignedHeaderAfter instead of TrustedHeader to jump from header to header. Prune() is now called when a new header and validator set are saved and is a function dealt by the database itself ## Commits: * prune headers and vals * modified cleanup and tests * fixes after my own review * implement Prune func * make db ops concurrently safe * use Iterator in SignedHeaderAfter we should iterate from height+1, not from the end! * simplify cleanup Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 27 February 2020, 13:57:17 UTC |
875b106 | Marko | 27 February 2020, 10:34:56 UTC | github: edit templates for use in issues and pull requests (#4483) * github: edit templates for use in issues and pull requests Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * fix sdk to tendermint | 27 February 2020, 10:34:56 UTC |
c45baa0 | Sean Braithwaite | 27 February 2020, 10:25:21 UTC | blockchain (v2): async testing notes (#4484) Add some inline notes for context of why test are commented out and not deleted. Ref. #4482 | 27 February 2020, 10:25:21 UTC |
b9535a2 | Anton Kaliaev | 26 February 2020, 19:47:16 UTC | blockchain (v2): comment out TestReactorTerminationScenarios (#4480) Refs #4442 | 26 February 2020, 19:47:16 UTC |
b5ce8f2 | dependabot-preview[bot] | 26 February 2020, 15:51:05 UTC | deps: bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) Bumps [github.com/tendermint/tm-db](https://github.com/tendermint/tm-db) from 0.4.0 to 0.4.1. - [Release notes](https://github.com/tendermint/tm-db/releases) - [Changelog](https://github.com/tendermint/tm-db/blob/master/CHANGELOG.md) - [Commits](https://github.com/tendermint/tm-db/compare/v0.4.0...v0.4.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 26 February 2020, 15:51:05 UTC |
6daea31 | Anton Kaliaev | 26 February 2020, 15:15:06 UTC | lite2: remove expiration checks on functions that don't require them (#4477) closes: #4455 Verifying backwards checks that the trustedHeader hasn't expired both before and after the loop in case of verifying many headers (a longer operation), but not during the loop itself. TrustedHeader() no longer checks whether the header saved in the store has expired. Tests have been updated to reflect the changes ## Commits: * verify headers backwards out of trust period * removed expiration check in trusted header func * modified tests to reflect changes * wrote new tests for backwards verification * modified TrustedHeader and TrustedValSet functions * condensed test functions * condensed test functions further * fix build error * update doc * add comments * remove unnecessary declaration * extract latestHeight check into a separate func Co-authored-by: Callum Waters <cmwaters19@gmail.com> | 26 February 2020, 15:15:05 UTC |
9231b52 | Callum Waters | 26 February 2020, 11:56:20 UTC | lite2: cross-check first header and update tests (#4471) closes #4464 | 26 February 2020, 11:56:20 UTC |
c4f7256 | Anton Kaliaev | 26 February 2020, 09:20:51 UTC | lite2: store current validator set (#4472) Before we were storing trustedHeader (height=1) and trustedNextVals (height=2). After this change, we will be storing trustedHeader (height=1) and trustedVals (height=1). This a) simplifies the code b) fixes #4399 inconsistent pairing issue c) gives a relayer access to the current validator set #4470. The only downside is more jumps during bisection. If validator set changes between trustedHeader and the next header (by 2/3 or more), the light client will be forced to download the next header and check that 2/3+ signed the transition. But we don't expect validator set change too much and too often, so it's an acceptable compromise. Closes #4470 and #4399 | 26 February 2020, 09:20:51 UTC |
25d92d0 | Alessio Treglia | 25 February 2020, 09:04:24 UTC | types: VerifyCommitX return when +2/3 sigs are verified (#4445) Closes #4417 | 25 February 2020, 09:04:24 UTC |
f934ca8 | Callum Waters | 24 February 2020, 10:10:41 UTC | lite2: don't save intermediate headers (#4452) closes #4426 The sequence and bisection methods no longer save the intermediate headers and validator sets that they require to verify a currently untrusted header. ## Commits: * sequence and bisection don't save intermediate headers and vals * check the next validator hash matches the header * check expired header at start of backwards verification * added tests * handled cleanup warning * lint fix * removed redundant code * tweaked minor errors * avoided premature trusting of nextVals * fix test error * updated trustedHeader and Vals together * fixed bisection error * fixed sequence error for different vals and made test * fixes after my own review * reorder vars to be consistent with the rest of the code Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 24 February 2020, 10:10:41 UTC |
fe11219 | Erik Grinaker | 21 February 2020, 18:21:39 UTC | Fix unexported returns (#4450) | 21 February 2020, 18:21:39 UTC |
c63fd32 | Erik Grinaker | 21 February 2020, 14:23:48 UTC | circleci: run P2P IPv4 and IPv6 tests in parallel (#4459) | 21 February 2020, 14:23:48 UTC |
8d1198b | Erik Grinaker | 21 February 2020, 12:28:05 UTC | ADR-053: update with implementation plan after prototype (#4427) | 21 February 2020, 12:28:05 UTC |
b0683b7 | Erik Grinaker | 21 February 2020, 11:43:59 UTC | p2p: use curve25519.X25519() instead of ScalarMult() (#4449) * p2p: use curve25519.X25519() instead of ScalarMult() * Renamed array to shrKeyArray * Updated CHANGELOG_PENDING * Revert "Updated CHANGELOG_PENDING" This reverts commit dbb72e0bf721287847ac136c99f385ce7456d1f7. | 21 February 2020, 11:43:59 UTC |
2c7af01 | Callum Waters | 20 February 2020, 14:45:11 UTC | lite2: return already verified headers and verify earlier headers (#4428) closes #4413 and #4419 When VerifyHeaderAtHeight() is called, TrustedHeader is initially run to check if the header has already been verified and returns the Header. If the new header height is less than the lite clients latestTrustedHeader height, than backwards verification is performed else either sequence or bisection Refactored a test to reflect the changes * use trustedHeader func for already verified Headers * remove fetch missing header from TrustedHeader * check for already trusted Header in VerifyHeaderAtHeight * replace updateTrustedHeaderAndVals to updateTrustedHeaderAndNextVals * rename trustedHeader and trustedNextVals * refactored backwards and included it in VerifyHeader * cleaned up test to match changes * lite2: fixes after my own review Refs https://github.com/tendermint/tendermint/pull/4428#pullrequestreview-361730169 * fix ineffectual assignment * lite2: check that header exists in VerifyHeader * extract function Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 20 February 2020, 14:45:11 UTC |
8f48c49 | Erik Grinaker | 20 February 2020, 12:43:40 UTC | Fix some golangci-lint warnings (#4448) | 20 February 2020, 12:43:40 UTC |
8010f3b | dependabot-preview[bot] | 20 February 2020, 12:31:59 UTC | build(deps): bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 0.0.3 to 0.0.6. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v0.0.3...v0.0.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 20 February 2020, 12:31:59 UTC |
d00384f | dependabot-preview[bot] | 20 February 2020, 12:02:24 UTC | build(deps): bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.5.0 to 1.5.1. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.5.0...v1.5.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 20 February 2020, 12:02:24 UTC |
24c8b35 | Erik Grinaker | 20 February 2020, 10:34:18 UTC | rpc: fix TxSearch test nits (#4446) | 20 February 2020, 10:34:18 UTC |
7ab81a7 | dependabot-preview[bot] | 19 February 2020, 16:26:23 UTC | deps: bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.4.0 to 1.5.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.4.0...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 19 February 2020, 16:26:23 UTC |
b7dab3b | tau3 | 19 February 2020, 15:21:27 UTC | consensus: reduce log severity for ErrVoteNonDeterministicSignature (#4431) from error to debug Closes #3583 | 19 February 2020, 15:21:27 UTC |
ee993ba | Sean Braithwaite | 19 February 2020, 15:00:15 UTC | blockchain: add v2 reactor (#4361) The work includes the reactor which ties together all the seperate routines involved in the design of the blockchain v2 refactor. This PR replaces #4067 which got far too large and messy after a failed attempt to rebase. ## Commits: * Blockchainv 2 reactor: + I cleaner copy of the work done in #4067 which fell too far behind and was a nightmare to rebase. + The work includes the reactor which ties together all the seperate routines involved in the design of the blockchain v2 refactor. * fixes after merge * reorder iIO interface methodset * change iO -> IO * panic before send nil block * rename switchToConsensus -> trySwitchToConsensus * rename tdState -> tmState * Update blockchain/v2/reactor.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * remove peer when it sends a block unsolicited * check for not ready in markReceived * fix error * fix the pcFinished event * typo fix * add documentation for processor fields * simplify time.Since * try and make the linter happy * some doc updates * fix channel diagram * Update adr-043-blockchain-riri-org.md * panic on nil switch * liting fixes * account for nil block in bBlockResponseMessage * panic on duplicate block enqueued by processor * linting * goimport reactor_test.go Co-authored-by: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 19 February 2020, 15:00:14 UTC |
403f43a | Erik Grinaker | 19 February 2020, 14:36:15 UTC | rpc: fix txsearch tests (#4438) | 19 February 2020, 14:36:15 UTC |
1874a97 | Callum Waters | 19 February 2020, 14:18:52 UTC | lite: modified bisection to loop (#4400) refs #4329 As opposed to using recursion to implement the bisection method of verifying a header, which could have problems with memory allocation (especially for smaller devices), the bisection algorithm now uses a for loop. * modified bisection to loop * made lint changes * made lint changes * move note to VerifyHeader since it applies both for sequence and bisection * test bisection jumps to header signed by 1/3+ of old validator set * update labels in debug log calls * copy tc Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 19 February 2020, 14:18:52 UTC |
b09cdaf | Erik Grinaker | 19 February 2020, 13:01:42 UTC | rpc: fix tx_search pagination with ordered results (#4437) | 19 February 2020, 13:01:42 UTC |
c680507 | Marko | 19 February 2020, 12:11:17 UTC | dep: maunally bump dep (#4436) replaces #4434 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> | 19 February 2020, 12:11:17 UTC |
68f37ff | Erik Grinaker | 19 February 2020, 11:28:34 UTC | Use uint64 for consensus.Reactor.SwitchToConsensus() blocksSynced (#4433) | 19 February 2020, 11:28:34 UTC |
6c67e24 | Marko | 18 February 2020, 15:20:02 UTC | dep: bump gokit dep (#4424) * dep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokitdep: bump gokit- Signedoff-by: Marko Baricevic <marbar3778@yahoo.com> * go mod tidy * test go version change * combination of multiple cmds Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 18 February 2020, 15:20:02 UTC |
f5901ea | Callum Waters | 18 February 2020, 15:10:04 UTC | lite2: divide verify functions (#4412) Closes #4398 * divided verify functions * extacted method * renamed functions. Created standard Verify function * checked non-adjacency. separated VerifyCommit * lint fixes * fix godoc documentation for VerifyAdjacent and VerifyNonAdjacent * add a comment about VerifyCommit being the last check Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 18 February 2020, 15:10:04 UTC |
5ea1ff9 | Anthony | 17 February 2020, 07:00:56 UTC | rpc: fix issue with multiple subscriptions (#4406) Using the WebSocket server, when the same client calls multiple time the subscribe method, only the last subscription receives all the events of the previous ones. example: subscription1 = tm.event = 'NewBlock' subscription2 = tm.event = 'Tx' In this case, subscription2 will receive the new blocks but subscription1 will not. This came from the WebSocket handler that had the declaration of the rpcrequest moved and so overridden for every request and given in the JSONReq client context (so the id of the subscription was not the right one). This fixes the issue by simply declaring the rpcrequest inside the loop so every request will create a new object without overwriting the previous one. | 17 February 2020, 07:00:56 UTC |
da88130 | Denis Fadeev | 15 February 2020, 20:07:48 UTC | Docs staging (#4407) * update theme * Update version * Updated Questions section in the footer * Remove links to Riot chat * Typo * Add Discord link Co-authored-by: Marko <marbar3778@yahoo.com> | 15 February 2020, 20:07:48 UTC |
c56fd04 | Anton Kaliaev | 14 February 2020, 16:04:56 UTC | lite2: disconnect from bad nodes (#4388) Closes #4385 * extract TrustOptions into its own file * print trusted hash before asking whenever to rollback or not so the user could reset the light client with the trusted header * do not return an error if rollback is aborted reason: we trust the old header presumably, so can continue from it. * add note about time of initial header * improve logging and add comments * cross-check newHeader after LC verified it * check if header is not nil so we don't crash on the next line * remove witness if it sends us incorrect header * require at least one witness * fix build and tests * rename tests and assert for specific error * wrote a test * fix linter errors * only check 1/3 if headers diverge | 14 February 2020, 16:04:56 UTC |
58620af | Callum Waters | 14 February 2020, 13:52:50 UTC | lite2: modified sequence method to match bisection (#4403) Currently the sequence function always starts from the trustedHeader and trustedNextVals stored in the lite client. Whereas the bisection one allows the method to be started from any combination of header and validator set. I opened up the sequence verification method to do the same | 14 February 2020, 13:52:50 UTC |
5f5e0e1 | Erik Grinaker | 14 February 2020, 13:41:18 UTC | makefile: place phony markers after targets (#4408) The .PHONY targets in the Makefile are usually placed far away from the actual targets, and thus aren't always updated. Placing the .PHONY targets right next to the targets they cover make them more visible and thus more likely to be updated when necessary. | 14 February 2020, 13:41:18 UTC |
3b5794f | Anton Kaliaev | 14 February 2020, 10:35:14 UTC | adr: light client implementation (#4397) * adr: light client implementation Closes #2133 * note on chain IDs * explain why witnesses are required * if chain forks maliciously, chain ID stays the same * add a note about min witnesses while cross-checking | 14 February 2020, 10:35:14 UTC |
774aff5 | Anton Kaliaev | 14 February 2020, 10:22:17 UTC | docs: update Light Client Protocol page (#4405) * docs: update Light Client Protocol page Closes #4331 * one way to get hash & height | 14 February 2020, 10:22:17 UTC |
fb5751d | Marko | 13 February 2020, 15:38:00 UTC | release: minor release 0.33.1 (#4401) * release: minor release 0.33.1 - minor release for 0.33.1 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remvoe wording * version bump | 13 February 2020, 15:38:00 UTC |
67837e5 | Marko | 12 February 2020, 14:50:07 UTC | readme: fix link to original paper (#4391) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> | 12 February 2020, 14:50:07 UTC |
2b709e7 | Marko | 12 February 2020, 11:45:24 UTC | make: remove sentry setup cmds (#4383) * make: remove sentry setup cmds removal of make comands for sentry setup. it was unclear if they were being maintained and there has not been a mention of people using them - closes #4379 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remove depreacted readme * add not being maintained section to docs | 12 February 2020, 11:45:24 UTC |
b712c1c | Erik Grinaker | 11 February 2020, 17:20:26 UTC | autofile: resolve relative paths (#4390) Fixes #2649 | 11 February 2020, 17:20:26 UTC |
831ed8f | Callum Waters | 11 February 2020, 16:46:41 UTC | Merge pull request #4389 from tendermint/callum/clean-lite-tests refactored lite client tests | 11 February 2020, 16:46:41 UTC |
16aae3a | Anton Kaliaev | 11 February 2020, 16:35:10 UTC | Merge branch 'master' into callum/clean-lite-tests | 11 February 2020, 16:35:10 UTC |
ab6ac6d | Anton Kaliaev | 11 February 2020, 16:30:26 UTC | lite2: improve string output of all existing providers (#4387) before: &http{AFBSD743A...} after: http{https://127.0.0.1:26657} Co-authored-by: Marko <marbar3778@yahoo.com> | 11 February 2020, 16:30:26 UTC |
4787f7c | Callum Michael Waters | 11 February 2020, 16:17:48 UTC | refactored lite client tests | 11 February 2020, 16:17:48 UTC |
9a9e8c5 | Marko | 11 February 2020, 14:07:05 UTC | proto: minor linting to proto files (#4386) * proto: minor linting minor linting after working with the proto files in the sdk. there is no logic change just spacing fixes Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * hardcore linting | 11 February 2020, 14:07:05 UTC |
c494070 | Marko | 11 February 2020, 09:57:26 UTC | docs: fix spec links (#4384) - erik fixed many of the broken links, just fixed two outstanding ones. - closes #4381 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 11 February 2020, 09:57:26 UTC |
da813e4 | Callum Waters | 11 February 2020, 09:41:58 UTC | lite2: manage witness dropout (#4380) * witnesses are dropped after no response * test witness dropout * corrected import structure * moved non responsiveness check to compare function * removed dropout test as witnesses are never dropped * created test to compare witnesses | 11 February 2020, 09:41:58 UTC |
31fd99a | Marko | 11 February 2020, 09:31:15 UTC | proto: add buf and protogen script (#4369) * proto: add buf and protogen script - add buf with minimal changes - add protogen script to easier generate proto files Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add protoc needs * add some needed shell cmds * remove buf from tools as it is not needed everytime * add proto lint and breakage to ci * add section in changelog and upgrading files * address pr comments * remove space in circle config * remove spaces in makefile comment * add section on contributing on how to work with proto * bump buf to 0.7 * test bufbuild image * test install make in bufbuild image * revert to tendermintdev image * Update Makefile Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 11 February 2020, 09:31:15 UTC |
aeb6cc4 | Anton Kaliaev | 07 February 2020, 15:31:46 UTC | lite2: return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) | 07 February 2020, 15:31:46 UTC |
5ac81eb | Erik Grinaker | 07 February 2020, 14:00:19 UTC | docs: fix incorrect link (#4377) | 07 February 2020, 14:00:19 UTC |
b2832c6 | Anton Kaliaev | 07 February 2020, 13:37:20 UTC | lite2: validate TrustOptions, add NewClientFromTrustedStore (#4374) * validate trust options * add NewClientFromTrustedStore func * make maxRetryAttempts an option Closes #4370 * hash size should be equal to tmhash.Size * make maxRetryAttempts uint * make maxRetryAttempts uint16 maxRetryAttempts possible - 68 years * we do not store trustingPeriod * added test to create client from trusted store * remove header and vals from primary to make sure we're restoring them from the DB | 07 February 2020, 13:37:20 UTC |
66a544a | Erik Grinaker | 07 February 2020, 11:53:28 UTC | Fix broken /docs/spec links (#4376) | 07 February 2020, 11:53:28 UTC |
3e2f299 | dependabot-preview[bot] | 06 February 2020, 15:51:30 UTC | deps: bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.27.0 to 1.27.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.27.0...v1.27.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 06 February 2020, 15:51:30 UTC |
af37db3 | Callum Waters | 06 February 2020, 14:36:13 UTC | lite2: cross-check new header with all witnesses (#4373) As opposed to checking a random witness, all witnesses provided should be used as a reference against the header provided by the primary node. This increases security (at the tradeoff of speed) but also gives control to the user. The more witnesses provided, the more secure the lite client can be. | 06 February 2020, 14:36:13 UTC |
bb7a80e | Callum Waters | 06 February 2020, 11:30:37 UTC | lite2: fetch missing headers (#4362) Closes #4328 When TrustedHeader(height) is called, if the height is less than the trusted height but the header is not in the trusted store then a function finds the previous lowest height with a trusted header and performs a forwards sequential verification to the header of the height that was given. If no error is found it updates the trusted store with the header and validator set for that height and can then return them to the user. Commits: * drafted trusted header * created function to find previous trusted height * updates missing headers less than the trusted height * minor cosmetic tweaks * incorporated suggestions * lite2: implement Backwards verification and add SignedHeaderAfter func to Store interface Refs https://github.com/tendermint/tendermint/issues/4328#issuecomment-581878549 * remove unused method * write tests * start with next height in SignedHeaderAfter func * fix linter errors * address Callum's comments Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 06 February 2020, 11:30:37 UTC |
df3eee4 | Callum Waters | 04 February 2020, 12:02:20 UTC | lite2: replace primary provider with alternative when unavailable (#4354) Closes issue #4338 Uses a wrapper function around both the signedHeader and validatorSet calls to the primary provider which attempts to retrieve the information 5 times before deeming the provider unavailable and replacing the primary provider with the first alternative before trying recursively again (until all alternatives are depleted) Employs a mutex lock for any operations involving the providers of the light client to ensure no operations occurs whilst the new primary is chosen. Commits: * created swapProvider function * eliminates old primary provider after replacement. Uses a mutex when changing providers * renamed to replaceProvider * created wrapped functions for signed header and val set * created test for primary provider replacement * implemented suggested revisions * created Witnesses() and Primary() * modified backoffAndJitterTime * modified backoffAndJitterTime * changed backoff base and jitter to functional arguments * implemented suggested changes * removed backoff function * changed exp function to match go version * halved the backoff time * removed seeding and added comments * fixed incorrect test * extract backoff timeout calc into a function Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 04 February 2020, 12:02:20 UTC |
9b9f1be | Marko | 03 February 2020, 17:15:27 UTC | docs: update guides proto paths (#4365) * update guides with correct path to libs/kv proto files * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * format something to rerun ci Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> | 03 February 2020, 17:15:27 UTC |
fa34ff9 | Tess Rinearson | 03 February 2020, 14:00:31 UTC | abci: fix broken spec link (#4366) | 03 February 2020, 14:00:31 UTC |
1edb542 | Anton Kaliaev | 03 February 2020, 12:59:16 UTC | lite2: make witnesses mandatory (#4358) * lite2: make witnesses mandatory at least one witness is required * lite2: return an error if there are no witnesses https://github.com/tendermint/tendermint/pull/4358#pullrequestreview-350635444 * cmd/lite: add witnesses flag * fix linter errors | 03 February 2020, 12:59:16 UTC |
81e3cca | Tess Rinearson | 03 February 2020, 11:56:34 UTC | docs: update npm dependencies (#4364) | 03 February 2020, 11:56:34 UTC |
ca03e43 | dependabot-preview[bot] | 30 January 2020, 11:34:07 UTC | deps: bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.2 to 1.3.3. - [Release notes](https://github.com/golang/protobuf/releases) - [Commits](https://github.com/golang/protobuf/compare/v1.3.2...v1.3.3) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 30 January 2020, 11:34:07 UTC |
b04b752 | Erik Grinaker | 30 January 2020, 10:57:24 UTC | Add ADR-053: State Sync Prototype (#4352) | 30 January 2020, 10:57:24 UTC |
71d50f7 | Callum Waters | 30 January 2020, 07:21:17 UTC | lite2: panic if witness is on another chain (#4356) Closes #4350 Checks that the chain ID of the witness and that of the lite client are the same before updating the witness list. | 30 January 2020, 07:21:17 UTC |
8b80de8 | dependabot-preview[bot] | 29 January 2020, 11:41:44 UTC | build(deps): bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.26.0 to 1.27.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.26.0...v1.27.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 29 January 2020, 11:41:44 UTC |
79b99f0 | Anton Kaliaev | 29 January 2020, 06:14:32 UTC | lite2: batch save & delete operations in DB store (#4345) Closes #4330 | 29 January 2020, 06:14:32 UTC |