Hyli contract SDK
In this crate you will find some helpers function to build your Smart Contract on Hyli.
🚧 This is work in progress, all of this is subject to changes. See examples for usages.
Model
Some of the models are defined in hyli-model crates, which is re-exported by this crate.
For example, you can do either of these two:
use ZkProgramInput;
// or
use ZkProgramInput;
It allows you to only depends on crate contract-sdk in your contract's code.
Entrypoints
The inputs of the zkVM should be of type ZkProgramInput defined in
In guest.rs you will find 2 functions that are entry points of smart contracts. You should call at least one of them at the beginning of your contract.
At the end of your contract, you need to output a HyliOutput, you can use the helper in utils.rs:
Helpers
You can find in erc20.rs and identity_prover.rs some structs & traits used to help building contracts of token transfers & identity providing.
These are only helpers to build new contracts, not required standards.