Skip to content

Conversation

@bfdays
Copy link
Contributor

@bfdays bfdays commented Oct 21, 2025

  • move rust flags into .cargo config instead of build script
  • new evm & modexp runtime that supports reusable stores
  • implemented halted frames (only for system runtimes)
  • add serde for interruption params
  • add error code CreateContractStartingWithEF
  • verify input params before parsing them inside syscall (to avoid potential memory ddos attack)
  • pass params into syscall as offset/length instead of bytes
  • decompose entrypoint macro for better flexiability
  • new debug macro (more details, alloc-free, decompoiles in release)

@bfdays bfdays changed the title feat(reusable-stor): move system interruption processing outside of main entry for evm contract (prototype) feat(reusable-store): move system interruption processing outside of main entry for evm contract (prototype) Oct 23, 2025
Base automatically changed from fix/remove-is-gas-free-check to devel November 6, 2025 16:32
@bfdays bfdays changed the title feat(reusable-store): move system interruption processing outside of main entry for evm contract (prototype) feat(reusable-store): move system interruption processing outside of contracts entry for evm contract Nov 16, 2025
@github-actions
Copy link

github-actions bot commented Nov 20, 2025

Criterion results (vs baseline)


running 60 tests


ERC20 Transfer Comparison/1_Original_EVM_ERC20
                        time:   [7.2955 µs 7.2968 µs 7.2981 µs]
Found 37 outliers among 1000 measurements (3.70%)
  3 (0.30%) low severe
  1 (0.10%) low mild
  17 (1.70%) high mild
  16 (1.60%) high severe
ERC20 Transfer Comparison/2_Emulated_EVM_ERC20
                        time:   [168.04 µs 168.37 µs 168.72 µs]
Found 135 outliers among 1000 measurements (13.50%)
  9 (0.90%) high mild
  126 (12.60%) high severe
ERC20 Transfer Comparison/3_rWasm_Contract_ERC20
                        time:   [2.7929 ms 2.7940 ms 2.7950 ms]
Found 3 outliers among 1000 measurements (0.30%)
  3 (0.30%) high mild

Greeting Contract Comparison/Original_Greeting
                        time:   [3.7254 µs 3.7265 µs 3.7278 µs]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Greeting Contract Comparison/EVM_Greeting
                        time:   [113.76 µs 113.97 µs 114.19 µs]
Found 8 outliers among 100 measurements (8.00%)
  3 (3.00%) low mild
  4 (4.00%) high mild
  1 (1.00%) high severe
Greeting Contract Comparison/WASM_Greeting
                        time:   [152.46 µs 152.58 µs 152.70 µs]
Found 12 outliers among 100 measurements (12.00%)
  7 (7.00%) low mild
  3 (3.00%) high mild
  2 (2.00%) high severe

Heads-up: runner perf is noisy; treat deltas as a smoke check.

…uild script, new evm & modexp runtime that supports reusable stores, implemented halted frames (only for system runtimes), add serde for interruption params, add error code `CreateContractStartingWithEF`, verify input params before parsing them inside syscall (to avoid potential memory ddos attack), pass params into syscall as offset/length instead of bytes, decompose entrypoint macro for better flexiability, new debug macro (more details, alloc-free, decompoiles in release)

Signed-off-by: Dmitry Savonin <[email protected]>
@dmitry123 dmitry123 force-pushed the feat/fully-reusable-store branch from 82fba7a to da47fbf Compare November 20, 2025 22:00
@dmitry123 dmitry123 marked this pull request as ready for review November 20, 2025 22:16
…les to the new system runtime (blake2f, bls12381, bn256, ecrecover, eip7951, identity, kzg, modexp, ripemd160, sha256), disable several spam tests because of stack limits

Signed-off-by: Dmitry Savonin <[email protected]>
…trap code (replace with exit code)

Signed-off-by: Dmitry Savonin <[email protected]>
Signed-off-by: Dmitry Savonin <[email protected]>
@dmitry123 dmitry123 merged commit 9a59cc4 into devel Nov 27, 2025
7 checks passed
@dmitry123 dmitry123 deleted the feat/fully-reusable-store branch November 27, 2025 15:49
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