-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
v2.1: SIMD-0075: Precompile for Secp256r1 (backport of #3152) (#3662)
* SIMD-0075: Precompile for Secp256r1 (#3152) * feat: secp256r1 precompile * add: num_signatures == 0 check from SIMD-0152 * rm: unnecessary comment * fix: legacy numeric constant * CI/fix: compilation for wasm32 target * Extract secp256r1 crate * rm: unnecessary import * update: sbf/Cargo.lock * rm: unnecesary re-exports * add: secp256r1 precompile to docs * add: docs/description to sdk/program/src/lib.rs * fix: alpha sort deps * fixes * docs fixes * add: solana-instruction std feature to deps * fix: lockfile from rebase * fix: target architecture * fix: workflow for client_target android * add: sudo to workflow perl install * fix: Cargo toml workspace member * modify: ranlib path in client-targets.yaml * fix: secp256r1/Cargo.toml formatting * add: openssl feature * fixes * add: precompile signature range error * more adjustments * change: feature id * fix: cargo format * Revert "add: precompile signature range error" This reverts commit fdf76739af10828d8c01d59b0cb912a1b044aaa2. * fix: cargo sanity * fix: client target openssl dep * fix: 31 byte r,s support in new_secp256r1_instruction * update: Cargo.lock * fix: unchecked math in new_secp256r1_instruction * fixes & increased test coverage * add: solana-sdk/openssl to all release binaries * update: comment to make openssl feature more clear * add: solana-sdk/openssl feature to dependencies * add: solana-sdk/openssl feature to dependencies * merge: master into secp256r1-precompile * fix: test-validator formatting * Revert "add: solana-sdk/openssl to all release binaries" This reverts commit 5c66b508be3a4324c9b7c8d93a81e41dc47c4312. * add: reserved key for secp256r1 program * modify: client-targets.yaml * modify: client/Cargo.toml solana-sdk dep * modify: ledger-tool/Cargo.toml solana-sdk * modify: test-validator/Cargo.toml solana-sdk dep * modify: validator/Cargo.toml solana-sdk dep * change: openssl feature to openssl-vendored * remove: solana-sdk dep from sdk/program * refactor: secp256r1 directory name * fmt * cargo.lock files * revert: rustc-demangle bump * cargo lock sanity * fix: faulty feature-set merge * fix: reserved keys pending feature id --------- Co-authored-by: Iceomatic <[email protected]> (cherry picked from commit da4f55ef4e04aebb5f3590127f98c03ca5881b28) # Conflicts: # Cargo.lock # Cargo.toml # ledger-tool/Cargo.toml # programs/sbf/Cargo.lock # sdk/Cargo.toml # sdk/feature-set/src/lib.rs # sdk/reserved-account-keys/Cargo.toml # sdk/src/reserved_account_keys.rs * Fix merge conflicts --------- Co-authored-by: Orion <[email protected]> Co-authored-by: Jon C <[email protected]>
- Loading branch information
1 parent
34e62d6
commit adeac02
Showing
15 changed files
with
909 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,6 +34,11 @@ jobs: | |
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
# This can be removed once cargo-ndk >= 3.5.4 is used. | ||
- name: Setup environment for Android NDK | ||
run: | | ||
echo "RANLIB=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" >> $GITHUB_ENV | ||
- run: cargo install [email protected] | ||
|
||
- name: Setup Rust | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
[package] | ||
name = "solana-secp256r1-program" | ||
description = "Precompile implementation for the secp256r1 elliptic curve." | ||
documentation = "https://docs.rs/solana-secp256r1" | ||
version = { workspace = true } | ||
authors = { workspace = true } | ||
repository = { workspace = true } | ||
homepage = { workspace = true } | ||
license = { workspace = true } | ||
edition = { workspace = true } | ||
|
||
[dependencies] | ||
bytemuck = { workspace = true, features = ["derive"] } | ||
solana-feature-set = { workspace = true } | ||
solana-precompile-error = { workspace = true } | ||
solana-pubkey = { workspace = true } | ||
|
||
[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "solana")))'.dependencies] | ||
solana-instruction = { workspace = true, features = ["std"] } | ||
openssl = { workspace = true } | ||
|
||
[dev-dependencies] | ||
solana-logger = { workspace = true } | ||
solana-sdk = { path = "../" } | ||
|
||
[features] | ||
default = [] | ||
openssl-vendored = ["openssl/vendored"] | ||
|
||
[package.metadata.docs.rs] | ||
targets = ["x86_64-unknown-linux-gnu"] | ||
all-features = true | ||
rustdoc-args = ["--cfg=docsrs"] | ||
|
||
[lints] | ||
workspace = true |
Oops, something went wrong.