Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
cbc147b
chore: improve endpoint ordering in RPC api proto file
bobbinth Jan 26, 2026
bf1c81f
chore: update generated proto files
bobbinth Jan 26, 2026
692d0d5
chore: update to miden-base latest (#1595)
SantiagoPittella Jan 27, 2026
398b963
Merge branch 'main' into next
bobbinth Jan 27, 2026
9661ed9
chore: increment crate versions to v0.14.0
bobbinth Jan 27, 2026
2240ce6
chore: move `apply_block()` in the store into separate file (#1604)
sergerad Jan 27, 2026
65bc296
refactor: move state-sync related methods to a separate file (#1606)
bobbinth Jan 28, 2026
83fa9d4
Merge branch 'main' into next
bobbinth Jan 29, 2026
8927fe2
feat: rocksdb linkage of existing static rocksdb library is missing s…
drahnr Jan 29, 2026
27b19fb
chore: use enum for NoteType (#1594)
SantiagoPittella Jan 29, 2026
1c44ed2
feat: Move block proving to the Store (#1579)
sergerad Feb 1, 2026
925b223
chore(prover): re-export prover's from crate root (#1626)
sergerad Feb 2, 2026
ce05e7a
refactor: ntx builder start up (#1610)
SantiagoPittella Feb 2, 2026
c54f4e6
chore(rpc): refactor account delta check test (#1621)
SantiagoPittella Feb 2, 2026
f035ce4
feat/db: paged loading of nullifiers and account commitments (#1536)
drahnr Feb 2, 2026
03cd1e1
chore: ntx-builder followups (#1611)
SantiagoPittella Feb 2, 2026
60fb04f
fix(rpc): orphaned test (#1623)
SantiagoPittella Feb 3, 2026
e25efc7
fix(store): missing rocksdb linkage for tests (#1633)
drahnr Feb 3, 2026
2965984
ci(docker): use `cargo chef` and cache to github (#1631)
Mirko-von-Leipzig Feb 3, 2026
6f7737c
fix: rocksdb missing build.rs (#1634)
drahnr Feb 3, 2026
09f6d4c
chore: wrap PartialBlockchain in Arc (#1632)
SantiagoPittella Feb 4, 2026
69e61b3
Merge branch 'main' into next
bobbinth Feb 4, 2026
20da8a9
chore: bump `time` and `bytes` for dependabot security alerts (#1644)
Mirko-von-Leipzig Feb 6, 2026
133e514
ci: organize by trigger and improve caching (#1637)
Mirko-von-Leipzig Feb 6, 2026
494f71c
Merge branch 'main' into santiagopittella-merge-main-into-next
SantiagoPittella Feb 6, 2026
3abf01d
chore: add missing line between changelog subtitles
SantiagoPittella Feb 6, 2026
1260b5f
Merge pull request #1649 from 0xMiden/santiagopittella-merge-main-int…
bobbinth Feb 6, 2026
6de68e5
chore: improve telemetry by adding track_caller to helpers (#1651)
huitseeker Feb 7, 2026
67b8170
chore: Add validator service file (#1638)
sergerad Feb 9, 2026
8e105fc
Improve tracing span fields (#1650)
huitseeker Feb 9, 2026
2987a8d
chore/deps: `proto` and `protox` bump and better comment on `=x.y.z` …
drahnr Feb 10, 2026
2f45a9c
chore/rocksdb: static lib linkage for one more `miden-crypto` use (#1…
drahnr Feb 10, 2026
4659bea
feat: add ntx-builder database (#1654)
SantiagoPittella Feb 11, 2026
58cc57d
feat(store): add typed error codes for GetAccount endpoint (#1646)
Himess Feb 11, 2026
e354490
chore/makefile: add `stress-test-smoke` target (#1665)
drahnr Feb 11, 2026
07d22cc
Merge branch 'main' into next
bobbinth Feb 12, 2026
2e32e20
chore(lint): prefer `#[expect]` over `#[allow]` (#1668)
Mirko-von-Leipzig Feb 13, 2026
cd24f2d
fix/sqlite: ensure we're shipping the node binary with sqlite (#1669)
drahnr Feb 13, 2026
3ef46f2
docs: add macOS build prerequisites to installation page (#1672)
Keinberger Feb 14, 2026
7910413
ci: workflow cleanup (#1678)
Mirko-von-Leipzig Feb 16, 2026
dea85f7
feat/rpc: initial `SyncChainMmr` impl (#1636)
drahnr Feb 16, 2026
632f0ba
feat/db: cleanup old account state data db entries (#1645)
drahnr Feb 16, 2026
d3b085f
Merge branch 'main' into next
bobbinth Feb 16, 2026
ffd3f4d
fix: compile fix from missed merge (#1683)
drahnr Feb 17, 2026
2340d92
ci: workflow cleanup follow-up (#1679)
Mirko-von-Leipzig Feb 17, 2026
9bed52e
feat: Validator database (#1614)
sergerad Feb 17, 2026
2f26190
feat/ci: ensure static linkage of C deps (#1684)
drahnr Feb 18, 2026
21a84c5
ci: simplify msrv CI check (#1673)
Mirko-von-Leipzig Feb 18, 2026
32cf944
refactor: remove pagination from SyncChainMMR RPC (#1682)
drahnr Feb 18, 2026
5f65682
fix(rpc): add missing list validation for sync_transactions and remov…
johnh4098 Feb 19, 2026
be2771d
chore: Refactor common db capabilities into separate crate (#1685)
sergerad Feb 19, 2026
8370053
chore(ntx): replace in memory with sqlite database (#1662)
SantiagoPittella Feb 20, 2026
c6ad6be
refactor(prover): combine proxy and worker (#1688)
Mirko-von-Leipzig Feb 20, 2026
a3f96e0
chore(deps): bump keccak from 0.1.5 to 0.1.6 (#1695)
dependabot[bot] Feb 20, 2026
e2d908b
chore(ntx-builder): DataStore & DB writers refactor (#1689)
SantiagoPittella Feb 23, 2026
da8997a
docs: use org contributing.md (#1698)
Mirko-von-Leipzig Feb 23, 2026
41a2804
feat: read general account files at genesis (#1624)
mmagician Feb 23, 2026
d970008
ci: RM dry run workflow (#1690)
sergerad Feb 24, 2026
0504583
fix: TransactionHeader serialization (#1701)
juan518munoz Feb 24, 2026
8432310
chore: fix changelog date and increment MSRV to 1.91
bobbinth Feb 24, 2026
893bcf8
feat: improve node startup time by adding block header commitment tab…
drahnr Feb 25, 2026
c058906
Merge branch 'main' into next
bobbinth Feb 25, 2026
07916c3
Merge branch 'main' into next
bobbinth Feb 25, 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
35 changes: 19 additions & 16 deletions .github/actions/debian/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ inputs:
options:
- miden-node
- miden-remote-prover
service:
package:
required: true
description: The service to build the packages for.
description: The Debian package name.
type: choice
options:
- miden-node
- miden-prover
- miden-prover-proxy
package:
packaging_dir:
required: true
description: Name of packaging directory.
type: choice
Expand Down Expand Up @@ -78,7 +78,7 @@ runs:
- name: Create package directories
shell: bash
run: |
pkg=${{ inputs.service }}
pkg=${{ inputs.package }}
mkdir -p \
packaging/deb/$pkg/DEBIAN \
packaging/deb/$pkg/usr/bin \
Expand All @@ -89,15 +89,18 @@ runs:
- name: Copy package install scripts
shell: bash
run: |
svc=${{ inputs.service }}
pkg=${{ inputs.package }}
pkg_dir=${{ inputs.packaging_dir }}
crate=${{ inputs.crate_dir }}
git show ${{ steps.git-sha.outputs.sha }}:bin/$crate/.env > packaging/deb/$svc/lib/systemd/system/$svc.env
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg/$svc.service > packaging/deb/$svc/lib/systemd/system/$svc.service
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg/postinst > packaging/deb/$svc/DEBIAN/postinst
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg/postrm > packaging/deb/$svc/DEBIAN/postrm
chmod 0775 packaging/deb/$svc/DEBIAN/postinst
chmod 0775 packaging/deb/$svc/DEBIAN/postrm
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg_dir/postinst > packaging/deb/$pkg/DEBIAN/postinst
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg_dir/postrm > packaging/deb/$pkg/DEBIAN/postrm
for service_file in $(ls packaging/$pkg_dir/*.service | sed "s/.*miden/miden/g"); do
svc=$(echo $service_file | sed "s/.service//g")
git show ${{ steps.git-sha.outputs.sha }}:packaging/$pkg_dir/$service_file > packaging/deb/$pkg/lib/systemd/system/$service_file
git show ${{ steps.git-sha.outputs.sha }}:bin/$crate/.env > packaging/deb/$pkg/lib/systemd/system/$svc.env
done
chmod 0775 packaging/deb/$pkg/DEBIAN/postinst
chmod 0775 packaging/deb/$pkg/DEBIAN/postrm

- name: Create control files
shell: bash
Expand All @@ -108,7 +111,7 @@ runs:
# Control file's version field must be x.y.z format so strip the rest.
version=$(git describe --tags --abbrev=0 | sed 's/[^0-9.]//g' )

pkg=${{ inputs.service }}
pkg=${{ inputs.package }}
cat > packaging/deb/$pkg/DEBIAN/control << EOF
Package: $pkg
Version: $version
Expand All @@ -132,14 +135,14 @@ runs:
- name: Copy binary files
shell: bash
run: |
pkg=${{ inputs.service }}
pkg=${{ inputs.package }}
bin=${{ inputs.crate }}
cp -p ./bin/$bin packaging/deb/$pkg/usr/bin/

- name: Build packages
shell: bash
run: |
dpkg-deb --build --root-owner-group packaging/deb/${{ inputs.service }}
dpkg-deb --build --root-owner-group packaging/deb/${{ inputs.package }}

# Save the .deb files, delete the rest.
mv packaging/deb/*.deb .
Expand All @@ -148,12 +151,12 @@ runs:
- name: Package names
shell: bash
run: |
echo "package=${{ inputs.service }}-${{ inputs.gitref }}-${{ inputs.arch }}.deb" >> $GITHUB_ENV
echo "package=${{ inputs.package }}-${{ inputs.gitref }}-${{ inputs.arch }}.deb" >> $GITHUB_ENV

- name: Rename package files
shell: bash
run: |
mv ${{ inputs.service }}.deb ${{ env.package }}
mv ${{ inputs.package}}.deb ${{ env.package }}

- name: shasum packages
shell: bash
Expand Down
34 changes: 6 additions & 28 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,16 @@ permissions:

jobs:
docker-build:
strategy:
matrix:
component: [node]
runs-on: Linux-ARM64-Runner
name: Build ${{ matrix.component }}
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Configure AWS credentials
if: github.event.pull_request.head.repo.fork == false
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ secrets.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE }}
role-session-name: GithubActionsSession

- name: Set cache parameters
if: github.event.pull_request.head.repo.fork == false
run: |
echo "CACHE_FROM=type=s3,region=${{ secrets.AWS_REGION }},bucket=${{ secrets.AWS_CACHE_BUCKET }},name=miden-${{ matrix.component }}" >> $GITHUB_ENV
echo "CACHE_TO=type=s3,region=${{ secrets.AWS_REGION }},bucket=${{ secrets.AWS_CACHE_BUCKET }},name=miden-${{ matrix.component }}" >> $GITHUB_ENV

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
cache-binary: true

- name: Build Docker image
uses: docker/build-push-action@v5
- name: Build and push
uses: docker/build-push-action@v6
with:
push: false
file: ./bin/${{ matrix.component }}/Dockerfile
cache-from: ${{ env.CACHE_FROM || '' }}
cache-to: ${{ env.CACHE_TO || '' }}
file: ./bin/node/Dockerfile
cache-from: type=gha
# Only save cache on push into next
cache-to: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' && 'type=gha,mode=max' || '' }}
48 changes: 43 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,43 @@ jobs:
save-if: ${{ github.ref == 'refs/heads/next' }}
- name: cargo build
run: cargo build --workspace --all-targets --locked
- name: Check static linkage
run: |
# Ensure database libraries are statically linked to avoid system library dependencies
#
# It explodes our possible dependency matrix when debugging, particularly
# in the case of sqlite and rocksdb as embedded databases, we want them
# shipped in identical versions we test with. Those are notoriously difficult
# to compile time configure and OSes make very opinionated choices.
metadata=$(cargo metadata --no-deps --format-version 1)
mapfile -t bin_targets < <(
echo "${metadata}" | jq -r '.packages[].targets[] | select(.kind[] == "bin") | .name' | sort -u
)
if [[ ${#bin_targets[@]} -eq 0 ]]; then
echo "error: No binary targets found in cargo manifest."
exit 1
fi
for bin_target in "${bin_targets[@]}"; do
# Ensure the binary was built by the previous step.
binary_path="target/debug/${bin_target}"
if ! [[ -x "${binary_path}" ]]; then
echo "error: Missing binary or missing executable bit: ${binary_path}";
exit 2;
fi
# ldd exits non-zero for static binaries, so we inspect its output instead.
# if ldd fails we use an empty string instead
ldd_output="$(ldd "${binary_path}" 2>&1 || true)"
if echo "${ldd_output}" | grep -E -q 'not a dynamic executable'; then
continue
fi
# librocksdb/libsqlite entries indicate dynamic linkage (bad).
if echo "${ldd_output}" | grep -E -q 'librocksdb|libsqlite'; then
echo "error: Dynamic linkage detected for ${bin_target}."
echo "${ldd_output}"
exit 3
fi
done
echo "Static linkage check passed for all of ${bin_targets[@]}"

clippy:
name: lint - clippy
Expand Down Expand Up @@ -167,11 +204,12 @@ jobs:
cargo run --bin miden-node-stress-test seed-store \
--data-directory ${{ env.DATA_DIR }} \
--num-accounts 500 --public-accounts-percentage 50
- name: Benchmark state sync
run: |
cargo run --bin miden-node-stress-test benchmark-store \
--data-directory ${{ env.DATA_DIR }} \
--iterations 10 --concurrency 1 sync-state
# TODO re-introduce
# - name: Benchmark state sync
# run: |
# cargo run --bin miden-node-stress-test benchmark-store \
# --data-directory ${{ env.DATA_DIR }} \
# --iterations 10 --concurrency 1 sync-state
- name: Benchmark notes sync
run: |
cargo run --bin miden-node-stress-test benchmark-store \
Expand Down
Loading
Loading