Skip to content

Commit f0275a9

Browse files
authored
Unify Stark and Secp256 Curves interfaces (#1352)
<!-- Reference any GitHub issues resolved by this PR --> Closes #1214 Closes #1257 Closes #1259 ## Introduced changes <!-- A brief description of the changes --> - removed `signature/interface.cairo` - added `signature/stark_curve.cairo`, `signature/secp256k1_curve.cairo`, `signature/secp256r1_curve.cairo` - `KeyPair` now requires the type of secret and public key passed ```rust // Stark Curve let key_pair = KeyPairTrait::<felt252, felt252>::generate(); // Secp256k1 Curve let key_pair = KeyPairTrait::<u256, Secp256k1Point>::generate(); // Secp256r1 Curve let key_pair = KeyPairTrait::<u256, Secp256r1Point>::generate(); ``` ## Checklist <!-- Make sure all of these are complete --> - [x] Linked relevant issue - [x] Updated relevant documentation - #1259 - [x] Added relevant tests - [x] Performed self-review of the code - [x] Added changes to `CHANGELOG.md`
1 parent 71c8d77 commit f0275a9

File tree

17 files changed

+983
-141
lines changed

17 files changed

+983
-141
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Forge
1111

12+
#### Added
13+
14+
- `Secp256k1` and `Secp256r1` curves support for `KeyPair` in `snforge_std`
15+
1216
#### Changed
1317

1418
- maximum number of computational steps per call set to current Starknet limit (3M)
1519
- `mean` and `std deviation` fields are displayed for gas usage while running fuzzing tests
1620
- Cairo edition in `snforge_std` and `sncast_std` set to `2023_10`
21+
- `snforge_std::signature` module with `stark_curve`, `secp256k1_curve` and `secp256r1_curve` submodules
1722

1823
#### Fixed
1924

Cargo.lock

Lines changed: 193 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/cheatnet/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ fs2 = "0.4.3"
3434
flate2 = "1.0.27"
3535
scarb-api = { path = "../scarb-api" }
3636
runtime = { path = "../runtime" }
37+
k256 = { version = "0.13.2", features = ["sha256", "ecdsa", "serde"] }
38+
p256 = { version = "0.13.2", features = ["sha256", "ecdsa", "serde"] }
3739
sierra-casm = { path = "../sierra-casm" }
3840

3941
[dev-dependencies]

0 commit comments

Comments
 (0)