Fixes: #2827
Previously, it prepended `ws://` to the address unlike any of the other
websocket flags. This allows specifying it the same was as guardiand
v2.16.0 or like the rest. In the future, we can remove the "legacy"
way and make them all consistent.
* Node: Reduce info logging
Change-Id: I1ad80304a59ccd50e675765ef1f648be02e0d7ce
* Node: Remove a couple of more info logs
Change-Id: I7944446b73b140f4a8fbae21dee5baa9e9c5d9d0
* Node/Watcher: Terra Classic fix
Change-Id: Icc47e3727f75b0d8a7e74fa7195b6aa404fbcaf4
* Use the old format for tilt
Change-Id: I67495d55c899b627ba06890085201b47db30fb14
* gRelayer: surrounding files
* modification to get compilation
* restore devnet
* remove generic relayer docker
* remove wait for relayer engine
* keep build time 20
* sh -> bash
* sh -> bash
* Remove comment
* bash -> sh
* Revert "bash -> sh"
This reverts commit 5c37e92fa1.
* bash->sh
* gRelayer: ethereum folder changes for generic-relayer-merge
* add eth-devnet
* Adds .github because workflow needs to install forge
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* update package.json and package-lock.json
* Remove unnecessary types from package.json
* ts-node
* gRelayer: ethereum folder changes for generic-relayer-merge
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* update package.json and package-lock.json
* remove these changes
* Relayer: Natspec documentation in IWormholeRelayer (#3032)
* WIP
* Fixes
* Updated interfaces
* remove bash
* Forward uses same refund chain id and refund address (#3034)
* WIP
* Fixes
* Forward uses same refund chain id and refund address
* Updated interfaces
* Adds .github because workflow needs to install forge
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* SDK minus payload tests
* Rename sdk relayer folder and file
* modify index.ts
* modify path
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* Add three governance VAA actions for generic relayers
* demandOption and const
* Remove forge build warnings
* Add note to interface for resend
* Verify additional VAAs in SDK
* via-ir on unless in Tilt
* Correct IWormholeReceiver interface
* Wormhole message fee now part of quoteDeliveryPrice (#3043)
* Fix to PR 3043
* Remove compiler warning
* Remove files
* remove generic relayer docker
* Fix typo
* Relayer/address drew review (#3060)
* Fix typo in Create2Factory
* Add event for contract upgrades
* Prevent registering contract if it is already registered
* Prevent allowing unset chainId for default delivery provider governance VAA
* memory to calldata for external functions in WormholeRelayerSend
* continue memory to calldata for external functions
* Fix pricing in delivery provider
* Sanity check new default delivery provider isn't 0 address
* Don't save vaaKey as local variable
* cache the length of array rather than iterate every time for vaaKeys
* Replacing memory with calldata in few locations
* Remove stale file DeliveryProviderMessages
* Remove batch VAA sender script
* Remove batch VAA from WormholeSimulator
* Wait for a confirmation in deploy scripts
* remove unnecessary comments
* Fix Delivery Provider Pricing and add a test
* remove console logs
* Revert "continue memory to calldata for external functions"
This reverts commit f322afb6c0.
* Revert "memory to calldata for external functions in WormholeRelayerSend"
This reverts commit 42fcaad884.
* Revert "Don't save vaaKey as local variable"
This reverts commit a9172379c5.
* Revert "cache the length of array rather than iterate every time for vaaKeys"
This reverts commit d61380a9b0.
* Revert "Replacing memory with calldata in few locations"
This reverts commit 94e47b6e72.
* Revert "Fix typo in Create2Factory"
This reverts commit a9f7bdf461.
* Update contract addresses for via-ir
* Update register chain test to only do one registration
* Slight improvements to delivery provider implementation
* typed errors for delivery provider
* Update SDK to have via-ir devnet address
* Fix test
* enable VIA-IR in CI and not in Tilt
* Fix chain id
* get register chain test to work
* correct contract address for via ir
* update sdk consts for via ir address
* base 32 address
* merge
* -f to -r
* relay provider -> delivery provider
* fix await
* Readme changes
* Node: Make IBC watcher publish wormchain version
Change-Id: I9c43bbd3032181a03e53b3f145e53669bce3eb9f
* Minor comment change
Change-Id: I1333578d2303a4fe8c18abd72cb392988b245c3f
* Minor tweak to feature string format
Change-Id: I061f718fb0eb032b4264e996c2bc30747feb79bc
* sdk: add new governance VAA for IbcReceiverUpdateChainConnection
* Enforce connectionId to be 64 bytes, add tests in rust sdk
* Update PrependBufferBytesFixed to LeftPadBytes, add template function + command for IBC governance VAA
* Add >64 length check for ibcReceiverUpdateChainConnectionConnectionId in runIbcReceiverUpdateChainConnectionTemplate command
* Update naming of governance VAA to reflect new mapping of channelId -> chainId
* Add TargetChainID to admin commands
* Node: Add IBC update channel to admin verify cmd
---------
Co-authored-by: Bruce Riley <briley@jumptrading.com>
* Node: Don't lock memory in testnet
Change-Id: Id32ce1af82f50a947e80949a54232e11ee7c48ea
* Don't lock in ram for devnet either
Change-Id: I4e3817e726b535661727d05a0c5f65cd613c4900
* Node: Block height is always zero on Terra2
Change-Id: Ie504139fa3cd9fcce78dd53ca9a0cfc797f3bf30
* Remove test logging
Change-Id: I273267171f7201818395f17d87592ae75f0ce5c8
* Sei testnet support
* Set contract addresses
* node/pkg/watchers: add RunWithScissors
* SDK tweaks
* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)
This reverts commit 9b8bed4dbf.
* Make Sei use IBC watcher
---------
Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>
* node_update_governor_tokens_and_prices
Change-Id: If4e3b31c97ad85fd59ca8743458a2eef137a946a
* Node/Gov: Update token list
Change-Id: I2379d43afa7777488ae3f37e6d4227b4c966deab
* Add test for empty symbol back in
Change-Id: I6d5f1f55c1b7865144e7accc395e484b47381ef0
* Node/Acct: Logging changes
* Missed some!
* Switch to using logger.With()
* Still missed some.
* Missed one more
* Yet again
* Missed a few
* Don't need .With in AcctGetData
* Node: Support VAAs with large payloads
Change-Id: Ie09bdc8ea0813ee90f9b686f3fe95365baa4014f
* Clean up tests
Change-Id: I983a40a2e7763271c8212ac18455b8b45e48fd3e
1. Fix a nullpointer dereference bug caused by not cloning everything in (enc *guardianTelemetryEncoder) Clone()
2. Fix a bug that caused logs marked with _privateLogEntry to still be sent to telemetry because when a child logger is created (logger.With(zap.Bool("_privateLogEntry", true))) the extra fields will go into the encoder's buffer and will not be passed to EncodeEntry(entry zapcore.Entry, fields []zapcore.Field). This bug had no production impact because the telemetry logger was broken (see (1))
3. make the telemetry module testable and add unit tests
Co-authored-by: tbjump <>
Release Notes
New guardiand cli options:
--publicRpcLogDetail [string]
none -- no logging of gRPC requests at all
minimal -- only log gRPC methods
full (default) -- additionally log user-agent and gRPC request payload
--logPublicRpcToTelemetry [bool]
false do not send publicrpc logs to Google Cloud Logging
true (default) -- (current behavior)
Co-authored-by: tbjump <>
* node: aptos watcher block height logging to debug
It would be nice to redo this log entry to log something more human
readable in addition to a json blob, but one thing at a time.
* node: near watcher info logging to debug
The near watcher logs when attempting to poll a block and when it
successfully polls a block in addition to some metrics. These are useful
logs, but more suited for debug loglevel.
* node: log cosmwasm watcher block height to debug
* node: log solana empty slots as debug
This cuts down on an enormous amount of additional logging.
* node: update logging in sui watcher
* Set some info logs to debug
* Fix tyop of missmatch --> mismatch
* node: guardiand support for accounting
Change-Id: I97fe1f6d6d71a5803881ff4c793e3c30f22b14d8
* Node: Tie accounting into the guardian
Change-Id: I31600d18176f516b75b3eb046fd7ac6e54e1b133
* Node: accounting tests and metrics
Change-Id: Ieb139772edf464ed1ab202861babeaf0f857ad6b
* Node: minor tweak to accounting metrics
Change-Id: Iad2b7e34870734f0c5e5d538c0ac86269a9a4728
* Node: load accounting key
Change-Id: I228ce23e63b556d751000b97097202eda48650aa
* More work in progress
Change-Id: I85088d26c05cf02d26043cf6ee8c67efd13f2ea4
* Node: send observations to accounting contract
Change-Id: Ib90909c2ee705d5e2a7e6cf3a6ec4ba7519e2eb1
* Node: Fix lint error in accounting tests
Change-Id: Id73397cf45107243a9f68ba82bed3ccf2b0299b5
* Node: Need to copy libwasmvm.so
Change-Id: I2856c8964ca082f1f4014d6db9fb1b2dc4e64409
* Node: Rename wormchain to wormconn
Change-Id: I6782be733ebdd92b908228d3984a906aa4c795f7
* Node: moving accounting check after governor
Change-Id: I064c77d30514715c6f8b6b5da50806a5e1adf657
* Node: Add accounting status to heartbeat
Change-Id: I0ae3e476386cfaccc5c877ee1351dbe41c0358c7
* Node: start of accounting integration work
Change-Id: I8ad206eb7fc07aa9e1a2ebc321f2c490ec36b51e
* Node: More broadcast tx stuff
Change-Id: Id2cc83df859310c013665eaa9c6ce3033bb1d9c5
* Node: Can actually send a request to accounting
Change-Id: I6af5d59c53939f58b2f13ae501914bef260592f2
* Node: More accounting tx broadcast stuff
Change-Id: If758e49f8928807e87053320e9330c7208aad490
* Node: config changes for accounting
Change-Id: I2803cceb188d04c557a52aa9aa8ba7296da8879f
* Node: More accounting changes
Change-Id: Id979af0ec6ab8484bc094072f3febf39355351ca
* Node/Acct: Use new observation request format
* Node/acct: use new contract interface
* Node/acct: fix minor copy/paste error
* Node: Clean up comments and lint errors
* Node: disable accounting in dev by default
* Node: Fix test failure
* Remove test code
* Switch messages to debug, rename Run()
* check for "out of gas"
* Use worker routine to submit observations
* Rename mutex to reflect what it protects
* Create handleEvents func
* Remove FinalizeObservation
* Node/Acct: Trying to use tm library for watcher
* Node/acct: switch watcher to use tm library
* Node/Acct: Need separate WS parm for accounting
* Node/Acct: Fix compile error in tests
* Node/Acct: Minor rework
* Node: add wormchain as a dep to remove stale code
* Node/Acct: GS index is not correct in requests
* Node/Acct: Peg connection error metric
* Node/Acct: Add wormchain to node docker file
* Node/Acct: Fix for double base64 decode
* Node/Acct: Change public key to sender address
* Node/Acct: Fix lint error
* Node/Acct: key pass phrase change
* Node/Acct: Pass guardian index in obs req
* Node/Acct: No go on submit observation
* Node/Acct: Don't double encode tx_hash
* Node/Acct: Remove unneeded base64 encoding
* Node/Acct: handle submit channel overflow
* Node/Acct: Added a TODO to document a review issue
* Node/Acct: Fix for checking if channel is full
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
* node: inject wormchain cosmwasm governance messages
* Use nested hash for defense in depth
* Use keccak.Reset() instead of creating new hash objects
* fix msg_server_wasmd_test
* Updated based on jynnantonix comments
* Check return value of binary.Write
* Include actual error in binary.Write panic case