Commit Graph

9029 Commits

Author SHA1 Message Date
Marko
4ef506f7ba deps: bump deps that bot cant (#4555)
* deps: bump deps that bot cant

- bumping deps that dependat bot does not do.

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* run go mod tidy

* fix go.sum
2020-03-11 18:02:41 +01:00
Callum Waters
52357362e3 Merge branch 'master' into callum/p2p-blacklist 2020-03-11 17:19:51 +01:00
Callum Michael Waters
dbf02200de lint fix 2020-03-11 17:16:46 +01:00
Callum Michael Waters
5de6ec78e5 added logs for more information 2020-03-11 16:48:06 +01:00
Callum Michael Waters
1e37a1f3e4 added isBanned check in addrbook 2020-03-11 16:43:32 +01:00
Callum Michael Waters
2f2d62efed banned addresses can't be added again 2020-03-11 16:33:45 +01:00
Callum Michael Waters
65d86bcad1 added banned address error 2020-03-11 16:31:03 +01:00
Callum Michael Waters
60d375eba6 basic test for banning peers 2020-03-11 16:27:49 +01:00
Callum Michael Waters
4110c252af make banTime an argument and set default in PEX reactor instead of AddrBook 2020-03-11 15:44:22 +01:00
Callum Michael Waters
08ccbdcb43 ban function requires a ban duration as an argument 2020-03-11 15:06:42 +01:00
Callum Michael Waters
429febde80 reconfigure mutexes 2020-03-11 15:00:22 +01:00
dependabot-preview[bot]
cd5a987f6e build(deps): bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554)
Bumps [github.com/tendermint/tm-db](https://github.com/tendermint/tm-db) from 0.4.1 to 0.5.0.
- [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.1...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-11 13:29:40 +00:00
dependabot-preview[bot]
8c749dc518 build(deps): bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.27.1 to 1.28.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.27.1...v1.28.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-11 12:25:37 +00:00
Marko
c534291a56 rc1/v0.33.2(#4541)
* rc1/v0.33.2

- release candiadte for 0.33.2

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
2020-03-11 11:57:42 +01:00
Tess Rinearson
31bea92d12 libs/kv: remove unused type KI64Pair (#4542) 2020-03-10 21:34:44 +01:00
Callum Michael Waters
eeb0b0d112 lint fix 2020-03-10 19:06:48 +01:00
Callum Michael Waters
e18636ef1f separate reinstatement of peers from discovery of new peers 2020-03-10 19:04:45 +01:00
Callum Michael Waters
6ccd3324c2 move reinstatement after if statement in pex reactor 2020-03-10 19:01:56 +01:00
Callum Michael Waters
7466f35345 mvp blacklist alg 2020-03-10 18:13:45 +01:00
dependabot-preview[bot]
cb8a2cc67f build(deps): bump github.com/Workiva/go-datastructures (#4545)
Bumps [github.com/Workiva/go-datastructures](https://github.com/Workiva/go-datastructures) from 1.0.51 to 1.0.52.
- [Release notes](https://github.com/Workiva/go-datastructures/releases)
- [Commits](https://github.com/Workiva/go-datastructures/compare/v1.0.51...v1.0.52)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-10 15:29:31 +00:00
Callum Waters
9440fc16ce Merge pull request #81 from tendermint/callum/markdown-link-checker
Add markdown link checker
2020-03-10 16:27:21 +01:00
Callum Michael Waters
3f04e8bbce second attempt at fixing all links 2020-03-10 16:22:14 +01:00
Callum Michael Waters
c9a664a2f8 first attempt at fixing all links 2020-03-10 16:15:59 +01:00
Callum Waters
4f0fb3325a removed folder-path flag 2020-03-10 15:51:23 +01:00
Callum Waters
e963deff5a changed tab spacing 2020-03-10 15:48:31 +01:00
Callum Michael Waters
ee5c790878 add markdown link checker 2020-03-10 15:32:51 +01:00
Callum Waters
327767a1c1 Merge pull request #80 from tendermint/callum/link-pex-reactor
update link to the pex reactor
2020-03-10 15:04:27 +01:00
Callum Waters
edb4928357 update link to the pex reactor 2020-03-10 14:41:17 +01:00
Tess Rinearson
73c19bd6ac CONTRIBUTING: include instructions for installing protobuf v0.33.1-dev3 2020-03-09 17:52:08 +00:00
Marko
f17717f3a3 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
2020-03-09 08:44:37 +00:00
Callum Waters
b6f0aa3a88 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>
2020-03-06 23:05:20 +04:00
Anton Kaliaev
bc89aad162 rpc: create buffered subscriptions on /subscribe (#4521)
Closes #3935
2020-03-06 17:23:44 +04:00
Anton Kaliaev
d3f965ba68 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.
2020-03-06 17:10:28 +04:00
Anton Kaliaev
431618cef6 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.
2020-03-06 13:33:07 +04:00
mergify[bot]
7d001177e3 readme: add discord to readme (#4533)
* readme: add discord to readme

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* add our id
2020-03-05 13:25:18 +00:00
mergify[bot]
3a695d4b6f 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
2020-03-05 10:48:29 +00:00
mergify[bot]
632b53d653 fix addrbook tests (#4526)
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: Erik Grinaker <erik@grinaker.org>
2020-03-05 09:29:26 +00:00
mergify[bot]
4c8e3c8145 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
2020-03-05 08:41:36 +00:00
Anton Kaliaev
4936b23dae adr-047: evidence handling (#4429)
Closes #4213 and #4182
2020-03-05 11:28:32 +04:00
Tess Rinearson
9e5b4afbf1 .github: add markdown link checker (#4513)
co-authored-by: Marko <marbar3778@yahoo.com>
2020-03-04 15:48:17 +01:00
dependabot-preview[bot]
61380ffa3f 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>
2020-03-04 11:58:45 +00:00
Anton Kaliaev
891afc2235 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>
2020-03-03 12:41:58 +00:00
Callum Waters
ff786515b8 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>
2020-03-03 12:00:06 +00:00
dependabot-preview[bot]
c518a062a7 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>
2020-03-03 15:52:36 +04:00
Anton Kaliaev
a60d032b07 docs: write about debug kill and dump (#4516)
* docs: write about debug kill and dump

Closes #4325

* wrap file tree in code blocks
2020-03-03 08:37:29 +00:00
Anton Kaliaev
3b2e1f22e4 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
```
2020-03-02 15:59:38 +00:00
Anton Kaliaev
51e1b4e42a 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>
2020-03-02 13:55:50 +00:00
Anton Kaliaev
67224fd174 docs: tendermint node --help dumps all supported flags (#4511)
Closes #4211
2020-03-02 13:09:54 +00:00
Anton Kaliaev
9bf8f41ac9 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>
2020-03-02 06:51:36 +00:00
Erik Grinaker
c33576e72a example/kvstore: return ABCI query height (#4509)
* example/kvstore: return ABCI query height

* CHANGELOG: added PR link

* Updated tests
2020-03-01 20:03:28 +00:00