ergoplatform / ergoplatform/sigma-rust
Soft-fork support
- 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
Assessment
This issue has not been assessed yet.