Commit Graph
336 Commits
Author SHA1 Message Date
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
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 94beb74007 Merge branch 'dev' into Pravdyvy/ffi-tx-status-poll 2026-08-10 13:29:32 +03:00
moudyellaz e0d5747b19 Merge branch 'dev' 2026-08-07 22:48:27 +02:00
moudyellaz bb54bd0581 docs: simplify comments 2026-08-07 18:30:14 +02:00
Pravdyvy 62de1b3e8d fix(integration_tests): fix double free 2026-08-07 16:21:46 +03:00
Artem Gureev 64ddd7440f fix(wallet-ffi): revert zero-ing of derived keys 2026-08-07 17:14:02 +04:00
moudyellaz 69a5aa7899 fix(cross-zone)!: cap a single wrapped-token mint
Closes #678.

BREAKING CHANGE: `wrapped_token` and `bridge_lock` image ids move, relocating the
wrapped-token config and every holding PDA. A lock above the cap is now refused
at the source rather than escrowing balance the destination will not mint.
2026-08-07 14:56:55 +02:00
Pravdyvy aa9f59648e fix(integration tests): added poll call into integration tests 2026-08-07 15:33:27 +03:00
Pravdyvy 45452c80ac feat(wallet_ffi): tx status 2026-08-07 15:19:12 +03:00
Artem Gureev 3878251ce3 refactor(wallet): derive the shared PDA npk from its nsk 2026-08-07 10:41:56 +00:00
Artem Gureev 279a9b8313 feat!(lee): derive private authorization from an authorization secret key
BREAKING!

Before: Providing `nsk` was the same as authorizing a regular private
account.

After: A separate `ask` is required, making unauthorized private
updates possible.
2026-08-07 10:41:56 +00:00
Artem Gureev fc8f7f2d42 refactor(lee): verbose key domains and the ask key chain 2026-08-07 10:40:04 +00:00
moudyellaz 5cbd821261 fix(cross-zone)!: shard the inbox seen-set per peer block, keyed by tx index
Closes #676.

BREAKING CHANGE: the seen-shard PDA address and its data layout both change, so
every message delivered under the old layout becomes deliverable again at the new
address, and the old shards are orphaned. A fresh genesis is required.
2026-08-07 11:48:56 +02:00
moudyellaz af2a025b8f feat(cross-zone)!: bind a delivery to the peer block hash it came from
BREAKING CHANGE: `CrossZoneMessage` gains `src_block_hash`, changing the risc0
encoding of `cross_zone_inbox::Instruction::Dispatch` and the inbox image id,
and with it the inbox config and seen-shard PDA addresses. A pending dispatch
record written by earlier code no longer names a registered program, so it fails
production and is dead-lettered rather than delivered. Drain the pending list
before upgrading, or accept that in-flight deliveries are lost.
2026-08-07 11:01:16 +02:00
moudyellaz e274a4b29d feat(sequencer): count and expose the cross-zone deliveries given up on 2026-08-07 10:13:30 +02:00
Artem Gureev cbd10c5bba Merge pull request #660 from logos-blockchain/artem/private-kinds-refactor
refactor(lee): refactor private kinds
2026-08-07 11:46:56 +04:00
moudyellaz c245434f09 feat(sequencer): dead-letter the cross-zone deliveries this node gives up on 2026-08-07 02:57:34 +02:00
Sergio Chouhy 3d5f083e78 fix(lez): duplicated lines 2026-08-06 16:40:39 -03:00
Moudy cfc7942c3c Merge branch 'dev' into moudy/cross-zone-content-bound-key 2026-08-06 20:59:46 +02:00
erhant 80a56be5aa fix(sequencer): properly adopt / orphan blocks in false-pos from L1 2026-08-06 20:44:48 +03:00
moudyellaz c7739733db fix(indexer): deliver only from peer blocks inside the verified run 2026-08-06 10:17:12 +02:00
moudyellaz 5c28c4cc0c fix(sequencer): deliver only from a peer block on its verified chain 2026-08-05 20:49:41 +02:00
moudyellaz e4dcc39277 feat(storage): add a durable per-peer cross-zone chain tip 2026-08-05 19:27:06 +02:00
Moudy 82d692bf4c Merge pull request #670 from logos-blockchain/moudy/peer-cache-validation
fix(indexer): validate peer blocks before caching them
2026-08-05 06:09:55 +02:00
Daniil Polyakov ebea32cbe3 Merge pull request #680 from logos-blockchain/arjentix/priority_fee_config
feat(sequencer): expose zone_sdk priority_fee in config
2026-08-04 15:27:06 +03:00
agureev d05035eb9e refactor(lee): refactor private kinds 2026-08-04 15:55:09 +04:00
Daniil Polyakov 409ebb48cc feat(sequencer): expose zone_sdk priority_fee in config 2026-08-04 14:07:06 +03:00
agureev ccb426960f Merge remote-tracking branch 'origin/dev' into artem/bundle-actions 2026-08-04 14:21:00 +04:00
moudyellaz 2b5096aa2e fix(indexer): validate peer blocks before caching them 2026-08-04 03:06:46 +02:00
Daniil Polyakov cd835bd0c9 feat(sequencer): add possibility to disable metrics 2026-08-03 23:46:35 +03:00
Daniil Polyakov 218955dd19 feat(sequencer): add status label to transaction application time 2026-08-03 23:46:35 +03:00
Daniil Polyakov 69ecc116a8 fix(common): drop strum 2026-08-03 23:46:35 +03:00
Daniil Polyakov 037901fe94 fix(sequencer): differentiate between height and blocks produced by this sequencer 2026-08-03 23:46:35 +03:00
Daniil Polyakov f4f78ddc28 fix(sequencer): expose 9000 metrics port from docker 2026-08-03 23:46:35 +03:00
Daniil Polyakov 97152b8df6 chore(sequencer): apply snake_case convention to labels 2026-08-03 23:46:35 +03:00
Daniil Polyakov f2e92a9c1f feat(sequencer): add metrics_address config field 2026-08-03 23:46:35 +03:00
Daniil Polyakov d0ae9c2768 chore(metrics): rename writing feature to record 2026-08-03 23:46:35 +03:00
Daniil Polyakov aa6969386e refactor(metrics): improve metrics setup 2026-08-03 23:46:35 +03:00
Daniil Polyakov 849bb6bbe1 feat(metrics): improve mempool and failed transaction metrics & panels 2026-08-03 23:46:35 +03:00
Daniil Polyakov ea36fa2e93 refactor(metrics): move metrics into a separate crates and reuse names in dashboard generation 2026-08-03 23:46:35 +03:00
Daniil Polyakov 8afd2cea66 feat(docker): introduce monitoring 2026-08-03 23:46:34 +03:00
Daniil Polyakov 97071b575a feat(sequencer): add initial metrics 2026-08-03 23:46:34 +03:00
moudyellaz 09f4bfdd03 feat(cross-zone)!: authorize deliveries by source program and target
BREAKING CHANGE: `CrossZonePeer.allowed_targets` is replaced by `allowed_routes`,
a list of `{src_program_id, target_program_id}` pairs. `InboxConfig.allowed_peers`
is removed.
2026-08-03 04:40:05 +02:00
Roman 54743142e9 test: bridge guard account flags modification 2026-07-31 17:56:00 -03:00
Daniil Polyakov 3d009acb9c fix(sequencer): resubmit orphaned tx which comes only after final tip 2026-07-31 19:54:58 +03:00
erhant 9d9b75d42f fix(sequencer): fund channel config transaction via node wallet" 2026-07-31 18:26:34 +03:00
Daniil Polyakov 93a93c6b96 feat(sequencer): disable withdraws 2026-07-31 18:26:33 +03:00