* docs: always pull latest guardian image to run a spy
* doc: how to run the guardian node behind a NAT
Shoutout to @0xshipthecode and the RockawayX Infra team for helping test
and develop the patch for this in #3786.
* docs: add section to the ops docs on telemetry
This shows new guardians how to enable telemetry.
* docs: update wording on bootstrap peers
* docs: remove terra light client daemon comment
The lcd was built directly into the terra binary a long time ago and no
longer requires a separate service for the lcd. This happened more than
a year ago.
* docs: wh dashboard and the fly healthcheck
* mention the wormhole-dashboard github hosted instance
* mention how to run the fly healthcheck to verify a guardian
* docs: evm node requirements for archive nodes
* docs: section on cosmos / ibc connected chains
So that guardians know which nodes they need to run and which they can
rely on wormchain for.
* docs: split out the per-chain bits for terra
* Since wormhole supports 30+ chains now and not just 5 chains, the
solana, eth, terra, bsc bits were removed
* The solana and terra content had the urls updated to reflect reality
and moved into their own sections.
* Made a reference to docs.wormhole.com's constants reference for chains
* docs: clarify guardiand wormchain URL and ports
Also mention threshold signing via horcrux and using the sentry node
architecture to protect the validator from volumetric attacks.
* docs: adding wormchain useful commands
* docs: minor updates and ntt accountant enablement
* high level overview of how to enable the NTT Accountant
* emphasize all guardians need to run wormchain validators
* remove the reference to checking out a v2.x branch as the main branch
is for wormholev2 now and has been for some time.
* docs: add section on ccq
* docs: cspell updates
* docs: remove default ccq port from operations.md
Review feedback from: @bruce-riley
* docs: review feedback
Co-authored-by: @evan-gray
* docs: operations wording clarification
* docs: update header in operations doc
Try to make things consistent for @evan-gray.
* docs: fix a small tyop
* node: update quic-go
Ran via:
go get github.com/quic-go/quic-go@v0.42.0
* node: update mongo-drive dependency
Ran via:
go get go.mongodb.org/mongo-driver@latest
* node: upgrade libp2p-go
Ran via:
go get github.com/libp2p/go-libp2p@v0.33.1
Refs: #3863
* node: fallout from the go upgrade in the go.sum
Run via:
go mod tidy
This updates the go.sum and removes unnecessary indirect references.
* docs: use go1.21.8
* github: use go1.21.8
Except for wormchain.
* node: update dockerfiles to use go 1.21.8
This was done with scripts/update-go-version.sh
* scripts: update linter dockerfile to use go 1.21.8
This was done with scripts/update-go-version.sh
* wormchain: update ibc-relayer to use go 1.21.8
This was done with scripts/update-go-version.sh
* scripts: add update-go-version.sh
This is a little helper to make updating the version of go a bit nicer.
* scripts: update-go-version.sh fixes
* set the default docker command to "dokcer"
* update the comment for the humongous sed command for dockerfiles
* github: fix go linting
* Upgrade golangci-lint to a version built with go 1.21.x. The older
version was a binary version built with go 1.20.x and it was failing
against the newer code built with go 1.21.x
* print the golangci-lint version in each run to see what version of go
it was built with in case there are incompatibilties during the next
upgrade
* remove the linter config skipping over pkg/supervisor entirely and
instead put in an override to ignore the `unused` linter for the
pkg/supervisor testhelpers bits for unsed test functions necessary
to satisfy the test interface.
* scripts: update golang linter cli invocation
* github: use the latest version of golangci-lint
Because 1.52.2 is built with go 1.20.x which has issues with this project
now that it is upgraded to 1.21.8.
* node: remove implicit memory aliasing in a loop
Caught by an upgraded golangci-lint with the gosec linter:
::medium file=node/pkg/watchers/evm/connectors/batch_poller.go,line=226,col=8::G601: Implicit memory aliasing in for loop. (gosec)
::medium file=node/pkg/watchers/evm/connectors/batch_poller.go,line=285,col=8::G601: Implicit memory aliasing in for loop. (gosec)
::medium file=node/pkg/watchers/evm/connectors/batch_poller_test.go,line=128,col=37::G601: Implicit memory aliasing in for loop. (gosec)
See also: https://husni.dev/beware-of-implicit-memory-aliasing-in-go-foor-loop/
* node: update logging
* Update go to 1.21.9
Automated via:
scripts/update-go-version.sh 1.21.9
* node: update test root context teardown time
Otherwise things get really sad.
* scripts: additions to update-go-versions.sh
* Standardized on prefacing functions with `function` for consistency
* Added a few more comments to explain how things work
* Automatically increment the go version and toolchain in go.mod
* Standardized on prefacing functions with `function` for consistency
* Make the go image debian version a variable for ease of maintenance
* node: update go.mod to specify 1.21.9
* node: update node tests
Review feedback from @pires
* scripts: run go mod tidy in update-go-version.sh
Required after running go mod edit or it refuses to build.
* node: update go.mod
Running `go mod tidy` removes the toolchain so the build works.
* node: update node tests
---------
Co-authored-by: Ryan Hamphrey <hamphreyryan26@gmail.com>
* Add cspell configuration and custom dictionary
The goal is to cut down on both incoming tyops, and well meaning but
spammy tyop fix PRs.
To run cspell locally install it and run:
cspell '**/*.md' \
--config cspell.config.yaml \
--words-only \
--unique \
--quiet | sort --ignore-case
* docs: cspell updates
* wormchain: cspell updates
* aptos: cspell updates
* node: cspell updates
* algorand: cspell updates
* whitepapers: cspell updates
* near: cspell updates
* solana: cspell updates
* terra: cspell updates
* cosmwasm: cspell updates
* ethereum: cspell updates
* clients: cspell updates
* cspell updates for DEVELOP document
* github: run cspell github action
* sdk: cspell updates
* github: only run cspell on markdown files
* algorand: EMMITTER --> EMITTER
Suggested-by: @evan-gray
* cspell: removed from dictionary
Suggested-by: @evan-gray
* aptos and node: cspell updates
Suggested-by: @evan-gray
* cosmowasm: doc updates for terra2
Suggested-by: @evan-gray
* algorand: cspell updates
Suggested-by: @evan-gray
* algorand: cspell updates
Suggested-by: @evan-gray
* cspell: updated custom word dictionary
This resorts the dictionary and adds a few new words from the
algorand/MEMORY.md document around varints and integers.
* cspell: sort the dictionary how vscode does it
On macOS the sorting is locale dependent. To do this on macOS, you have
to invert the case, do a character insensitive sort, and then invert the
case again:
LC_COLLATE="en_US.UTF-8" cspell '**/*.md' --config cspell.config.yaml \
--words-only \
--unique \
--no-progress \
--quiet \
| tr 'a-zA-Z' 'A-Za-z' \
| sort --ignore-case \
| tr 'a-zA-Z' 'A-Za-z'
This requires the `LC_COLLATE` variable to be set to `en_US.UTF-8`, or it
will not do the right thing.
* docs: grammar clean up
---------
Co-authored-by: Evan Gray <battledingo@gmail.com>
* terra/contracts: migrate to cosmwasm 1.1.0
use `classic-bindings` crate instead of terra-cosmwasm.
This is the updated version that calls the correct query post chain upgrade
* terra/Dockerfile: update workspace optimizer
* terra: label is now required on instantiate
* terra: accept either 32 or 20 byte addresses
* terra: update devnet terra classic
* node/cosmwasm: always CW >1
* tilt: re-introduce terra classic tests
* terra: make get_address support both 20 and 32 byte addresses
* terra: fix tests to account for burn tax
Since the tests are now ran against the new LocalTerra which has burn
tax, the transaction results are different from before
* terra/token-bridge: check first 12 bytes to determine native denoms
* terra/token-bridge: simplify conditional
---------
Co-authored-by: Evan Gray <battledingo@gmail.com>
* Governor Guardian admin commands
Opening PR describing the types of admin commands that Guardians would have in relation to the Governor security module.
* Update GOVERNOR.md
Small wording tweak to remove a duplicative clause
* More checks in P2W on Terra
Change-Id: Icbe5d75504f947b741cee1c797740b71456964fe
* Auto-deploy P2W on Terra
Change-Id: I202536fd278aca938e3b8b3cb0a4ceeca314158f
* Don't do replay protection on price updates
We already use the sequence number for replay and rollback protection and can save storage this way
Change-Id: I9e655956aab1ed8dd86b9d821ece2f57900f6c78
We don't need zero-downtime restarts anymore, and the socket unit
lifecycle is annoying to deal with (the socket can't be enabled if
the unit is already started). Much easier to use the capability.
Change-Id: I9d3cb5428eb0e35554866e6e42b7759569b12efb