* Remove go func {}()
closes#357
- Remove go func(){}() that caused race condiditon
- To reproduce
- add -race in make file to `install_abci`
- Remove `CGO_ENABLED=0` & add -race to `install`
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* remove -race
* fix data race
also, reorder callbacks similarly to socket client
* Release branch for v0.32.1
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* add links to changelog
* wording change
* Apply suggestions from code review
Comment from PR
Co-Authored-By: Ethan Buchman <ethan@coinculture.info>
* add link bump abci Version
* include doc change for abci/app
* moved abci change to features as it doesnt break the abci
* pr comments (#3803)
* pr comments
* abci changelog change
* Marko/update release1 (#3806)
* pr comments
* remove empty space
* more minor cleanup of libs
Remove unused `version.go`, `assert.go` and `libs/circle.yml`
* Update types/vote_set_test.go
Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>
* spelling change
* Fix rpc handle for tm-monitor
Signed-off-by: Karoly Albert Szabo <szabo.karoly.a@gmail.com>
* go imports file
Signed-off-by: Karoly Albert Szabo <szabo.karoly.a@gmail.com>
* go imports file
Signed-off-by: Karoly Albert Szabo <szabo.karoly.a@gmail.com>
* fix RPCUnmonitor too
Signed-off-by: Karoly Albert Szabo <szabo.karoly.a@gmail.com>
- The removed functions are not used in Iavl, Cosmos-sdk and tendermint repos
- Code-hygenie `whoop whoop`
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* p2p: extract ID validation into a separate func
- NewNetAddress panics if ID is invalid
- NetAddress#Valid returns an error
- remove ErrAddrBookInvalidAddrNoID
Fixes#2722
* p2p: remove repetitive check in ReceiveAddrs
* fix netaddress test
* Remove file heap.go
- cmn.Heap is not being used in cosmos-sdk, iavl nor tendermint repo.
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* changelog entry
* Update CHANGELOG_PENDING.md
closes#2432
* Add deterministic buildsystem
* Update CircleCI config
* Enable build on all branches for testing purposes
* Revert "Enable build on all branches for testing purposes"
This reverts commit bf5cf66da9.
* Remove develop from branch filters
* Remove dangling reference to develop
* Upload binaries too
* Build for stable branches too
* Quick link fixes throughout docs and repo
- used markdown link tester to find broken links
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* minor change remove slash
* pr comments
* minor fix
* remove docker.develop
* remove master tag
* [adr] First draft on adr-042
* fix diagram urls
* Update docs/architecture/adr-042-blockchain-riri-org.md
Co-Authored-By: Marko <marbar3778@yahoo.com>
* Update docs/architecture/adr-042-blockchain-riri-org.md
Co-Authored-By: Marko <marbar3778@yahoo.com>
* Update docs/architecture/adr-042-blockchain-riri-org.md
Co-Authored-By: Marko <marbar3778@yahoo.com>
* add go syntax highlight
* more highlighting
* consistency fixes
* Add references
* new adr number
* Fixes based on feedback
* aditional state info
* Add details on getSchedule
* replace spaces with tabs
* fixes based on feedback
* add clarity around r.msgs
* clarify block processing
* fix off by one error
* additional details on ioRoutine
* Update docs/architecture/adr-043-blockchain-riri-org.md
Co-Authored-By: Anca Zamfir <ancazamfir@users.noreply.github.com>
* change invocation of NewNode across
* custom reactor name are prefixed with CUSTOM_
* upgate changelog pending
* improve comments
* node: refactor NewNode to use functional options
Follow up from #3512
Specifically:
cli.conn.Close() need not be under the mutex (#3512 (comment))
call the reqRes callback after the resCb so they always happen in the same order (#3512)
Fixes#3513
Calling ensurePeers outside of ensurePeersRoutine can lead to nodes
disconnecting from us due to "sent next PEX request too soon" error.
Solution is to just dial addrs we got from src instead of calling
ensurePeers.
Refs #2093Fixes#3338
As per #2127, this refactors the RequestCheckTx ProtoBuf struct to allow for a flag indicating whether a query is a recheck or not (and allows for possible future, more nuanced states).
In order to pass this extended information through to the ABCI app, the proxy.AppConnMempool (and, for consistency, the proxy.AppConnConsensus) interface seems to need to be refactored along with abcicli.Client.
And, as per this comment, I've made the following modification to the protobuf definition for the RequestCheckTx structure:
enum CheckTxType {
New = 0;
Recheck = 1;
}
message RequestCheckTx {
bytes tx = 1;
CheckTxType type = 2;
}
* Refactor ABCI CheckTx to notify of recheck
As per #2127, this refactors the `RequestCheckTx` ProtoBuf struct to allow for:
1. a flag indicating whether a query is a recheck or not (and allows for
possible future, more nuanced states)
2. an `additional_data` bytes array to provide information for those more
nuanced states.
In order to pass this extended information through to the ABCI app, the
`proxy.AppConnMempool` (and, for consistency, the
`proxy.AppConnConsensus`) interface seems to need to be refactored.
Commits:
* Fix linting issue
* Add CHANGELOG_PENDING entry
* Remove extraneous explicit initialization
* Update ABCI spec doc to include new CheckTx params
* Rename method param for consistency
* Rename CheckTxType enum values and remove additional_data param
* Update to contributing.md
- Add in section for Draft PR, instead of WIP
- Add make lint as part of the commit process.
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* mistake
* minor word change
* changelog and version
* Add section on ABCI changes
* Update ABCI upgrade section to include events examples
* update upgrading
* more upgrading and changelog
* update changelog from pending
* refer to #rpc_changes
* minor word changes
* Added a disaclaimer so the user is aware of binary
- added disclaimer for `-s -w`
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* move up to compile
* Added flags '-s -w' to buildflags
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* added a condition for no strip
* minor changes
* on call discussions
* on call discussion v2
* Expose priv validators for use in testing
* Generalize block header validation test past height 1
* Remove ineffectual assignment
* Remove redundant SaveState call
* Reorder comment for clarity
* Use the block executor ApplyBlock function instead of implementing a stripped-down version of it
* Remove commented-out code
* Remove unnecessary test
The required tests already appear to be implemented (implicitly) through
the TestValidateBlockHeader test.
* Allow for catching of specific error types during TestValidateBlockCommit
* Make return error testable
* Clean up and add TestValidateBlockCommit code
* Fix formatting
* Extract function to create a new mock test app
* Update comment for clarity
* Fix comment
* Add skeleton code for evidence-related test
* Allow for addressing priv val by address
* Generalize test beyond a single validator
* Generalize TestValidateBlockEvidence past first height
* Reorder code to clearly separate tests and utility code
* Use a common constant for stop height for testing in state/validation_test.go
* Refactor errors to resemble existing conventions
* Fix formatting
* Extract common helper functions
Having the tests littered with helper functions makes them less easily
readable imho, so I've pulled them out into a separate file. This also
makes it easier to see what helper functions are available during
testing, so we minimize the chance of duplication when writing new
tests.
* Remove unused parameter
* Remove unused parameters
* Add field keys
* Remove unused height constant
* Fix typo
* Fix incorrect return error
* Add field keys
* Use separate package for tests
This refactors all of the state package's tests into a state_test
package, so as to keep any usage of the state package's internal methods
explicit.
Any internal methods/constants used by tests are now explicitly exported
in state/export_test.go
* Refactor: extract helper function to make, validate, execute and commit a block
* Rename state function to makeState
* Remove redundant constant for number of validators
* Refactor mock evidence registration into TestMain
* Remove extraneous nVals variable
* Replace function-level TODOs with file-level TODO and explanation
* Remove extraneous comment
* Fix linting issues brought up by GolangCI (pulled in from latest merge from develop)
* Refactor signature of Application.CheckTx
* Refactor signature of Application.DeliverTx
* Refactor example variable names for clarity and consistency
* Rename method variables for consistency
* Rename method variables for consistency
* add a changelog entry
* update docs
* node: fix a bug where `nil` is recorded as node's address
Solution
AddOurAddress when we know it
sw.NetAddress is nil in createAddrBookAndSetOnSwitch
it's set by n.transport.Listen function, which is called during start
Fixes#3716
* use addr instead of n.sw.NetAddress
* add both ExternalAddress and ListenAddress as our addresses
In Python 3 the command outlined in this doc `import codecs; codecs.decode("YWJjZA==", 'base64').decode('ascii')` throws an error:
TypeError: decoding with 'base64' codec failed (TypeError: expected bytes-like object, not str), needs to add 'b' before the encoded string
`import codecs; codecs.decode(b"YWJjZA==", 'base64').decode('ascii')` to make it work