Commit Graph
3313 Commits
Author SHA1 Message Date
moudyellaz af090f3ce9 refactor(indexer): make the cache window a NonZeroU32 2026-08-18 00:55:58 +02:00
moudyellaz e6ed257c79 feat(indexer): bound the peer-block cache behind a hash-certified refetch 2026-08-16 22:41:10 +02:00
moudyellaz 1f7d366167 fix(indexer)!: make cross-zone verification halts durable, diagnosable and recoverable
BREAKING CHANGE: IndexerSyncState gains Halted, so a pre-existing typed client fails to decode getStatus while an indexer is halted; the protocol enum now carries an Unknown fallback so this class of break ends here.
2026-08-14 15:27:25 +02:00
moudyellaz b672f6b663 fix(cross-zone): judge peer blocks in the verifier with the shared policy 2026-08-13 21:46:19 +02:00
moudyellaz 5b87891230 feat(cross-zone): extract one peer-block acceptance policy and adopt it in the watcher 2026-08-13 21:46:19 +02:00
moudyellaz b9173e675f Merge remote-tracking branch 'origin/dev' into moudy/cross-zone-outbox-log
# Conflicts:
#	test_fixtures/fixtures/prebuilt_sequencer_db.dump
#	tools/cross_zone_chat/src/main.rs
2026-08-13 09:35:37 +02:00
Pravdyvy 4f9993149c Merge pull request #643 from logos-blockchain/Pravdyvy/multi-sequencer-integration-tests
feat(integration_tests): adding multi-sequencer support for integration tests
2026-08-13 06:42:50 +03:00
Pravdyvy f0861d2497 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-13 04:10:13 +03:00
Pravdyvy 3fc1001ade fix(ci): fixtures rebuild 2026-08-13 03:47:09 +03:00
Daniil Polyakov f502c4f5e4 Merge pull request #691 from logos-blockchain/arjentix/actors-phase-1
refactor(sequencer): actor architecture, phase 1: RpcServer and Executor actors
2026-08-13 02:33:10 +03:00
Daniil Polyakov 6af1bf6cd0 fix(rpc_server): remove useless features 2026-08-13 00:13:05 +03:00
Daniil Polyakov 53295db71c refactor(sequencer): move common actor logic into ActorHandle 2026-08-12 23:40:07 +03:00
moudyellaz ae3fd849e3 Merge remote-tracking branch 'origin/dev' into moudy/cross-zone-outbox-log
# Conflicts:
#	artifacts/lez/programs/amm.bin
#	artifacts/lez/programs/associated_token_account.bin
#	artifacts/lez/programs/authenticated_transfer.bin
#	artifacts/lez/programs/bridge.bin
#	artifacts/lez/programs/bridge_lock.bin
#	artifacts/lez/programs/clock.bin
#	artifacts/lez/programs/cross_zone_inbox.bin
#	artifacts/lez/programs/cross_zone_outbox.bin
#	artifacts/lez/programs/faucet.bin
#	artifacts/lez/programs/pinata.bin
#	artifacts/lez/programs/pinata_token.bin
#	artifacts/lez/programs/ping_receiver.bin
#	artifacts/lez/programs/ping_sender.bin
#	artifacts/lez/programs/token.bin
#	artifacts/lez/programs/vault.bin
#	artifacts/lez/programs/wrapped_token.bin
#	test_fixtures/fixtures/prebuilt_sequencer_db.dump
2026-08-12 22:37:45 +02:00
Daniil Polyakov a4fa9e08e2 fix(sequencer): fixes after rebase 2026-08-12 23:00:22 +03:00
Daniil Polyakov 774c8167f3 chore(sequencer): remove useless long comment 2026-08-12 22:50:50 +03:00
Daniil Polyakov c75eecc0fb refactor(rpc_server): move service into actor submodule 2026-08-12 22:50:50 +03:00
Daniil Polyakov 59a2c495d2 refactor(sequencer): move actors to actor.rs modules 2026-08-12 22:50:50 +03:00
Daniil Polyakov 3e448bb5e8 refactor(rpc_server): use strongly-typed error 2026-08-12 22:50:50 +03:00
Daniil Polyakov 2e929df834 fix(sequencer): set block production start delay and missed tick behaviour 2026-08-12 22:50:50 +03:00
Daniil Polyakov b9b02764b5 fix(sequencer): fixed typos 2026-08-12 22:50:50 +03:00
Daniil Polyakov 96a94e953d feat(sequencer): add error trace to SequencerHandle::failed() 2026-08-12 22:50:50 +03:00
Daniil Polyakov f91d0da8e1 refactor(sequencer): add test for mempool and bring back standalone feature 2026-08-12 22:50:50 +03:00
Daniil Polyakov ea1b454672 refactor(executor): add strongly typed error 2026-08-12 22:50:50 +03:00
Daniil Polyakov 9e54af0ce4 fix(sequencer): bring back Drop for SequencerHandle and remove StoreRelease 2026-08-12 22:50:50 +03:00
Daniil Polyakov 7541d7658b feat(sequencer): use actors in SequencerHandle 2026-08-12 22:34:14 +03:00
Daniil Polyakov 4ae9b30736 feat(sequencer): add RPC Server Actor 2026-08-12 22:34:14 +03:00
Daniil Polyakov 436908e08f feat(sequencer): add Executor actor 2026-08-12 22:34:14 +03:00
Moudy b08e80519e Merge pull request #699 from logos-blockchain/moudy/cross-zone-emitter-pins
feat(cross-zone)!: pin the outbox in both emitters and bridge_lock's mint destination
2026-08-12 18:13:10 +02:00
Pravdyvy e146f9ff5a Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-12 18:43:09 +03:00
Moudy 6303adef11 Merge pull request #700 from logos-blockchain/moudy/cross-zone-target-auth 2026-08-12 17:26:56 +02:00
Moudy 39fb98198a Merge pull request #693 from logos-blockchain/moudy/cross-zone-per-block-seen-shard 2026-08-12 17:25:59 +02:00
moudyellaz 37bbe34579 chore(integration_tests): drop the unused logos-blockchain-core dependency 2026-08-12 15:59:41 +02:00
moudyellaz e7d3ec568b fix(build): resolve the artifacts dir at build-script runtime 2026-08-12 15:25:01 +02:00
moudyellaz f846e7ac73 feat(sequencer)!: suffix the sequencer db directory with its channel id
BREAKING CHANGE: the sequencer database moves from <home>/rocksdb to <home>/rocksdb-<channel id>; an existing home fresh-starts (with a warning naming the old directory) unless the directory is renamed.
2026-08-12 15:25:01 +02:00
moudyellaz f8da8f40b3 Merge remote-tracking branch 'origin/dev' into moudy/cross-zone-per-block-seen-shard
# Conflicts:
#	artifacts/lez/programs/bridge_lock.bin
#	artifacts/lez/programs/cross_zone_inbox.bin
#	artifacts/lez/programs/wrapped_token.bin
#	test_fixtures/fixtures/prebuilt_sequencer_db.dump
2026-08-12 15:13:30 +02:00
Pravdyvy c907a03056 fix(fixtures): suggestions 4 2026-08-12 12:30:27 +03:00
Pravdyvy 13a0855295 fix(fixtures): suggestions 3 2026-08-12 08:51:37 +03:00
Pravdyvy 59769f5a35 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-11 16:28:02 +03:00
Pravdyvy d6372fec0d Merge pull request #701 from logos-blockchain/Pravdyvy/fix-new-fixtures
fix(ci): fixtures rebuild
2026-08-11 06:17:57 +03:00
Pravdyvy 127d081047 fix(ci): revert 2026-08-10 20:44:43 +03:00
Pravdyvy 285f9addc6 fix(ci): proper ci test 2026-08-10 18:00:11 +03:00
Pravdyvy 20255cf7e2 fix(ci): fixtures rebuild 2026-08-10 16:18:53 +03:00
moudyellaz 869a130eec chore: regenerate artifacts and the prebuilt sequencer fixture
Every guest moved, not only the ones whose source changed: adding real
dependencies (borsh to two cores, cross_zone_inbox_core to two targets) changes
the build graph, and with it the metadata hash of every crate in the guest build.
Piece A moved only three because it added a dev-dependency, which the guest build
never sees.
2026-08-10 15:01:26 +02:00
moudyellaz f26193eedc fix(cross-zone)!: drop the inbox route allowlist now targets authorize themselves
BREAKING CHANGE: InboxConfig is just self_zone; allowed_routes, InboxConfig::permits
and routes_permit are gone, and build_inbox_init_config_tx no longer takes the
cross-zone config. The operator's per-peer routes still configure the same thing,
fanned out at genesis into each target's own config instead. The watcher keeps
only a hygiene filter refusing a peer that names a sequencer-only program, kept
host-side so it cannot make the verifier disagree.
2026-08-10 14:15:57 +02:00
Pravdyvy 87fca2a176 Merge pull request #696 from logos-blockchain/Pravdyvy/ffi-tx-status-poll
feat(wallet_ffi): Tx status polling
2026-08-10 14:35:07 +03:00
moudyellaz 6a15eaec93 feat(cross-zone)!: have ping_receiver authorize its own peer sources
BREAKING CHANGE: ping_receiver gains a config PDA holding the deliverer and the
peer sources it accepts, ReceiverInstruction gains InitConfig, and Record takes
[source marker, config, record] instead of the record alone. Every emitter aimed
at ping_receiver must name its config account in target_accounts. The
ping_receiver and ping_sender image ids move, and a fresh genesis is required.
2026-08-10 13:30:28 +02:00
Pravdyvy 94beb74007 Merge branch 'dev' into Pravdyvy/ffi-tx-status-poll 2026-08-10 13:29:32 +03:00
Pravdyvy e80c60db35 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-10 13:26:19 +03:00
Pravdyvy fd310a65f1 fix(integration_tests): suggestions fix 2 2026-08-10 13:20:50 +03:00
moudyellaz 03033f0f41 feat(cross-zone)!: have wrapped_token authorize its own peer sources
BREAKING CHANGE: the wrapped-token config PDA holds a borsh WrappedTokenConfig
(minter plus authorized source pairs) rather than a bare minter id, and
Instruction::InitConfig takes it as a single field. Mint now refuses a source the
token has not authorized, checked against the inbox's source marker. The
wrapped_token image id moves, and bridge_lock's with it, since it links
wrapped_token_core.
2026-08-10 11:59:00 +02:00