Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7cff93e
feat: query filtering
Dodecahedr0x May 30, 2026
38df0cf
feat: filter simulate transaction
Dodecahedr0x Jun 1, 2026
79f32ae
Merge branch 'master' into dode/tee-filtering
Dodecahedr0x Jun 1, 2026
16c7fb2
style: lint
Dodecahedr0x Jun 1, 2026
947725d
docs: add section header
Dodecahedr0x Jun 1, 2026
35303ea
feat: print error if using default secret
Dodecahedr0x Jun 1, 2026
64f0418
feat: remove duplicate check
Dodecahedr0x Jun 1, 2026
f30d5cf
feat: use crypto secure hash
Dodecahedr0x Jun 1, 2026
2f7e9b8
style: lint
Dodecahedr0x Jun 1, 2026
e4de066
feat: propagate ensure failure
Dodecahedr0x Jun 2, 2026
707f68d
feat: remove expect
Dodecahedr0x Jun 2, 2026
8f029c4
docs: explain why we dont fail
Dodecahedr0x Jun 2, 2026
fe86071
feat: validate challenge ttl
Dodecahedr0x Jun 2, 2026
c2f07a4
feat: prevent future dated challenge
Dodecahedr0x Jun 2, 2026
1293ef5
fix: broken test
Dodecahedr0x Jun 2, 2026
08bd292
fix: builder accounts
Dodecahedr0x Jun 2, 2026
0821480
Merge branch 'master' into dode/tee-filtering
Dodecahedr0x Jun 2, 2026
5ef7c39
style: lint
Dodecahedr0x Jun 2, 2026
8308c72
Merge branch 'master' into dode/tee-filtering
Dodecahedr0x Jun 2, 2026
9166ffe
fix: preserve streams on optimize failure (#1273)
thlorenz Jun 2, 2026
99ef5f7
feat: feature gate query filtering
Dodecahedr0x Jun 3, 2026
ec5aa7d
Merge branch 'master' into dode/tee-filtering
Dodecahedr0x Jun 3, 2026
8e902ce
fix: add query filtering feature
Dodecahedr0x Jun 3, 2026
26e660f
feat: use once cell
Dodecahedr0x Jun 3, 2026
c441434
Merge branch 'master' into dode/tee-filtering
Dodecahedr0x Jun 3, 2026
074b25b
fix: lock file
Dodecahedr0x Jun 3, 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
63 changes: 38 additions & 25 deletions .github/workflows/ci-test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,33 @@ on:
push:
branches: [master, dev]
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '**/build.rs'
- '**/*.proto'
- 'Makefile'
- 'test-integration/**'
- 'rust-toolchain.toml'
- 'test-integration/rust-toolchain.toml'
- '.github/workflows/ci-test-integration.yml'
- '.github/actions/setup-build-env/**'
- '.github/actions/setup-solana/**'
- "**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
- "**/build.rs"
- "**/*.proto"
- "Makefile"
- "test-integration/**"
- "rust-toolchain.toml"
- "test-integration/rust-toolchain.toml"
- ".github/workflows/ci-test-integration.yml"
- ".github/actions/setup-build-env/**"
- ".github/actions/setup-solana/**"
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '**/build.rs'
- '**/*.proto'
- 'Makefile'
- 'test-integration/**'
- 'rust-toolchain.toml'
- 'test-integration/rust-toolchain.toml'
- '.github/workflows/ci-test-integration.yml'
- '.github/actions/setup-build-env/**'
- '.github/actions/setup-solana/**'
- "**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
- "**/build.rs"
- "**/*.proto"
- "Makefile"
- "test-integration/**"
- "rust-toolchain.toml"
- "test-integration/rust-toolchain.toml"
- ".github/workflows/ci-test-integration.yml"
- ".github/actions/setup-build-env/**"
- ".github/actions/setup-solana/**"

jobs:
# These producer jobs exist purely to produce reusable artifacts so matrix
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
- name: Build validator binary
run: |
RUSTFLAGS="-C link-arg=-fuse-ld=lld" \
cargo build --locked --bin magicblock-validator -j "$HOST_CARGO_JOBS"
cargo build --locked --bin magicblock-validator -j "$HOST_CARGO_JOBS" --features query-filtering
strip target/debug/magicblock-validator || true
shell: bash
working-directory: magicblock-validator
Expand Down Expand Up @@ -176,6 +176,7 @@ jobs:
-p test-pubsub \
-p test-schedule-intent \
-p test-task-scheduler \
-p test-query-filtering \
> _integration_test_bins/no-run.jsonl
RUSTFLAGS="-C link-arg=-fuse-ld=lld" \
CARGO_PROFILE_DEV_DEBUG=0 \
Expand Down Expand Up @@ -235,6 +236,7 @@ jobs:
copy_package_tests test-integration/test-pubsub pubsub
copy_package_tests test-integration/test-schedule-intent schedule_intents
copy_package_tests test-integration/test-task-scheduler task-scheduler
copy_package_tests test-integration/test-query-filtering query-filtering

find _integration_test_bins/artifacts -mindepth 2 -type f | wc -l
du -sh _integration_test_bins/artifacts/*
Expand Down Expand Up @@ -377,6 +379,15 @@ jobs:
if-no-files-found: error
compression-level: 0

- name: Upload integration test binaries - query-filtering
uses: actions/upload-artifact@v4
with:
name: integration-test-bins-query-filtering
path: magicblock-validator/_integration_test_bins/artifact-archives/query-filtering.tar.zst
retention-days: 1
if-no-files-found: error
compression-level: 0

run_integration_tests:
needs: [build_validator, build_sbf, build_integration_tests]
runs-on: ${{ matrix.runner || 'blacksmith-8vcpu-ubuntu-2404' }}
Expand Down Expand Up @@ -447,6 +458,8 @@ jobs:
test_bins_artifact: "committor-ix"
- batch_tests: "committor_intent_executor"
test_bins_artifact: "committor-intent-executor"
- batch_tests: "query_filtering"
test_bins_artifact: "query-filtering"
# While we iterate on this branch we want a single shard failure to
# cancel the rest of the matrix so we don't burn ~50 min of runner time
# on every false start. Flip back to `false` once it's green & stable.
Expand Down
86 changes: 81 additions & 5 deletions Cargo.lock

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

21 changes: 15 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ members = [
"magicblock-ledger",
"magicblock-magic-program-api",
"magicblock-metrics",
"magicblock-query-filtering",
"magicblock-processor",
"magicblock-replicator",
"magicblock-rpc-client",
Expand All @@ -34,7 +35,7 @@ members = [
"tools/genx",
"tools/keypair-base58",
"tools/ledger-stats",
"tools/magicblock-tui-client"
"tools/magicblock-tui-client",
]

# This prevents a Travis CI error when building for Windows.
Expand Down Expand Up @@ -69,7 +70,7 @@ chrono = "0.4"
clap = "4.5.40"
console-subscriber = "0.5.0"
derive_more = "2.0"
ed25519-dalek = "1.0.1"
ed25519-dalek = "2.2.0"
enum-iterator = "1.5.0"
fastwebsockets = "0.10"
fd-lock = "4.0.2"
Expand All @@ -88,6 +89,7 @@ hyper-util = "0.1.15"
isocountry = "0.3.2"
itertools = "0.14"
json = { package = "sonic-rs", version = "0.5.3" }
jsonwebtoken = "9.3.1"
lazy_static = "1.4.0"
libc = "0.2.153"
libloading = "0.8"
Expand All @@ -101,9 +103,11 @@ magicblock-accounts-db = { path = "./magicblock-accounts-db" }
magicblock-aml = { path = "./magicblock-aml" }
magicblock-aperture = { path = "./magicblock-aperture" }
magicblock-api = { path = "./magicblock-api" }
magicblock-chainlink = { path = "./magicblock-chainlink", features = ["dev-context"] }
magicblock-chainlink = { path = "./magicblock-chainlink", features = [
"dev-context",
] }
magicblock-committor-program = { path = "./magicblock-committor-program", features = [
"no-entrypoint"
"no-entrypoint",
] }
magicblock-committor-service = { path = "./magicblock-committor-service" }
magicblock-config = { path = "./magicblock-config" }
Expand All @@ -112,6 +116,7 @@ magicblock-delegation-program-api = { git = "https://github.com/magicblock-labs/
magicblock-ledger = { path = "./magicblock-ledger" }
magicblock-magic-program-api = { path = "./magicblock-magic-program-api" }
magicblock-metrics = { path = "./magicblock-metrics" }
magicblock-query-filtering = { path = "./magicblock-query-filtering" }
magicblock-processor = { path = "./magicblock-processor" }
magicblock-program = { path = "./programs/magicblock" }
magicblock-replicator = { path = "./magicblock-replicator" }
Expand Down Expand Up @@ -145,6 +150,7 @@ serde = "1.0.217"
serde_json = "1.0"
serde_with = "3.16"
serial_test = "3.2"
sha2 = "0.10.8"
sha3 = "0.10.8"
solana-account = { git = "https://github.com/magicblock-labs/magicblock-svm.git", rev = "b91ab7dad6642c63b9ea177fb318840b4c64c6cb" }
solana-account-decoder = { version = "3.1" }
Expand Down Expand Up @@ -203,7 +209,7 @@ solana-sysvar = { version = "3.0" }
solana-timings = { package = "solana-svm-timings", version = "3.1" }
solana-transaction = { version = "3.0" }
solana-transaction-context = { git = "https://github.com/magicblock-labs/magicblock-svm.git", rev = "b91ab7dad6642c63b9ea177fb318840b4c64c6cb", features = [
"dev-context-only-utils"
"dev-context-only-utils",
] }
solana-transaction-error = { version = "3.0" }
solana-transaction-status = { version = "=3.1.12" }
Expand All @@ -222,7 +228,10 @@ tonic-prost-build = "0.14"
tracing = "0.1"
tracing-log = { version = "0.2", features = ["log-tracer"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
twox-hash = { version = "2.1", default-features = false, features = ["alloc", "xxhash3_64"] }
twox-hash = { version = "2.1", default-features = false, features = [
"alloc",
"xxhash3_64",
] }
url = "2.5.0"

# SPL Token crates used across the workspace
Expand Down
Loading
Loading