Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
17cacfe
feat(drive-abci,dashmate): seed Orchard shielded pool at SDK_TEST_DAT…
shumkov May 25, 2026
1725f59
feat(drive-abci): shielded-pool snapshot bake at image build, apply a…
shumkov May 25, 2026
0c0d399
feat(drive-abci): Phase 2 — frontier-less filler bulk-seed for fast b…
shumkov May 26, 2026
9adb779
Merge remote-tracking branch 'origin/v3.1-dev' into test/sheilded_tes…
shumkov May 26, 2026
0bd7056
fix(rs-platform-wallet): align shielded_sync test with bind_shielded …
shumkov May 26, 2026
fd5af62
feat(drive-abci): allow create_sdk_test_data on Devnet, not just Regtest
shumkov May 26, 2026
32beb34
feat(swift-sdk): shielded sync timing UI + raw-seed test wallet bind
shumkov May 26, 2026
e4b69db
feat(swift-sdk,rs-sdk-ffi): wire devnet through SDK with overridable …
shumkov May 26, 2026
46ab5c2
test(platform-wallet): paloma devnet shielded sync + persister diagno…
shumkov May 26, 2026
fe9b36a
feat(swift-sdk): preserve cold-sync duration + auto-discover DAPI fan…
shumkov May 26, 2026
6c68613
feat(shielded-sync): per-chunk progress callback end-to-end (P1.2)
shumkov May 26, 2026
76fb2bf
fix(shielded): rebind force-rescans + simpler devnet UX (P0.2)
shumkov May 27, 2026
1a744dd
Merge remote-tracking branch 'origin/v3.1-dev' into test/sheilded_tes…
shumkov May 27, 2026
b5950c3
Merge remote-tracking branch 'origin/v3.1-dev' into test/sheilded_tes…
shumkov May 27, 2026
4686094
chore(shielded): remove wallet A hardcoding from Swift + FFI
shumkov May 27, 2026
5c99351
test(platform-wallet): per-chunk timing + decrypt-throughput benches
QuantumExplorer May 27, 2026
8402d1d
style: cargo fmt --all across the workspace
QuantumExplorer May 27, 2026
0e683c4
feat(drive-abci): switch shielded-pool seed to grovedb append_many_raw
shumkov May 28, 2026
e8ca2c7
Merge remote-tracking branch 'origin/v3.1-dev' into test/sheilded_tes…
shumkov May 28, 2026
e0c381a
Merge remote-tracking branch 'origin/v3.1-dev' into test/sheilded_tes…
shumkov May 28, 2026
9ef8b71
refactor(drive-abci): pure-filler shielded seeder, batched by 10k
shumkov May 28, 2026
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
38 changes: 23 additions & 15 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

55 changes: 50 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,12 @@
# - ALPINE_VERSION - use different version of Alpine base image; requires also rust:apline...
# image to be available
# - USERNAME, USER_UID, USER_GID - specification of user used to run the binary
# - SDK_TEST_DATA - set to `true` to create SDK test data on chain genesis. It should be used only for testing
# purpose in local development environment
# - SDK_TEST_DATA - set to `true` to create SDK test data on chain genesis.
# For local devnet workflows use `yarn dashmate config set
# platform.drive.abci.docker.build.buildArgs.SDK_TEST_DATA true` (the
# `yarn setup` script does this automatically for the `local` config) —
# do NOT pass it as a shell env. The value flows through dashmate ->
# docker-compose `build.args:` -> this ARG.
#
# # sccache cache backends
#
Expand Down Expand Up @@ -422,9 +426,11 @@ RUN --mount=type=secret,id=AWS \
# This will prebuild majority of dependencies
FROM deps AS build-drive-abci

# Pass SDK_TEST_DATA=true to create SDK test data on chain genesis
# This is only for testing purpose and should be used only for
# local development environment
# SDK_TEST_DATA is forwarded by dashmate from each `local_N` config's
# `platform.drive.abci.docker.build.buildArgs.SDK_TEST_DATA` field (set by
# `scripts/setup_local_network.sh` after `dashmate setup local`, as part of
# `yarn setup`). Do NOT set this via shell env — single source of truth is the
# dashmate config.
ARG SDK_TEST_DATA
ARG ADDITIONAL_FEATURES=""

Expand Down Expand Up @@ -554,6 +560,37 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM
rm -rf /platform


#
# STAGE: BAKE SHIELDED-POOL SNAPSHOT
#
# Self-contained bake step: runs `drive-abci snapshot-bake` against a fresh
# in-container tempdir to produce /artifacts/shielded-pool.snap. The runtime
# image COPYs that file in and sets `DRIVE_SHIELDED_SNAPSHOT` so the
# InitChain hook applies it instead of running the runtime seeder.
#
# Skipped (file replaced with a sentinel) when SDK_TEST_DATA != "true", so
# production / non-SDK builds don't carry test data.
#
FROM build-drive-abci AS bake-shielded-snapshot

ARG SDK_TEST_DATA

# libgcc + libstdc++ for the dynamically-linked drive-abci binary (build
# stage's alpine image normally has them; explicit `apk add` is a no-op if
# already present).
RUN apk add --no-cache libgcc libstdc++

RUN set -ex; \
mkdir -p /artifacts; \
if [ "${SDK_TEST_DATA}" = "true" ]; then \
/artifacts/drive-abci snapshot-bake --out /artifacts/shielded-pool.snap ; \
ls -la /artifacts/shielded-pool.snap ; \
else \
echo "SDK_TEST_DATA != true; skipping shielded-pool snapshot bake" ; \
: > /artifacts/.no-shielded-snapshot ; \
fi


#
# STAGE: BUILD JAVASCRIPT INTERMEDIATE IMAGE
#
Expand Down Expand Up @@ -667,8 +704,16 @@ RUN mkdir -p /var/log/dash \
${REJECTIONS_PATH}

COPY --from=build-drive-abci /artifacts/drive-abci /usr/bin/drive-abci
COPY --from=bake-shielded-snapshot /artifacts/ /opt/dashmate/snapshots/
COPY packages/rs-drive-abci/.env.mainnet /var/lib/dash/rs-drive-abci/.env

# When the bake stage produced a real snapshot (SDK_TEST_DATA=true at
# build time), point InitChain's apply-side at it. The InitChain hook in
# create_data_for_shielded_pool reads this env var; if unset OR the file
# is the sentinel left by the SDK_TEST_DATA=false branch, the runtime
# seeder runs instead.
ENV DRIVE_SHIELDED_SNAPSHOT=/opt/dashmate/snapshots/shielded-pool.snap

# Create a volume
VOLUME /var/lib/dash/rs-drive-abci/db
VOLUME /var/log/dash
Expand Down
Loading
Loading