Skip to content

runner: Run the guest on the standard configuration, with no openvm.toml - #6

Closed
maximmenshikov wants to merge 2 commits into
mainfrom
runner/standard-config
Closed

maximmenshikov wants to merge 2 commits into
mainfrom
runner/standard-config

Conversation

@maximmenshikov

@maximmenshikov maximmenshikov commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

The runner makes the VM configuration from SdkVmConfig::standard() and takes no openvm.toml:

openvm-runelf <elf> <input-bytes>

runner/openvm.toml was SdkVmConfig::standard(): the same moduli, fp2, curves and pairing, in the same order (compared with openvm_standard.toml of the SDK at OPENVM_REV). ere also runs OpenVM guests on SdkVmConfig::standard() with no file. A guest of bflat --libc openvm then needs nothing next to its ELF. The system parameters are the default of AppConfig (app_params_with_100_bits_security(MAX_APP_LOG_STACKED_HEIGHT)), as a toml with no system_params gave.

  • runner/openvm.toml is removed, and the image no longer ships /openvm.toml.
  • CI: the division-hint job builds the image of the commit and saves it as an artifact. The u256 and secp256k1 jobs load it and run their guests on it with no configuration (before, they ran the published image, which takes a file path).

Note for ere: the division hint (zkvm_u512_divrem_hint, phantom imm 0x4d1) is registered only by this runner. On the standard executor of ere it transpiles to unimp, so a guest that calls it traps there.

Testing: not built locally. CI builds the image from runner/ and runs the division-hint, u256 and secp256k1 guests on it.

🤖 Generated with Claude Code

The configuration in openvm.toml was SdkVmConfig::standard() of the SDK,
which is also what ere uses. The runner now makes it from
SdkVmConfig::standard() and the parameters of AppConfig by default, and
takes only the ELF and the input. A guest of bflat --libc openvm then
needs no file next to the ELF.

The jobs that run the published image give it "-", the standard
configuration that the image ships, until the next image is released.

Signed-off-by: Maxim Menshikov <maksim.menshikov@nethermind.io>
The published image takes the path of a configuration file, and the
runner no longer has one. The job of the division hint builds the image
of this commit; it now saves it as an artifact, and the u256 and
secp256k1 jobs load it and run the guests with no configuration.

Signed-off-by: Maxim Menshikov <maksim.menshikov@nethermind.io>
@maximmenshikov

Copy link
Copy Markdown
Collaborator Author

Moved to #5 (manifest-schema-2), so that the refactor, the signing and the runner are tested together.

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.

1 participant