From 78cd4ee4375672e8bb88543307f8ca9bc5ad2c71 Mon Sep 17 00:00:00 2001 From: Stan Drozd Date: Thu, 5 Aug 2021 14:32:47 +0200 Subject: [PATCH] pyth2wormhole: build + deploy program into local devnet Change-Id: I82acc6755476229d97ad20e73f4ed08b27d98ecf --- .dockerignore | 2 +- devnet/solana-devnet.yaml | 3 +++ shell.nix | 1 + solana/.dockerignore | 2 +- solana/Dockerfile | 8 ++++---- solana/devnet_setup.sh | 4 ++-- solana/pyth2wormhole/program/Cargo.toml | 1 + 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.dockerignore b/.dockerignore index 7612d55a7..d385a8ba6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,4 @@ target bin **/target -**/node_modules \ No newline at end of file +**/node_modules diff --git a/devnet/solana-devnet.yaml b/devnet/solana-devnet.yaml index aad2110be..46cafe466 100644 --- a/devnet/solana-devnet.yaml +++ b/devnet/solana-devnet.yaml @@ -53,6 +53,9 @@ spec: - --bpf-program - gMYYig2utAxVoXnM9UhtTWrt8e7x2SVBZqsWZJeT5Gw # Derived from pyth_program.json - /opt/solana/deps/pyth_oracle.so + - --bpf-program + - P2WH424242424242424242424242424242424242424 + - /opt/solana/deps/pyth2wormhole.so - --log ports: - containerPort: 8001 diff --git a/shell.nix b/shell.nix index d15a8aa8d..7fd465b8b 100644 --- a/shell.nix +++ b/shell.nix @@ -33,6 +33,7 @@ pkgs.mkShell { openssl pkgconfig protobuf + python3 whcluster whinotify whkube diff --git a/solana/.dockerignore b/solana/.dockerignore index 2aef6ac7d..71574ea53 100644 --- a/solana/.dockerignore +++ b/solana/.dockerignore @@ -1,2 +1,2 @@ bin -**/target \ No newline at end of file +**/target diff --git a/solana/Dockerfile b/solana/Dockerfile index 4d207950b..14bbade31 100644 --- a/solana/Dockerfile +++ b/solana/Dockerfile @@ -38,7 +38,6 @@ RUN tar -xvf *.tar.gz && rm -rf *.tar.gz && mv pyth-client-$PYTH_SRC_REV pyth-cl WORKDIR /usr/src/bridge ADD . . - RUN mkdir -p /opt/solana/deps ENV EMITTER_ADDRESS="11111111111111111111111111111115" @@ -47,15 +46,16 @@ ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o" # Build Wormhole Solana progrms RUN --mount=type=cache,target=bridge/target \ --mount=type=cache,target=modules/token_bridge/target \ - --mount=type=cache,target=target \ - --mount=type=cache,target=bin,from=rust,source=bin \ + --mount=type=cache,target=pyth2wormhole/target \ cargo build-bpf --manifest-path "bridge/program/Cargo.toml" && \ cargo build-bpf --manifest-path "bridge/cpi_poster/Cargo.toml" && \ cargo build-bpf --manifest-path "modules/token_bridge/program/Cargo.toml" && \ + cargo build-bpf --manifest-path "pyth2wormhole/program/Cargo.toml" && \ cp bridge/target/deploy/bridge.so /opt/solana/deps/bridge.so && \ cp bridge/target/deploy/cpi_poster.so /opt/solana/deps/cpi_poster.so && \ cp modules/token_bridge/target/deploy/token_bridge.so /opt/solana/deps/token_bridge.so && \ - cp modules/token_bridge/token-metadata/spl_token_metadata.so /opt/solana/deps/spl_token_metadata.so + cp modules/token_bridge/token-metadata/spl_token_metadata.so /opt/solana/deps/spl_token_metadata.so && \ + cp pyth2wormhole/target/deploy/pyth2wormhole.so /opt/solana/deps/pyth2wormhole.so # Build the Pyth Solana program WORKDIR $PYTH_DIR/pyth-client/program diff --git a/solana/devnet_setup.sh b/solana/devnet_setup.sh index 94e6e2204..9705a63d4 100755 --- a/solana/devnet_setup.sh +++ b/solana/devnet_setup.sh @@ -29,8 +29,8 @@ retry () { done } -# Fund our account (as seen in solana-devnet.json). -retry solana airdrop 1000 --faucet-port 9900 --faucet-host 127.0.0.1 +# Fund our account (as defined in solana/keys/solana-devnet.json). +retry solana airdrop 1000 # Create a new SPL token token=$(spl-token create-token -- token.json | grep 'Creating token' | awk '{ print $3 }') diff --git a/solana/pyth2wormhole/program/Cargo.toml b/solana/pyth2wormhole/program/Cargo.toml index 0725e1e64..ed191eb2f 100644 --- a/solana/pyth2wormhole/program/Cargo.toml +++ b/solana/pyth2wormhole/program/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "pyth2wormhole" [features] +default = ["bridge/no-entrypoint"] client = ["solitaire/client", "solitaire-client", "no-entrypoint"] trace = ["solitaire/trace", "bridge/trace"] no-entrypoint = []