Commit Graph
133 Commits
Author SHA1 Message Date
Marvin Jones 0ef2d61fee refactor(lee): migrate program self/caller identity from ProgramId to AccountId
ProgramInput/ProgramOutput.self_program_id/caller_program_id, and the
dispatcher's CallerData.program_id, now carry AccountId (renamed to
self_account_id/caller_account_id) instead of ProgramId. These fields
are self-reported/cross-checked dispatch bookkeeping, not RISC0 image
identity, and AccountId already crosses the guest/host boundary this
way via every pre_state.account_id.

ProgramId is now confined to what's actually image-id-keyed:
env::verify, Program.id (from compute_image_id()), and the
for_public_pda/for_private_pda derivation formulas, each recovering
the real ProgramId from AccountId via the existing bijection exactly
where needed.

Rebuilds artifacts and the prebuilt sequencer db fixture to match.
2026-08-14 16:43:59 -04:00
Marvin Jones 18cdd7a232 refactor(lee): centralize program-ownership check behind V03State::get_program 2026-08-13 21:28:19 -04:00
Marvin Jones 8bc32eab6b test(lee): add known-answer tests for ProgramId/AccountId conversion, rebuild artifacts 2026-08-13 20:58:04 -04:00
Marvin Jones 440e4a6d73 chore(lee): rebuild artifacts after rebase, drop unused base58 dep
Rebases marvin/program-as-account-2 onto the updated
marvin/program-as-account (SeenShard cap fix), regenerating program
and circuit artifacts plus the sequencer test fixture to match.
Also removes lez/wallet's now-unused base58 dependency, dead since
AccountId gained its own Display/FromStr base58 encoding.
2026-08-13 17:10:05 -04:00
Marvin Jones 087f6a6c69 feat(lee): migrate Account.program_owner from ProgramId to AccountId
Account.program_owner is now AccountId-typed instead of ProgramId,
via a new bijective From<ProgramId> for AccountId / From<AccountId>
for ProgramId conversion pair (pure byte reinterpretation, not a
hash - both types are exactly 32 bytes). Adds DEFAULT_PROGRAM_OWNER
as the AccountId-typed counterpart to DEFAULT_PROGRAM_ID, used at
every program_owner comparison/claim site instead of an inline
AccountId::default().

Touches every call site across lee_core, lee (including the
guest-side privacy-preserving circuit), all 16 deployed guest
programs, wallet/wallet-ffi, indexer_ffi/indexer_service/
indexer_service_protocol, sequencer_core, testnet_initial_state,
system_accounts, cross_zone, storage, cycle_bench, and
integration_tests - mostly mechanical .into() conversions, plus two
simplifications: wallet's manual base58 encode/decode of
program_owner was dead code once it's AccountId (which already has
Display/FromStr), and the FFI crates' program_owner field now reuses
the existing generic FfiBytes32 wrapper instead of the now-unused
FfiProgramId one.

Rebuilds every guest ELF artifact and the prebuilt sequencer test
fixture via just build-artifacts, since execute_and_prove runs
against the checked-in precompiled privacy_preserving_circuit.bin,
which isn't rebuilt automatically by cargo test/check.
2026-08-13 16:55:51 -04:00
Marvin JonesandClaude Sonnet 5 efbd0a3563 fix(lee): store deployed programs as Account-shaped state, correct SeenShard cap
Corrects lee/state_machine internals for the Program-as-Account migration
and fixes SeenShard::MAX_DELIVERIES, which was still calibrated for the
old 100 KiB DATA_MAX_LENGTH instead of the current 700 KiB cap. Rebuilds
program artifacts and the sequencer test fixture to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 16:52:32 -04: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
Pravdyvy 3fc1001ade fix(ci): fixtures rebuild 2026-08-13 03:47:09 +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
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
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 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
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
Pravdyvy 83570ba3dc fix(test_fixtures): suggestions 1 2026-08-10 12:12:16 +03:00
PravdyvyandDaniil Polyakov 08bb09b761 Apply Daniil suggestions from code review
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
2026-08-10 11:50:03 +03:00
moudyellaz cd4027593c chore: regenerate artifacts and the prebuilt sequencer fixture 2026-08-09 19:47:47 +02:00
moudyellaz 7a324f2825 chore: regenerate artifacts and the prebuilt sequencer fixture 2026-08-09 02:21:14 +02:00
moudyellaz e0d5747b19 Merge branch 'dev' 2026-08-07 22:48:27 +02:00
moudyellaz abc1a57e14 chore: regenerate artifacts and the prebuilt sequencer fixture 2026-08-07 22:23:59 +02:00
Pravdyvy f0c6bde312 fix(fixtures): regenerated tests fixture 2026-08-07 15:38:10 +03:00
agureev 736102329f chore: regenerate artifacts 2026-08-07 15:51:00 +04:00
Pravdyvy 3cf35096d1 fix: suggestions fix 2026-08-07 14:39:06 +03: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
Pravdyvy 2fa8b1a768 fix(test_fixtures): correct db fetching 2026-08-06 15:04:59 +03:00
Pravdyvy 60b5859d59 fix(integration tests): multi sequencer integration tests 2026-08-06 14:28:59 +03:00
Pravdyvy e2603107cc fix(integration tests): trying multi-seq testing 2026-08-05 15:58:25 +03:00
Pravdyvy 57a54de277 fix(integration tests): all cross zone tests rewritten 2026-08-05 14:13:13 +03:00
Artem Gureev ca23f12f7a refactor(lee): keep the authorization precondition match wildcard-free 2026-08-05 11:43:02 +04:00
Pravdyvy 3ff1481775 fix(integration_tests): cross-zone-bridge migrated 2026-08-05 09:25:18 +03:00
Pravdyvy b802e1f324 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-04 17:03:41 +03:00
Pravdyvy 64bb731d58 feat(integration_tests): optional wallet 2026-08-04 16:59:13 +03: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
Pravdyvy 9e4b489512 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-04 07:23:35 +03:00
Daniil Polyakov cd835bd0c9 feat(sequencer): add possibility to disable metrics 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
Pravdyvy 0def5631d9 feat(integration tests): working cross-zone test context, in progress, may break usual tests. 2026-08-03 17:40:41 +03:00
Pravdyvy ba4247a066 fix(wallet): fmt 2026-08-03 12:47:33 +03:00
Pravdyvy ef0d4e19b1 Merge branch 'dev' into Pravdyvy/multi-sequencer-integration-tests 2026-08-03 12:44:36 +03:00
moudyellaz a1172602fc chore: update artifacts 2026-08-03 08:46:39 +02:00
agureev 0a6264f52b chore: regen fixtures 2026-07-31 18:26:34 +03:00