Dockerfile.p2w-attest 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. #syntax=docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc
  2. FROM ghcr.io/certusone/solana:1.10.31@sha256:d31e8db926a1d3fbaa9d9211d9979023692614b7b64912651aba0383e8c01bad AS solana
  3. RUN apt-get update && apt-get install -yq python3 libudev-dev ncat
  4. RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs
  5. ADD pythnet/remote-executor /usr/src/pythnet/remote-executor
  6. ADD third_party/pyth/p2w-sdk/rust /usr/src/third_party/pyth/p2w-sdk/rust
  7. ADD solana /usr/src/solana
  8. WORKDIR /usr/src/solana/pyth2wormhole
  9. ENV EMITTER_ADDRESS="11111111111111111111111111111115"
  10. ENV BRIDGE_ADDRESS="Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o"
  11. RUN --mount=type=cache,target=/root/.cache \
  12. --mount=type=cache,target=/usr/local/cargo/registry \
  13. --mount=type=cache,target=target \
  14. cargo test --package pyth2wormhole-client && \
  15. cargo build --package pyth2wormhole-client && \
  16. mv target/debug/pyth2wormhole-client /usr/local/bin/pyth2wormhole-client
  17. ADD third_party/pyth/pyth_utils.py /usr/src/pyth/pyth_utils.py
  18. ADD third_party/pyth/p2w_autoattest.py /usr/src/pyth/p2w_autoattest.py
  19. RUN chmod a+rx /usr/src/pyth/*.py
  20. ENV P2W_OWNER_KEYPAIR="/usr/src/solana/keys/p2w_owner.json"
  21. ENV P2W_ATTESTATIONS_PORT="4343"
  22. ENV PYTH_PUBLISHER_KEYPAIR="/usr/src/solana/keys/pyth_publisher.json"
  23. ENV PYTH_PROGRAM_KEYPAIR="/usr/src/solana/keys/pyth_program.json"