Skip to content

Better document Michelson evm call - #443

Merged
skenaja merged 7 commits into
import-tx-docfrom
michelson-evm-call
Aug 19, 2026
Merged

Better document Michelson evm call#443
skenaja merged 7 commits into
import-tx-docfrom
michelson-evm-call

Conversation

@NicNomadic

@NicNomadic NicNomadic commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

NB: Replaces #442 (closed)

Depends on #436

Solves issue #439

That is, fill in some important gaps in the doc of the Michelson interface. Except the aspects touching the ERC-20 and FA1.2 wrappers, because these were temporarily removed from the doc, while better doc for them is prepared.

@NicNomadic NicNomadic mentioned this pull request Aug 13, 2026
@NicNomadic
NicNomadic requested review from lthms and skenaja August 13, 2026 10:25

@NicNomadic NicNomadic left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the added SmartPy examples in the online IDE, and the embedded tests were green. I have no idea if that's sufficient for saying the examples work with kernel Etherlink 7.

@NicNomadic NicNomadic changed the title Michelson evm call Better document Michelson evm call Aug 13, 2026

@saroupille saroupille left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fact-checked every kernel-facing claim against the kernel sources on etherlink-ganesha — the page is accurate: enshrined gateway address (network-independent by construction), %call_evm entrypoint type and field order, gateway-computed Keccak256 selector, callback as a 0-mutez TRANSFER_TOKENS of the raw response bytes (None → dropped), whole-operation-group revert on EVM failure, and the staticcall_evm outcome table matches dispatch_staticcall_evm_get's mapping line for line (2xx → Some, other 4xx → None, 429 → out-of-gas failure, 5xx → failure). The FA1.2/ERC-20 wrapper removals are also correct (retired, no source in the kernel).

Two real bugs in the examples (inline, with suggestions) and two minor consistency nits. With the suggestions applied this is good to merge — @skenaja can apply them from the web UI since Nic is away.

🤖 Review researched with Claude Code on behalf of @saroupille

Comment thread docs/michelson/nac-usage.md Outdated
Comment thread docs/michelson/nac-usage.md Outdated
Comment thread docs/michelson/nac-usage.md Outdated
Comment thread docs/michelson/nac-usage.md Outdated
Comment thread docs/overview/glossary.md Outdated
skenaja added a commit that referenced this pull request Aug 19, 2026
Apply saroupille's fact-check suggestions from PR #443:

- callback field is `option (contract bytes)`, not `option bytes`
- `VIEW` takes the view name and return type only (input comes
  from the stack)
- staticcall_evm snippet: push the gateway address onto the stack
  and reorder pushes so `PAIR` builds `pair string bytes`
- align on `sp.Some` (module syntax) over `sp.some`
- glossary: selector goes in `calldata`, not `abi_params`
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-etherlink Ready Ready Preview Aug 19, 2026 3:04pm

Request Review

NicNomadic and others added 7 commits August 19, 2026 16:01
Apply saroupille's fact-check suggestions from PR #443:

- callback field is `option (contract bytes)`, not `option bytes`
- `VIEW` takes the view name and return type only (input comes
  from the stack)
- staticcall_evm snippet: push the gateway address onto the stack
  and reorder pushes so `PAIR` builds `pair string bytes`
- align on `sp.Some` (module syntax) over `sp.some`
- glossary: selector goes in `calldata`, not `abi_params`
@skenaja
skenaja merged commit fab2014 into main Aug 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants