Releases: wormhole-foundation/wormhole
v1.1.0 - mainnet release
Observability 🔍
The Wormhole node now exposes a readiness check and detailed Prometheus metrics, by default on [::1]:6060
(configurable via --statusAddr
). See OPERATIONS.md for details.
All metrics are documented. Here's an example output from node of a five-node cluster: https://gist.github.com/leoluk/29bda9e98c9cbb771de8c251e9063bd8
Once we gain more operational experience with Wormhole, we expect a common set of best practices on alerting and service level objectives/indicators to emerge.
Improvements
Native polling Solana watcher
guardiand is now using GetProgramAccounts
with a server-side filter to poll for new lockup accounts on Solana. This improves lockup observation reliability and mitigates solana-labs/solana#9909. Lockups will now always be processed, even if the node or network was down - this completely eliminates the risk of missing lockups.
As a side-effect of this, lockup observation on Solana is now implemented natively in guardiand thanks to the awesome https://github.com/dfuse-io/solana-go library, removing a lot of complexity. The separate Rust agent is still required to submit messages to Solana.
v1.0.0 - mainnet release
Audit completion ✔️
In addition to extensive internal audits, Kudelski have completed their audit of the bridge node, the Ethereum contract, the Solana contract, and the Terra contract. The reports will soon be published, and all findings have been resolved.
Solana upgradability 🔃
The Solana contract is now using the upgradeable BPF loader, which allows the contract to upgrade itself without any proxies or other potential footguns. Upgrades are triggered using the same governance mechanism as guardian set updates.
The Ethereum and Terra sides of the Wormhole bridge are simple and cannot be updated. The Solana contract is more complex as the "hub" of the system and will likely require updates in the future to implement dynamic fees.
External attestation 🔒
Wormhole will soon have the capability to attest arbitrary messages across chains. This release contains all contract changes necessary to support this on Ethereum and Solana. Refer to #147, #149 and #150 for more details on design and progress.
Terra support
The Kudelski audit of the Terra code has been completed, and this release includes full support for Terra with bidirectional token transfers between Terra, Solana and Ethereum 🎉
Terra support was built by Everstake, who are now part of the Wormhole project - thanks for the awesome collaboration!
Wormhole is chain-agnostic, so adding support for Terra did not require any changes to Ethereum and Solana. Mainnet launch will not require Terra nodes. After mainnet launch, the Everstake and Terra teams will coordinate the testnet and mainnet rollouts for the Terra bridge. Once 2/3+ of the guardian set have added Terra nodes, Terra support will be live!
Improvements
ERC20 token names
The name of the ERC20 token now contains the truncated SPL token address to make it easier to distinguish them in a Wormhole-unaware wallet like Metamask.
SPL tokens do not have on-chain names, so this is the next-best thing - those vanity addresses did pay off after all!
Sollet support for the experimental web UI
Wormhole contains an technical example UI for testing transfers as a template for wallets. This demonstration UI now includes support for Serum's Sollet wallet, allowing for end-to-end transfers to be completed from a web browser.
Code freeze for the Kudelski audit (pt2)
Informational - this is the commit that Kudelski currently audits during the second part of their audit.
testnet: bug fix for bridge build
This release fixes a bug with protobuf code generation in a clean checkout, resulting in a pkg/solana/watcher.go:18:2: cannot find module providing package github.com/certusone/wormhole/bridge/pkg/proto/agent/v1: import lookup disabled by -mod=readonly
error.
first testnet release
v0.1.1 Bump version to v0.1.1
Code freeze for Kudelski contract audit (pt1)
kudelski_pt1 bridge: fix quorum (#56)