Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions packages/public-api/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,28 @@ COPY packages/types/package.json ./packages/types/
COPY packages/unchained-client/package.json ./packages/unchained-client/
COPY packages/utils/package.json ./packages/utils/

# pnpm uses copy instead of hard links, which Docker's overlay filesystem doesn't support
# Copy import method avoids hard-link failures from the pnpm store on Docker overlay FS
ENV NPM_CONFIG_PACKAGE_IMPORT_METHOD=copy

# Install dependencies, skipping lifecycle scripts (controlled by onlyBuiltDependencies in package.json)
# Retry loop: pnpm's hoisted linker intermittently fails with ENOENT on Docker overlay FS (known issue).
RUN --mount=type=cache,id=s/ff1bcf56-d6d3-403a-b41e-2c92b7233f01-/root/.local/share/pnpm/store,target=/root/.local/share/pnpm/store \
corepack enable && pnpm install --frozen-lockfile --ignore-scripts
corepack enable && \
for i in 1 2 3; do \
pnpm install --frozen-lockfile --ignore-scripts && break || \
rm -rf node_modules; \
done

# Run postinstall for openapi-generator-cli to download the JAR (skipped by --ignore-scripts above)
RUN --mount=type=cache,id=s/ff1bcf56-d6d3-403a-b41e-2c92b7233f01-/root/.openapi-generator-cli,target=/root/.openapi-generator-cli \
pnpm rebuild @openapitools/openapi-generator-cli

# Copy unchained-client config and generator files FIRST (rarely changes, enables layer caching)
COPY packages/unchained-client/openapitools.json ./packages/unchained-client/
COPY packages/unchained-client/generator/ ./packages/unchained-client/generator/

# Generate unchained-client code (required by tsc --build for workspace packages)
RUN --mount=type=cache,id=s/ff1bcf56-d6d3-403a-b41e-2c92b7233f01-/root/.openapitools,target=/root/.openapitools \
pnpm --filter @shapeshiftoss/unchained-client generate
RUN pnpm --filter @shapeshiftoss/unchained-client generate

# Copy remaining source files
COPY packages/ ./packages/
Expand Down
13 changes: 11 additions & 2 deletions packages/swap-widget/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,21 @@ COPY packages/types/package.json ./packages/types/
COPY packages/unchained-client/package.json ./packages/unchained-client/
COPY packages/utils/package.json ./packages/utils/

# pnpm uses copy instead of hard links, which Docker's overlay filesystem doesn't support
# Copy import method avoids hard-link failures from the pnpm store on Docker overlay FS
ENV NPM_CONFIG_PACKAGE_IMPORT_METHOD=copy

# Install dependencies, skipping lifecycle scripts (controlled by onlyBuiltDependencies in package.json)
# Retry loop: pnpm's hoisted linker intermittently fails with ENOENT on Docker overlay FS (known issue).
RUN --mount=type=cache,id=s/4cafb297-3349-46e2-bfef-8210504e0583-/root/.local/share/pnpm/store,target=/root/.local/share/pnpm/store \
corepack enable && pnpm install --frozen-lockfile --ignore-scripts
corepack enable && \
for i in 1 2 3; do \
pnpm install --frozen-lockfile --ignore-scripts && break || \
rm -rf node_modules; \
done

# Run postinstall for openapi-generator-cli to download the JAR (skipped by --ignore-scripts above)
RUN --mount=type=cache,id=s/4cafb297-3349-46e2-bfef-8210504e0583-/root/.openapi-generator-cli,target=/root/.openapi-generator-cli \
pnpm rebuild @openapitools/openapi-generator-cli

# Copy unchained-client config and generator files FIRST (rarely changes, enables layer caching)
COPY packages/unchained-client/openapitools.json ./packages/unchained-client/
Expand Down
9 changes: 9 additions & 0 deletions packages/swapper/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -705,6 +705,15 @@ export type SolanaMessageExecutionProps = {
signSerializedTransaction: (serializedTx: string) => Promise<string[]>
}

export type SolanaMessageToSign = {
serializedTx: string
quoteId: string
}

export type SolanaMessageExecutionProps = {
signSerializedTransaction: (serializedTx: string) => Promise<string[]>
}

export type TronTransactionExecutionProps = {
signAndBroadcastTransaction: (txToSign: tron.TronSignTx) => Promise<string>
}
Expand Down
Loading
Loading