Skip to content

BlockstreamResearch/simplicityhl-std

Repository files navigation

Tests License: MIT

SimplicityHL Standard Library

The standard library implementation for SimplicityHL.

Scripts

simf/lib
├── secp256k1
│   └── operations.simf    
│       ├── Conversions between `Ge`, `Gej`, and compressed `Point`.
│       ├── Subtraction for `Fe`, `Scalar`, `Gej`.
│       ├── Equality predicates and their `assert_*` counterparts.
│       └── Safe Jacobian-to-affine normalization.
├── asserts.simf
│   └── Generic assertion helpers with equality checks between uint values.
├── binary.simf
│   └── Basic binary logic operations: `and`, `or`, `not`, `xor`.
├── op_return.simf
│   └── Utilities for detecting and enforcing `OP_RETURN` (null data) outputs.
├── u8.simf
├── u16.simf
├── u32.simf
├── u64.simf
└── u128.simf
    ├── Overflow-checked arithmetic operations.
    ├── Comparison helpers.
    └── Basic operations that are available as jets for `u8`-`u64` but are missing for `u128`.

Installation

First, install simplex development framework:

curl -L https://smplx.simplicity-lang.org | bash
simplexup

Then install simplicityhl-std dependency via simplex.

simplex install https://github.com/BlockstreamResearch/simplicityhl-std

Note

The library works with Simplex version 0.0.7 or higher.

Contributing

We are open to any mind-blowing ideas! Please take a look at our contributing guidelines to get involved.

License

The library is released under the MIT License.

About

SimplicityHL contracts standard library.

Resources

Contributing

Stars

Watchers

Forks

Releases

Contributors

Languages