Skip to content

Upstream silverscript PR: expose OpZkPrecompile builtin #3

Description

@trillskillz

Summary

OpenSilver now has a validated local patch lane for the pinned kaspanet/silverscript checkout:

  • patch file: patches/silverscript-opzkprecompile.patch
  • apply script: scripts/apply-silverscript-opzkprecompile-patch.sh
  • npm entrypoint: npm run patch:silverc:zk

That script:

  1. bootstraps the pinned upstream compiler checkout
  2. applies the RFC patch for OpZkPrecompile
  3. rebuilds silverc
  4. smoke-tests a minimal .sil contract containing require(OpZkPrecompile())

So the patch path is no longer just design text — it works against the pinned upstream snapshot used by OpenSilver.

Next external step

Turn that validated local patch into the real upstream contribution:

  • target repo: kaspanet/silverscript
  • recommended PR title: Expose OpZkPrecompile builtin to SilverScript front-end
  • reviewers to tag: @OriNewman, @saefstroem
  • design reference: references/silverscript-rfc-opzkprecompile.md

Scope of the upstream PR

  • add the builtin row in silverscript-lang/src/compiler/compile.rs
  • add the debug value type in silverscript-lang/src/compiler/debug_value_types.rs
  • add the stdlib declaration/docs in silverscript-lang/std/builtins.sil

Why this matters

This is the clean unblock for OpenSilver Phase 5. Until it merges, the ZK patterns remain design-only upstream, even though OpenSilver now has a local experimental patch path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions