⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Make simc able to generate arguments and witness generation code #196

@schoen

Description

@schoen

Project

compiler

Describe the feature

Per a suggestion from @KyrylR, the SimplicityHL compiler should be able to generate Rust and/or other language code like the argument and witness generators in, for example

https://github.com/BlockstreamResearch/simplicity-contracts/tree/main/crates/contracts/src/options

This is likely to be inferrable from type annotations on witness fields in the SimplicityHL program, although it would be much easier (and more powerful) in SimplicityNG. I think the basic idea is that we enumerate all standard-looking references to saved state and witness fields in the SimplicityHL program, and then emit boilerplate code that could create the corresponding data structures based on how those references are annotated or used inside the SimplicityHL. @KyrylR can correct or clarify this.

This is relevant to wallet and app integration, and, in some settings, to obviating the need to make .wit files on disk.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions