Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
52c8265
chore: increment crate versions to v0.15.0
bobbinth Apr 1, 2026
56fc161
Merge branch 'main' into next
bobbinth Apr 1, 2026
a893a97
fix: Update SyncChainMmr endpoint upper bound logic (#1860)
sergerad Apr 1, 2026
9ea3a63
fix: Genesis(SignedBlock) (#1858)
sergerad Apr 1, 2026
62e76b8
feat: Add proof to GetBlockByNumber (#1864)
sergerad Apr 2, 2026
6eb0af9
chore: Cache proven chain tip in State (#1861)
sergerad Apr 6, 2026
8540706
chore: Reduce block proving timeout worst case (#1857)
sergerad Apr 6, 2026
2725499
Merge branch 'main' into next
bobbinth Apr 7, 2026
93fcc65
Merge branch 'main' into next
bobbinth Apr 7, 2026
32f76e5
fix: Fix transact spans (#1897)
sergerad Apr 7, 2026
7b5e621
Merge branch 'main' into next
bobbinth Apr 8, 2026
127af82
Merge branch 'main' into next
bobbinth Apr 9, 2026
2fe4c60
Merge branch 'main' into next
bobbinth Apr 10, 2026
31a8b2f
Merge branch 'main' into next
bobbinth Apr 10, 2026
c254bc7
feat: Replace bundled command with compose (#1786)
sergerad Apr 12, 2026
03a4a82
chore: remove InflightNetworkNote (#1929)
SantiagoPittella Apr 14, 2026
410e3b9
fix: Various run-node.sh issues (#1943)
sergerad Apr 15, 2026
e1c96bd
Merge branch 'main' into next
bobbinth Apr 15, 2026
1c344e5
Port crypto RocksDB budgeted deserialization (#1923)
huitseeker Apr 16, 2026
8cdbe55
chore: custom CSS properties (#1938)
SantiagoPittella Apr 16, 2026
b4c6022
chore: ServiceStatus builder methods (#1937)
SantiagoPittella Apr 16, 2026
df34d7b
feat: add Validator card to network monitor dashboard (#1900)
SantiagoPittella Apr 16, 2026
74e2009
feat: generalize get_network_note_status endpoint (#1892)
SantiagoPittella Apr 16, 2026
8d3cee7
chore: simplify actor start up (#1902)
SantiagoPittella Apr 16, 2026
228636d
refactor(proto): Use `codegen` for proto code generation (#1946)
kkovaacs Apr 16, 2026
7d997e3
chore: Add spans to get_account stack (#1935)
sergerad Apr 17, 2026
6676834
chore: improve error diagnostics (#1939)
SantiagoPittella Apr 17, 2026
004f0d3
chore(docker): ignore rust-toolchain.toml (#1954)
kkovaacs Apr 20, 2026
71b8f8c
Merge branch 'main' into next
bobbinth Apr 20, 2026
2e31d74
feat(rocksdb): tune LargeSmt profile and config (#1947)
huitseeker Apr 20, 2026
a6288e7
chore: Add network-monitor image and update compose with tempo and gr…
sergerad Apr 20, 2026
c1d3c4f
feat: auto-regenerate accounts on persistent failures (#1942)
SantiagoPittella Apr 20, 2026
24cf883
feat(proto): generate generic GRPC API implementations (#1950)
kkovaacs Apr 21, 2026
f8dcdfe
Merge branch 'main' into next
bobbinth Apr 21, 2026
cc919d0
refactor(validator): refactor gRPC server implementation (#1959)
kkovaacs Apr 22, 2026
9437942
chore: simplify actor's context (#1955)
SantiagoPittella Apr 22, 2026
3d8c021
chore: merge RemoteProver status and tests in backend (#1980)
SantiagoPittella Apr 23, 2026
b929df0
feat(rpc): align list-limit metadata and document query limits (#1986)
namedfarouk Apr 27, 2026
0670698
refactor(monitor): dynamic ServerState with vec (#1997)
SantiagoPittella Apr 27, 2026
feb308e
refactor: replace BTreeMap/BTreeSet with HashMap/HashSet where orderi…
AlgofootPrint Apr 28, 2026
28fbaa1
chore: Update run-node.sh info in usage.md (#2006)
sergerad Apr 28, 2026
550f32f
chore: rename env vars [component] [setting] (#1998)
sergerad Apr 28, 2026
ef46d50
perf(store): add composite index on transactions for SyncTransactions…
AlgofootPrint Apr 29, 2026
cfd9b31
fix(proto/build): ignore rustfmt errors when formatting generated cod…
kkovaacs Apr 30, 2026
f3c3c79
chore: add `Service` trait in monitor (#2003)
SantiagoPittella Apr 30, 2026
f5b0c2c
Merge main into next (#2019)
sergerad Apr 30, 2026
909de78
ci: add shear, workspace inheritance, and zizmor checks, and move hea…
huitseeker Apr 30, 2026
b23f2d7
chore: add CA certificates to Docker image (#2031)
namedfarouk May 4, 2026
b0b696f
ci: install toolchain properly (#2026)
Mirko-von-Leipzig May 4, 2026
39f19f1
ci: cache each job (#2025)
Mirko-von-Leipzig May 4, 2026
961546e
feat: Store Replica Mode (#1987)
sergerad May 4, 2026
e08b2f8
chore: Return proofs from proving tasks (#2045)
sergerad May 5, 2026
a9e2063
feat(monitor): htmx + maud for frontend (#2024)
SantiagoPittella May 5, 2026
dfb5abd
refactor(store): move SyncNotes loop into the database layer (#2027)
bigeez May 5, 2026
ebf6abb
chore: update `protocol` version (#2023)
juan518munoz May 6, 2026
143cf7f
refactor(rpc): remove `CheckNullifiers` gRPC method (#2049)
kkovaacs May 6, 2026
25da5ba
refactor(rpc): make `BlockRange.block_to` required (#2056)
kkovaacs May 7, 2026
9fb3982
feat: Validator binary crate, Dockerfile, and Debian package (#2053)
sergerad May 11, 2026
3a7f474
chore: Move bind URLs to sockets (#2054)
sergerad May 11, 2026
83e2344
chore: merge `main` into `next` (#2060)
Mirko-von-Leipzig May 12, 2026
205d46b
feat: Ntx-builder binary crate (#2067)
sergerad May 12, 2026
680127b
fix(store): improve `inner` locking (#2074)
kkovaacs May 14, 2026
ed4bf6a
chore: update protocol (#2078)
juan518munoz May 15, 2026
426d4b5
feat(rpc): finalize `SyncChainMmr` gRPC endpoint (#2075)
kkovaacs May 15, 2026
37bc79e
fix(proto): fix documentation for `SyncChainMmr` and rename `current_…
kkovaacs May 15, 2026
198c941
chore(store): Move proving inputs from DB to file (#2068)
sergerad May 18, 2026
a336b2e
docs: fix grammar errors and typos in node documentation (#2087)
alelpoan May 18, 2026
b2aad8a
docs: fix broken OpenTelemetry URL in monitoring configuration (#2088)
alelpoan May 18, 2026
49f32f5
feat(scripts/run-node.sh): add EXTRA_ARGS variable (#2090)
kkovaacs May 18, 2026
a9626e4
fix: network monitor display (#2091)
SantiagoPittella May 18, 2026
c5eb549
fix(store/state): perform potentially blocking RocksDB access in a bl…
kkovaacs May 18, 2026
fb31dcc
refactor(store): optimize `account_codes` pruning (#2092)
kkovaacs May 18, 2026
89cb559
feat: rename gRPC submission methods (#2094)
Mirko-von-Leipzig May 19, 2026
57d365a
feat: configurable sqlite connection pool size. (#2098)
Mirko-von-Leipzig May 19, 2026
a244266
refactor(remote-prover): migrate gRPC server to codegen traits (#2083)
Ollie202 May 19, 2026
da3e9d6
docs: fix run-node.sh (#2086)
Mr-kay-cloud2 May 19, 2026
eb0131c
Merge remote-tracking branch 'origin/main' into santiagopittella-merg…
SantiagoPittella May 19, 2026
21bf0c1
feat: xtask for reflowing comments (#2099)
Mirko-von-Leipzig May 20, 2026
871cec9
feat: SQLite migration framework (#2093)
Mirko-von-Leipzig May 20, 2026
67f39b7
Merge branch 'next' into santiagopittella-merge-main-to-next
SantiagoPittella May 20, 2026
f85d060
fix(tests): don't clean up RocksDB directory before store shutdown (#…
kkovaacs May 21, 2026
f31cb55
feat: port `diesel` migrations to our own framework (#2104)
Mirko-von-Leipzig May 21, 2026
0a0abaf
chore: merge main to next (#2101)
SantiagoPittella May 21, 2026
5d6772f
refactor(mempool): make mempool lock poisonable (#2103)
kkovaacs May 21, 2026
4abe27e
fix(store): move local block proving off async runtime (#2108)
Ollie202 May 21, 2026
9dbd2d9
feat: yank replica service and move methods to RPC service (#2113)
Mirko-von-Leipzig May 22, 2026
d7d4f0d
fix(store/schema): remove redundant indexes (#2115)
kkovaacs May 22, 2026
85da13b
fix(mempool): inflight notes are considered unauthenticated once prun…
Mirko-von-Leipzig May 22, 2026
6d5a446
Merge branch 'next' into santiagopittella-merge-main-to-next
SantiagoPittella May 22, 2026
703980c
Trigger CI
SantiagoPittella May 22, 2026
9ed17c3
trigger CI by removing line
SantiagoPittella May 22, 2026
83cabe6
Merge pull request #2117 from 0xMiden/santiagopittella-merge-main-to-…
SantiagoPittella May 22, 2026
dd09915
chore: monitor improvements (#2118)
SantiagoPittella May 23, 2026
77cfb29
feat(ntx-builder): filter notes based on account allowlist (#2116)
kkovaacs May 23, 2026
ebb3322
ci: switch docker builds to warp (#2128)
Mirko-von-Leipzig May 25, 2026
c400c3e
feat: unify node CLI (#2119)
Mirko-von-Leipzig May 25, 2026
20075b0
chore: upgrade some dependencies (#2129)
kkovaacs May 25, 2026
d96a547
refactor(ntx builder): block subscription, deactivate actors (#2120)
SantiagoPittella May 25, 2026
7f99711
ci: shear now checks tests (#2137)
Mirko-von-Leipzig May 26, 2026
a09d9f7
chore: update miden-protocol (#2095)
juan518munoz May 26, 2026
0bb14d7
chore: update some dependencies again (#2143)
kkovaacs May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[alias]
xtask = "run --locked --package xtask --"

[target.wasm32-unknown-unknown]
rustflags = ['--cfg', 'getrandom_backend="wasm_js"']

Expand Down
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ accounts
genesis.dat
miden-store.*
store.*
/rust-toolchain.toml
32 changes: 22 additions & 10 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,28 @@ permissions:

jobs:
docker-build:
runs-on: Linux-ARM64-Runner
runs-on: warp-ubuntu-latest-x64-8x
strategy:
matrix:
include:
- component: node
bin: miden-node
port: 57291
- component: validator
bin: miden-validator
port: 50101
- component: ntx-builder
bin: miden-ntx-builder
port: 50301
name: Build ${{ matrix.component }}
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3

- name: Build and push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
- name: Build
uses: WarpBuilds/build-push-action@8c1f3b8bd22c68607865d99ff650d37a564229a5 # v6.0.7
with:
push: false
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' || '' }}
file: ./Dockerfile
platforms: linux/amd64
profile-name: ${{ vars.WARPBUILD_DOCKER_BUILDER_PROFILE }}
build-args: |
BIN=${{ matrix.bin }}
PORT=${{ matrix.port }}
34 changes: 32 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Continuous integration jobs.
#
# These get run on every pull-request, with Warp caches updated on push into `main` or `next`.
name: CI

Expand Down Expand Up @@ -139,6 +138,30 @@ jobs:
- name: Doc tests
run: cargo test --doc --workspace --all-features

# Temporary Diesel schema drift checks. Delete this job once Diesel is removed.
diesel-schema:
name: diesel schema
runs-on: warp-ubuntu-latest-x64-8x
timeout-minutes: 30
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Rustup
run: rustup toolchain install --no-self-update
- uses: WarpBuilds/rust-cache@9d0cc3090d9c87de74ea67617b246e978735b1a1 # v2.9.1
with:
shared-key: ${{ github.job }}
prefix-key: ${{ env.CACHE_PREFIX }}
save-if: ${{ env.SAVE_CACHE }}
- uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18
with:
tool: diesel_cli@2.3.9
- name: Check Diesel schemas
run: |
cargo test --locked --workspace --all-features \
diesel_schema_is_in_sync_with_migrations -- --ignored

doc:
runs-on: warp-ubuntu-latest-x64-8x
steps:
Expand Down Expand Up @@ -258,8 +281,15 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Rustup
run: rustup toolchain install --no-self-update
- name: Rustup +nightly
run: rustup toolchain install --no-self-update nightly --component rustfmt
- uses: WarpBuilds/rust-cache@9d0cc3090d9c87de74ea67617b246e978735b1a1 # v2.9.1
with:
shared-key: ${{ github.job }}
prefix-key: ${{ env.CACHE_PREFIX }}
save-if: ${{ env.SAVE_CACHE }}
- name: Fmt
run: make format-check

Expand Down Expand Up @@ -316,6 +346,6 @@ jobs:
- name: Install cargo-shear
uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18
with:
tool: cargo-shear@1.11.2
tool: cargo-shear@1.12.4
- name: Check for unused dependencies
run: make shear
85 changes: 24 additions & 61 deletions .github/workflows/publish-debian-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,26 @@ permissions:
contents: read

jobs:
publish-node:
name: Publish Node ${{ matrix.arch }} Debian
publish:
name: Publish ${{ matrix.component.name }} ${{ matrix.arch }} Debian
permissions:
contents: write
strategy:
matrix:
arch: [amd64, arm64]
component:
- name: node
extra_deps: true
- name: prover
crate_dir: remote-prover
crate: miden-remote-prover
extra_deps: false
- name: validator
extra_deps: true
- name: ntx-builder
extra_deps: true
- name: network-monitor
extra_deps: false
runs-on:
labels: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
steps:
Expand All @@ -33,67 +46,17 @@ jobs:
with:
fetch-depth: 0
persist-credentials: false
- uses: ./.github/actions/install-rocksdb
- uses: ./.github/actions/install-protobuf-compiler
- name: Build and Publish Node
- if: ${{ matrix.component.extra_deps }}
uses: ./.github/actions/install-rocksdb
- if: ${{ matrix.component.extra_deps }}
uses: ./.github/actions/install-protobuf-compiler
- name: Build and Publish ${{ matrix.component.name }}
uses: ./.github/actions/debian
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
gitref: ${{ env.version }}
crate_dir: node
package: miden-node
packaging_dir: node
crate: miden-node
arch: ${{ matrix.arch }}

publish-prover:
name: Publish Prover ${{ matrix.arch }} Debian
permissions:
contents: write
strategy:
matrix:
arch: [amd64, arm64]
runs-on:
labels: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
steps:
- name: Checkout repo
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
persist-credentials: false
- name: Build and Publish Prover
uses: ./.github/actions/debian
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
gitref: ${{ env.version }}
crate_dir: remote-prover
package: miden-prover
packaging_dir: prover
crate: miden-remote-prover
arch: ${{ matrix.arch }}

publish-network-monitor:
name: Publish Network Monitor ${{ matrix.arch }} Debian
permissions:
contents: write
strategy:
matrix:
arch: [amd64, arm64]
runs-on:
labels: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
steps:
- name: Checkout repo
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
persist-credentials: false
- name: Build and Publish Network Monitor
uses: ./.github/actions/debian
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
gitref: ${{ env.version }}
crate_dir: network-monitor
package: miden-network-monitor
packaging_dir: network-monitor
crate: miden-network-monitor
crate_dir: ${{ matrix.component.crate_dir || matrix.component.name }}
package: miden-${{ matrix.component.name }}
packaging_dir: ${{ matrix.component.name }}
crate: ${{ matrix.component.crate || format('miden-{0}', matrix.component.name) }}
arch: ${{ matrix.arch }}
65 changes: 32 additions & 33 deletions .github/workflows/publish-debian.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,16 @@ name: Publish Debian Package
on:
workflow_dispatch:
inputs:
package:
description: "Name of package to publish"
component:
description: "Component to publish"
required: true
type: choice
options:
- miden-network-monitor
- miden-node
- miden-prover
- miden-prover-proxy
crate_dir:
required: true
description: "Name of crate directory"
type: choice
options:
- network-monitor
- node
- remote-prover
packaging_dir:
required: true
description: "Name of packaging directory"
type: choice
options:
- network-monitor
- node
- ntx-builder
- prover
- prover-proxy
crate:
description: "Name of the binary crate to publish"
required: true
type: choice
options:
- miden-network-monitor
- miden-node
- miden-remote-prover
- validator
version:
description: "Version to release (E.G. v0.10.0-rc.1, v0.10.0). Corresponding git tag must already exist."
required: true
Expand All @@ -47,7 +23,7 @@ permissions:

jobs:
publish:
name: Publish ${{ inputs.package }} ${{ matrix.arch }} Debian
name: Publish ${{ inputs.component }} ${{ matrix.arch }} Debian
permissions:
contents: write
strategy:
Expand All @@ -62,6 +38,29 @@ jobs:
fetch-depth: 0
persist-credentials: false

- name: Resolve component inputs
id: resolve
shell: bash
env:
COMPONENT: ${{ inputs.component }}
run: |
package="miden-${COMPONENT}"
packaging_dir="${COMPONENT}"

# prover's binary crate lives in bin/remote-prover and is named miden-remote-prover
if [ "${COMPONENT}" = "prover" ]; then
crate_dir="remote-prover"
crate="miden-remote-prover"
else
crate_dir="${COMPONENT}"
crate="miden-${COMPONENT}"
fi

echo "package=${package}" >> "$GITHUB_OUTPUT"
echo "crate_dir=${crate_dir}" >> "$GITHUB_OUTPUT"
echo "packaging_dir=${packaging_dir}" >> "$GITHUB_OUTPUT"
echo "crate=${crate}" >> "$GITHUB_OUTPUT"

- uses: ./.github/actions/install-rocksdb
- uses: ./.github/actions/install-protobuf-compiler

Expand All @@ -70,8 +69,8 @@ jobs:
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
gitref: ${{ inputs.version }}
crate_dir: ${{ inputs.crate_dir }}
package: ${{ inputs.package }}
packaging_dir: ${{ inputs.packaging_dir }}
crate: ${{ inputs.crate }}
crate_dir: ${{ steps.resolve.outputs.crate_dir }}
package: ${{ steps.resolve.outputs.package }}
packaging_dir: ${{ steps.resolve.outputs.packaging_dir }}
crate: ${{ steps.resolve.outputs.crate }}
arch: ${{ matrix.arch }}
38 changes: 19 additions & 19 deletions .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,20 @@ permissions:

jobs:
publish:
runs-on:
labels: "ubuntu-24.04"
runs-on: warp-ubuntu-latest-x64-8x
environment: publish-docker
strategy:
matrix:
component: [node]
include:
- component: node
bin: miden-node
port: 57291
- component: validator
bin: miden-validator
port: 50101
- component: ntx-builder
bin: miden-ntx-builder
port: 50301
name: Publish ${{ matrix.component }} ${{ inputs.version }}
steps:
- name: Checkout repo
Expand All @@ -45,24 +53,16 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4
with:
aws-region: ${{ secrets.AWS_REGION }}
role-to-assume: ${{ secrets.AWS_ROLE }}
role-session-name: GithubActionsSession

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

- name: Build and push Docker image
id: push
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5
uses: WarpBuilds/build-push-action@8c1f3b8bd22c68607865d99ff650d37a564229a5 # v6.0.7
with:
context: .
push: true
file: ./bin/${{ matrix.component }}/Dockerfile
file: ./Dockerfile
platforms: linux/amd64
profile-name: ${{ vars.WARPBUILD_DOCKER_BUILDER_PROFILE }}
build-args: |
BIN=${{ matrix.bin }}
PORT=${{ matrix.port }}
tags: ${{ env.registry }}/0xmiden/miden-${{ matrix.component }}:${{ env.version }}
cache-from: type=s3,region=${{ secrets.AWS_REGION }},bucket=${{ secrets.AWS_CACHE_BUCKET }},name=miden-${{ matrix.component }}
cache-to: type=s3,region=${{ secrets.AWS_REGION }},bucket=${{ secrets.AWS_CACHE_BUCKET }},name=miden-${{ matrix.component }},mode=max
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,5 @@ node_modules/
*DS_Store
*.iml
book/

.claude/
Loading
Loading