Date: 2025-10-16
- utils package
- New
utils
package which includes functions and types to support compilation and serialization / deserialization
- New
- testutils package
- Functions and types related to compilation and serialization / deserialization moved to new utils package:
func CompileWithPuyaPy
func RenamePuyaPyOutput
func AbiEncodeProofAndPublicInputs
func SerializeCompiledCircuit
func DeserializeCompiledCircuit
type CompiledCircuitBytes
- Functions and types related to compilation and serialization / deserialization moved to new utils package:
Date: 2025-01-03
- New Feature: Logicsig Verifiers
AlgoPlonk
now supports the generation of logicsig verifiers in addition to smart contract verifiers
- API changes:
- Changed signature of
WritePuyaPyVerifier
to includeverifier.OutputType
for specifying verifier types (LogicSig
orSmartContract
)
- Changed signature of
- testutils package:
- overhauled to better support testing
- added support to use a custom devnet in addition to algokit localnet
- Dependencies
- Go v1.22
- gnark v0.11.0
- gnark-crypto v0.14.0
The signing GPG key is now 3BCAD2CB70EDF387D682A2C0767CDA51BA8C0284
, changed from 81E0FB63130466B782D4859D6C036245DBDB025D
.
Date: 2024-05-13
- Updates to match changes in gnark v0.10.0
- Changed verifiers to reflect gnark updating to new version of Plonk paper
- Changed internal functions to match new gnark-crypto API
Date: 2024-05-05
- testutils package:
- Introduced additional test utility functions:
SerializeCompiledCircuit
/DeserializeCompiledCircuit
to/from fileSubstitute
for template variable substitution in TEAL filesEnsureFunded
for funding accounts on a local network.ShouldRecompile
for conditional recompilation of target files
- Introduced additional test utility functions:
-
API changes:
- Renamed
WriteProofAndPublicInputs
toExportProofAndPublicInputs
- Changed signature of
WriteProof
andWritePublicInputs
to accept anio.Writer
instead of a filename string - Modified the type of the smart contracts verifier method arguments to
DynamicArray
fromStaticArray
for better ease of passing methods in
- Renamed
-
Other:
-
testutils package:
- Split AlgoSDK wrapper functions into a separate
algosdkwrapper
package withintestutils
- Changed
ExecuteAbiCall
signature to include aboxes
argument - Changed
CompileWithPuyapy
signature to include anoptions
argument, to pass to the Puyapy compiler
- Split AlgoSDK wrapper functions into a separate
-
Documentation:
- Made naming in the codebase more consistent
-