Solang requires a method for verify ed25519 signatures. Add a new
builtin program at address Ed25519SigVerify111111111111111111111111111
which takes any number of ed25519 signature, public key, and message.
If any of the signatures fails to verify, an error is returned.
The changes for the web3.js package will go into another commit, since
the tests test against a released solana node. Adding web3.js ed25519
testing will break CI.
(cherry picked from commit b491354e51
)
Conflicts:
Cargo.lock
Cargo.toml
programs/bpf/Cargo.lock
runtime/Cargo.toml
sdk/src/feature_set.rs
sdk/src/transaction.rs
sdk/src/transaction/sanitized.rs
96 lines
2.9 KiB
TOML
96 lines
2.9 KiB
TOML
[package]
|
|
name = "solana-sdk"
|
|
version = "1.8.1"
|
|
description = "Solana SDK"
|
|
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
|
repository = "https://github.com/solana-labs/solana"
|
|
homepage = "https://solana.com/"
|
|
documentation = "https://docs.rs/solana-sdk"
|
|
readme = "README.md"
|
|
license = "Apache-2.0"
|
|
edition = "2018"
|
|
|
|
[features]
|
|
# "program" feature is a legacy feature retained to support v1.3 and older
|
|
# programs. New development should not use this feature. Instead use the
|
|
# solana-program crate
|
|
program = []
|
|
|
|
default = [
|
|
"full" # functionality that is not compatible or needed for on-chain programs
|
|
]
|
|
full = [
|
|
"assert_matches",
|
|
"byteorder",
|
|
"chrono",
|
|
"generic-array",
|
|
"memmap2",
|
|
"rand",
|
|
"rand_chacha",
|
|
"serde_json",
|
|
"ed25519-dalek",
|
|
"ed25519-dalek-bip32",
|
|
"solana-logger",
|
|
"solana-crate-features",
|
|
"libsecp256k1",
|
|
"sha3",
|
|
"digest",
|
|
]
|
|
|
|
[dependencies]
|
|
assert_matches = { version = "1.5.0", optional = true }
|
|
bincode = "1.3.3"
|
|
bytemuck = { version = "1.7.2", features = ["derive"] }
|
|
borsh = "0.9.0"
|
|
base64 = "0.13"
|
|
borsh-derive = "0.9.0"
|
|
bs58 = "0.4.0"
|
|
bv = { version = "0.11.1", features = ["serde"] }
|
|
byteorder = { version = "1.3.4", optional = true }
|
|
chrono = { version = "0.4", optional = true }
|
|
curve25519-dalek = { version = "2.1.0", optional = true }
|
|
derivation-path = { version = "0.1.3", default-features = false }
|
|
digest = { version = "0.9.0", optional = true }
|
|
ed25519-dalek = { version = "=1.0.1", optional = true }
|
|
ed25519-dalek-bip32 = { version = "0.1.1", optional = true }
|
|
generic-array = { version = "0.14.3", default-features = false, features = ["serde", "more_lengths"], optional = true }
|
|
hex = "0.4.2"
|
|
hmac = "0.10.1"
|
|
itertools = "0.9.0"
|
|
lazy_static = "1.4.0"
|
|
libsecp256k1 = { version = "0.5.0", optional = true }
|
|
log = "0.4.11"
|
|
memmap2 = { version = "0.1.0", optional = true }
|
|
num-derive = "0.3"
|
|
num-traits = "0.2"
|
|
pbkdf2 = { version = "0.6.0", default-features = false }
|
|
qstring = "0.7.2"
|
|
rand = { version = "0.7.0", optional = true }
|
|
rand_chacha = { version = "0.2.2", optional = true }
|
|
rand_core = "0.6.2"
|
|
rustversion = "1.0.4"
|
|
serde = "1.0.122"
|
|
serde_bytes = "0.11"
|
|
serde_derive = "1.0.103"
|
|
serde_json = { version = "1.0.56", optional = true }
|
|
sha2 = "0.9.2"
|
|
sha3 = { version = "0.9.1", optional = true }
|
|
solana-crate-features = { path = "../crate-features", version = "=1.8.1", optional = true }
|
|
solana-logger = { path = "../logger", version = "=1.8.1", optional = true }
|
|
solana-frozen-abi = { path = "../frozen-abi", version = "=1.8.1" }
|
|
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.8.1" }
|
|
solana-program = { path = "program", version = "=1.8.1" }
|
|
solana-sdk-macro = { path = "macro", version = "=1.8.1" }
|
|
thiserror = "1.0"
|
|
uriparse = "0.6.3"
|
|
|
|
[dev-dependencies]
|
|
curve25519-dalek = "2.1.0"
|
|
tiny-bip39 = "0.8.1"
|
|
|
|
[build-dependencies]
|
|
rustc_version = "0.2"
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["x86_64-unknown-linux-gnu"]
|