FROM node:16-alpine@sha256:004dbac84fed48e20f9888a23e32fa7cf83c2995e174a78d41d9a9dd1e051a20

RUN apk update && apk add g++ make python3 curl

RUN mkdir -p /app
WORKDIR /app

COPY ethereum/package.json ethereum/package-lock.json ./ethereum/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
    npm ci --prefix ethereum
COPY ethereum ./ethereum

COPY solana/idl ./solana/idl/

COPY sdk/js/package.json sdk/js/package-lock.json  ./sdk/js/
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
    npm ci --prefix sdk/js
COPY sdk/js ./sdk/js
RUN npm run build --prefix sdk/js

COPY testing ./testing

WORKDIR /app/testing
