Skip to content

Releases: ProvableHQ/sdk

v0.10.0

26 Mar 08:03
9ff7cde

Choose a tag to compare

Mainnet Release Changes b4b599cb → 9ff7cdea)

Testnet Release Changes b4b599cb → 030ee49)

Features

  • Off-chain SNARK Proof Verification (#1263) — New snarkVerify and snarkVerifyBatch WASM functions plus TypeScript wrappers (verifyProof, verifyBatchProof) enable verifying Varuna V2 proofs without requiring programs to be deployed on-chain.
    Includes a new Proof WASM type with string/bytes serialization, VerifyingKey.verify() and VerifyingKey.verifyBatch() convenience methods, automatic Aleo-type-to-field conversion for inputs, and updated React/Node/extension templates with
    working examples.
  • Multi-Party Computation (MPC) Support (#1217) — New computeExternalSigningInputs function computes the inputs needed for multi-party Request::sign computations. Includes buildExecutionRequestFromExternallySignedData for constructing
    authorizations from externally signed data, support for building proving requests from execution requests, and dynamic_record as a signing input type.
  • Value Type Export (#1258) — The Value type is now exported through the WASM layer to TypeScript with serialization methods (fromString, toString, toBytesLe, fromBytesLe), type introspection (isPlaintext, isRecord, isFuture, valueType), field
    conversion (toFields, toFieldsRaw, toBitsLe), and variant extraction (toPlaintext, toRecordPlaintext, fromPlaintext, fromRecordPlaintext).
  • Dynamic Dispatch Support — WASM support for dynamic dispatch variant types (DynamicRecord, DynamicFuture, RecordWithDynamicID, ExternalRecordWithDynamicID) with dot-delimited type strings matching snarkVM serialization. Includes
    DynamicRecord re-export from snarkVM with JS/TS tests for all variant types.
  • Dynamic dispatch target auto-resolution in inputs (#1237) — New utility function for converting program and function names to field elements, used for dynamic dispatch target resolution.
  • Consensus V14 Deployment Handling (#1230) — Deployments now handle Consensus V14 correctly, including record verifying key inclusion for V14+ and proper devnode deployment construction per consensus version.
  • Import Resolution for Dynamic Dispatch (#1264) — resolve_imports now walks all keys in the provided imports object, not just the top-level program's statically declared imports. This enables dynamic dispatch targets to be included without
    being declared via import statements. Includes validation for key/ID mismatches, explicit errors for missing static dependencies, and a top_level_program parameter to prevent edition conflicts.

Bug Fixes

  • JWT Refresh URL (#1256, #1252) — Fixed RecordScanner and AleoNetworkClient JWT refresh to derive the URL from the user-configured host origin instead of hardcoding api.provable.com or appending to the scanner path. Self-hosted and staging
    environments now work correctly.

Interface Changes

  • KeyLocator Restructured (#1240) — Replaced the opaque locator: string in the keystore interface with a structured discriminated union (ProvingKeyLocator, VerifyingKeyLocator, TranslationKeyLocator) including program, function name, edition,
    amendment, and network fields. Adds input validation, validateNonNegative for numeric fields, and narrows getProvingKey/getVerifyingKey to accept only the correct locator type. Breaking change to the KeyStore interface.

Dependency Updates

  • webpack 5.103.0 → 5.104.1
  • flatted 3.3.3 → 3.4.2
  • rustls-webpki 0.103.9 → 0.103.10
  • next 15.5.10 → 15.5.14

v0.9.18

12 Mar 17:21
b4b599c

Choose a tag to compare

Features

  • Updates the testnet SDK to SnarkVM tag 4.5.0
  • Persistent Key Storage: Adds a KeyStore interface that automatically stores Proving and Verifying keys in persistent storage during operation.

Examples:

Private Transfers

Create-leo-app example of running private functions are demonstrated in both react and node.js create-leo-app.

E2E Private Application Example

Create-leo-app example of e2e building a fully private web app in aleo

v0.9.17

06 Mar 05:08
75d1c33

Choose a tag to compare

Features

  • Updates the testnet SDK to SnarkVM tag testnet-4.5.4
  • Persistent Key Storage: Adds a KeyStore interface that automatically stores Proving and Verifying keys in persistent storage during operation.

Examples:

Private Transfers

Create-leo-app example of running private functions are demonstrated in both react and node.js create-leo-app.

E2E Private Application Example

Create-leo-app example of e2e building a fully private web app in aleo

v0.9.16

13 Feb 00:43
e7ef9f5

Choose a tag to compare

Description

SDK release v0.9.16 is a release that adds access to major privacy preserving services within the SDK.

Changelog

Features

Proving and Record Scanning.

  • Add the ability to build and submit encrypted proving requests to a TEE protected delegated prover, ensuring no proof material is exposed to the delegated prover.
  • Add the ability to specify FeeMaster usage when creating delegated proving requests.
  • Adds a record scanner interface to interact with TEE protected record scanning, ensuring key material is inaccessible to anyone but the Aleo account holder. This interface allows Aleo account holders to register with the record scanning service and use it to get all records they've generated in their lifetime on Aleo.
  • Adds the ability to validate aleo address strings

Documentation & Usage Examples

Fixes

  • Patches several dependabot flagged security issues in external dependecies.

v0.9.15

16 Jan 04:35
0f7f98f

Choose a tag to compare

Description

SDK release v0.9.15 fixes several high priority issues related to local proving.

Changelog

Fixes

  • Fixes a recursion bug in wasm when resolving imports.
  • Fixes errors in local proving by increasing the maximum wasm memory to U32::MAX (~4.3gb) eliminating thread deadlocks and errors in using/inserting the inclusion prover
  • Changes the XmlHttpRequest polyfill from a basis on sync-request to xmlhttprequest-ssl solving several typescript module resolution errors
  • Adds testing of transfer_private to the SDK CI

v0.9.14

12 Dec 17:24
99400d9

Choose a tag to compare

Description

SDK release v0.9.14 is a patch release that fixes several issues and introduces a few minor features

Changelog

Fixes

  • Fixes an infinite recursion bug in getProgramImports in the case of circular program dependencies.
  • Fixes errors in wasm multithreading introduced caused by changes in newer versions of Rust nightly by reverting the Rust version to a version compatible with the features required to achieve wasm based multithreading.
  • Fixes a check fee bug that would check public balances erroneously when attempting to pay with a private fee.
  • Updates errors in Sealance merkle tree documentation

Features

  • Add the ability to get address for programs by adding a fromProgramId function to the Address object
  • Adds the ability to rotate JWT tokens for provable services which require authentication tokens

v0.9.13

25 Nov 16:26
8801114

Choose a tag to compare

Description

SDK release v0.9.13 upgrades its SnarkVM version for its testnet and mainnet binaries to SnarkVM tag 4.4.0 and adds several development features for developing against a local devnet with the SDK

Features

  • Upgrades the core SnarkVM dependency to v4.4.0
  • Adds new methods for upgrading programs on the Aleo network
  • Adds support for proofless execution transactions that can be used with Aleo Devnode
  • Adds support for quick deployments to Aleo Devnode
  • Adds a create-leo-app example for using Aleo Devnode with the SDK
  • Adds a utility function for converting string arrays to big int arrays to SealanceMerkleTree class and adds formatting for Sealance Merkle Proofs

v0.9.12

18 Nov 02:41
75c753c

Choose a tag to compare

Description

SDK release v0.9.12 is a minor release upgrading its testnet package to SnarkVM tag 4.4.0 and fixing errors in record usage for private fee transfers.

Features

  • Successfully split Testnet and Mainnet to use different SnarkVM versions
    • Upgrade to SnarkVM v4.4.0 for testnet
    • Continued usage of SnarkVM v4.3.1 for mainnet

Fixes

  • Fixes bugs in record usage when paying private fees
  • Fixes to AleoKeyProvider object

v0.9.11

31 Oct 02:05

Choose a tag to compare

Description

v0.9.11 is a patch release fixing some errors in the buildTransactionFromAuthorization function and adding encapsulated functionality to the ProgramManager for easy estimation of fees.

Changelog

  • Fixes errors in the buildTransactionFromAuthorization function by adding the ability to call REST endpoints to collect data for the inclusion proof.
  • Encapsulates fee estimation functions in the program manager.
  • Adds documentation of new fee estimation functions via docstrings.
  • Adds a new create-leo-app example showing how to use the buildTransactionFromAuthorization function.
  • Removes the need to specify a fee for the ProvingRequest function.

v0.9.10

30 Oct 05:02

Choose a tag to compare

Description

v0.9.10 is a release compatible with the SnarkVM v4.3.1.

Changelog

  • Upgrades SnarkVM to v4.3.1
  • Add the ability to generate proofs with record inputs %100 offline by enabling the Inclusion Proving Key to be passed into wasm externally.
  • Adds the ability to set test consensus heights upon initialization of wasm allowing the SDK to be used to test against devnets.
  • Adds toBytesRaw/fromBytesRaw to existing Literal and Array types including arrays enabling signatures over the raw bytes of these types in order allow signing or hashing of the raw bytes that represent the type without any other bytes identifying the length.
  • Support for loading mainnet and testnet networks dynamically.
  • Support for fast fee estimation and support for estimating fees from authorizations.
  • Support for building executions from authorizations, enabling signatures and authorizations to built offline.
  • Integration ofSsealance compliance tools.