Commit Graph
162 Commits
Author SHA1 Message Date
erhant 5b83eb4ee3 fix(fees): review fixes — clamp actual fee, bind cross-zone producer, doc contracts 2026-08-24 21:43:23 +03:00
erhant 2d0bb83122 feat(fees): embed Option<FeeDeclaration> on the message, drop the fee-witness 2026-08-24 21:38:26 +03:00
erhant c4950613df chore: forgot to uncomment the lint 2026-08-21 14:56:08 +03:00
erhant 84c798935c fix(fees): #750 team review — FeeDeclaration rename, max_fee Balance, destructure guard, doc/expect trims 2026-08-21 14:56:08 +03:00
erhant 390abe2ffb feat(fees): fee fields and payer authorization on the wire format 2026-08-21 14:56:08 +03:00
erhant f5a8f96344 feat(fees): fee program skeleton with zero fees 2026-08-17 13:09:44 +03:00
erhant 5171a30552 chore(sequencer): add FIXME comment about unsecured key to bytes [skip ci] 2026-08-13 21:42:27 +03:00
erhant 0203b8c55f test(sequencer): gossip end-to-end integration test 2026-08-13 21:02:07 +03:00
erhant bc2302b19b fix(sequencer): retry gossip bootstrap and requeue failed publishes 2026-08-13 19:33:45 +03:00
erhantandClaude Fable 5 ebe4123386 Merge remote-tracking branch 'origin/dev' into erhant/sequencer-gossip
Resolves the actors-refactor (#691) collision: gossip now starts in
sequencer_service::run() after ExecutorActor construction (which exposes
its mempool handle), and the RPC-side publish hook threads through
RpcServerActor::new into the actor's Service.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 19:04:09 +03: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 f0861d2497 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-13 04:10:13 +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
Pravdyvy e146f9ff5a Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-12 18:43:09 +03: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
Pravdyvy 13a0855295 fix(fixtures): suggestions 3 2026-08-12 08:51:37 +03: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
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
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
moudyellaz 421e76b946 feat(cross-zone)!: pin bridge_lock's outbox, mint target, and mint accounts
BREAKING CHANGE: Instruction::Lock drops outbox_program_id and takes the
bridge-lock config PDA as its first account, changing both the instruction
encoding and the account list. bridge_lock's image id moves, relocating its
escrow and config PDAs and requiring a fresh genesis. Sequencer, indexer and
every peer zone must upgrade together: a stale decoder re-derives a different
dispatch and reports Forged.
2026-08-09 19:02:28 +02:00
moudyellaz a04b3eeaa9 feat(cross-zone)!: pin ping_sender's outbox to a genesis-seeded config
BREAKING CHANGE: SenderInstruction::Send drops outbox_program_id and takes the
sender config PDA as its first account, changing both the instruction encoding
and the account list. ping_sender's image id moves, relocating its PDAs and
requiring a fresh genesis. Sequencer, indexer and every peer zone must upgrade
together: a stale decoder re-derives a different dispatch and reports Forged.
2026-08-09 18:01:38 +02:00
erhant 924128647c chore(sequencer): use correct import 2026-08-08 17:43:47 +03:00
erhant f2ee935b9c fix(sequencer): fix path 2026-08-08 17:40:52 +03:00
erhant 7015d13364 refactor(sequencer): use Multiaddr for gossip addrs 2026-08-08 17:34:46 +03:00
erhant 112557e0ac refactor(sequencer): more gossip simplifications and renames 2026-08-08 16:57:33 +03:00
erhant 7d781dc799 refactor(sequencer): some renamings, better key-reuse 2026-08-08 16:34:35 +03:00
erhant 565ff8632e chore(sequencer): fix comments 2026-08-08 15:15:34 +03:00
erhant ae9e3c4960 refactor(sequencer): fix the overengineered cancellation logic 2026-08-08 15:06:40 +03:00
erhant 78be43327a chore(sequencer): rfks and comments, ignore redundant test 2026-08-08 11:58:29 +03:00
erhant 63ccd59860 fix: log on full mempool (can change with actors later) 2026-08-07 21:49:49 +03:00
erhant fb819b9ff8 fix(sequencer): correct msgid derivation and transmit size, tend to Copilot 2026-08-07 21:41:08 +03:00
moudyellaz bb54bd0581 docs: simplify comments 2026-08-07 18:30:14 +02:00
erhant 9f46ea5f1c feat(sequencer): gossip tx mempool, rm announce logic just use Kademlia 2026-08-07 17:56:55 +03:00
Pravdyvy f7b9abdc1e Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-07 14:43:13 +03:00