ergoplatform / ergoplatform/sigma-rust

Soft-fork support

Open
#828 1 comment 0 reactions 1 assignee Claimed by @sethdusek View on GitHub
6.0 Bounty - 700 ERG
Dominant language
Rust
Stars
78
Forks
63
Avg merge
22h 5m
Merged PRs (30d)
3

Description

Currently sigma-rust does not support soft-fork errors, and will also execute any ErgoTree regardless of version. Instead, it should follow these rules:

For a verifier:
- If both the ErgoTree version and the script version activated on the network exceed the interpreter's capabilities, then the script is accepted without evaluation
- If the ErgoTree version is higher than the activated version then the script is rejected, even if our interpreter supports it

For provers, encountering an unsupported script version is an error

Additionally, add an equivalent to sigmastate-interpreter's [trySoftForkable method](https://github.com/ergoplatform/sigmastate-interpreter/blob/2f557e1ef2c8ce94901accc6edc7ce798d3375b1/interpreter/shared/src/main/scala/sigmastate/interpreter/Interpreter.scala#L249).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.