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
Raw File
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.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.
Tip revision: bd6398203975a7b869107b53437db5eaa62f620f authored by William Banfield on 26 January 2022, 16:56:21 UTC
Merge remote-tracking branch 'origin/master' into wb/use-buffered-channel-test-state-full-round
Merge remote-tracking branch 'origin/master' into wb/use-buffered-channel-test-state-full-round
Tip revision: bd63982
tx.go
package types
import (
"bytes"
"crypto/sha256"
"errors"
"fmt"
"github.com/tendermint/tendermint/crypto/merkle"
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
)
// Tx is an arbitrary byte array.
// NOTE: Tx has no types at this level, so when wire encoded it's just length-prefixed.
// Might we want types here ?
type Tx []byte
// Key produces a fixed-length key for use in indexing.
func (tx Tx) Key() TxKey { return sha256.Sum256(tx) }
// Hash computes the TMHASH hash of the wire encoded transaction.
func (tx Tx) Hash() []byte { return tmhash.Sum(tx) }
// String returns the hex-encoded transaction as a string.
func (tx Tx) String() string { return fmt.Sprintf("Tx{%X}", []byte(tx)) }
// Txs is a slice of Tx.
type Txs []Tx
// Hash returns the Merkle root hash of the transaction hashes.
// i.e. the leaves of the tree are the hashes of the txs.
func (txs Txs) Hash() []byte {
// These allocations will be removed once Txs is switched to [][]byte,
// ref #2603. This is because golang does not allow type casting slices without unsafe
txBzs := make([][]byte, len(txs))
for i := 0; i < len(txs); i++ {
txBzs[i] = txs[i].Hash()
}
return merkle.HashFromByteSlices(txBzs)
}
// Index returns the index of this transaction in the list, or -1 if not found
func (txs Txs) Index(tx Tx) int {
for i := range txs {
if bytes.Equal(txs[i], tx) {
return i
}
}
return -1
}
// IndexByHash returns the index of this transaction hash in the list, or -1 if not found
func (txs Txs) IndexByHash(hash []byte) int {
for i := range txs {
if bytes.Equal(txs[i].Hash(), hash) {
return i
}
}
return -1
}
// Proof returns a simple merkle proof for this node.
// Panics if i < 0 or i >= len(txs)
// TODO: optimize this!
func (txs Txs) Proof(i int) TxProof {
l := len(txs)
bzs := make([][]byte, l)
for i := 0; i < l; i++ {
bzs[i] = txs[i].Hash()
}
root, proofs := merkle.ProofsFromByteSlices(bzs)
return TxProof{
RootHash: root,
Data: txs[i],
Proof: *proofs[i],
}
}
// TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.
type TxProof struct {
RootHash tmbytes.HexBytes `json:"root_hash"`
Data Tx `json:"data"`
Proof merkle.Proof `json:"proof"`
}
// Leaf returns the hash(tx), which is the leaf in the merkle tree which this proof refers to.
func (tp TxProof) Leaf() []byte {
return tp.Data.Hash()
}
// Validate verifies the proof. It returns nil if the RootHash matches the dataHash argument,
// and if the proof is internally consistent. Otherwise, it returns a sensible error.
func (tp TxProof) Validate(dataHash []byte) error {
if !bytes.Equal(dataHash, tp.RootHash) {
return errors.New("proof matches different data hash")
}
if tp.Proof.Index < 0 {
return errors.New("proof index cannot be negative")
}
if tp.Proof.Total <= 0 {
return errors.New("proof total must be positive")
}
valid := tp.Proof.Verify(tp.RootHash, tp.Leaf())
if valid != nil {
return errors.New("proof is not internally consistent")
}
return nil
}
func (tp TxProof) ToProto() tmproto.TxProof {
pbProof := tp.Proof.ToProto()
pbtp := tmproto.TxProof{
RootHash: tp.RootHash,
Data: tp.Data,
Proof: pbProof,
}
return pbtp
}
func TxProofFromProto(pb tmproto.TxProof) (TxProof, error) {
pbProof, err := merkle.ProofFromProto(pb.Proof)
if err != nil {
return TxProof{}, err
}
pbtp := TxProof{
RootHash: pb.RootHash,
Data: pb.Data,
Proof: *pbProof,
}
return pbtp, nil
}
// ComputeProtoSizeForTxs wraps the transactions in tmproto.Data{} and calculates the size.
// https://developers.google.com/protocol-buffers/docs/encoding
func ComputeProtoSizeForTxs(txs []Tx) int64 {
data := Data{Txs: txs}
pdData := data.ToProto()
return int64(pdData.Size())
}