Maintained Smart Contracts

We declare & maintain Smart Contracts for the community so they can be used as library calls.

Those contracts:

  • Are declared both Starknet Sepolia and Mainnet.

  • Those contracts are re-deployed at each release, so their code correspond to the release commit.

  • The source code is always available in the main garaga repository under src/contracts

  • The contracts are only declared and not deployed, their expected usage is through library syscalls., so their usage is done through their class hashes and not their contract address (which don't exist unless you deploy them yourself)

Class hashes for Garaga v0.18.1.

Contract
Class hash
Description

0x465991ec820cf53dbb2b27474b6663fb6f0c8bf3dac7db3991960214fad97f5

A contract allowing to compute elliptic curve multi scalar multiplication for all supported curve identifiers

0x3fb3a8636b5e6858ee3bfa4477d14cdabf3222d97c94b2a9ccb53c3704ae0fc

A verifier for RiscZero Groth16-wrapped proofs.

0x151d3a953a67b58e77660c5359f2edb1784deb761ffe4d4848af774229e6f25

A contract to verify Drand signatures. Soon with timelock encryption utilities.

0x5d147e9fcb648e847da819287b8f462ce9416419240c64d35640dcba35e127

A verifier for SP1 Groth16-wrapped proofs.

In case you need to obtain class hashes for different versions of garaga or declare them yourself if they do not exist, you can checkout garaga repo at a particular commit and run python .github/scripts/declare_maintained_contracts.py or python .github/scripts/verify_contracts.py At each release tag, the CI ensure all contracts are declared before publishing packages.

Last updated

Was this helpful?