|
1 | 1 | # Simplicity Roadmap |
2 | 2 |
|
3 | | -The primary objective for the current development cycle is to prepare Simplicity for execution on a Bitcoin test network. Achieving this objective requires finalising the set of jets, establishing a complete cost model, and implementing state storage for advanced contract functionality. |
| 3 | +## Upcoming SimplicityHL features |
4 | 4 |
|
5 | | -### Bitcoin Testnet Integration |
| 5 | +We're continuing to enhance the SimplicityHL language with additional notation and convenience features. The `simc` compiler will be updated to support additional syntax for these features. Our priorities for SimplicityHL language enhancements include |
6 | 6 |
|
7 | | -Work will continue towards producing a testnet-mergeable integration branch of bitcoin-core. Tasks include: |
| 7 | +* Infix operators: familiar notations like `==`, `<`, `>`, `+`, `-`, `*`, `/`, `&`, `|` for comparisons, arithmetic, and logic operations |
| 8 | +* More integer types: specific-width integers; signed integers (supporting negative numbers) |
| 9 | +* `if` and `return` statements |
| 10 | +* A more conventional loop syntax (for bounded loops) |
| 11 | +* Modules/namespaces |
| 12 | +* Library functions |
8 | 13 |
|
9 | | -* Porting `libsimplicity` into the integration branch. |
10 | | -* Ensuring all jets are fully implemented and functioning. |
11 | | -* Assigning execution costs to each jet. |
| 14 | +## State management |
12 | 15 |
|
13 | | -### State Storage in Simplicity |
| 16 | +We have developed a way to represent persistent state of a contract via cryptographic commitments, with associated tooling. This provides proper support for general covenants that need to keep track of arbitrary history as users interact with them over time. (You can see a brief demonstration of this approach in <a href="https://youtu.be/ry2wQelP8Kc">our December 23, 2025 Office Hours session</a>.) We will document this and provide sample contracts demonstrating it. |
14 | 17 |
|
15 | | -Implementation of UTXO-committed state storage is planned to support advanced contract use cases, including covenants and vaults. This requires: |
| 18 | +## Type-based SimplicityHL |
16 | 19 |
|
17 | | -* Defining the state storage API and on-chain commitment structure. |
18 | | -* Producing reference examples demonstrating stateful contracts. |
19 | | -* Documenting usage patterns for developers. |
20 | | -* Implementation in SimplicityHL |
| 20 | +A future version of SimplicityHL using type theory foundations is in preparation. In the short term, we'll adopt a new type inference engine in `simc` based on this work, which will relax existing requirements for mandatory type annotations. Over time, we'll also expose extensions for dependent type mechanisms in SimplicityHL. |
21 | 21 |
|
22 | | -### Path to Testnet Deployment |
| 22 | +## Mutinynet integration |
23 | 23 |
|
24 | | -The following sequence outlines the progression towards a Bitcoin testnet release: |
| 24 | +We're working on an integration of Simplicity in <a href="https://github.com/MutinyWallet/mutiny-net">Mutinynet</a>, a signet (test network) that remains architecturally closer to Bitcoin Core. This will demonstrate the potential for development with Simplicity on a Bitcoin-like chain without Elements extensions. |
25 | 25 |
|
26 | | -1. Completion of jet implementation and cost assignments. |
27 | | -2. Availability of the signet-mergeable integration branch. |
28 | | -3. Implementation of state storage, enabling contracts such as covenants and vaults. |
29 | | -4. Deployment of Simplicity on Bitcoin testnet. |
| 26 | +## AMP and LWK integrations |
| 27 | + |
| 28 | +We're working on integrations of Simplicity with <a href="https://blockstream.com/amp/">AMP</a> and <a href="https://github.com/Blockstream/lwk">LWK</a>, to give financial application developers more power when building on Liquid Network. |
| 29 | + |
| 30 | +## Documentation updates |
| 31 | + |
| 32 | +In addition to documentation on features mentioned above, we're preparing lots of new and updated documentation, including documentation on the Simplicity execution model, witnesses, a jets reference, a toolchain reference, introductions on timelocks and oracles, and material on avoiding pitfalls in smart contract design. |
0 commit comments