Palmer Sébastien activity https://gitlab.com/spalmer25 2026-03-20T15:50:32Z tag:gitlab.com,2026-03-20:5226958284 Palmer Sébastien commented on merge request !475 at functori / dev / explorus 2026-03-20T15:50:32Z spalmer25 Palmer Sébastien

The code seems correct to me and don't add technical debt

tag:gitlab.com,2026-03-20:5226958283 Palmer Sébastien approved merge request !475: feat: dynamic dal attestation lag at functori / dev / explorus 2026-03-20T15:50:32Z spalmer25 Palmer Sébastien

Context

  • GENERATED BY AI
  • PLEASE REVIEW CAREFULLY

This MR readapts the code to take into account dynamic DAL attestion lags. Both static and dynamic mode are living in the same code space and work seperatly.

tag:gitlab.com,2026-03-20:5226350504 Palmer Sébastien pushed to project branch palmer@functori@tezosx@crac-tezt-scenarios-part-1-without-delayed-inbox at Tezos / tezos 2026-03-20T13:28:03Z spalmer25 Palmer Sébastien

Palmer Sébastien (578a1bdc) at 20 Mar 13:28

TezosX/Tezt: switch CRAC runner tests from delayed inbox to tezlink

... and 126 more commits

tag:gitlab.com,2026-03-20:5226349104 Palmer Sébastien pushed to project branch palmer@functori@tezosx@crac-tezt-scenarios-part-1-without-delayed-inbox at Tezos / tezos 2026-03-20T13:27:43Z spalmer25 Palmer Sébastien

Palmer Sébastien (b8647b3e) at 20 Mar 13:27

TezosX/Tezt: switch CRAC runner tests from delayed inbox to tezlink

... and 1 more commit

tag:gitlab.com,2026-03-20:5226274120 Palmer Sébastien commented on merge request !21296 at Tezos / tezos 2026-03-20T13:09:15Z spalmer25 Palmer Sébastien

Given that this test checks a simple case that wasn’t covered before, I think it might be a good idea to include it.

The tests modified in !21273 are actually quite separate from the original issue; it was just a blocker.

tag:gitlab.com,2026-03-20:5225738845 Palmer Sébastien approved merge request !21297: TezosX: Fix tezos operation injection at Tezos / tezos 2026-03-20T10:48:53Z spalmer25 Palmer Sébastien

What

Tezos operation injection was broken in tezt scenarios as demonstrated by !21296.

Why

This fail is caused by 2 things:

Instant confirmations are enabled by default for tezt scenarios when:

~preconfirmation_stream_enabled: (Option.value ~default:(not enable_multichain) instant_confirmations)

And tick() function of the tx queue (used to push received transaction to the block producer), is not called for tezos operation injection.

How

Call already present tick() function in etherlink/bin_node/lib_dev/rpc_server.ml after add_operation.

Manually testing the MR

Test writter in !21296 by @spalmer25 passes after being rebased on this MR.

tag:gitlab.com,2026-03-20:5225720443 Palmer Sébastien pushed to project branch rodi@react-front at functori / dev / explorus 2026-03-20T10:44:22Z spalmer25 Palmer Sébastien

Palmer Sébastien (7bf17492) at 20 Mar 10:44

fix: Remove unused variable in ConsensusOpsTable.tsx

tag:gitlab.com,2026-03-20:5225398921 Palmer Sébastien commented on merge request !21296 at Tezos / tezos 2026-03-20T09:28:36Z spalmer25 Palmer Sébastien

Notice that waiting before producing the block solve the issue, but that's not a satisfying solution.

  let* _tx_hash = wait_for_tx_in_tx_queue in

  let* () = Lwt_unix.sleep 10. in

  let*@ nb_txs = Rpc.produce_block sequencer in
tag:gitlab.com,2026-03-20:5225337596 Palmer Sébastien opened merge request !21296: TezosX: Michelson injection not included in next block at Tezos / tezos 2026-03-20T09:13:27Z spalmer25 Palmer Sébastien

What

When a Michelson operation is injected via the /tezlink endpoint on a TezosX sequencer (--with-runtimes Tezos), a produce_block called right after injection can produce an empty block: the transaction is not included despite the injection succeeding.

This does not happen in pure --tezlink mode, only in TezosX (dual EVM+Michelson runtime) mode.

This issue has been discovered in MR !21273. A few unsuccessful attempts were made there.

Why

A successfully injected Michelson operation should be available for the next block production. An operation that silently disappears between injection and block production means the sequencer cannot reliably process Michelson transactions in TezosX mode.

How

The test test_tez_transfer performs a minimal reproduction:

  1. Bootstrap a TezosX fullstack node with --with-runtimes Tezos
  2. Transfer 1 tez from bootstrap1 to bootstrap2 via the /tezlink endpoint
  3. Wait for the tx_queue_add_transaction event
  4. Call produce_block
  5. Assert the block contains 1 transaction and the receiver balance is 1 tez

Step 4 produces an empty block (0 transactions) and step 5 fails.

Manually testing the MR

dune exec etherlink/tezt/tests/main.exe -- "Transfer for Michelson runtime"

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
tag:gitlab.com,2026-03-20:5225336621 Palmer Sébastien pushed to project branch palmer@functori@tezosx@test-michelson-transfer at Tezos / tezos 2026-03-20T09:13:13Z spalmer25 Palmer Sébastien

Palmer Sébastien (7c84d0f0) at 20 Mar 09:13

TezosX: add tez transfer test on Michelson runtime

tag:gitlab.com,2026-03-20:5225297878 Palmer Sébastien pushed new project branch palmer@functori@tezosx@test-michelson-transfer at Tezos / tezos 2026-03-20T09:03:06Z spalmer25 Palmer Sébastien

Palmer Sébastien (a99262c1) at 20 Mar 09:03

Etherlink: add tez transfer test on Michelson runtime

tag:gitlab.com,2026-03-19:5222799031 Palmer Sébastien commented on merge request !21273 at Tezos / tezos 2026-03-19T15:33:43Z spalmer25 Palmer Sébastien

Using wait_for_tx_queue_transaction_confirmed gives the same log but with an additional error:
[error] Timeout waiting for tx_queue_transaction_confirmed.v0 of sequencer_evm_node1

tag:gitlab.com,2026-03-19:5222795656 Palmer Sébastien pushed to project branch palmer@functori@tezosx@crac-tezt-scenarios-part-1-without-delayed-inbox at Tezos / tezos 2026-03-19T15:33:02Z spalmer25 Palmer Sébastien

Palmer Sébastien (060f4942) at 19 Mar 15:33

Try fix with wait_for_tx_queue_transaction_confirmed

tag:gitlab.com,2026-03-19:5222649025 Palmer Sébastien commented on merge request !21273 at Tezos / tezos 2026-03-19T15:03:49Z spalmer25 Palmer Sébastien

I've pushed the suggestion, but it doesn't work:

[client1] ./octez-client --endpoint http://127.0.0.1:52023/tezlink --base-dir /tmp/tezt-1871508/1/client1 --wait none originate contract crac_mini_scenarios_multi_run_caller transferring 0 from bootstrap5 running michelson_test_scripts/mini_scenarios/multi_run_caller.tz --init 'Pair 0 (Pair False {})' --burn-cap 1 --force
[node1] Mar 19 15:54:34.772 NOTICE │ operation ooTTyeznVPbH8T3sv3SsupnfJRNYJJcdqY9FwDvUKNkVP7kmPkj injected 
[sc-rollup-node1] Mar 19 15:54:34.774 NOTICE │ [bootstrap1] Injected operations in
[sc-rollup-node1] Mar 19 15:54:34.774 NOTICE │   ooTTyeznVPbH8T3sv3SsupnfJRNYJJcdqY9FwDvUKNkVP7kmPkj:
[sc-rollup-node1] Mar 19 15:54:34.774 NOTICE │   1. publishing 1 messages to smart rollups' inbox
[client1] Node is bootstrapped.
[client1] Estimated gas: 1039000 units (will add 100 for safety)
[client1] Estimated storage: 257 bytes added (will add 20 for safety)
[client1] Operation successfully injected in the node.
[client1] Operation hash is 'ooHtx92CHwdYuBJg1jPkuxj2qE6wDT9th8mRgNdok6YebUNDfT1'
[client1] NOT waiting for the operation to be included.
[client1] Use command
[client1]   octez-client wait for ooHtx92CHwdYuBJg1jPkuxj2qE6wDT9th8mRgNdok6YebUNDfT1 to be included --confirmations 1 --branch BLBR33qkvqGwHerq6VMXwtZSPUgjxS1yjMCdmAMdtCbKuLSgWGd
[client1] and/or an external block explorer to make sure that it has been included.
[client1] This sequence of operations was run:
[client1]   Manager signed operations:
[client1]     From: tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv
[client1]     Fee to the baker: ꜩ0.10401
[client1]     Expected counter: 1
[client1]     Gas limit: 1039100
[client1]     Storage limit: 277 bytes
[client1]     Origination:
[client1]       From: tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv
[client1]       Credit: ꜩ0
...
[client1]         Initial storage: (Pair 0 (Pair False {}))
[client1]         No delegate for this contract
[client1]         This origination was successfully applied
[client1]         Originated contracts:
[client1]           KT1NhQDcAtBRHjXozE3GgpCw4yCQ9T7GiYf4
[client1]         Consumed gas: 1039000
[client1] New contract KT1NhQDcAtBRHjXozE3GgpCw4yCQ9T7GiYf4 originated.
[client1] Contract memorized as crac_mini_scenarios_multi_run_caller.
client1 exited with code 0.
[curl#sequencer_evm_node1] curl -X POST -H 'Content-Type: application/json' -s http://127.0.0.1:53971/private -d '{
[curl#sequencer_evm_node1]   "jsonrpc": "2.0",
[curl#sequencer_evm_node1]   "method": "produceBlock",
[curl#sequencer_evm_node1]   "id": "0",
[curl#sequencer_evm_node1]   "params": {}
[curl#sequencer_evm_node1] }'
[sequencer_evm_node1] [2026-03-19T14:54:36Z INFO  octez_evm_node_wasm_runtime::write_debug] Storing block 1 at 2026-03-19T14:54:06Z containing 0 transaction(s) for 0 gas used.
[sequencer_evm_node1] [2026-03-19T14:54:36Z INFO  octez_evm_node_wasm_runtime::write_debug] Storing block 1 at 2026-03-19T14:54:06Z containing 0 transaction(s) for 0 gas used.
[sequencer_evm_node1] Mar 19 15:54:36.184 NOTICE │ head is now 1, applied in 17.294ms

Storing block 1 at 2026-03-19T14:54:06Z containing 0 transaction

tag:gitlab.com,2026-03-19:5222614555 Palmer Sébastien pushed to project branch palmer@functori@tezosx@crac-tezt-scenarios-part-1-without-delayed-inbox at Tezos / tezos 2026-03-19T14:53:24Z spalmer25 Palmer Sébastien

Palmer Sébastien (17ee10c0) at 19 Mar 14:53

Try fix with wait_for_tx_queue_add_transaction

... and 1 more commit

tag:gitlab.com,2026-03-19:5221637256 Palmer Sébastien commented on merge request !21273 at Tezos / tezos 2026-03-19T11:15:58Z spalmer25 Palmer Sébastien

Some tests are failing.

The issue is part of the Michelson operation inclusion in block.
Operations produced by Client.transfer or Client.originate_contract are not included in the block produced afterward.

A quick fix would be the following:

    let* () = Lwt_unix.sleep 10. in
    let*@ _ = Rpc.produce_block sequencer in

But that is not good fix

tag:gitlab.com,2026-03-19:5220882064 Palmer Sébastien commented on merge request !21278 at Tezos / tezos 2026-03-19T08:15:41Z spalmer25 Palmer Sébastien

The change meets the expectation of ADR L2-1004. LGTM