diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index ae0803ffdf..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,28 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/bridge_ui" # Location of package manifests - schedule: - interval: "weekly" - labels: - - "dependencies" - - "bridge_ui" - - package-ecosystem: "npm" - directory: "/sdk/js" - schedule: - interval: "weekly" - labels: - - "dependencies" - - "sdk/js" - - package-ecosystem: "npm" - directory: "/spydk/js" - schedule: - interval: "weekly" - labels: - - "dependencies" - - "spydk/js" diff --git a/.github/workflows/attester-image-push.yml b/.github/workflows/attester-image-push.yml index e96e4f2b98..e2a992e83a 100644 --- a/.github/workflows/attester-image-push.yml +++ b/.github/workflows/attester-image-push.yml @@ -2,7 +2,7 @@ name: Build and Push Attester Image on: push: tags: - - pyth-attester-v* + - pyth-wormhole-attester-v* workflow_dispatch: inputs: dispatch_description: @@ -18,13 +18,13 @@ jobs: steps: - uses: actions/checkout@v2 - name: Set image tag to version of the git tag - if: ${{ startsWith(github.ref, 'refs/tags/pyth-attester-v') }} + if: ${{ startsWith(github.ref, 'refs/tags/pyth-wormhole-attester-v') }} run: | PREFIX="refs/tags/pyth-attester-" VERSION="${GITHUB_REF:${#PREFIX}}" echo "IMAGE_TAG=${VERSION}" >> "${GITHUB_ENV}" - name: Set image tag to the git commit hash - if: ${{ !startsWith(github.ref, 'refs/tags/pyth-attester-v') }} + if: ${{ !startsWith(github.ref, 'refs/tags/pyth-wormhole-attester-v') }} run: | echo "IMAGE_TAG=${{ github.sha }}" >> "${GITHUB_ENV}" - uses: aws-actions/configure-aws-credentials@8a84b07f2009032ade05a88a28750d733cc30db1 @@ -37,7 +37,6 @@ jobs: env: AWS_REGION: us-east-1 - run: | - DOCKER_BUILDKIT=1 docker build -f Dockerfile.client -t bridge-client . DOCKER_BUILDKIT=1 docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -f third_party/pyth/Dockerfile.p2w-attest . docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG env: diff --git a/.github/workflows/ethereum-contract.yml b/.github/workflows/ethereum-contract.yml index 6ad91404ec..dbf9cf63c9 100644 --- a/.github/workflows/ethereum-contract.yml +++ b/.github/workflows/ethereum-contract.yml @@ -1,13 +1,13 @@ on: pull_request: paths: - - ethereum/** + - target-chains/ethereum/** - third_party/pyth/xc-governance-sdk-js/** push: branches: - main paths: - - ethereum/** + - target-chains/ethereum/** - third_party/pyth/xc-governance-sdk-js/** name: Ethereum Contract @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ethereum/ + working-directory: target-chains/ethereum/ steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/price-service-image-push.yml b/.github/workflows/price-service-image-push.yml index 18b94ed5a4..b5467d9736 100644 --- a/.github/workflows/price-service-image-push.yml +++ b/.github/workflows/price-service-image-push.yml @@ -37,7 +37,7 @@ jobs: env: AWS_REGION: us-east-1 - run: | - DOCKER_BUILDKIT=1 docker build -f Dockerfile.wasm -o type=local,dest=. . + DOCKER_BUILDKIT=1 docker build -f tilt-devnet/docker-images/Dockerfile.wasm -o type=local,dest=. . DOCKER_BUILDKIT=1 docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -f third_party/pyth/price-service/Dockerfile.price_service . docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG env: diff --git a/.github/workflows/pyth-cosmwasm-contract.yml b/.github/workflows/pyth-cosmwasm-contract.yml index 1af699c05c..042fc645cb 100644 --- a/.github/workflows/pyth-cosmwasm-contract.yml +++ b/.github/workflows/pyth-cosmwasm-contract.yml @@ -3,13 +3,13 @@ name: Pyth CosmWasm Contract on: pull_request: paths: - - cosmwasm/** + - target-chains/cosmwasm/** - third_party/pyth/p2w-sdk/rust/** push: branches: - main paths: - - cosmwasm/** + - target-chains/cosmwasm/** - third_party/pyth/p2w-sdk/rust/** env: @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./cosmwasm/contracts/pyth + working-directory: target-chains/cosmwasm/contracts/pyth steps: - uses: actions/checkout@v2 - name: Build diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ab57b62aea..d749d13a0a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,51 +22,51 @@ repos: language: "rust" entry: cargo +nightly fmt --manifest-path ./pythnet/remote-executor/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false - files: pythnet/remote-executor/ + files: pythnet/remote-executor - id: cargo-clippy-remote-executor name: Cargo clippy for remote executor language: "rust" entry: cargo +nightly clippy --manifest-path ./pythnet/remote-executor/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false - files: pythnet/remote-executor/ + files: pythnet/remote-executor # Hooks for the attester - id: cargo-fmt-attester name: Cargo format for attester language: "rust" - entry: cargo +nightly fmt --manifest-path ./solana/pyth2wormhole/Cargo.toml --all -- --config-path rustfmt.toml + entry: cargo +nightly fmt --manifest-path ./wormhole-attester/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false - files: solana/pyth2wormhole/ + files: wormhole-attester - id: cargo-clippy-attester name: Cargo clippy for attester language: "rust" entry: | bash -c 'EMITTER_ADDRESS=0 BRIDGE_ADDRESS=0 cargo +nightly clippy --manifest-path \ - ./solana/pyth2wormhole/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings' + ./wormhole-attester/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings' pass_filenames: false - files: solana/pyth2wormhole/ + files: wormhole-attester # Hooks for cosmwasm contract - id: cargo-fmt-cosmwasm name: Cargo format for cosmwasm contract language: "rust" - entry: cargo +nightly fmt --manifest-path ./cosmwasm/Cargo.toml --all -- --config-path rustfmt.toml + entry: cargo +nightly fmt --manifest-path ./target-chains/cosmwasm/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false - files: cosmwasm/ + files: target-chains/cosmwasm - id: cargo-clippy-cosmwasm name: Cargo clippy for cosmwasm contract language: "rust" - entry: cargo +nightly clippy --manifest-path ./cosmwasm/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings + entry: cargo +nightly clippy --manifest-path ./target-chains/cosmwasm/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false - files: cosmwasm/ + files: target-chains/cosmwasm # Hooks for p2w-sdk/rust - id: cargo-fmt-p2w-sdk name: Cargo format for p2w-sdk language: "rust" entry: cargo +nightly fmt --manifest-path ./third_party/pyth/p2w-sdk/rust/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false - files: third_party/pyth/p2w-sdk/rust/ + files: third_party/pyth/p2w-sdk/rust - id: cargo-clippy-p2w-sdk name: Cargo clippy for p2w-sdk language: "rust" entry: cargo +nightly clippy --manifest-path ./third_party/pyth/p2w-sdk/rust/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false - files: third_party/pyth/p2w-sdk/rust/ + files: third_party/pyth/p2w-sdk/rust diff --git a/Dockerfile.prometheus b/Dockerfile.prometheus deleted file mode 100644 index 692bf6b952..0000000000 --- a/Dockerfile.prometheus +++ /dev/null @@ -1,3 +0,0 @@ -FROM prom/prometheus - -ADD --chown=nobody:nobody ./prometheus_config.yaml . diff --git a/Tiltfile b/Tiltfile index 97073728c8..dce36cbe22 100644 --- a/Tiltfile +++ b/Tiltfile @@ -66,16 +66,16 @@ def k8s_yaml_with_ns(objects): local_resource( name = "wasm-gen", - cmd = "tilt docker build -- -f Dockerfile.wasm -o type=local,dest=. .", + cmd = "tilt docker build -- -f tilt-devnet/docker-images/Dockerfile.wasm -o type=local,dest=. .", env = {"DOCKER_BUILDKIT": "1"}, + deps = "./wormhole-attester", labels = ["wasm"], allow_parallel=True, trigger_mode = trigger_mode, ) - def build_node_yaml(): - node_yaml = read_yaml_stream("devnet/node.yaml") + node_yaml = read_yaml_stream("tilt-devnet/k8s/node.yaml") for obj in node_yaml: if obj["kind"] == "StatefulSet" and obj["metadata"]["name"] == "guardian": @@ -103,7 +103,7 @@ k8s_resource( ) # spy -k8s_yaml_with_ns("devnet/spy.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/spy.yaml") k8s_resource( "spy", @@ -121,10 +121,7 @@ k8s_resource( docker_build( ref = "bridge-client", context = ".", - only = ["./solana"], - dockerfile = "Dockerfile.client", - # Ignore target folders from local (non-container) development. - ignore = ["./solana/*/target"], + dockerfile = "tilt-devnet/docker-images/Dockerfile.client", ) # solana smart contract @@ -132,12 +129,12 @@ docker_build( docker_build( ref = "solana-contract", context = ".", - dockerfile = "Dockerfile.solana", + dockerfile = "tilt-devnet/docker-images/Dockerfile.solana", ) # solana local devnet -k8s_yaml_with_ns("devnet/solana-devnet.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/solana-devnet.yaml") k8s_resource( "solana-devnet", @@ -155,10 +152,7 @@ k8s_resource( docker_build( ref = "eth-node", context = "./", - dockerfile = "./Dockerfile.ethereum", - - # ignore local node_modules (in case they're present) - ignore = ["./ethereum/node_modules", "./third_party/pyth/xc-governance-sdk-js/node_modules"], + dockerfile = "tilt-devnet/docker-images/Dockerfile.ethereum", # sync external scripts for incremental development # (everything else needs to be restarted from scratch for determinism) @@ -176,7 +170,7 @@ docker_build( context = ".", dockerfile = "third_party/pyth/Dockerfile.pyth", ) -k8s_yaml_with_ns("./devnet/pyth.yaml") +k8s_yaml_with_ns("./tilt-devnet/k8s/pyth.yaml") k8s_resource( "pyth", @@ -189,12 +183,10 @@ k8s_resource( docker_build( ref = "p2w-attest", context = ".", - only = ["./solana", "./third_party", "./pythnet"], dockerfile = "./third_party/pyth/Dockerfile.p2w-attest", - ignore = ["./solana/*/target"], ) -k8s_yaml_with_ns("devnet/p2w-attest.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/p2w-attest.yaml") k8s_resource( "p2w-attest", resource_deps = ["solana-devnet", "pyth", "guardian"], @@ -211,7 +203,7 @@ docker_build( dockerfile = "./third_party/pyth/Dockerfile.check-attestations", ) -k8s_yaml_with_ns("devnet/check-attestations.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/check-attestations.yaml") k8s_resource( "check-attestations", resource_deps = ["pyth-price-service", "pyth", "p2w-attest"], @@ -225,7 +217,7 @@ docker_build( context = ".", dockerfile = "third_party/pyth/p2w-relay/Dockerfile.pyth_relay", ) -k8s_yaml_with_ns("devnet/p2w-terra-relay.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/p2w-terra-relay.yaml") k8s_resource( "p2w-terra-relay", resource_deps = ["pyth", "p2w-attest", "spy", "terra-terrad", "wasm-gen"], @@ -235,7 +227,7 @@ k8s_resource( labels = ["pyth"] ) -k8s_yaml_with_ns("devnet/p2w-evm-relay.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/p2w-evm-relay.yaml") k8s_resource( "p2w-evm-relay", resource_deps = ["pyth", "p2w-attest", "spy", "eth-devnet", "wasm-gen"], @@ -251,7 +243,7 @@ docker_build( context = ".", dockerfile = "third_party/pyth/price-service/Dockerfile.price_service", ) -k8s_yaml_with_ns("devnet/pyth-price-service.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/pyth-price-service.yaml") k8s_resource( "pyth-price-service", resource_deps = ["pyth", "p2w-attest", "spy", "eth-devnet", "wasm-gen"], @@ -268,7 +260,7 @@ docker_build( context = "third_party/pyth/evm-watcher/", dockerfile = "third_party/pyth/evm-watcher/Dockerfile", ) -k8s_yaml_with_ns("devnet/pyth-evm-watcher.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/pyth-evm-watcher.yaml") k8s_resource( "pyth-evm-watcher", resource_deps = ["eth-devnet"], @@ -276,7 +268,7 @@ k8s_resource( ) -k8s_yaml_with_ns("devnet/eth-devnet.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/eth-devnet.yaml") k8s_resource( "eth-devnet", @@ -301,17 +293,17 @@ k8s_resource( docker_build( ref = "terra-image", - context = "./cosmwasm/devnet", - dockerfile = "cosmwasm/devnet/Dockerfile", + context = "./target-chains/cosmwasm/devnet", + dockerfile = "./target-chains/cosmwasm/devnet/Dockerfile", ) docker_build( ref = "cosmwasm-contracts", context = ".", - dockerfile = "Dockerfile.cosmwasm", + dockerfile = "tilt-devnet/docker-images/Dockerfile.cosmwasm", ) -k8s_yaml_with_ns("devnet/terra-devnet.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/terra-devnet.yaml") k8s_resource( "terra-terrad", @@ -340,10 +332,10 @@ k8s_resource( docker_build( ref = "prometheus", context = ".", - dockerfile = "Dockerfile.prometheus", + dockerfile = "tilt-devnet/docker-images/Dockerfile.prometheus", ) -k8s_yaml_with_ns("devnet/prometheus.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/prometheus.yaml") k8s_resource( "prometheus", @@ -355,10 +347,10 @@ k8s_resource( docker_build( ref = "multisig", context = ".", - dockerfile = "Dockerfile.multisig", + dockerfile = "tilt-devnet/docker-images/Dockerfile.multisig", ) -k8s_yaml_with_ns("devnet/multisig.yaml") +k8s_yaml_with_ns("tilt-devnet/k8s/multisig.yaml") k8s_resource( "multisig", diff --git a/ethereum/devnet_mnemonic.txt b/ethereum/devnet_mnemonic.txt deleted file mode 100644 index 3390092c77..0000000000 --- a/ethereum/devnet_mnemonic.txt +++ /dev/null @@ -1 +0,0 @@ -myth like bonus scare over problem client lizard pioneer submit female collect diff --git a/solana/pyth2wormhole/rust-toolchain b/rust-toolchain similarity index 86% rename from solana/pyth2wormhole/rust-toolchain rename to rust-toolchain index 34123a9088..4a8166e27f 100644 --- a/solana/pyth2wormhole/rust-toolchain +++ b/rust-toolchain @@ -2,5 +2,5 @@ # ci/rust-version.sh in the branch of the solana repo that corresponds # with the version we're using. [toolchain] -channel = "nightly-2022-02-24" +channel = "nightly-2022-12-24" profile = "minimal" diff --git a/solana/.dockerignore b/solana/.dockerignore deleted file mode 100644 index 71574ea53e..0000000000 --- a/solana/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -bin -**/target diff --git a/aptos/cli/package-lock.json b/target-chains/aptos/cli/package-lock.json similarity index 100% rename from aptos/cli/package-lock.json rename to target-chains/aptos/cli/package-lock.json diff --git a/aptos/cli/package.json b/target-chains/aptos/cli/package.json similarity index 100% rename from aptos/cli/package.json rename to target-chains/aptos/cli/package.json diff --git a/aptos/cli/src/cli.ts b/target-chains/aptos/cli/src/cli.ts similarity index 100% rename from aptos/cli/src/cli.ts rename to target-chains/aptos/cli/src/cli.ts diff --git a/aptos/cli/src/commands/aptos.ts b/target-chains/aptos/cli/src/commands/aptos.ts similarity index 100% rename from aptos/cli/src/commands/aptos.ts rename to target-chains/aptos/cli/src/commands/aptos.ts diff --git a/aptos/cli/tsconfig.json b/target-chains/aptos/cli/tsconfig.json similarity index 100% rename from aptos/cli/tsconfig.json rename to target-chains/aptos/cli/tsconfig.json diff --git a/aptos/contracts/Makefile b/target-chains/aptos/contracts/Makefile similarity index 100% rename from aptos/contracts/Makefile rename to target-chains/aptos/contracts/Makefile diff --git a/aptos/contracts/Move.toml b/target-chains/aptos/contracts/Move.toml similarity index 100% rename from aptos/contracts/Move.toml rename to target-chains/aptos/contracts/Move.toml diff --git a/aptos/contracts/sources/batch_price_attestation.move b/target-chains/aptos/contracts/sources/batch_price_attestation.move similarity index 100% rename from aptos/contracts/sources/batch_price_attestation.move rename to target-chains/aptos/contracts/sources/batch_price_attestation.move diff --git a/aptos/contracts/sources/data_source.move b/target-chains/aptos/contracts/sources/data_source.move similarity index 100% rename from aptos/contracts/sources/data_source.move rename to target-chains/aptos/contracts/sources/data_source.move diff --git a/aptos/contracts/sources/deserialize.move b/target-chains/aptos/contracts/sources/deserialize.move similarity index 100% rename from aptos/contracts/sources/deserialize.move rename to target-chains/aptos/contracts/sources/deserialize.move diff --git a/aptos/contracts/sources/error.move b/target-chains/aptos/contracts/sources/error.move similarity index 100% rename from aptos/contracts/sources/error.move rename to target-chains/aptos/contracts/sources/error.move diff --git a/aptos/contracts/sources/event.move b/target-chains/aptos/contracts/sources/event.move similarity index 100% rename from aptos/contracts/sources/event.move rename to target-chains/aptos/contracts/sources/event.move diff --git a/aptos/contracts/sources/governance/contract_upgrade.move b/target-chains/aptos/contracts/sources/governance/contract_upgrade.move similarity index 100% rename from aptos/contracts/sources/governance/contract_upgrade.move rename to target-chains/aptos/contracts/sources/governance/contract_upgrade.move diff --git a/aptos/contracts/sources/governance/governance.move b/target-chains/aptos/contracts/sources/governance/governance.move similarity index 100% rename from aptos/contracts/sources/governance/governance.move rename to target-chains/aptos/contracts/sources/governance/governance.move diff --git a/aptos/contracts/sources/governance/governance_action.move b/target-chains/aptos/contracts/sources/governance/governance_action.move similarity index 100% rename from aptos/contracts/sources/governance/governance_action.move rename to target-chains/aptos/contracts/sources/governance/governance_action.move diff --git a/aptos/contracts/sources/governance/governance_instruction.move b/target-chains/aptos/contracts/sources/governance/governance_instruction.move similarity index 100% rename from aptos/contracts/sources/governance/governance_instruction.move rename to target-chains/aptos/contracts/sources/governance/governance_instruction.move diff --git a/aptos/contracts/sources/governance/set_data_sources.move b/target-chains/aptos/contracts/sources/governance/set_data_sources.move similarity index 100% rename from aptos/contracts/sources/governance/set_data_sources.move rename to target-chains/aptos/contracts/sources/governance/set_data_sources.move diff --git a/aptos/contracts/sources/governance/set_governance_data_source.move b/target-chains/aptos/contracts/sources/governance/set_governance_data_source.move similarity index 100% rename from aptos/contracts/sources/governance/set_governance_data_source.move rename to target-chains/aptos/contracts/sources/governance/set_governance_data_source.move diff --git a/aptos/contracts/sources/governance/set_stale_price_threshold.move b/target-chains/aptos/contracts/sources/governance/set_stale_price_threshold.move similarity index 100% rename from aptos/contracts/sources/governance/set_stale_price_threshold.move rename to target-chains/aptos/contracts/sources/governance/set_stale_price_threshold.move diff --git a/aptos/contracts/sources/governance/set_update_fee.move b/target-chains/aptos/contracts/sources/governance/set_update_fee.move similarity index 100% rename from aptos/contracts/sources/governance/set_update_fee.move rename to target-chains/aptos/contracts/sources/governance/set_update_fee.move diff --git a/aptos/contracts/sources/i64.move b/target-chains/aptos/contracts/sources/i64.move similarity index 100% rename from aptos/contracts/sources/i64.move rename to target-chains/aptos/contracts/sources/i64.move diff --git a/aptos/contracts/sources/price.move b/target-chains/aptos/contracts/sources/price.move similarity index 100% rename from aptos/contracts/sources/price.move rename to target-chains/aptos/contracts/sources/price.move diff --git a/aptos/contracts/sources/price_feed.move b/target-chains/aptos/contracts/sources/price_feed.move similarity index 100% rename from aptos/contracts/sources/price_feed.move rename to target-chains/aptos/contracts/sources/price_feed.move diff --git a/aptos/contracts/sources/price_identifier.move b/target-chains/aptos/contracts/sources/price_identifier.move similarity index 100% rename from aptos/contracts/sources/price_identifier.move rename to target-chains/aptos/contracts/sources/price_identifier.move diff --git a/aptos/contracts/sources/price_info.move b/target-chains/aptos/contracts/sources/price_info.move similarity index 100% rename from aptos/contracts/sources/price_info.move rename to target-chains/aptos/contracts/sources/price_info.move diff --git a/aptos/contracts/sources/price_status.move b/target-chains/aptos/contracts/sources/price_status.move similarity index 100% rename from aptos/contracts/sources/price_status.move rename to target-chains/aptos/contracts/sources/price_status.move diff --git a/aptos/contracts/sources/pyth.move b/target-chains/aptos/contracts/sources/pyth.move similarity index 100% rename from aptos/contracts/sources/pyth.move rename to target-chains/aptos/contracts/sources/pyth.move diff --git a/aptos/contracts/sources/set.move b/target-chains/aptos/contracts/sources/set.move similarity index 100% rename from aptos/contracts/sources/set.move rename to target-chains/aptos/contracts/sources/set.move diff --git a/aptos/contracts/sources/state.move b/target-chains/aptos/contracts/sources/state.move similarity index 100% rename from aptos/contracts/sources/state.move rename to target-chains/aptos/contracts/sources/state.move diff --git a/aptos/examples/fetch_btc_price/Move.toml b/target-chains/aptos/examples/fetch_btc_price/Move.toml similarity index 100% rename from aptos/examples/fetch_btc_price/Move.toml rename to target-chains/aptos/examples/fetch_btc_price/Move.toml diff --git a/aptos/examples/fetch_btc_price/sources/example.move b/target-chains/aptos/examples/fetch_btc_price/sources/example.move similarity index 100% rename from aptos/examples/fetch_btc_price/sources/example.move rename to target-chains/aptos/examples/fetch_btc_price/sources/example.move diff --git a/aptos/examples/mint_nft/.gitignore b/target-chains/aptos/examples/mint_nft/.gitignore similarity index 100% rename from aptos/examples/mint_nft/.gitignore rename to target-chains/aptos/examples/mint_nft/.gitignore diff --git a/aptos/examples/mint_nft/Move.toml b/target-chains/aptos/examples/mint_nft/Move.toml similarity index 100% rename from aptos/examples/mint_nft/Move.toml rename to target-chains/aptos/examples/mint_nft/Move.toml diff --git a/aptos/examples/mint_nft/README.md b/target-chains/aptos/examples/mint_nft/README.md similarity index 100% rename from aptos/examples/mint_nft/README.md rename to target-chains/aptos/examples/mint_nft/README.md diff --git a/aptos/examples/mint_nft/app/.gitignore b/target-chains/aptos/examples/mint_nft/app/.gitignore similarity index 100% rename from aptos/examples/mint_nft/app/.gitignore rename to target-chains/aptos/examples/mint_nft/app/.gitignore diff --git a/aptos/examples/mint_nft/app/package-lock.json b/target-chains/aptos/examples/mint_nft/app/package-lock.json similarity index 100% rename from aptos/examples/mint_nft/app/package-lock.json rename to target-chains/aptos/examples/mint_nft/app/package-lock.json diff --git a/aptos/examples/mint_nft/app/package.json b/target-chains/aptos/examples/mint_nft/app/package.json similarity index 100% rename from aptos/examples/mint_nft/app/package.json rename to target-chains/aptos/examples/mint_nft/app/package.json diff --git a/aptos/examples/mint_nft/app/public/favicon.ico b/target-chains/aptos/examples/mint_nft/app/public/favicon.ico similarity index 100% rename from aptos/examples/mint_nft/app/public/favicon.ico rename to target-chains/aptos/examples/mint_nft/app/public/favicon.ico diff --git a/aptos/examples/mint_nft/app/public/index.html b/target-chains/aptos/examples/mint_nft/app/public/index.html similarity index 100% rename from aptos/examples/mint_nft/app/public/index.html rename to target-chains/aptos/examples/mint_nft/app/public/index.html diff --git a/aptos/examples/mint_nft/app/public/logo192.png b/target-chains/aptos/examples/mint_nft/app/public/logo192.png similarity index 100% rename from aptos/examples/mint_nft/app/public/logo192.png rename to target-chains/aptos/examples/mint_nft/app/public/logo192.png diff --git a/aptos/examples/mint_nft/app/public/manifest.json b/target-chains/aptos/examples/mint_nft/app/public/manifest.json similarity index 100% rename from aptos/examples/mint_nft/app/public/manifest.json rename to target-chains/aptos/examples/mint_nft/app/public/manifest.json diff --git a/aptos/examples/mint_nft/app/public/robots.txt b/target-chains/aptos/examples/mint_nft/app/public/robots.txt similarity index 100% rename from aptos/examples/mint_nft/app/public/robots.txt rename to target-chains/aptos/examples/mint_nft/app/public/robots.txt diff --git a/aptos/examples/mint_nft/app/src/App.css b/target-chains/aptos/examples/mint_nft/app/src/App.css similarity index 100% rename from aptos/examples/mint_nft/app/src/App.css rename to target-chains/aptos/examples/mint_nft/app/src/App.css diff --git a/aptos/examples/mint_nft/app/src/App.test.tsx b/target-chains/aptos/examples/mint_nft/app/src/App.test.tsx similarity index 100% rename from aptos/examples/mint_nft/app/src/App.test.tsx rename to target-chains/aptos/examples/mint_nft/app/src/App.test.tsx diff --git a/aptos/examples/mint_nft/app/src/App.tsx b/target-chains/aptos/examples/mint_nft/app/src/App.tsx similarity index 100% rename from aptos/examples/mint_nft/app/src/App.tsx rename to target-chains/aptos/examples/mint_nft/app/src/App.tsx diff --git a/aptos/examples/mint_nft/app/src/index.css b/target-chains/aptos/examples/mint_nft/app/src/index.css similarity index 100% rename from aptos/examples/mint_nft/app/src/index.css rename to target-chains/aptos/examples/mint_nft/app/src/index.css diff --git a/aptos/examples/mint_nft/app/src/index.tsx b/target-chains/aptos/examples/mint_nft/app/src/index.tsx similarity index 100% rename from aptos/examples/mint_nft/app/src/index.tsx rename to target-chains/aptos/examples/mint_nft/app/src/index.tsx diff --git a/aptos/examples/mint_nft/app/src/logo.svg b/target-chains/aptos/examples/mint_nft/app/src/logo.svg similarity index 100% rename from aptos/examples/mint_nft/app/src/logo.svg rename to target-chains/aptos/examples/mint_nft/app/src/logo.svg diff --git a/aptos/examples/mint_nft/app/src/react-app-env.d.ts b/target-chains/aptos/examples/mint_nft/app/src/react-app-env.d.ts similarity index 100% rename from aptos/examples/mint_nft/app/src/react-app-env.d.ts rename to target-chains/aptos/examples/mint_nft/app/src/react-app-env.d.ts diff --git a/aptos/examples/mint_nft/app/src/reportWebVitals.ts b/target-chains/aptos/examples/mint_nft/app/src/reportWebVitals.ts similarity index 100% rename from aptos/examples/mint_nft/app/src/reportWebVitals.ts rename to target-chains/aptos/examples/mint_nft/app/src/reportWebVitals.ts diff --git a/aptos/examples/mint_nft/app/src/setupTests.ts b/target-chains/aptos/examples/mint_nft/app/src/setupTests.ts similarity index 100% rename from aptos/examples/mint_nft/app/src/setupTests.ts rename to target-chains/aptos/examples/mint_nft/app/src/setupTests.ts diff --git a/aptos/examples/mint_nft/app/tsconfig.json b/target-chains/aptos/examples/mint_nft/app/tsconfig.json similarity index 100% rename from aptos/examples/mint_nft/app/tsconfig.json rename to target-chains/aptos/examples/mint_nft/app/tsconfig.json diff --git a/aptos/examples/mint_nft/sources/minting.move b/target-chains/aptos/examples/mint_nft/sources/minting.move similarity index 100% rename from aptos/examples/mint_nft/sources/minting.move rename to target-chains/aptos/examples/mint_nft/sources/minting.move diff --git a/aptos/start_node.sh b/target-chains/aptos/start_node.sh similarity index 100% rename from aptos/start_node.sh rename to target-chains/aptos/start_node.sh diff --git a/cosmwasm/.dockerignore b/target-chains/cosmwasm/.dockerignore similarity index 100% rename from cosmwasm/.dockerignore rename to target-chains/cosmwasm/.dockerignore diff --git a/cosmwasm/.gitignore b/target-chains/cosmwasm/.gitignore similarity index 100% rename from cosmwasm/.gitignore rename to target-chains/cosmwasm/.gitignore diff --git a/cosmwasm/Cargo.lock b/target-chains/cosmwasm/Cargo.lock similarity index 100% rename from cosmwasm/Cargo.lock rename to target-chains/cosmwasm/Cargo.lock diff --git a/cosmwasm/Cargo.toml b/target-chains/cosmwasm/Cargo.toml similarity index 100% rename from cosmwasm/Cargo.toml rename to target-chains/cosmwasm/Cargo.toml diff --git a/cosmwasm/Dockerfile.build b/target-chains/cosmwasm/Dockerfile.build similarity index 100% rename from cosmwasm/Dockerfile.build rename to target-chains/cosmwasm/Dockerfile.build diff --git a/cosmwasm/README.md b/target-chains/cosmwasm/README.md similarity index 100% rename from cosmwasm/README.md rename to target-chains/cosmwasm/README.md diff --git a/cosmwasm/build.sh b/target-chains/cosmwasm/build.sh similarity index 100% rename from cosmwasm/build.sh rename to target-chains/cosmwasm/build.sh diff --git a/cosmwasm/contracts/README.md b/target-chains/cosmwasm/contracts/README.md similarity index 100% rename from cosmwasm/contracts/README.md rename to target-chains/cosmwasm/contracts/README.md diff --git a/cosmwasm/contracts/pyth/Cargo.toml b/target-chains/cosmwasm/contracts/pyth/Cargo.toml similarity index 94% rename from cosmwasm/contracts/pyth/Cargo.toml rename to target-chains/cosmwasm/contracts/pyth/Cargo.toml index 759fd964d0..16df11bf6b 100644 --- a/cosmwasm/contracts/pyth/Cargo.toml +++ b/target-chains/cosmwasm/contracts/pyth/Cargo.toml @@ -28,7 +28,7 @@ generic-array = { version = "0.14.4" } hex = "0.4.2" lazy_static = "1.4.0" bigint = "4" -p2w-sdk = { path = "../../../third_party/pyth/p2w-sdk/rust" } +p2w-sdk = { path = "../../../../third_party/pyth/p2w-sdk/rust" } pyth-sdk-cw = "0.2.0" byteorder = "1.4.3" diff --git a/cosmwasm/contracts/pyth/src/contract.rs b/target-chains/cosmwasm/contracts/pyth/src/contract.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/contract.rs rename to target-chains/cosmwasm/contracts/pyth/src/contract.rs diff --git a/cosmwasm/contracts/pyth/src/error.rs b/target-chains/cosmwasm/contracts/pyth/src/error.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/error.rs rename to target-chains/cosmwasm/contracts/pyth/src/error.rs diff --git a/cosmwasm/contracts/pyth/src/governance.rs b/target-chains/cosmwasm/contracts/pyth/src/governance.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/governance.rs rename to target-chains/cosmwasm/contracts/pyth/src/governance.rs diff --git a/cosmwasm/contracts/pyth/src/lib.rs b/target-chains/cosmwasm/contracts/pyth/src/lib.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/lib.rs rename to target-chains/cosmwasm/contracts/pyth/src/lib.rs diff --git a/cosmwasm/contracts/pyth/src/msg.rs b/target-chains/cosmwasm/contracts/pyth/src/msg.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/msg.rs rename to target-chains/cosmwasm/contracts/pyth/src/msg.rs diff --git a/cosmwasm/contracts/pyth/src/state.rs b/target-chains/cosmwasm/contracts/pyth/src/state.rs similarity index 100% rename from cosmwasm/contracts/pyth/src/state.rs rename to target-chains/cosmwasm/contracts/pyth/src/state.rs diff --git a/cosmwasm/devnet/Dockerfile b/target-chains/cosmwasm/devnet/Dockerfile similarity index 100% rename from cosmwasm/devnet/Dockerfile rename to target-chains/cosmwasm/devnet/Dockerfile diff --git a/cosmwasm/devnet/config/app.toml b/target-chains/cosmwasm/devnet/config/app.toml similarity index 100% rename from cosmwasm/devnet/config/app.toml rename to target-chains/cosmwasm/devnet/config/app.toml diff --git a/cosmwasm/devnet/config/config.toml b/target-chains/cosmwasm/devnet/config/config.toml similarity index 100% rename from cosmwasm/devnet/config/config.toml rename to target-chains/cosmwasm/devnet/config/config.toml diff --git a/cosmwasm/devnet/config/genesis.json b/target-chains/cosmwasm/devnet/config/genesis.json similarity index 100% rename from cosmwasm/devnet/config/genesis.json rename to target-chains/cosmwasm/devnet/config/genesis.json diff --git a/cosmwasm/devnet/config/node_key.json b/target-chains/cosmwasm/devnet/config/node_key.json similarity index 100% rename from cosmwasm/devnet/config/node_key.json rename to target-chains/cosmwasm/devnet/config/node_key.json diff --git a/cosmwasm/devnet/config/priv_validator_key.json b/target-chains/cosmwasm/devnet/config/priv_validator_key.json similarity index 100% rename from cosmwasm/devnet/config/priv_validator_key.json rename to target-chains/cosmwasm/devnet/config/priv_validator_key.json diff --git a/cosmwasm/devnet/config/terrad.toml b/target-chains/cosmwasm/devnet/config/terrad.toml similarity index 100% rename from cosmwasm/devnet/config/terrad.toml rename to target-chains/cosmwasm/devnet/config/terrad.toml diff --git a/cosmwasm/devnet/config/wasm.toml b/target-chains/cosmwasm/devnet/config/wasm.toml similarity index 100% rename from cosmwasm/devnet/config/wasm.toml rename to target-chains/cosmwasm/devnet/config/wasm.toml diff --git a/cosmwasm/tools/deploy-pyth-bridge.js b/target-chains/cosmwasm/tools/deploy-pyth-bridge.js similarity index 100% rename from cosmwasm/tools/deploy-pyth-bridge.js rename to target-chains/cosmwasm/tools/deploy-pyth-bridge.js diff --git a/cosmwasm/tools/deploy.js b/target-chains/cosmwasm/tools/deploy.js similarity index 100% rename from cosmwasm/tools/deploy.js rename to target-chains/cosmwasm/tools/deploy.js diff --git a/cosmwasm/tools/deploy.sh b/target-chains/cosmwasm/tools/deploy.sh similarity index 100% rename from cosmwasm/tools/deploy.sh rename to target-chains/cosmwasm/tools/deploy.sh diff --git a/cosmwasm/tools/package-lock.json b/target-chains/cosmwasm/tools/package-lock.json similarity index 100% rename from cosmwasm/tools/package-lock.json rename to target-chains/cosmwasm/tools/package-lock.json diff --git a/cosmwasm/tools/package.json b/target-chains/cosmwasm/tools/package.json similarity index 100% rename from cosmwasm/tools/package.json rename to target-chains/cosmwasm/tools/package.json diff --git a/ethereum/.dockerignore b/target-chains/ethereum/.dockerignore similarity index 100% rename from ethereum/.dockerignore rename to target-chains/ethereum/.dockerignore diff --git a/ethereum/.env.cluster.mainnet b/target-chains/ethereum/.env.cluster.mainnet similarity index 100% rename from ethereum/.env.cluster.mainnet rename to target-chains/ethereum/.env.cluster.mainnet diff --git a/ethereum/.env.cluster.testnet b/target-chains/ethereum/.env.cluster.testnet similarity index 100% rename from ethereum/.env.cluster.testnet rename to target-chains/ethereum/.env.cluster.testnet diff --git a/ethereum/.env.prod.arbitrum b/target-chains/ethereum/.env.prod.arbitrum similarity index 100% rename from ethereum/.env.prod.arbitrum rename to target-chains/ethereum/.env.prod.arbitrum diff --git a/ethereum/.env.prod.arbitrum_testnet b/target-chains/ethereum/.env.prod.arbitrum_testnet similarity index 100% rename from ethereum/.env.prod.arbitrum_testnet rename to target-chains/ethereum/.env.prod.arbitrum_testnet diff --git a/ethereum/.env.prod.aurora b/target-chains/ethereum/.env.prod.aurora similarity index 100% rename from ethereum/.env.prod.aurora rename to target-chains/ethereum/.env.prod.aurora diff --git a/ethereum/.env.prod.aurora_testnet b/target-chains/ethereum/.env.prod.aurora_testnet similarity index 100% rename from ethereum/.env.prod.aurora_testnet rename to target-chains/ethereum/.env.prod.aurora_testnet diff --git a/ethereum/.env.prod.avalanche b/target-chains/ethereum/.env.prod.avalanche similarity index 100% rename from ethereum/.env.prod.avalanche rename to target-chains/ethereum/.env.prod.avalanche diff --git a/ethereum/.env.prod.bnb b/target-chains/ethereum/.env.prod.bnb similarity index 100% rename from ethereum/.env.prod.bnb rename to target-chains/ethereum/.env.prod.bnb diff --git a/ethereum/.env.prod.bnb_testnet b/target-chains/ethereum/.env.prod.bnb_testnet similarity index 100% rename from ethereum/.env.prod.bnb_testnet rename to target-chains/ethereum/.env.prod.bnb_testnet diff --git a/ethereum/.env.prod.celo b/target-chains/ethereum/.env.prod.celo similarity index 100% rename from ethereum/.env.prod.celo rename to target-chains/ethereum/.env.prod.celo diff --git a/ethereum/.env.prod.celo_alfajores_testnet b/target-chains/ethereum/.env.prod.celo_alfajores_testnet similarity index 100% rename from ethereum/.env.prod.celo_alfajores_testnet rename to target-chains/ethereum/.env.prod.celo_alfajores_testnet diff --git a/ethereum/.env.prod.cronos b/target-chains/ethereum/.env.prod.cronos similarity index 100% rename from ethereum/.env.prod.cronos rename to target-chains/ethereum/.env.prod.cronos diff --git a/ethereum/.env.prod.cronos_testnet b/target-chains/ethereum/.env.prod.cronos_testnet similarity index 100% rename from ethereum/.env.prod.cronos_testnet rename to target-chains/ethereum/.env.prod.cronos_testnet diff --git a/ethereum/.env.prod.development b/target-chains/ethereum/.env.prod.development similarity index 100% rename from ethereum/.env.prod.development rename to target-chains/ethereum/.env.prod.development diff --git a/ethereum/.env.prod.ethereum b/target-chains/ethereum/.env.prod.ethereum similarity index 100% rename from ethereum/.env.prod.ethereum rename to target-chains/ethereum/.env.prod.ethereum diff --git a/ethereum/.env.prod.fantom b/target-chains/ethereum/.env.prod.fantom similarity index 100% rename from ethereum/.env.prod.fantom rename to target-chains/ethereum/.env.prod.fantom diff --git a/ethereum/.env.prod.fantom_testnet b/target-chains/ethereum/.env.prod.fantom_testnet similarity index 100% rename from ethereum/.env.prod.fantom_testnet rename to target-chains/ethereum/.env.prod.fantom_testnet diff --git a/ethereum/.env.prod.fuji b/target-chains/ethereum/.env.prod.fuji similarity index 100% rename from ethereum/.env.prod.fuji rename to target-chains/ethereum/.env.prod.fuji diff --git a/ethereum/.env.prod.goerli b/target-chains/ethereum/.env.prod.goerli similarity index 100% rename from ethereum/.env.prod.goerli rename to target-chains/ethereum/.env.prod.goerli diff --git a/ethereum/.env.prod.kcc b/target-chains/ethereum/.env.prod.kcc similarity index 100% rename from ethereum/.env.prod.kcc rename to target-chains/ethereum/.env.prod.kcc diff --git a/ethereum/.env.prod.kcc_testnet b/target-chains/ethereum/.env.prod.kcc_testnet similarity index 100% rename from ethereum/.env.prod.kcc_testnet rename to target-chains/ethereum/.env.prod.kcc_testnet diff --git a/ethereum/.env.prod.mumbai b/target-chains/ethereum/.env.prod.mumbai similarity index 100% rename from ethereum/.env.prod.mumbai rename to target-chains/ethereum/.env.prod.mumbai diff --git a/ethereum/.env.prod.optimism b/target-chains/ethereum/.env.prod.optimism similarity index 100% rename from ethereum/.env.prod.optimism rename to target-chains/ethereum/.env.prod.optimism diff --git a/ethereum/.env.prod.optimism_goerli b/target-chains/ethereum/.env.prod.optimism_goerli similarity index 100% rename from ethereum/.env.prod.optimism_goerli rename to target-chains/ethereum/.env.prod.optimism_goerli diff --git a/ethereum/.env.prod.polygon b/target-chains/ethereum/.env.prod.polygon similarity index 100% rename from ethereum/.env.prod.polygon rename to target-chains/ethereum/.env.prod.polygon diff --git a/ethereum/.env.prod.zksync b/target-chains/ethereum/.env.prod.zksync similarity index 100% rename from ethereum/.env.prod.zksync rename to target-chains/ethereum/.env.prod.zksync diff --git a/ethereum/.env.prod.zksync_goerli b/target-chains/ethereum/.env.prod.zksync_goerli similarity index 100% rename from ethereum/.env.prod.zksync_goerli rename to target-chains/ethereum/.env.prod.zksync_goerli diff --git a/ethereum/.env.template b/target-chains/ethereum/.env.template similarity index 100% rename from ethereum/.env.template rename to target-chains/ethereum/.env.template diff --git a/ethereum/.env.test b/target-chains/ethereum/.env.test similarity index 100% rename from ethereum/.env.test rename to target-chains/ethereum/.env.test diff --git a/ethereum/.gitignore b/target-chains/ethereum/.gitignore similarity index 100% rename from ethereum/.gitignore rename to target-chains/ethereum/.gitignore diff --git a/ethereum/Deploying.md b/target-chains/ethereum/Deploying.md similarity index 100% rename from ethereum/Deploying.md rename to target-chains/ethereum/Deploying.md diff --git a/ethereum/README.md b/target-chains/ethereum/README.md similarity index 100% rename from ethereum/README.md rename to target-chains/ethereum/README.md diff --git a/ethereum/VERIFY.md b/target-chains/ethereum/VERIFY.md similarity index 100% rename from ethereum/VERIFY.md rename to target-chains/ethereum/VERIFY.md diff --git a/ethereum/contracts/Migrations.sol b/target-chains/ethereum/contracts/Migrations.sol similarity index 100% rename from ethereum/contracts/Migrations.sol rename to target-chains/ethereum/contracts/Migrations.sol diff --git a/ethereum/contracts/libraries/external/BytesLib.sol b/target-chains/ethereum/contracts/libraries/external/BytesLib.sol similarity index 100% rename from ethereum/contracts/libraries/external/BytesLib.sol rename to target-chains/ethereum/contracts/libraries/external/BytesLib.sol diff --git a/ethereum/contracts/libraries/external/UnsafeBytesLib.sol b/target-chains/ethereum/contracts/libraries/external/UnsafeBytesLib.sol similarity index 100% rename from ethereum/contracts/libraries/external/UnsafeBytesLib.sol rename to target-chains/ethereum/contracts/libraries/external/UnsafeBytesLib.sol diff --git a/ethereum/contracts/pyth/Pyth.sol b/target-chains/ethereum/contracts/pyth/Pyth.sol similarity index 100% rename from ethereum/contracts/pyth/Pyth.sol rename to target-chains/ethereum/contracts/pyth/Pyth.sol diff --git a/ethereum/contracts/pyth/PythDeprecatedStructs.sol b/target-chains/ethereum/contracts/pyth/PythDeprecatedStructs.sol similarity index 100% rename from ethereum/contracts/pyth/PythDeprecatedStructs.sol rename to target-chains/ethereum/contracts/pyth/PythDeprecatedStructs.sol diff --git a/ethereum/contracts/pyth/PythGetters.sol b/target-chains/ethereum/contracts/pyth/PythGetters.sol similarity index 100% rename from ethereum/contracts/pyth/PythGetters.sol rename to target-chains/ethereum/contracts/pyth/PythGetters.sol diff --git a/ethereum/contracts/pyth/PythGovernance.sol b/target-chains/ethereum/contracts/pyth/PythGovernance.sol similarity index 100% rename from ethereum/contracts/pyth/PythGovernance.sol rename to target-chains/ethereum/contracts/pyth/PythGovernance.sol diff --git a/ethereum/contracts/pyth/PythGovernanceInstructions.sol b/target-chains/ethereum/contracts/pyth/PythGovernanceInstructions.sol similarity index 100% rename from ethereum/contracts/pyth/PythGovernanceInstructions.sol rename to target-chains/ethereum/contracts/pyth/PythGovernanceInstructions.sol diff --git a/ethereum/contracts/pyth/PythInternalStructs.sol b/target-chains/ethereum/contracts/pyth/PythInternalStructs.sol similarity index 100% rename from ethereum/contracts/pyth/PythInternalStructs.sol rename to target-chains/ethereum/contracts/pyth/PythInternalStructs.sol diff --git a/ethereum/contracts/pyth/PythSetters.sol b/target-chains/ethereum/contracts/pyth/PythSetters.sol similarity index 100% rename from ethereum/contracts/pyth/PythSetters.sol rename to target-chains/ethereum/contracts/pyth/PythSetters.sol diff --git a/ethereum/contracts/pyth/PythState.sol b/target-chains/ethereum/contracts/pyth/PythState.sol similarity index 100% rename from ethereum/contracts/pyth/PythState.sol rename to target-chains/ethereum/contracts/pyth/PythState.sol diff --git a/ethereum/contracts/pyth/PythUpgradable.sol b/target-chains/ethereum/contracts/pyth/PythUpgradable.sol similarity index 100% rename from ethereum/contracts/pyth/PythUpgradable.sol rename to target-chains/ethereum/contracts/pyth/PythUpgradable.sol diff --git a/ethereum/contracts/pyth/mock/MockPythProxyUpgrade.sol b/target-chains/ethereum/contracts/pyth/mock/MockPythProxyUpgrade.sol similarity index 100% rename from ethereum/contracts/pyth/mock/MockPythProxyUpgrade.sol rename to target-chains/ethereum/contracts/pyth/mock/MockPythProxyUpgrade.sol diff --git a/ethereum/contracts/pyth/mock/MockUpgradeableProxy.sol b/target-chains/ethereum/contracts/pyth/mock/MockUpgradeableProxy.sol similarity index 100% rename from ethereum/contracts/pyth/mock/MockUpgradeableProxy.sol rename to target-chains/ethereum/contracts/pyth/mock/MockUpgradeableProxy.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverGetters.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverGetters.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverGetters.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverGetters.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverGovernance.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverGovernance.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverGovernance.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverGovernance.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverGovernanceStructs.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverGovernanceStructs.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverGovernanceStructs.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverGovernanceStructs.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverImplementation.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverImplementation.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverImplementation.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverImplementation.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverMessages.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverMessages.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverMessages.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverMessages.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverSetters.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverSetters.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverSetters.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverSetters.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverSetup.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverSetup.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverSetup.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverSetup.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverState.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverState.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverState.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverState.sol diff --git a/ethereum/contracts/wormhole-receiver/ReceiverStructs.sol b/target-chains/ethereum/contracts/wormhole-receiver/ReceiverStructs.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/ReceiverStructs.sol rename to target-chains/ethereum/contracts/wormhole-receiver/ReceiverStructs.sol diff --git a/ethereum/contracts/wormhole-receiver/WormholeReceiver.sol b/target-chains/ethereum/contracts/wormhole-receiver/WormholeReceiver.sol similarity index 100% rename from ethereum/contracts/wormhole-receiver/WormholeReceiver.sol rename to target-chains/ethereum/contracts/wormhole-receiver/WormholeReceiver.sol diff --git a/ethereum/contracts/wormhole/Getters.sol b/target-chains/ethereum/contracts/wormhole/Getters.sol similarity index 100% rename from ethereum/contracts/wormhole/Getters.sol rename to target-chains/ethereum/contracts/wormhole/Getters.sol diff --git a/ethereum/contracts/wormhole/Governance.sol b/target-chains/ethereum/contracts/wormhole/Governance.sol similarity index 100% rename from ethereum/contracts/wormhole/Governance.sol rename to target-chains/ethereum/contracts/wormhole/Governance.sol diff --git a/ethereum/contracts/wormhole/GovernanceStructs.sol b/target-chains/ethereum/contracts/wormhole/GovernanceStructs.sol similarity index 100% rename from ethereum/contracts/wormhole/GovernanceStructs.sol rename to target-chains/ethereum/contracts/wormhole/GovernanceStructs.sol diff --git a/ethereum/contracts/wormhole/Implementation.sol b/target-chains/ethereum/contracts/wormhole/Implementation.sol similarity index 100% rename from ethereum/contracts/wormhole/Implementation.sol rename to target-chains/ethereum/contracts/wormhole/Implementation.sol diff --git a/ethereum/contracts/wormhole/Messages.sol b/target-chains/ethereum/contracts/wormhole/Messages.sol similarity index 100% rename from ethereum/contracts/wormhole/Messages.sol rename to target-chains/ethereum/contracts/wormhole/Messages.sol diff --git a/ethereum/contracts/wormhole/Setters.sol b/target-chains/ethereum/contracts/wormhole/Setters.sol similarity index 100% rename from ethereum/contracts/wormhole/Setters.sol rename to target-chains/ethereum/contracts/wormhole/Setters.sol diff --git a/ethereum/contracts/wormhole/Setup.sol b/target-chains/ethereum/contracts/wormhole/Setup.sol similarity index 100% rename from ethereum/contracts/wormhole/Setup.sol rename to target-chains/ethereum/contracts/wormhole/Setup.sol diff --git a/ethereum/contracts/wormhole/State.sol b/target-chains/ethereum/contracts/wormhole/State.sol similarity index 100% rename from ethereum/contracts/wormhole/State.sol rename to target-chains/ethereum/contracts/wormhole/State.sol diff --git a/ethereum/contracts/wormhole/Structs.sol b/target-chains/ethereum/contracts/wormhole/Structs.sol similarity index 100% rename from ethereum/contracts/wormhole/Structs.sol rename to target-chains/ethereum/contracts/wormhole/Structs.sol diff --git a/ethereum/contracts/wormhole/Wormhole.sol b/target-chains/ethereum/contracts/wormhole/Wormhole.sol similarity index 100% rename from ethereum/contracts/wormhole/Wormhole.sol rename to target-chains/ethereum/contracts/wormhole/Wormhole.sol diff --git a/ethereum/contracts/wormhole/interfaces/IWormhole.sol b/target-chains/ethereum/contracts/wormhole/interfaces/IWormhole.sol similarity index 100% rename from ethereum/contracts/wormhole/interfaces/IWormhole.sol rename to target-chains/ethereum/contracts/wormhole/interfaces/IWormhole.sol diff --git a/ethereum/deploy.sh b/target-chains/ethereum/deploy.sh similarity index 100% rename from ethereum/deploy.sh rename to target-chains/ethereum/deploy.sh diff --git a/ethereum/deploy/zkSyncDeploy.ts b/target-chains/ethereum/deploy/zkSyncDeploy.ts similarity index 100% rename from ethereum/deploy/zkSyncDeploy.ts rename to target-chains/ethereum/deploy/zkSyncDeploy.ts diff --git a/ethereum/deploy/zkSyncDeployNewPythImpl.ts b/target-chains/ethereum/deploy/zkSyncDeployNewPythImpl.ts similarity index 100% rename from ethereum/deploy/zkSyncDeployNewPythImpl.ts rename to target-chains/ethereum/deploy/zkSyncDeployNewPythImpl.ts diff --git a/ethereum/forge-test/GasBenchmark.t.sol b/target-chains/ethereum/forge-test/GasBenchmark.t.sol similarity index 100% rename from ethereum/forge-test/GasBenchmark.t.sol rename to target-chains/ethereum/forge-test/GasBenchmark.t.sol diff --git a/ethereum/forge-test/Pyth.t.sol b/target-chains/ethereum/forge-test/Pyth.t.sol similarity index 100% rename from ethereum/forge-test/Pyth.t.sol rename to target-chains/ethereum/forge-test/Pyth.t.sol diff --git a/ethereum/forge-test/utils/PythTestUtils.t.sol b/target-chains/ethereum/forge-test/utils/PythTestUtils.t.sol similarity index 100% rename from ethereum/forge-test/utils/PythTestUtils.t.sol rename to target-chains/ethereum/forge-test/utils/PythTestUtils.t.sol diff --git a/ethereum/forge-test/utils/RandTestUtils.t.sol b/target-chains/ethereum/forge-test/utils/RandTestUtils.t.sol similarity index 100% rename from ethereum/forge-test/utils/RandTestUtils.t.sol rename to target-chains/ethereum/forge-test/utils/RandTestUtils.t.sol diff --git a/ethereum/forge-test/utils/WormholeTestUtils.t.sol b/target-chains/ethereum/forge-test/utils/WormholeTestUtils.t.sol similarity index 100% rename from ethereum/forge-test/utils/WormholeTestUtils.t.sol rename to target-chains/ethereum/forge-test/utils/WormholeTestUtils.t.sol diff --git a/ethereum/foundry.toml b/target-chains/ethereum/foundry.toml similarity index 100% rename from ethereum/foundry.toml rename to target-chains/ethereum/foundry.toml diff --git a/ethereum/hardhat.config.ts b/target-chains/ethereum/hardhat.config.ts similarity index 100% rename from ethereum/hardhat.config.ts rename to target-chains/ethereum/hardhat.config.ts diff --git a/ethereum/lib/README.md b/target-chains/ethereum/lib/README.md similarity index 100% rename from ethereum/lib/README.md rename to target-chains/ethereum/lib/README.md diff --git a/ethereum/migrations/prod-receiver/1_initial_migration.js b/target-chains/ethereum/migrations/prod-receiver/1_initial_migration.js similarity index 100% rename from ethereum/migrations/prod-receiver/1_initial_migration.js rename to target-chains/ethereum/migrations/prod-receiver/1_initial_migration.js diff --git a/ethereum/migrations/prod-receiver/2_deploy_wormhole_receiver.js b/target-chains/ethereum/migrations/prod-receiver/2_deploy_wormhole_receiver.js similarity index 100% rename from ethereum/migrations/prod-receiver/2_deploy_wormhole_receiver.js rename to target-chains/ethereum/migrations/prod-receiver/2_deploy_wormhole_receiver.js diff --git a/ethereum/migrations/prod-receiver/3_deploy_pyth.js b/target-chains/ethereum/migrations/prod-receiver/3_deploy_pyth.js similarity index 100% rename from ethereum/migrations/prod-receiver/3_deploy_pyth.js rename to target-chains/ethereum/migrations/prod-receiver/3_deploy_pyth.js diff --git a/ethereum/migrations/prod/1_initial_migration.js b/target-chains/ethereum/migrations/prod/1_initial_migration.js similarity index 100% rename from ethereum/migrations/prod/1_initial_migration.js rename to target-chains/ethereum/migrations/prod/1_initial_migration.js diff --git a/ethereum/migrations/prod/2_deploy_pyth.js b/target-chains/ethereum/migrations/prod/2_deploy_pyth.js similarity index 100% rename from ethereum/migrations/prod/2_deploy_pyth.js rename to target-chains/ethereum/migrations/prod/2_deploy_pyth.js diff --git a/ethereum/migrations/test/1_initial_migration.js b/target-chains/ethereum/migrations/test/1_initial_migration.js similarity index 100% rename from ethereum/migrations/test/1_initial_migration.js rename to target-chains/ethereum/migrations/test/1_initial_migration.js diff --git a/ethereum/migrations/test/2_deploy_wormhole.js b/target-chains/ethereum/migrations/test/2_deploy_wormhole.js similarity index 100% rename from ethereum/migrations/test/2_deploy_wormhole.js rename to target-chains/ethereum/migrations/test/2_deploy_wormhole.js diff --git a/ethereum/migrations/test/3_deploy_pyth.js b/target-chains/ethereum/migrations/test/3_deploy_pyth.js similarity index 100% rename from ethereum/migrations/test/3_deploy_pyth.js rename to target-chains/ethereum/migrations/test/3_deploy_pyth.js diff --git a/ethereum/mine.js b/target-chains/ethereum/mine.js similarity index 100% rename from ethereum/mine.js rename to target-chains/ethereum/mine.js diff --git a/ethereum/networks/1.json b/target-chains/ethereum/networks/1.json similarity index 100% rename from ethereum/networks/1.json rename to target-chains/ethereum/networks/1.json diff --git a/ethereum/networks/10.json b/target-chains/ethereum/networks/10.json similarity index 100% rename from ethereum/networks/10.json rename to target-chains/ethereum/networks/10.json diff --git a/ethereum/networks/1313161554.json b/target-chains/ethereum/networks/1313161554.json similarity index 100% rename from ethereum/networks/1313161554.json rename to target-chains/ethereum/networks/1313161554.json diff --git a/ethereum/networks/1313161555.json b/target-chains/ethereum/networks/1313161555.json similarity index 100% rename from ethereum/networks/1313161555.json rename to target-chains/ethereum/networks/1313161555.json diff --git a/ethereum/networks/137.json b/target-chains/ethereum/networks/137.json similarity index 100% rename from ethereum/networks/137.json rename to target-chains/ethereum/networks/137.json diff --git a/ethereum/networks/25.json b/target-chains/ethereum/networks/25.json similarity index 100% rename from ethereum/networks/25.json rename to target-chains/ethereum/networks/25.json diff --git a/ethereum/networks/250.json b/target-chains/ethereum/networks/250.json similarity index 100% rename from ethereum/networks/250.json rename to target-chains/ethereum/networks/250.json diff --git a/ethereum/networks/280.json b/target-chains/ethereum/networks/280.json similarity index 100% rename from ethereum/networks/280.json rename to target-chains/ethereum/networks/280.json diff --git a/ethereum/networks/3.json b/target-chains/ethereum/networks/3.json similarity index 100% rename from ethereum/networks/3.json rename to target-chains/ethereum/networks/3.json diff --git a/ethereum/networks/321.json b/target-chains/ethereum/networks/321.json similarity index 100% rename from ethereum/networks/321.json rename to target-chains/ethereum/networks/321.json diff --git a/ethereum/networks/322.json b/target-chains/ethereum/networks/322.json similarity index 100% rename from ethereum/networks/322.json rename to target-chains/ethereum/networks/322.json diff --git a/ethereum/networks/338.json b/target-chains/ethereum/networks/338.json similarity index 100% rename from ethereum/networks/338.json rename to target-chains/ethereum/networks/338.json diff --git a/ethereum/networks/4002.json b/target-chains/ethereum/networks/4002.json similarity index 100% rename from ethereum/networks/4002.json rename to target-chains/ethereum/networks/4002.json diff --git a/ethereum/networks/420.json b/target-chains/ethereum/networks/420.json similarity index 100% rename from ethereum/networks/420.json rename to target-chains/ethereum/networks/420.json diff --git a/ethereum/networks/42161.json b/target-chains/ethereum/networks/42161.json similarity index 100% rename from ethereum/networks/42161.json rename to target-chains/ethereum/networks/42161.json diff --git a/ethereum/networks/421613.json b/target-chains/ethereum/networks/421613.json similarity index 100% rename from ethereum/networks/421613.json rename to target-chains/ethereum/networks/421613.json diff --git a/ethereum/networks/42220.json b/target-chains/ethereum/networks/42220.json similarity index 100% rename from ethereum/networks/42220.json rename to target-chains/ethereum/networks/42220.json diff --git a/ethereum/networks/43113.json b/target-chains/ethereum/networks/43113.json similarity index 100% rename from ethereum/networks/43113.json rename to target-chains/ethereum/networks/43113.json diff --git a/ethereum/networks/43114.json b/target-chains/ethereum/networks/43114.json similarity index 100% rename from ethereum/networks/43114.json rename to target-chains/ethereum/networks/43114.json diff --git a/ethereum/networks/44787.json b/target-chains/ethereum/networks/44787.json similarity index 100% rename from ethereum/networks/44787.json rename to target-chains/ethereum/networks/44787.json diff --git a/ethereum/networks/5.json b/target-chains/ethereum/networks/5.json similarity index 100% rename from ethereum/networks/5.json rename to target-chains/ethereum/networks/5.json diff --git a/ethereum/networks/56.json b/target-chains/ethereum/networks/56.json similarity index 100% rename from ethereum/networks/56.json rename to target-chains/ethereum/networks/56.json diff --git a/ethereum/networks/80001.json b/target-chains/ethereum/networks/80001.json similarity index 100% rename from ethereum/networks/80001.json rename to target-chains/ethereum/networks/80001.json diff --git a/ethereum/networks/97.json b/target-chains/ethereum/networks/97.json similarity index 100% rename from ethereum/networks/97.json rename to target-chains/ethereum/networks/97.json diff --git a/ethereum/package-lock.json b/target-chains/ethereum/package-lock.json similarity index 100% rename from ethereum/package-lock.json rename to target-chains/ethereum/package-lock.json diff --git a/ethereum/package.json b/target-chains/ethereum/package.json similarity index 100% rename from ethereum/package.json rename to target-chains/ethereum/package.json diff --git a/ethereum/remappings.txt b/target-chains/ethereum/remappings.txt similarity index 100% rename from ethereum/remappings.txt rename to target-chains/ethereum/remappings.txt diff --git a/ethereum/scripts/assertVaaPayloadEquals.js b/target-chains/ethereum/scripts/assertVaaPayloadEquals.js similarity index 100% rename from ethereum/scripts/assertVaaPayloadEquals.js rename to target-chains/ethereum/scripts/assertVaaPayloadEquals.js diff --git a/ethereum/scripts/createLocalnetGovernanceVaa.js b/target-chains/ethereum/scripts/createLocalnetGovernanceVaa.js similarity index 100% rename from ethereum/scripts/createLocalnetGovernanceVaa.js rename to target-chains/ethereum/scripts/createLocalnetGovernanceVaa.js diff --git a/ethereum/scripts/loadEnv.js b/target-chains/ethereum/scripts/loadEnv.js similarity index 100% rename from ethereum/scripts/loadEnv.js rename to target-chains/ethereum/scripts/loadEnv.js diff --git a/ethereum/scripts/receiverSubmitGuardianSetUpgrades.js b/target-chains/ethereum/scripts/receiverSubmitGuardianSetUpgrades.js similarity index 100% rename from ethereum/scripts/receiverSubmitGuardianSetUpgrades.js rename to target-chains/ethereum/scripts/receiverSubmitGuardianSetUpgrades.js diff --git a/ethereum/scripts/syncPythState.js b/target-chains/ethereum/scripts/syncPythState.js similarity index 100% rename from ethereum/scripts/syncPythState.js rename to target-chains/ethereum/scripts/syncPythState.js diff --git a/ethereum/test/pyth.js b/target-chains/ethereum/test/pyth.js similarity index 100% rename from ethereum/test/pyth.js rename to target-chains/ethereum/test/pyth.js diff --git a/ethereum/truffle-config.js b/target-chains/ethereum/truffle-config.js similarity index 100% rename from ethereum/truffle-config.js rename to target-chains/ethereum/truffle-config.js diff --git a/ethereum/truffle-verify-constants.patch b/target-chains/ethereum/truffle-verify-constants.patch similarity index 100% rename from ethereum/truffle-verify-constants.patch rename to target-chains/ethereum/truffle-verify-constants.patch diff --git a/near/receiver/Cargo.toml b/target-chains/near/receiver/Cargo.toml similarity index 100% rename from near/receiver/Cargo.toml rename to target-chains/near/receiver/Cargo.toml diff --git a/near/receiver/src/error.rs b/target-chains/near/receiver/src/error.rs similarity index 100% rename from near/receiver/src/error.rs rename to target-chains/near/receiver/src/error.rs diff --git a/near/receiver/src/ext.rs b/target-chains/near/receiver/src/ext.rs similarity index 100% rename from near/receiver/src/ext.rs rename to target-chains/near/receiver/src/ext.rs diff --git a/near/receiver/src/governance.rs b/target-chains/near/receiver/src/governance.rs similarity index 100% rename from near/receiver/src/governance.rs rename to target-chains/near/receiver/src/governance.rs diff --git a/near/receiver/src/lib.rs b/target-chains/near/receiver/src/lib.rs similarity index 100% rename from near/receiver/src/lib.rs rename to target-chains/near/receiver/src/lib.rs diff --git a/near/receiver/src/state.rs b/target-chains/near/receiver/src/state.rs similarity index 100% rename from near/receiver/src/state.rs rename to target-chains/near/receiver/src/state.rs diff --git a/near/receiver/src/tests.rs b/target-chains/near/receiver/src/tests.rs similarity index 100% rename from near/receiver/src/tests.rs rename to target-chains/near/receiver/src/tests.rs diff --git a/near/receiver/tests/workspaces.rs b/target-chains/near/receiver/tests/workspaces.rs similarity index 100% rename from near/receiver/tests/workspaces.rs rename to target-chains/near/receiver/tests/workspaces.rs diff --git a/near/wormhole-stub/Cargo.lock b/target-chains/near/wormhole-stub/Cargo.lock similarity index 100% rename from near/wormhole-stub/Cargo.lock rename to target-chains/near/wormhole-stub/Cargo.lock diff --git a/near/wormhole-stub/Cargo.toml b/target-chains/near/wormhole-stub/Cargo.toml similarity index 100% rename from near/wormhole-stub/Cargo.toml rename to target-chains/near/wormhole-stub/Cargo.toml diff --git a/near/wormhole-stub/src/lib.rs b/target-chains/near/wormhole-stub/src/lib.rs similarity index 100% rename from near/wormhole-stub/src/lib.rs rename to target-chains/near/wormhole-stub/src/lib.rs diff --git a/third_party/pyth/Dockerfile.p2w-attest b/third_party/pyth/Dockerfile.p2w-attest index b08d343309..f3325575e9 100644 --- a/third_party/pyth/Dockerfile.p2w-attest +++ b/third_party/pyth/Dockerfile.p2w-attest @@ -6,9 +6,9 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install ADD pythnet/remote-executor /usr/src/pythnet/remote-executor ADD third_party/pyth/p2w-sdk/rust /usr/src/third_party/pyth/p2w-sdk/rust -ADD solana /usr/src/solana +ADD wormhole-attester /usr/src/wormhole-attester -WORKDIR /usr/src/solana/pyth2wormhole +WORKDIR /usr/src/wormhole-attester ENV EMITTER_ADDRESS="11111111111111111111111111111115" ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" @@ -16,16 +16,17 @@ ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=target \ - cargo test --package pyth2wormhole-client && \ - cargo build --package pyth2wormhole-client && \ - mv target/debug/pyth2wormhole-client /usr/local/bin/pyth2wormhole-client + cargo test --package pyth-wormhole-attester-client && \ + cargo build --package pyth-wormhole-attester-client && \ + mv target/debug/pwhac /usr/local/bin/pwhac ADD third_party/pyth/pyth_utils.py /usr/src/pyth/pyth_utils.py ADD third_party/pyth/p2w_autoattest.py /usr/src/pyth/p2w_autoattest.py -RUN chmod a+rx /usr/src/pyth/*.py +ADD tilt-devnet/secrets/solana /solana-secrets +RUN chmod a+rx /usr/src/pyth/*.py -ENV P2W_OWNER_KEYPAIR="/usr/src/solana/keys/p2w_owner.json" +ENV P2W_OWNER_KEYPAIR="/solana-secrets/p2w_owner.json" ENV P2W_ATTESTATIONS_PORT="4343" -ENV PYTH_PUBLISHER_KEYPAIR="/usr/src/solana/keys/pyth_publisher.json" -ENV PYTH_PROGRAM_KEYPAIR="/usr/src/solana/keys/pyth_program.json" +ENV PYTH_PUBLISHER_KEYPAIR="/solana-secrets/pyth_publisher.json" +ENV PYTH_PROGRAM_KEYPAIR="/solana-secrets/pyth_program.json" diff --git a/third_party/pyth/Dockerfile.pyth b/third_party/pyth/Dockerfile.pyth index 09c5a980d4..d657f6a4d1 100644 --- a/third_party/pyth/Dockerfile.pyth +++ b/third_party/pyth/Dockerfile.pyth @@ -9,15 +9,15 @@ USER root RUN apt-get install -y netcat-openbsd python3 && \ rm -rf /var/lib/apt/lists/* -ADD solana/keys /opt/solana/keys +ADD tilt-devnet/secrets/solana/ /solana-secrets ENV PYTH_KEY_STORE=/home/pyth/.pythd # Prepare keys WORKDIR $PYTH_KEY_STORE -RUN cp /opt/solana/keys/pyth_publisher.json publish_key_pair.json && \ - cp /opt/solana/keys/pyth_program.json program_key_pair.json && \ +RUN cp /solana-secrets/pyth_publisher.json publish_key_pair.json && \ + cp /solana-secrets/pyth_program.json program_key_pair.json && \ chown pyth:pyth -R . && \ chmod go-rwx -R . diff --git a/third_party/pyth/p2w-relay/Dockerfile.pyth_relay b/third_party/pyth/p2w-relay/Dockerfile.pyth_relay index b1f04e1301..752d6cf6c4 100644 --- a/third_party/pyth/p2w-relay/Dockerfile.pyth_relay +++ b/third_party/pyth/p2w-relay/Dockerfile.pyth_relay @@ -1,16 +1,16 @@ FROM node:16-alpine@sha256:72a490e7ed8aed68e16b8dc8f37b5bcc35c5b5c56ee3256effcdee63e2546f93 -ARG P2W_BASE_PATH=/usr/src/pyth2wormhole +ARG BASE_PATH=/usr/src RUN apk --no-cache --update add python3 build-base # Needed by the Ethereum build -WORKDIR ${P2W_BASE_PATH} +WORKDIR ${BASE_PATH} RUN addgroup -S pyth -g 10001 && adduser -S pyth -G pyth -u 10001 RUN chown -R pyth:pyth . USER pyth -WORKDIR ${P2W_BASE_PATH}/ethereum -ADD --chown=pyth:pyth ethereum . +WORKDIR ${BASE_PATH}/target-chains/ethereum +ADD --chown=pyth:pyth target-chains/ethereum/ . RUN npm install && npm run build USER root @@ -21,7 +21,7 @@ USER pyth # Adds p2w-sdk/js dependency ARG P2W_SDK_REL_PATH=third_party/pyth/p2w-sdk/js -WORKDIR ${P2W_BASE_PATH}/${P2W_SDK_REL_PATH} +WORKDIR ${BASE_PATH}/${P2W_SDK_REL_PATH} ADD --chown=pyth:pyth ${P2W_SDK_REL_PATH} . RUN npm ci && npm run build && npm cache clean --force @@ -29,7 +29,7 @@ RUN npm ci && npm run build && npm cache clean --force # Add the code and compile ARG P2W_RELAY_REL_PATH=third_party/pyth/p2w-relay -WORKDIR ${P2W_BASE_PATH}/${P2W_RELAY_REL_PATH} +WORKDIR ${BASE_PATH}/${P2W_RELAY_REL_PATH} ADD --chown=pyth:pyth ${P2W_RELAY_REL_PATH} . RUN npm ci && npm run build && npm cache clean --force @@ -37,4 +37,4 @@ RUN npm ci && npm run build && npm cache clean --force # If you are building for production # RUN npm ci --only=production -RUN mkdir -p ${P2W_BASE_PATH}/${P2W_RELAY_REL_PATH}/logs +RUN mkdir -p ${BASE_PATH}/${P2W_RELAY_REL_PATH}/logs diff --git a/third_party/pyth/p2w-relay/package.json b/third_party/pyth/p2w-relay/package.json index 22677b56f9..dc5befc7ea 100644 --- a/third_party/pyth/p2w-relay/package.json +++ b/third_party/pyth/p2w-relay/package.json @@ -7,8 +7,8 @@ "build": "npm run build-evm && npm run build-lib", "build-evm": "npm run build-evm-contract && npm run copy-evm-abis && npm run build-evm-bindings", "build-lib": "tsc", - "build-evm-contract": "cd ../../../ethereum/ && (npm run build || npm ci && npm run build)", - "copy-evm-abis": "mkdir -p ./src/evm/abis && cp -r ../../../ethereum/build/contracts/* ./src/evm/abis/", + "build-evm-contract": "cd ../../../target-chains/ethereum/ && (npm run build || npm ci && npm run build)", + "copy-evm-abis": "mkdir -p ./src/evm/abis && cp -r ../../../target-chains/ethereum/build/contracts/* ./src/evm/abis/", "build-evm-bindings": "mkdir -p ./src/evm/bindings/ && typechain --target=ethers-v5 --out-dir=src/evm/bindings/ src/evm/abis/Pyth*.json", "start": "node lib/index.js", "listen_only": "node lib/index.js --listen_only" diff --git a/third_party/pyth/p2w_autoattest.py b/third_party/pyth/p2w_autoattest.py index 9bda2c63b9..ebbc72aaf2 100755 --- a/third_party/pyth/p2w_autoattest.py +++ b/third_party/pyth/p2w_autoattest.py @@ -20,7 +20,7 @@ "P2W_SOL_ADDRESS", "P2WH424242424242424242424242424242424242424" ) P2W_OWNER_KEYPAIR = os.environ.get( - "P2W_OWNER_KEYPAIR", "/usr/src/solana/keys/p2w_owner.json" + "P2W_OWNER_KEYPAIR", "/solana-secrets/p2w_owner.json" ) P2W_ATTESTATIONS_PORT = int(os.environ.get("P2W_ATTESTATIONS_PORT", 4343)) P2W_INITIALIZE_SOL_CONTRACT = os.environ.get("P2W_INITIALIZE_SOL_CONTRACT", None) @@ -49,7 +49,7 @@ init_result = run_or_die( [ - "pyth2wormhole-client", + "pwhac", "--p2w-addr", P2W_SOL_ADDRESS, "--rpc-url", @@ -71,11 +71,11 @@ if init_result.returncode != 0: logging.error( - "NOTE: pyth2wormhole-client init failed, retrying with set_config" + "NOTE: pwhac init failed, retrying with set_config" ) run_or_die( [ - "pyth2wormhole-client", + "pwhac", "--p2w-addr", P2W_SOL_ADDRESS, "--rpc-url", @@ -166,12 +166,12 @@ # Set helpfully chatty logging default, filtering especially annoying # modules like async HTTP requests and tokio runtime logs -os.environ["RUST_LOG"] = os.environ.get("RUST_LOG", "pyth2wormhole_client,solana_client,main,pyth_sdk_solana=trace") +os.environ["RUST_LOG"] = os.environ.get("RUST_LOG", "pyth_wormhole_attester_client,solana_client,main,pyth_sdk_solana=trace") # Send the first attestation in one-shot mode for testing first_attest_result = run_or_die( [ - "pyth2wormhole-client", + "pwhac", "--commitment", "confirmed", "--p2w-addr", @@ -199,9 +199,9 @@ # whatever reason (this avoids k8s restart penalty) while True: # Start the child process in daemon mode - p2w_client_process = Popen( + pwhac_process = Popen( [ - "pyth2wormhole-client", + "pwhac", "--commitment", "confirmed", "--p2w-addr", @@ -220,7 +220,7 @@ ) # Wait for an unexpected process exit - retcode = p2w_client_process.wait() + retcode = pwhac_process.wait() # Yell if the supposedly non-stop attestation process exits - logging.warn(f"pyth2wormhole-client stopped unexpectedly with code {retcode}") + logging.warn(f"pwhac stopped unexpectedly with code {retcode}") diff --git a/third_party/pyth/prepare_multisig.py b/third_party/pyth/prepare_multisig.py index f415c324c8..0c0752e7e9 100644 --- a/third_party/pyth/prepare_multisig.py +++ b/third_party/pyth/prepare_multisig.py @@ -9,7 +9,7 @@ MULTISIG_SCRIPT_CMD_PREFIX = "npm run start --".split(" ") MULTISIG_SCRIPT_DIR = os.environ.get("MULTISIG_SCRIPT_DIR", "/root/pyth/multisig-wh-message-builder") -MESH_KEY_DIR = "/usr/src/solana/keys/squads/" +MESH_KEY_DIR = "/solana-secrets/squads/" MESH_PROGRAM_ADDR = "SMPLVC8MxZ5Bf5EfF7PaMiTCxoBAcmkbM2vkrvMK8ho" MESH_CREATE_KEY_PATH = MESH_KEY_DIR + "create_key.json" MESH_VAULT_EXT_AUTHORITY_KEY_PATH = MESH_KEY_DIR + "external_authority.json" diff --git a/third_party/pyth/pyth_utils.py b/third_party/pyth/pyth_utils.py index e545c0110b..fe220e1805 100644 --- a/third_party/pyth/pyth_utils.py +++ b/third_party/pyth/pyth_utils.py @@ -9,7 +9,7 @@ # A generic unprivileged payer account with funds SOL_PAYER_KEYPAIR = os.environ.get( - "SOL_PAYER_KEYPAIR", "/usr/src/solana/keys/solana-devnet.json" + "SOL_PAYER_KEYPAIR", "/solana-secrets/solana-devnet.json" ) # Settings specific to local devnet Pyth instance diff --git a/prometheus_config.yaml b/tilt-devnet/configs/prometheus_config.yaml similarity index 100% rename from prometheus_config.yaml rename to tilt-devnet/configs/prometheus_config.yaml diff --git a/Dockerfile.client b/tilt-devnet/docker-images/Dockerfile.client similarity index 82% rename from Dockerfile.client rename to tilt-devnet/docker-images/Dockerfile.client index ae9f0e2a99..42fdc4c962 100644 --- a/Dockerfile.client +++ b/tilt-devnet/docker-images/Dockerfile.client @@ -8,8 +8,9 @@ ARG WORMHOLE_TAG=v2.8.9 RUN apt-get update && apt-get install -yq libudev-dev ncat RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs -COPY solana /usr/src/solana -WORKDIR /usr/src/solana/pyth2wormhole +ADD rust-toolchain /rust-toolchain +ADD wormhole-attester/ /usr/src/wormhole-attester +WORKDIR /usr/src/wormhole-attester RUN --mount=type=cache,target=/root/.cache \ --mount=type=cache,target=/usr/local/cargo/registry,id=cargo_registry \ @@ -17,7 +18,7 @@ RUN --mount=type=cache,target=/root/.cache \ cargo install --version =2.0.12 --locked spl-token-cli --target-dir target -RUN solana config set --keypair "/usr/src/solana/keys/solana-devnet.json" +RUN solana config set --keypair "/solana-secrets/solana-devnet.json" RUN solana config set --url "http://solana-devnet:8899" ENV EMITTER_ADDRESS="11111111111111111111111111111115" @@ -29,3 +30,6 @@ RUN --mount=type=cache,target=/root/.cache \ set -xe && \ cargo install bridge_client --git https://github.com/wormhole-foundation/wormhole --tag $WORMHOLE_TAG --locked --root /usr/local --target-dir target && \ cargo install token_bridge_client --git https://github.com/wormhole-foundation/wormhole --tag $WORMHOLE_TAG --locked --root /usr/local --target-dir target + +ADD tilt-devnet/scripts/solana-devnet-setup.sh /usr/src/solana-devnet-setup.sh +ADD tilt-devnet/secrets/solana/ /solana-secrets diff --git a/Dockerfile.cosmwasm b/tilt-devnet/docker-images/Dockerfile.cosmwasm similarity index 84% rename from Dockerfile.cosmwasm rename to tilt-devnet/docker-images/Dockerfile.cosmwasm index 5531bb8540..3ca9c4a7f7 100644 --- a/Dockerfile.cosmwasm +++ b/tilt-devnet/docker-images/Dockerfile.cosmwasm @@ -17,9 +17,9 @@ RUN --mount=type=cache,target=/code/target,id=cosmwasm_wormhole_target --mount=t FROM cosmwasm/workspace-optimizer:0.12.6@sha256:e6565a5e87c830ef3e8775a9035006b38ad0aaf0a96319158c802457b1dd1d08 AS pyth_builder -COPY cosmwasm/Cargo.lock /code/ -COPY cosmwasm/Cargo.toml /code/ -COPY cosmwasm/contracts /code/contracts +COPY target-chains/cosmwasm/Cargo.lock /code/ +COPY target-chains/cosmwasm/Cargo.toml /code/ +COPY target-chains/cosmwasm/contracts /code/contracts COPY third_party/pyth/p2w-sdk/rust /third_party/pyth/p2w-sdk/rust RUN --mount=type=cache,target=/code/target,id=cosmwasm_pyth_target --mount=type=cache,target=/usr/local/cargo/registry optimize_workspace.sh @@ -33,7 +33,7 @@ WORKDIR /app/tools COPY --from=wormhole_builder /code/artifacts/wormhole.wasm /app/artifacts/wormhole.wasm COPY --from=pyth_builder /code/artifacts/pyth_cosmwasm.wasm /app/artifacts/pyth_cosmwasm.wasm -COPY ./cosmwasm/tools/package.json ./cosmwasm/tools/package-lock.json /app/tools/ +COPY target-chains/cosmwasm/tools/package.json target-chains/cosmwasm/tools/package-lock.json /app/tools/ RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ npm ci -COPY ./cosmwasm/tools /app/tools +COPY target-chains/cosmwasm/tools /app/tools diff --git a/Dockerfile.ethereum b/tilt-devnet/docker-images/Dockerfile.ethereum similarity index 85% rename from Dockerfile.ethereum rename to tilt-devnet/docker-images/Dockerfile.ethereum index d62bf1b0f1..f4a25644bb 100644 --- a/Dockerfile.ethereum +++ b/tilt-devnet/docker-images/Dockerfile.ethereum @@ -21,8 +21,8 @@ RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ WORKDIR /home/node/ethereum # Only invalidate the npm install step if package.json changed -ADD --chown=node:node ethereum/package.json . -ADD --chown=node:node ethereum/package-lock.json . +ADD --chown=node:node target-chains/ethereum/package.json . +ADD --chown=node:node target-chains/ethereum/package-lock.json . # We want to cache node_modules *and* incorporate it into the final image. RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ @@ -35,5 +35,5 @@ RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ # could be a renameat syscall. Alpine does not have this bug. RUN rm -rf node_modules && mv node_modules_cache node_modules -ADD --chown=node:node ethereum/ . -ADD --chown=node:node ethereum/.env.test .env +ADD --chown=node:node target-chains/ethereum/ . +ADD --chown=node:node target-chains/ethereum/.env.test .env diff --git a/Dockerfile.multisig b/tilt-devnet/docker-images/Dockerfile.multisig similarity index 96% rename from Dockerfile.multisig rename to tilt-devnet/docker-images/Dockerfile.multisig index ff4e04abcf..1ab697e6a8 100644 --- a/Dockerfile.multisig +++ b/tilt-devnet/docker-images/Dockerfile.multisig @@ -32,6 +32,6 @@ RUN rm -rf node_modules && mv node_modules_cached node_modules # Add the rest of the code. This ensures that real code changes do not affect the layer caching of `npm ci` ADD third_party/pyth /root/pyth -ADD solana/keys /usr/src/solana/keys +ADD tilt-devnet/secrets/solana/ /solana-secrets RUN npm install diff --git a/tilt-devnet/docker-images/Dockerfile.prometheus b/tilt-devnet/docker-images/Dockerfile.prometheus new file mode 100644 index 0000000000..ef21b2cc68 --- /dev/null +++ b/tilt-devnet/docker-images/Dockerfile.prometheus @@ -0,0 +1,3 @@ +FROM prom/prometheus + +ADD --chown=nobody:nobody tilt-devnet/configs/prometheus_config.yaml . diff --git a/Dockerfile.solana b/tilt-devnet/docker-images/Dockerfile.solana similarity index 58% rename from Dockerfile.solana rename to tilt-devnet/docker-images/Dockerfile.solana index beb1e36b74..9d7ceffec8 100644 --- a/Dockerfile.solana +++ b/tilt-devnet/docker-images/Dockerfile.solana @@ -3,28 +3,31 @@ FROM pythfoundation/pyth-client:devnet-v2.12.0 as pyth-oracle-copy FROM docker.io/library/rust:1.49@sha256:a50165ea96983c21832578afb1c8c028674c965bc1ed43b607871b1f362e06a5 as build -RUN apt-get update && \ - apt-get install -y \ +RUN apt-get update\ + && apt-get install -y \ clang \ - libssl-dev \ libudev-dev \ + libssl-dev \ llvm \ pkg-config \ zlib1g-dev \ - && \ - rm -rf /var/lib/apt/lists/* && \ - rustup component add rustfmt + && rm -rf /var/lib/apt/lists/* \ + && rustup component add rustfmt RUN sh -c "$(curl -sSfL https://release.solana.com/v1.10.31/install)" ENV PATH="/root/.local/share/solana/install/active_release/bin:$PATH" -ADD solana/pyth2wormhole/rust-toolchain /rust-toolchain +ADD rust-toolchain /rust-toolchain + +USER root # Solana does a questionable download at the beginning of a *first* build-bpf call. Trigger and layer-cache it explicitly. RUN cargo init --lib /tmp/decoy-crate && \ - cd /tmp/decoy-crate && cargo build-bpf && \ - rm -rf /tmp/decoy-crate + cd /tmp/decoy-crate \ + && echo '[lib]\nname=decoy_crate\ncrate-type=["cdylib"]' >> /tmp/decoy-crate/Cargo.toml # Make a more plausible decoy crate with real cdylib target \ + && cargo build-bpf \ + && rm -rf /tmp/decoy-crate WORKDIR /usr/src/bridge @@ -32,7 +35,6 @@ ARG WORMHOLE_REV=2.8.9 ADD https://github.com/wormhole-foundation/wormhole/archive/refs/tags/v${WORMHOLE_REV}.tar.gz . RUN tar -xvf v${WORMHOLE_REV}.tar.gz RUN mv wormhole-${WORMHOLE_REV} wormhole -# RUN mkdir -p /usr/src/bridge/wormhole/solana/target WORKDIR /usr/src/squads @@ -42,9 +44,9 @@ ADD https://github.com/Squads-Protocol/squads-mpl/archive/refs/tags/v${SQUADS_RE RUN tar -xvf v${SQUADS_REV}.tar.gz RUN mv squads-mpl-${SQUADS_REV} squads-mpl -WORKDIR /usr/src/bridge +WORKDIR /usr/src/ -ADD solana solana +ADD wormhole-attester wormhole-attester ADD pythnet pythnet ADD third_party/pyth/p2w-sdk/rust third_party/pyth/p2w-sdk/rust RUN mkdir -p /opt/solana/deps @@ -52,24 +54,26 @@ RUN mkdir -p /opt/solana/deps ENV EMITTER_ADDRESS="11111111111111111111111111111115" ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" -WORKDIR /usr/src/bridge/solana +WORKDIR /usr/src # Build Wormhole Solana programs RUN --mount=type=cache,target=/usr/src/bridge/wormhole/solana/target \ - --mount=type=cache,target=/usr/src/bridge/solana/pyth2wormhole/target \ + --mount=type=cache,target=/usr/src/wormhole-attester/target \ --mount=type=cache,target=/usr/src/squads/squads-mpl/target \ --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/root/.cache \ - cargo build-bpf --manifest-path "../wormhole/solana/bridge/program/Cargo.toml" -- --locked && \ - cargo build-bpf --manifest-path "../wormhole/solana/bridge/cpi_poster/Cargo.toml" -- --locked && \ - cargo build-bpf --manifest-path "pyth2wormhole/program/Cargo.toml" -- --locked && \ - cargo build-bpf --manifest-path "/usr/src/squads/squads-mpl/programs/mesh/Cargo.toml" -- --locked && \ - cp ../wormhole/solana/target/deploy/bridge.so /opt/solana/deps/bridge.so && \ - cp ../wormhole/solana/target/deploy/cpi_poster.so /opt/solana/deps/cpi_poster.so && \ - cp pyth2wormhole/target/deploy/pyth2wormhole.so /opt/solana/deps/pyth2wormhole.so && \ - cp /usr/src/squads/squads-mpl/target/deploy/mesh.so /opt/solana/deps/mesh.so + cargo build-bpf --manifest-path "bridge/wormhole/solana/bridge/program/Cargo.toml" -- --locked && \ + cargo build-bpf --manifest-path "bridge/wormhole/solana/bridge/cpi_poster/Cargo.toml" -- --locked && \ + cargo build-bpf --manifest-path "wormhole-attester/program/Cargo.toml" -- --locked && \ + cargo build-bpf --manifest-path "squads/squads-mpl/programs/mesh/Cargo.toml" -- --locked && \ + cp bridge/wormhole/solana/target/deploy/bridge.so /opt/solana/deps/bridge.so && \ + cp bridge/wormhole/solana/target/deploy/cpi_poster.so /opt/solana/deps/cpi_poster.so && \ + cp wormhole-attester/target/deploy/pyth_wormhole_attester.so /opt/solana/deps/pyth_wormhole_attester.so && \ + cp squads/squads-mpl/target/deploy/mesh.so /opt/solana/deps/mesh.so COPY --from=pyth-oracle-copy /home/pyth/pyth-client/target/oracle.so /opt/solana/deps/pyth_oracle.so ENV RUST_LOG="solana_runtime::system_instruction_processor=trace,solana_runtime::message_processor=trace,solana_bpf_loader=debug,solana_rbpf=debug" ENV RUST_BACKTRACE=1 + +ADD tilt-devnet/secrets/solana /solana-secrets diff --git a/Dockerfile.wasm b/tilt-devnet/docker-images/Dockerfile.wasm similarity index 83% rename from Dockerfile.wasm rename to tilt-devnet/docker-images/Dockerfile.wasm index 3f68b84495..e1843b58c3 100644 --- a/Dockerfile.wasm +++ b/tilt-devnet/docker-images/Dockerfile.wasm @@ -10,13 +10,13 @@ RUN apt-get update && \ RUN rustup component add rustfmt && \ rustup default nightly-2022-01-02 -WORKDIR /usr/src/bridge +WORKDIR /usr/src RUN cargo install wasm-pack --vers 0.9.1 ENV RUST_LOG="solana_runtime::system_instruction_processor=trace,solana_runtime::message_processor=trace,solana_bpf_loader=debug,solana_rbpf=debug" ENV EMITTER_ADDRESS="11111111111111111111111111111115" ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" -COPY solana solana +COPY wormhole-attester wormhole-attester COPY third_party third_party # wasm-bindgen 0.2.74 generates JavaScript bindings for SystemInstruction exported from solana-program 1.9.4. @@ -28,12 +28,12 @@ ARG SED_REMOVE_INVALID_REFERENCE="/^\s*wasm.__wbg_systeminstruction_free(ptr);$/ # TODO: it appears that wasm-pack ignores our lockfiles even with --locked # Run unit tests -WORKDIR /usr/src/bridge/third_party/pyth/p2w-sdk/rust +WORKDIR /usr/src/third_party/pyth/p2w-sdk/rust RUN cargo test --locked && \ /usr/local/cargo/bin/wasm-pack build --target bundler -d bundler -- --features wasm --locked && \ /usr/local/cargo/bin/wasm-pack build --target nodejs -d nodejs -- --features wasm --locked FROM scratch AS export -COPY --from=build /usr/src/bridge/third_party/pyth/p2w-sdk/rust/bundler third_party/pyth/p2w-sdk/js/src/solana/p2w-core/bundler -COPY --from=build /usr/src/bridge/third_party/pyth/p2w-sdk/rust/nodejs third_party/pyth/p2w-sdk/js/src/solana/p2w-core/nodejs +COPY --from=build /usr/src/third_party/pyth/p2w-sdk/rust/bundler third_party/pyth/p2w-sdk/js/src/solana/p2w-core/bundler +COPY --from=build /usr/src/third_party/pyth/p2w-sdk/rust/nodejs third_party/pyth/p2w-sdk/js/src/solana/p2w-core/nodejs diff --git a/tilt-devnet/docker-images/README.md b/tilt-devnet/docker-images/README.md new file mode 100644 index 0000000000..ed169b23e1 --- /dev/null +++ b/tilt-devnet/docker-images/README.md @@ -0,0 +1,5 @@ +# Miscellaneous Tilt Docker images + +This directory holds docker images for services that don't have a +meaningful source code in this monorepo. Notably, images that prepare +Tilt devnet environments are stored here. diff --git a/devnet/check-attestations.yaml b/tilt-devnet/k8s/check-attestations.yaml similarity index 100% rename from devnet/check-attestations.yaml rename to tilt-devnet/k8s/check-attestations.yaml diff --git a/devnet/eth-devnet.yaml b/tilt-devnet/k8s/eth-devnet.yaml similarity index 100% rename from devnet/eth-devnet.yaml rename to tilt-devnet/k8s/eth-devnet.yaml diff --git a/devnet/multisig.yaml b/tilt-devnet/k8s/multisig.yaml similarity index 100% rename from devnet/multisig.yaml rename to tilt-devnet/k8s/multisig.yaml diff --git a/devnet/node.yaml b/tilt-devnet/k8s/node.yaml similarity index 100% rename from devnet/node.yaml rename to tilt-devnet/k8s/node.yaml diff --git a/devnet/p2w-attest.yaml b/tilt-devnet/k8s/p2w-attest.yaml similarity index 100% rename from devnet/p2w-attest.yaml rename to tilt-devnet/k8s/p2w-attest.yaml diff --git a/devnet/p2w-evm-relay.yaml b/tilt-devnet/k8s/p2w-evm-relay.yaml similarity index 100% rename from devnet/p2w-evm-relay.yaml rename to tilt-devnet/k8s/p2w-evm-relay.yaml diff --git a/devnet/p2w-terra-relay.yaml b/tilt-devnet/k8s/p2w-terra-relay.yaml similarity index 100% rename from devnet/p2w-terra-relay.yaml rename to tilt-devnet/k8s/p2w-terra-relay.yaml diff --git a/devnet/prometheus.yaml b/tilt-devnet/k8s/prometheus.yaml similarity index 100% rename from devnet/prometheus.yaml rename to tilt-devnet/k8s/prometheus.yaml diff --git a/devnet/pyth-evm-watcher.yaml b/tilt-devnet/k8s/pyth-evm-watcher.yaml similarity index 100% rename from devnet/pyth-evm-watcher.yaml rename to tilt-devnet/k8s/pyth-evm-watcher.yaml diff --git a/devnet/pyth-price-service.yaml b/tilt-devnet/k8s/pyth-price-service.yaml similarity index 100% rename from devnet/pyth-price-service.yaml rename to tilt-devnet/k8s/pyth-price-service.yaml diff --git a/devnet/pyth.yaml b/tilt-devnet/k8s/pyth.yaml similarity index 100% rename from devnet/pyth.yaml rename to tilt-devnet/k8s/pyth.yaml diff --git a/devnet/solana-devnet.yaml b/tilt-devnet/k8s/solana-devnet.yaml similarity index 96% rename from devnet/solana-devnet.yaml rename to tilt-devnet/k8s/solana-devnet.yaml index 9d20d4fbca..3fc60a08a8 100644 --- a/devnet/solana-devnet.yaml +++ b/tilt-devnet/k8s/solana-devnet.yaml @@ -49,7 +49,7 @@ spec: - /opt/solana/deps/pyth_oracle.so - --bpf-program - P2WH424242424242424242424242424242424242424 - - /opt/solana/deps/pyth2wormhole.so + - /opt/solana/deps/pyth_wormhole_attester.so - --bpf-program - SMPLVC8MxZ5Bf5EfF7PaMiTCxoBAcmkbM2vkrvMK8ho # copied from squads-mpl/programs/mesh/src/lib.rs - /opt/solana/deps/mesh.so @@ -93,7 +93,7 @@ spec: - name: setup image: bridge-client command: - - /usr/src/solana/devnet_setup.sh + - /usr/src/solana-devnet-setup.sh readinessProbe: tcpSocket: port: 2000 diff --git a/devnet/spy.yaml b/tilt-devnet/k8s/spy.yaml similarity index 100% rename from devnet/spy.yaml rename to tilt-devnet/k8s/spy.yaml diff --git a/devnet/terra-devnet.yaml b/tilt-devnet/k8s/terra-devnet.yaml similarity index 100% rename from devnet/terra-devnet.yaml rename to tilt-devnet/k8s/terra-devnet.yaml diff --git a/solana/devnet_setup.sh b/tilt-devnet/scripts/solana-devnet-setup.sh similarity index 93% rename from solana/devnet_setup.sh rename to tilt-devnet/scripts/solana-devnet-setup.sh index d109b76ac3..f6f93a7bf0 100755 --- a/solana/devnet_setup.sh +++ b/tilt-devnet/scripts/solana-devnet-setup.sh @@ -7,7 +7,7 @@ mkdir -p ~/.config/solana/cli cat < ~/.config/solana/cli/config.yml json_rpc_url: "http://127.0.0.1:8899" websocket_url: "" -keypair_path: /usr/src/solana/keys/solana-devnet.json +keypair_path: /solana-secrets/solana-devnet.json EOF # Constants diff --git a/tilt-devnet/secrets/README.md b/tilt-devnet/secrets/README.md new file mode 100644 index 0000000000..83ed4689ad --- /dev/null +++ b/tilt-devnet/secrets/README.md @@ -0,0 +1,4 @@ +# IMPORTANT: Never, ever use any of these private keys in a public chain environment + +The secrets gathered here may only be used to perform automated +testing scenarios in Tilt. They are plainly visible in the code repository **on purpose**. diff --git a/solana/keys/p2w_owner.json b/tilt-devnet/secrets/solana/p2w_owner.json similarity index 100% rename from solana/keys/p2w_owner.json rename to tilt-devnet/secrets/solana/p2w_owner.json diff --git a/solana/keys/pyth_program.json b/tilt-devnet/secrets/solana/pyth_program.json similarity index 100% rename from solana/keys/pyth_program.json rename to tilt-devnet/secrets/solana/pyth_program.json diff --git a/solana/keys/pyth_publisher.json b/tilt-devnet/secrets/solana/pyth_publisher.json similarity index 100% rename from solana/keys/pyth_publisher.json rename to tilt-devnet/secrets/solana/pyth_publisher.json diff --git a/solana/keys/solana-devnet.json b/tilt-devnet/secrets/solana/solana-devnet.json similarity index 100% rename from solana/keys/solana-devnet.json rename to tilt-devnet/secrets/solana/solana-devnet.json diff --git a/solana/keys/squads/create_key.json b/tilt-devnet/secrets/solana/squads/create_key.json similarity index 100% rename from solana/keys/squads/create_key.json rename to tilt-devnet/secrets/solana/squads/create_key.json diff --git a/solana/keys/squads/external_authority.json b/tilt-devnet/secrets/solana/squads/external_authority.json similarity index 100% rename from solana/keys/squads/external_authority.json rename to tilt-devnet/secrets/solana/squads/external_authority.json diff --git a/solana/keys/squads/member_alice.json b/tilt-devnet/secrets/solana/squads/member_alice.json similarity index 100% rename from solana/keys/squads/member_alice.json rename to tilt-devnet/secrets/solana/squads/member_alice.json diff --git a/solana/keys/squads/member_bob.json b/tilt-devnet/secrets/solana/squads/member_bob.json similarity index 100% rename from solana/keys/squads/member_bob.json rename to tilt-devnet/secrets/solana/squads/member_bob.json diff --git a/solana/keys/squads/member_carol.json b/tilt-devnet/secrets/solana/squads/member_carol.json similarity index 100% rename from solana/keys/squads/member_carol.json rename to tilt-devnet/secrets/solana/squads/member_carol.json diff --git a/solana/pyth2wormhole/Cargo.lock b/wormhole-attester/Cargo.lock similarity index 99% rename from solana/pyth2wormhole/Cargo.lock rename to wormhole-attester/Cargo.lock index 345c8a281e..cfa74419e6 100644 --- a/solana/pyth2wormhole/Cargo.lock +++ b/wormhole-attester/Cargo.lock @@ -2693,8 +2693,8 @@ dependencies = [ ] [[package]] -name = "pyth2wormhole" -version = "0.1.0" +name = "pyth-wormhole-attester" +version = "1.0.0" dependencies = [ "borsh", "p2w-sdk", @@ -2709,8 +2709,8 @@ dependencies = [ ] [[package]] -name = "pyth2wormhole-client" -version = "1.3.0" +name = "pyth-wormhole-attester-client" +version = "2.0.0" dependencies = [ "borsh", "clap 3.1.18", @@ -2723,7 +2723,7 @@ dependencies = [ "p2w-sdk", "prometheus", "pyth-sdk-solana 0.6.1", - "pyth2wormhole", + "pyth-wormhole-attester", "serde", "serde_yaml", "sha3 0.10.6", @@ -2740,14 +2740,14 @@ dependencies = [ ] [[package]] -name = "pyth2wormhole-governance" +name = "pyth-wormhole-attester-governance" version = "0.1.0" dependencies = [ "anyhow", "borsh", "clap 3.1.18", "hex", - "pyth2wormhole-client", + "pyth-wormhole-attester-client", "remote-executor", "solana-sdk", ] diff --git a/solana/pyth2wormhole/Cargo.toml b/wormhole-attester/Cargo.toml similarity index 100% rename from solana/pyth2wormhole/Cargo.toml rename to wormhole-attester/Cargo.toml diff --git a/solana/pyth2wormhole/client/Cargo.toml b/wormhole-attester/client/Cargo.toml similarity index 72% rename from solana/pyth2wormhole/client/Cargo.toml rename to wormhole-attester/client/Cargo.toml index 1746ce4b37..6ba2adf0ab 100644 --- a/solana/pyth2wormhole/client/Cargo.toml +++ b/wormhole-attester/client/Cargo.toml @@ -1,15 +1,20 @@ [package] -name = "pyth2wormhole-client" -version = "1.3.0" +name = "pyth-wormhole-attester-client" +version = "2.0.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] -name = "pyth2wormhole_client" +name = "pyth_wormhole_attester_client" + +[[bin]] +name = "pwhac" +path = "src/main.rs" + [features] -default = ["pyth2wormhole/client", "wormhole-bridge-solana/client", "pyth2wormhole/trace"] +default = ["pyth-wormhole-attester/client", "wormhole-bridge-solana/client", "pyth-wormhole-attester/trace"] [dependencies] borsh = "=0.9.3" @@ -17,8 +22,8 @@ clap = {version = "3.1.18", features = ["derive"]} env_logger = "0.8.4" log = "0.4.14" wormhole-bridge-solana = {git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.8.9"} -pyth2wormhole = {path = "../program"} -p2w-sdk = { path = "../../../third_party/pyth/p2w-sdk/rust", features=["solana"] } +pyth-wormhole-attester = {path = "../program"} +p2w-sdk = { path = "../../third_party/pyth/p2w-sdk/rust", features=["solana"] } pyth-sdk-solana = "0.6.1" serde = "1" serde_yaml = "0.8" diff --git a/solana/pyth2wormhole/client/src/attestation_cfg.rs b/wormhole-attester/client/src/attestation_cfg.rs similarity index 100% rename from solana/pyth2wormhole/client/src/attestation_cfg.rs rename to wormhole-attester/client/src/attestation_cfg.rs diff --git a/solana/pyth2wormhole/client/src/batch_state.rs b/wormhole-attester/client/src/batch_state.rs similarity index 100% rename from solana/pyth2wormhole/client/src/batch_state.rs rename to wormhole-attester/client/src/batch_state.rs diff --git a/solana/pyth2wormhole/client/src/cli.rs b/wormhole-attester/client/src/cli.rs similarity index 100% rename from solana/pyth2wormhole/client/src/cli.rs rename to wormhole-attester/client/src/cli.rs diff --git a/solana/pyth2wormhole/client/src/config_file.rs b/wormhole-attester/client/src/config_file.rs similarity index 100% rename from solana/pyth2wormhole/client/src/config_file.rs rename to wormhole-attester/client/src/config_file.rs diff --git a/solana/pyth2wormhole/client/src/healthcheck.rs b/wormhole-attester/client/src/healthcheck.rs similarity index 100% rename from solana/pyth2wormhole/client/src/healthcheck.rs rename to wormhole-attester/client/src/healthcheck.rs diff --git a/solana/pyth2wormhole/client/src/lib.rs b/wormhole-attester/client/src/lib.rs similarity index 96% rename from solana/pyth2wormhole/client/src/lib.rs rename to wormhole-attester/client/src/lib.rs index 09272016d3..70570759e8 100644 --- a/solana/pyth2wormhole/client/src/lib.rs +++ b/wormhole-attester/client/src/lib.rs @@ -16,7 +16,7 @@ pub use { HEALTHCHECK_STATE, }, message::P2WMessageQueue, - pyth2wormhole::Pyth2WormholeConfig, + pyth_wormhole_attester::Pyth2WormholeConfig, util::{ start_metrics_server, RLMutex, @@ -43,7 +43,12 @@ use { warn, }, p2w_sdk::P2WEmitter, - pyth2wormhole::{ + pyth_sdk_solana::state::{ + load_mapping_account, + load_price_account, + load_product_account, + }, + pyth_wormhole_attester::{ config::{ OldP2WConfigAccount, P2WConfigAccount, @@ -54,11 +59,6 @@ use { }, AttestData, }, - pyth_sdk_solana::state::{ - load_mapping_account, - load_price_account, - load_product_account, - }, solana_client::nonblocking::rpc_client::RpcClient, solana_program::{ hash::Hash, @@ -109,7 +109,10 @@ pub fn gen_init_tx( AccountMeta::new(system_program::id(), false), ]; - let ix_data = (pyth2wormhole::instruction::Instruction::Initialize, config); + let ix_data = ( + pyth_wormhole_attester::instruction::Instruction::Initialize, + config, + ); let ix = Instruction::new_with_bytes(p2w_addr, ix_data.try_to_vec()?.as_slice(), acc_metas); @@ -144,7 +147,7 @@ pub fn get_set_config_ix( AccountMeta::new(system_program::id(), false), ]; let ix_data = ( - pyth2wormhole::instruction::Instruction::SetConfig, + pyth_wormhole_attester::instruction::Instruction::SetConfig, new_config, ); Ok(Instruction::new_with_bytes( @@ -192,7 +195,7 @@ pub fn get_set_is_active_ix( ]; let ix_data = ( - pyth2wormhole::instruction::Instruction::SetIsActive, + pyth_wormhole_attester::instruction::Instruction::SetIsActive, new_is_active, ); Ok(Instruction::new_with_bytes( @@ -250,7 +253,10 @@ pub fn gen_migrate_tx( AccountMeta::new(system_program::id(), false), ]; - let ix_data = (pyth2wormhole::instruction::Instruction::Migrate, ()); + let ix_data = ( + pyth_wormhole_attester::instruction::Instruction::Migrate, + (), + ); let ix = Instruction::new_with_bytes(p2w_addr, ix_data.try_to_vec()?.as_slice(), acc_metas); @@ -345,7 +351,7 @@ pub fn gen_attest_tx( acc_metas.append(&mut padded_symbols); - // Continue with other pyth2wormhole accounts + // Continue with other pyth_wormhole_attester accounts let mut acc_metas_remainder = vec![ // clock AccountMeta::new_readonly(clock::id(), false), @@ -380,7 +386,7 @@ pub fn gen_attest_tx( acc_metas.append(&mut acc_metas_remainder); let ix_data = ( - pyth2wormhole::instruction::Instruction::Attest, + pyth_wormhole_attester::instruction::Instruction::Attest, AttestData { consistency_level: ConsistencyLevel::Confirmed, message_account_id: wh_msg_id, diff --git a/solana/pyth2wormhole/client/src/main.rs b/wormhole-attester/client/src/main.rs similarity index 99% rename from solana/pyth2wormhole/client/src/main.rs rename to wormhole-attester/client/src/main.rs index 0d92d66452..4c321f0ca5 100644 --- a/solana/pyth2wormhole/client/src/main.rs +++ b/wormhole-attester/client/src/main.rs @@ -28,11 +28,11 @@ use { IntCounter, IntGauge, }, - pyth2wormhole::{ + pyth_wormhole_attester::{ attest::P2W_MAX_BATCH_SIZE, Pyth2WormholeConfig, }, - pyth2wormhole_client::{ + pyth_wormhole_attester_client::{ attestation_cfg::SymbolBatch, crawl_pyth_mapping, gen_attest_tx, diff --git a/solana/pyth2wormhole/client/src/message.rs b/wormhole-attester/client/src/message.rs similarity index 100% rename from solana/pyth2wormhole/client/src/message.rs rename to wormhole-attester/client/src/message.rs diff --git a/solana/pyth2wormhole/client/src/util.rs b/wormhole-attester/client/src/util.rs similarity index 100% rename from solana/pyth2wormhole/client/src/util.rs rename to wormhole-attester/client/src/util.rs diff --git a/solana/pyth2wormhole/client/tests/fixtures/mod.rs b/wormhole-attester/client/tests/fixtures/mod.rs similarity index 100% rename from solana/pyth2wormhole/client/tests/fixtures/mod.rs rename to wormhole-attester/client/tests/fixtures/mod.rs diff --git a/solana/pyth2wormhole/client/tests/fixtures/passthrough.rs b/wormhole-attester/client/tests/fixtures/passthrough.rs similarity index 100% rename from solana/pyth2wormhole/client/tests/fixtures/passthrough.rs rename to wormhole-attester/client/tests/fixtures/passthrough.rs diff --git a/solana/pyth2wormhole/client/tests/fixtures/pyth.rs b/wormhole-attester/client/tests/fixtures/pyth.rs similarity index 100% rename from solana/pyth2wormhole/client/tests/fixtures/pyth.rs rename to wormhole-attester/client/tests/fixtures/pyth.rs diff --git a/solana/pyth2wormhole/client/tests/test_attest.rs b/wormhole-attester/client/tests/test_attest.rs similarity index 93% rename from solana/pyth2wormhole/client/tests/test_attest.rs rename to wormhole-attester/client/tests/test_attest.rs index 7b6e2162e2..4c81f03f05 100644 --- a/solana/pyth2wormhole/client/tests/test_attest.rs +++ b/wormhole-attester/client/tests/test_attest.rs @@ -10,11 +10,11 @@ use { passthrough, pyth, }, - pyth2wormhole::config::{ + pyth_wormhole_attester::config::{ P2WConfigAccount, Pyth2WormholeConfig, }, - pyth2wormhole_client as p2wc, + pyth_wormhole_attester_client as p2wc, solana_program_test::*, solana_sdk::{ account::Account, @@ -43,7 +43,7 @@ async fn test_happy_path() -> Result<(), p2wc::ErrBoxSend> { let p2w_config = Pyth2WormholeConfig { owner: p2w_owner, wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner, is_active: true, ops_owner: Some(ops_owner), @@ -59,9 +59,9 @@ async fn test_happy_path() -> Result<(), p2wc::ErrBoxSend> { // Populate test environment let mut p2w_test = ProgramTest::new( - "pyth2wormhole", + "pyth_wormhole_attester", p2w_program_id, - processor!(pyth2wormhole::instruction::solitaire), + processor!(pyth_wormhole_attester::instruction::solitaire), ); // Plant a filled config account diff --git a/solana/pyth2wormhole/client/tests/test_migrate.rs b/wormhole-attester/client/tests/test_migrate.rs similarity index 90% rename from solana/pyth2wormhole/client/tests/test_migrate.rs rename to wormhole-attester/client/tests/test_migrate.rs index 4b2c00e131..f21f9cc8e7 100644 --- a/solana/pyth2wormhole/client/tests/test_migrate.rs +++ b/wormhole-attester/client/tests/test_migrate.rs @@ -5,13 +5,13 @@ pub mod fixtures; use { fixtures::passthrough, log::info, - pyth2wormhole::config::{ + pyth_wormhole_attester::config::{ OldP2WConfigAccount, OldPyth2WormholeConfig, P2WConfigAccount, Pyth2WormholeConfig, }, - pyth2wormhole_client as p2wc, + pyth_wormhole_attester_client as p2wc, solana_program::system_program, solana_program_test::*, solana_sdk::{ @@ -43,7 +43,7 @@ async fn test_migrate_works() -> Result<(), solitaire::ErrBox> { let old_p2w_config = OldPyth2WormholeConfig { owner: p2w_owner.pubkey(), wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner, is_active: true, }; @@ -52,9 +52,9 @@ async fn test_migrate_works() -> Result<(), solitaire::ErrBox> { // Populate test environment let mut p2w_test = ProgramTest::new( - "pyth2wormhole", + "pyth_wormhole_attester", p2w_program_id, - processor!(pyth2wormhole::instruction::solitaire), + processor!(pyth_wormhole_attester::instruction::solitaire), ); // Plant filled config accounts @@ -106,7 +106,7 @@ async fn test_migrate_already_migrated() -> Result<(), solitaire::ErrBox> { let old_p2w_config = OldPyth2WormholeConfig { owner: p2w_owner.pubkey(), wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner, is_active: true, }; @@ -114,7 +114,7 @@ async fn test_migrate_already_migrated() -> Result<(), solitaire::ErrBox> { let new_p2w_config = Pyth2WormholeConfig { owner: p2w_owner.pubkey(), wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner, is_active: true, ops_owner: Some(ops_owner.pubkey()), @@ -124,9 +124,9 @@ async fn test_migrate_already_migrated() -> Result<(), solitaire::ErrBox> { // Populate test environment let mut p2w_test = ProgramTest::new( - "pyth2wormhole", + "pyth_wormhole_attester", p2w_program_id, - processor!(pyth2wormhole::instruction::solitaire), + processor!(pyth_wormhole_attester::instruction::solitaire), ); // Plant filled config accounts diff --git a/solana/pyth2wormhole/client/tests/test_set_is_active.rs b/wormhole-attester/client/tests/test_set_is_active.rs similarity index 92% rename from solana/pyth2wormhole/client/tests/test_set_is_active.rs rename to wormhole-attester/client/tests/test_set_is_active.rs index 896ea09638..78a14a37f5 100644 --- a/solana/pyth2wormhole/client/tests/test_set_is_active.rs +++ b/wormhole-attester/client/tests/test_set_is_active.rs @@ -1,11 +1,11 @@ pub mod fixtures; use { - pyth2wormhole::config::{ + pyth_wormhole_attester::config::{ P2WConfigAccount, Pyth2WormholeConfig, }, - pyth2wormhole_client as p2wc, + pyth_wormhole_attester_client as p2wc, solana_program_test::*, solana_sdk::{ account::Account, @@ -41,7 +41,7 @@ async fn test_setting_is_active_works() -> Result<(), p2wc::ErrBoxSend> { let p2w_config = Pyth2WormholeConfig { owner: p2w_owner, wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner, is_active: true, ops_owner: Some(ops_owner.pubkey()), @@ -49,9 +49,9 @@ async fn test_setting_is_active_works() -> Result<(), p2wc::ErrBoxSend> { // Populate test environment let mut p2w_test = ProgramTest::new( - "pyth2wormhole", + "pyth_wormhole_attester", p2w_program_id, - processor!(pyth2wormhole::instruction::solitaire), + processor!(pyth_wormhole_attester::instruction::solitaire), ); // Plant a filled config account @@ -146,7 +146,7 @@ async fn test_setting_is_active_does_not_work_without_ops_owner() -> Result<(), let p2w_config = Pyth2WormholeConfig { owner: p2w_owner, wh_prog: wh_fixture_program_id, - max_batch_size: pyth2wormhole::attest::P2W_MAX_BATCH_SIZE, + max_batch_size: pyth_wormhole_attester::attest::P2W_MAX_BATCH_SIZE, pyth_owner: pyth_owner.pubkey(), is_active: true, ops_owner: None, @@ -154,9 +154,9 @@ async fn test_setting_is_active_does_not_work_without_ops_owner() -> Result<(), // Populate test environment let mut p2w_test = ProgramTest::new( - "pyth2wormhole", + "pyth_wormhole_attester", p2w_program_id, - processor!(pyth2wormhole::instruction::solitaire), + processor!(pyth_wormhole_attester::instruction::solitaire), ); // Plant a filled config account diff --git a/solana/pyth2wormhole/governance/Cargo.toml b/wormhole-attester/governance/Cargo.toml similarity index 58% rename from solana/pyth2wormhole/governance/Cargo.toml rename to wormhole-attester/governance/Cargo.toml index 68143d0ab3..64e1bcb3be 100644 --- a/solana/pyth2wormhole/governance/Cargo.toml +++ b/wormhole-attester/governance/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "pyth2wormhole-governance" +name = "pyth-wormhole-attester-governance" version = "0.1.0" description = "CLI to generate governance payloads for the attester" edition = "2018" @@ -8,7 +8,7 @@ edition = "2018" anyhow = "1.0.65" clap = {version = "3.1.18", features = ["derive"]} solana-sdk = "=1.10.31" -pyth2wormhole-client = {path = "../client/"} +pyth-wormhole-attester-client = {path = "../client/"} hex = "0.4.3" -remote-executor = {path = "../../../pythnet/remote-executor/programs/remote-executor/"} +remote-executor = {path = "../../pythnet/remote-executor/programs/remote-executor/"} borsh = "0.9.3" diff --git a/solana/pyth2wormhole/governance/src/cli.rs b/wormhole-attester/governance/src/cli.rs similarity index 100% rename from solana/pyth2wormhole/governance/src/cli.rs rename to wormhole-attester/governance/src/cli.rs diff --git a/solana/pyth2wormhole/governance/src/main.rs b/wormhole-attester/governance/src/main.rs similarity index 98% rename from solana/pyth2wormhole/governance/src/main.rs rename to wormhole-attester/governance/src/main.rs index 9092013648..da31fab3a4 100644 --- a/solana/pyth2wormhole/governance/src/main.rs +++ b/wormhole-attester/governance/src/main.rs @@ -6,7 +6,7 @@ use { Action, Cli, }, - pyth2wormhole_client::{ + pyth_wormhole_attester_client::{ get_set_config_ix, get_set_is_active_ix, Pyth2WormholeConfig, diff --git a/solana/pyth2wormhole/program/Cargo.lock b/wormhole-attester/program/Cargo.lock similarity index 100% rename from solana/pyth2wormhole/program/Cargo.lock rename to wormhole-attester/program/Cargo.lock diff --git a/solana/pyth2wormhole/program/Cargo.toml b/wormhole-attester/program/Cargo.toml similarity index 77% rename from solana/pyth2wormhole/program/Cargo.toml rename to wormhole-attester/program/Cargo.toml index 4bfdbcacfe..a409b4b019 100644 --- a/solana/pyth2wormhole/program/Cargo.toml +++ b/wormhole-attester/program/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "pyth2wormhole" -version = "0.1.0" -description = "Pyth to Wormhole solana on-chain integration" +name = "pyth-wormhole-attester" +version = "1.0.0" +description = "Pyth-over-Wormhole Solana contract" edition = "2018" [lib] crate-type = ["cdylib", "lib"] -name = "pyth2wormhole" +name = "pyth_wormhole_attester" [features] default = ["wormhole-bridge-solana/no-entrypoint"] @@ -21,7 +21,7 @@ rocksalt = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2. solana-program = "=1.10.31" borsh = "=0.9.3" pyth-client = "0.2.2" -p2w-sdk = { path = "../../../third_party/pyth/p2w-sdk/rust", features = ["solana"] } +p2w-sdk = { path = "../../third_party/pyth/p2w-sdk/rust", features = ["solana"] } serde = { version = "1", optional = true} serde_derive = { version = "1", optional = true} serde_json = { version = "1", optional = true} diff --git a/solana/pyth2wormhole/program/src/attest.rs b/wormhole-attester/program/src/attest.rs similarity index 100% rename from solana/pyth2wormhole/program/src/attest.rs rename to wormhole-attester/program/src/attest.rs diff --git a/solana/pyth2wormhole/program/src/config.rs b/wormhole-attester/program/src/config.rs similarity index 100% rename from solana/pyth2wormhole/program/src/config.rs rename to wormhole-attester/program/src/config.rs diff --git a/solana/pyth2wormhole/program/src/initialize.rs b/wormhole-attester/program/src/initialize.rs similarity index 100% rename from solana/pyth2wormhole/program/src/initialize.rs rename to wormhole-attester/program/src/initialize.rs diff --git a/solana/pyth2wormhole/program/src/lib.rs b/wormhole-attester/program/src/lib.rs similarity index 100% rename from solana/pyth2wormhole/program/src/lib.rs rename to wormhole-attester/program/src/lib.rs diff --git a/solana/pyth2wormhole/program/src/message.rs b/wormhole-attester/program/src/message.rs similarity index 100% rename from solana/pyth2wormhole/program/src/message.rs rename to wormhole-attester/program/src/message.rs diff --git a/solana/pyth2wormhole/program/src/migrate.rs b/wormhole-attester/program/src/migrate.rs similarity index 100% rename from solana/pyth2wormhole/program/src/migrate.rs rename to wormhole-attester/program/src/migrate.rs diff --git a/solana/pyth2wormhole/program/src/set_config.rs b/wormhole-attester/program/src/set_config.rs similarity index 100% rename from solana/pyth2wormhole/program/src/set_config.rs rename to wormhole-attester/program/src/set_config.rs diff --git a/solana/pyth2wormhole/program/src/set_is_active.rs b/wormhole-attester/program/src/set_is_active.rs similarity index 100% rename from solana/pyth2wormhole/program/src/set_is_active.rs rename to wormhole-attester/program/src/set_is_active.rs