rename dev.v2 to main
Change-Id: Idfc6f88de7ee3c190a01c2196dc0bc4da91cbe4c
This commit is contained in:
parent
048b8834c9
commit
ff186e441a
|
@ -6,7 +6,7 @@ labels: ""
|
|||
assignees: ""
|
||||
---
|
||||
|
||||
Github issues are **ONLY** for reporting bugs. Before contributing new features (such as a new chain) please first read the [contribution frequently asked questions](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/CONTRIBUTING.md#contributions-faq).
|
||||
Github issues are **ONLY** for reporting bugs. Before contributing new features (such as a new chain) please first read the [contribution frequently asked questions](https://github.com/wormhole-foundation/wormhole/blob/main/CONTRIBUTING.md#contributions-faq).
|
||||
|
||||
For user support questions such as VAA not found, please use the [Wormhole Official Discord](https://discord.gg/wormholecrypto). Do not give your wallet private key or mnemonic words to anyone.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ on:
|
|||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- dev.v2
|
||||
- main
|
||||
jobs:
|
||||
# Run the full Tilt build and wait for it to converge
|
||||
tilt:
|
||||
|
|
|
@ -6,7 +6,7 @@ on:
|
|||
types: [published]
|
||||
push:
|
||||
branches:
|
||||
- dev.v2
|
||||
- main
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
|
|
2
.spr.yml
2
.spr.yml
|
@ -4,4 +4,4 @@ githubHost: github.com
|
|||
requireChecks: true
|
||||
requireApproval: true
|
||||
githubRemote: origin
|
||||
githubBranch: dev.v2
|
||||
githubBranch: main
|
||||
|
|
|
@ -9,7 +9,7 @@ and code reviews are our most important tools to accomplish that.
|
|||
- All new features must first be discussed in a GitHub issue before starting to implement them. For
|
||||
complex features, it can be useful to submit a [formal design document](design/template.md).
|
||||
|
||||
- Development happens on a long-lived development branch (`dev.v2` and `dev.v1`).
|
||||
- Development happens on a long-lived development branch (`main` and `dev.v1`).
|
||||
Every change going into a development branch is reviewed individually (see below). Release branches may be used
|
||||
to support in-the-wild releases of Wormhole. We aim to support at most two release
|
||||
branches at the same time. Changes can be cherry-picked from the development branch to release branches, but
|
||||
|
|
|
@ -89,7 +89,7 @@ The Wormhole project wants to lower the bar for White-hat hackers to find securi
|
|||
|
||||
Here's a list of strategies that are helpful for getting started on Wormhole:
|
||||
|
||||
- Review the existing unit and integration testing (found in [CONTRIBUTING.md](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/CONTRIBUTING.md)) and see what is already being testing for.
|
||||
- Review the existing unit and integration testing (found in [CONTRIBUTING.md](https://github.com/wormhole-foundation/wormhole/blob/main/CONTRIBUTING.md)) and see what is already being testing for.
|
||||
- Check out places where there might be missing test coverage entirely. This could be a ripe spot to look for something we missed.
|
||||
- Check out places where there are unit/integration tests, but they lack sufficient [negative test](https://en.wikipedia.org/wiki/Negative_testing) coverage.
|
||||
- Review different smart contract implementations (eg. Solana, EVM, CosmWasm, Move) and attempt to understand how and why they are different.
|
||||
|
@ -104,7 +104,7 @@ It's important to remember this is an iterative process and to stay positive. If
|
|||
|
||||
## Chain Integrators
|
||||
|
||||
As the list of chains connected to Wormhole increases, so does the risk that a given connected could introduce risks to the Wormhole network. As a result, Wormhole does have built-in safety features (e.g.: [Governor white-paper](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/whitepapers/0007_governor.md)) to reduce the "blast radius" of such case. That said, a defense in depth strategy is required to do as much as possible to secure the network. As part of this methodology, the Wormhole project recommends that all connected chains current and future implement robust security programs of their own to do their part in managing chain compromise risk to the wormhole network.
|
||||
As the list of chains connected to Wormhole increases, so does the risk that a given connected could introduce risks to the Wormhole network. As a result, Wormhole does have built-in safety features (e.g.: [Governor white-paper](https://github.com/wormhole-foundation/wormhole/blob/main/whitepapers/0007_governor.md)) to reduce the "blast radius" of such case. That said, a defense in depth strategy is required to do as much as possible to secure the network. As part of this methodology, the Wormhole project recommends that all connected chains current and future implement robust security programs of their own to do their part in managing chain compromise risk to the wormhole network.
|
||||
|
||||
Here are a few ways in which connected chains can maintain high security standards:
|
||||
|
||||
|
@ -114,7 +114,7 @@ For source code ensure relevant bits are:
|
|||
- Audited by an independent third party with public audit reports
|
||||
- Included in a public bug bounty program. The bounty rewards should be sufficiently large to incentivize white-hat mindshare in finding security bugs and responsibly disclosing them
|
||||
- Version control systems contain adequate access controls and mandatory code review (e.g.: In github, use of branch protection and a minimum of one independent reviewer to merge code)
|
||||
- Maintaining a [SECURITY.md](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/SECURITY.md) in the root of the repository (like this one) to offer guidance and transparency on security relevant topics
|
||||
- Maintaining a [SECURITY.md](https://github.com/wormhole-foundation/wormhole/blob/main/SECURITY.md) in the root of the repository (like this one) to offer guidance and transparency on security relevant topics
|
||||
- Includes sufficient unit and integration test coverage (including negative tests), which are run on every commit via continuous integration. Ensure that the results of those test runs are visible to the public
|
||||
|
||||
Additionally, ensure:
|
||||
|
|
|
@ -426,7 +426,7 @@ export class TestLib {
|
|||
|
||||
/**
|
||||
* Create a packed and signed VAA for testing.
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/dev.v2/design/0001_generic_message_passing.md
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/main/design/0001_generic_message_passing.md
|
||||
*
|
||||
* @param {} guardianSetIndex The guardian set index
|
||||
* @param {*} signers The list of private keys for signing the VAA
|
||||
|
|
|
@ -130,7 +130,7 @@ Behind the scenes, these scripts exercise the whole contract upgrade code path
|
|||
(see below), including generating and verifying a signed governance action, and
|
||||
the Move bytecode verifier checking ABI compatibility. If an upgrade here fails
|
||||
due to incompatibility, it will likely on mainnet too. (TODO: add CI action to
|
||||
simulate upgrades against dev.v2 when there's a stable version)
|
||||
simulate upgrades against main when there's a stable version)
|
||||
|
||||
# Implementation notes / coding practices
|
||||
|
||||
|
|
|
@ -567,7 +567,7 @@ export class TestLib {
|
|||
|
||||
/**
|
||||
* Create a packed and signed VAA for testing.
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/dev.v2/design/0001_generic_message_passing.md
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/main/design/0001_generic_message_passing.md
|
||||
*
|
||||
* @param {} guardianSetIndex The guardian set index
|
||||
* @param {*} signers The list of private keys for signing the VAA
|
||||
|
|
|
@ -48,7 +48,7 @@ func Handler(w http.ResponseWriter, r *http.Request) {
|
|||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
_, err = resp.Write([]byte("[these values update AT STARTUP ONLY - see https://github.com/certusone/wormhole/blob/dev.v2/docs/operations.md#readyz]\n\n"))
|
||||
_, err = resp.Write([]byte("[these values update AT STARTUP ONLY - see https://github.com/wormhole-foundation/wormhole/blob/main/docs/operations.md#readyz]\n\n"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ RUN npm run build && npm prune --production
|
|||
|
||||
FROM base AS application
|
||||
|
||||
LABEL org.opencontainers.image.source="https://github.com/wormhole-foundation/wormhole/tree/dev.v2/relayer/spy_relayer#readme"
|
||||
LABEL org.opencontainers.image.source="https://github.com/wormhole-foundation/wormhole/tree/main/relayer/spy_relayer#readme"
|
||||
|
||||
COPY --from=builder /app/node_modules node_modules
|
||||
COPY --from=builder /app/lib lib
|
||||
|
|
|
@ -8,7 +8,7 @@ services:
|
|||
- redis-data:/data
|
||||
|
||||
guardian-spy:
|
||||
image: ghcr.io/wormhole-foundation/guardiand:dev.v2
|
||||
image: ghcr.io/wormhole-foundation/guardiand:main
|
||||
entrypoint: /guardiand
|
||||
command: ${GUARDIAN_SPY_COMMAND:-spy --nodeKey /node.key --spyRPC "[::]:7073" --network /wormhole/testnet/2/1 --bootstrap /dns4/wormhole-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWBY9ty9CXLBXGQzMuqkziLntsVcyz4pk1zWaJRvJn6Mmt}
|
||||
|
||||
|
@ -16,7 +16,7 @@ services:
|
|||
build:
|
||||
context: .
|
||||
target: application
|
||||
image: wormhole-relayer:dev.v2
|
||||
image: wormhole-relayer:main
|
||||
command: ${SPY_RELAYER_COMMAND:-npm run spy_relay}
|
||||
environment:
|
||||
- SPY_RELAY_CONFIG=/app/.env.docker.sample
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"files": [
|
||||
"lib/"
|
||||
],
|
||||
"repository": "https://github.com/certusone/wormhole/tree/dev.v2/sdk/js-proto-node",
|
||||
"repository": "https://github.com/wormhole-foundation/wormhole/tree/main/sdk/js-proto-node",
|
||||
"scripts": {
|
||||
"build-deps": "cd ../.. && DOCKER_BUILDKIT=1 docker build --target node-export -f Dockerfile.proto -o type=local,dest=. .",
|
||||
"build-lib": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"files": [
|
||||
"lib/"
|
||||
],
|
||||
"repository": "https://github.com/certusone/wormhole/tree/dev.v2/sdk/js-proto-web",
|
||||
"repository": "https://github.com/wormhole-foundation/wormhole/tree/main/sdk/js-proto-web",
|
||||
"scripts": {
|
||||
"build-deps": "cd ../.. && DOCKER_BUILDKIT=1 docker build --target node-export -f Dockerfile.proto -o type=local,dest=. .",
|
||||
"build-lib": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"files": [
|
||||
"lib/"
|
||||
],
|
||||
"repository": "https://github.com/certusone/wormhole/tree/dev.v2/sdk/js-wasm",
|
||||
"repository": "https://github.com/wormhole-foundation/wormhole/tree/main/sdk/js-wasm",
|
||||
"scripts": {
|
||||
"build-deps": "cd ../.. && DOCKER_BUILDKIT=1 docker build -f solana/Dockerfile.wasm -o type=local,dest=. solana",
|
||||
"build-lib": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && node scripts/copyWasm.js",
|
||||
|
|
|
@ -49,7 +49,7 @@ It is important to note that Wormhole wrapped tokens are distinct from and incom
|
|||
|
||||
## Examples
|
||||
|
||||
The integration tests in the [source code](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/sdk/js/src/token_bridge/__tests__/integration.ts) have many full-path examples, while the [example Token Bridge UI](https://github.com/wormhole-foundation/wormhole/tree/dev.v2/bridge_ui) demonstrates how to integrate it.
|
||||
The integration tests in the [source code](https://github.com/wormhole-foundation/wormhole/blob/main/sdk/js/src/token_bridge/__tests__/integration.ts) have many full-path examples, while the [example Token Bridge UI](https://github.com/wormhole-foundation/wormhole/tree/main/bridge_ui) demonstrates how to integrate it.
|
||||
|
||||
### Attest
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"files": [
|
||||
"lib/"
|
||||
],
|
||||
"repository": "https://github.com/certusone/wormhole/tree/dev.v2/sdk/js",
|
||||
"repository": "https://github.com/certusone/wormhole/tree/main/sdk/js",
|
||||
"scripts": {
|
||||
"build-contracts": "npm run build --prefix ../../ethereum && node scripts/copyContracts.js && typechain --target=ethers-v5 --out-dir=src/ethers-contracts contracts/*.json",
|
||||
"build-abis": "typechain --target=ethers-v5 --out-dir=src/ethers-contracts/abi src/abi/Wormhole.abi.json",
|
||||
|
|
|
@ -423,7 +423,7 @@ export class TestLib {
|
|||
|
||||
/**
|
||||
* Create a packed and signed VAA for testing.
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/dev.v2/design/0001_generic_message_passing.md
|
||||
* See https://github.com/wormhole-foundation/wormhole/blob/main/design/0001_generic_message_passing.md
|
||||
*
|
||||
* @param {} guardianSetIndex The guardian set index
|
||||
* @param {*} signers The list of private keys for signing the VAA
|
||||
|
|
|
@ -43,7 +43,7 @@ export class NftBridgeInstructionCoder implements InstructionCoder {
|
|||
|
||||
/** Solitaire enum of existing the NFT Bridge's instructions.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/modules/nft_bridge/program/src/lib.rs#L74
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/modules/nft_bridge/program/src/lib.rs#L74
|
||||
*/
|
||||
export enum NftBridgeInstruction {
|
||||
Initialize,
|
||||
|
|
|
@ -52,7 +52,7 @@ export class TokenBridgeInstructionCoder implements InstructionCoder {
|
|||
|
||||
/** Solitaire enum of existing the Token Bridge's instructions.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/modules/token_bridge/program/src/lib.rs#L100
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/modules/token_bridge/program/src/lib.rs#L100
|
||||
*/
|
||||
export enum TokenBridgeInstruction {
|
||||
Initialize,
|
||||
|
|
|
@ -40,7 +40,7 @@ export class WormholeInstructionCoder implements InstructionCoder {
|
|||
|
||||
/** Solitaire enum of existing the Core Bridge's instructions.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/bridge/program/src/lib.rs#L92
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/bridge/program/src/lib.rs#L92
|
||||
*/
|
||||
export enum WormholeInstruction {
|
||||
Initialize,
|
||||
|
|
|
@ -21,7 +21,7 @@ import { isBytes, ParsedVaa, parseVaa, SignedVaa } from "../../../vaa";
|
|||
* `signatureSet` is a {@link web3.Keypair} generated outside of this method, which was used
|
||||
* to write signatures and the message hash to.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/bridge/program/src/api/post_vaa.rs
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/bridge/program/src/api/post_vaa.rs
|
||||
*
|
||||
* @param {PublicKeyInitData} wormholeProgramId - wormhole program address
|
||||
* @param {PublicKeyInitData} payer - transaction signer address
|
||||
|
|
|
@ -30,7 +30,7 @@ const MAX_LEN_GUARDIAN_KEYS = 19;
|
|||
*
|
||||
* There are at most three pairs of instructions created.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/bridge/program/src/api/verify_signature.rs
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/bridge/program/src/api/verify_signature.rs
|
||||
*
|
||||
*
|
||||
* @param {Connection} connection - Solana web3 connection
|
||||
|
@ -107,7 +107,7 @@ export async function createVerifySignaturesInstructions(
|
|||
* `signatureSet` is a {@link web3.Keypair} generated outside of this method, used
|
||||
* for writing signatures and the message hash to.
|
||||
*
|
||||
* https://github.com/certusone/wormhole/blob/dev.v2/solana/bridge/program/src/api/verify_signature.rs
|
||||
* https://github.com/certusone/wormhole/blob/main/solana/bridge/program/src/api/verify_signature.rs
|
||||
*
|
||||
* @param {PublicKeyInitData} wormholeProgramId - wormhole program address
|
||||
* @param {PublicKeyInitData} payer - transaction signer address
|
||||
|
|
|
@ -18,4 +18,4 @@ stream.on("data", ({ vaaBytes }) => {
|
|||
});
|
||||
```
|
||||
|
||||
Also see [integration tests](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/spydk/js/src/__tests__/integration.ts)
|
||||
Also see [integration tests](https://github.com/wormhole-foundation/wormhole/blob/main/spydk/js/src/__tests__/integration.ts)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"files": [
|
||||
"lib/"
|
||||
],
|
||||
"repository": "https://github.com/certusone/wormhole/tree/dev.v2/spydk/js",
|
||||
"repository": "https://github.com/wormhole-foundation/wormhole/tree/main/spydk/js",
|
||||
"scripts": {
|
||||
"build-lib": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
|
||||
"build-all": "npm run build-lib",
|
||||
|
|
|
@ -24,7 +24,7 @@ Bridge security is incredibly high stakes — beyond core trust assumptions and
|
|||
|
||||
Each individual Guardian within the Guardian network should employ a set of strategies to verify the validity of a VAA. The Governor is designed to check VAAs that transfer tokens by enforcing limits on the notional value that can be transferred from a given chain over a specific period of time.
|
||||
|
||||
The current implementation works on two classes of transaction (large and small) and current configuration can be found [here](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/node/pkg/governor/mainnet_chains.go):
|
||||
The current implementation works on two classes of transaction (large and small) and current configuration can be found [here](https://github.com/wormhole-foundation/wormhole/blob/main/node/pkg/governor/mainnet_chains.go):
|
||||
|
||||
- **Large Transactions**
|
||||
- A transaction is large if it is greater than or equal to the `bigTransactionSize` for a given origin chain.
|
||||
|
|
|
@ -20,7 +20,7 @@ Extend Wormhole with the core-primitives needed to build better composability pa
|
|||
|
||||
## Non-Goals
|
||||
|
||||
This design document focuses only on the extension of the current implementation of Wormhole’s generic message passing ([0001_generic_message_passing.md](https://github.com/wormhole-foundation/wormhole/blob/dev.v2/whitepapers/0001_generic_message_passing.md)) and does not attempt to solve the following problems, leaving them for future design iterations:
|
||||
This design document focuses only on the extension of the current implementation of Wormhole’s generic message passing ([0001_generic_message_passing.md](https://github.com/wormhole-foundation/wormhole/blob/main/whitepapers/0001_generic_message_passing.md)) and does not attempt to solve the following problems, leaving them for future design iterations:
|
||||
|
||||
- Replacing VAAv1s with batch VAAs (VAAv2) containing only a single observation.
|
||||
- Ensuring backwards compatibility of batch VAAs (VAAv2) with only a single observation using the existing Wormhole APIs.
|
||||
|
|
Loading…
Reference in New Issue