From aafa941b5bb5f68c91116b508f3faebbe672734e Mon Sep 17 00:00:00 2001 From: GroM Date: Tue, 24 Mar 2026 15:06:44 +0100 Subject: [PATCH] Add jubjub and bls12377g1 curves support --- CHANGELOG.md | 6 ++++++ ledgerwallet/manifest.py | 4 ++++ ledgerwallet/params.py | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdec57e..31d647b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.10.0] - 2026-03-24 + +### Added + +- Support `bls12377g1` and `jubjub` curves + ## [0.9.2] - 2026-02-20 ### Fixed diff --git a/ledgerwallet/manifest.py b/ledgerwallet/manifest.py index b084970..f6b45a3 100644 --- a/ledgerwallet/manifest.py +++ b/ledgerwallet/manifest.py @@ -277,6 +277,10 @@ def serialize_derivation_path(self, value): curves |= params.CURVE_SLIP21 elif curve == "bls12381g1": curves |= params.CURVE_BLS12381G1 + elif curve == "bls12377g1": + curves |= params.CURVE_BLS12377G1 + elif curve == "jubjub": + curves |= params.CURVE_JUBJUB derivation_paths["curve"] = curves elif derivation_entry == "paths": derivation_paths["paths"] = value["paths"] diff --git a/ledgerwallet/params.py b/ledgerwallet/params.py index 2cdd038..403d920 100644 --- a/ledgerwallet/params.py +++ b/ledgerwallet/params.py @@ -172,6 +172,8 @@ def _encode(self, obj, context, path): 8 # not really a curve, but used to indicate the presence of SLIP-21 paths ) CURVE_BLS12381G1 = 16 +CURVE_BLS12377G1 = 32 +CURVE_JUBJUB = 64 Curve = FlagsEnum( Byte, @@ -180,6 +182,8 @@ def _encode(self, obj, context, path): ed25519=CURVE_ED25519, slip21=CURVE_SLIP21, bls12381g1=CURVE_BLS12381G1, + bls12377g1=CURVE_BLS12377G1, + jubjub=CURVE_JUBJUB, ) DerivationPath = Prefixed(