Cargo Features

[dependencies]
blueprint-keystore = { version = "0.1.0-alpha.4", default-features = false, features = ["std", "web", "ecdsa", "sr25519-schnorrkel", "zebra", "bls", "bn254", "sp-core", "substrate", "evm", "tangle", "tangle-bls", "eigenlayer", "symbiotic", "remote", "tangle-full", "eigenlayer-full", "symbiotic-full", "substrate-keystore", "aws-signer", "gcp-signer", "ledger-browser", "ledger-node", "all-remote-signers"] }
default = all-remote-signers, eigenlayer-full, std, tangle-full

These default features are set whenever blueprint-keystore is added without default-features = false somewhere in the dependency tree.

std default all-remote-signers aws-signer? gcp-signer? ledger-node?

Core features

Enables serde_json, tokio, std of zeroize and std of hex

Optional dependencies

and std of optional sp-application-crypto ^38.0.0, optional sp-core ^34.0.0, and optional sp-io ^38.0.1

sp-core:

Substrate dependencies (optional)

and std of tangle-subxt, thiserror, optional sp-keystore ^0.40.0, and optional tnt-bls

sp-keystore:

Substrate Keystore backend

and std of blueprint-crypto, blueprint-std, optional alloy-primitives ^0.8, optional ark-serialize, and optional ed25519-zebra

blueprint-crypto:

Core dependencies (always included)

and std of serde, serde_bytes, optional k256, optional rust-bls-bn254, and optional schnorrkel

k256:

Crypto primitives (optional)

web

Enables web of tangle-subxt

ecdsa evm? tangle?

Crypto primitive features

Enables hex, k256, and ripemd, k256 of blueprint-crypto

sr25519-schnorrkel eigenlayer-full symbiotic-full? tangle?

Enables hex and schnorrkel, sr25519-schnorrkel of blueprint-crypto

zebra eigenlayer-full symbiotic-full? tangle?

Enables ed25519-zebra and hex, ed25519 of blueprint-crypto

bls eigenlayer-full symbiotic-full?

Enables hex and tnt-bls, bls of blueprint-crypto

bn254 eigenlayer? symbiotic-full? tangle-full

Enables ark-bn254, ark-ec, ark-ff, and ark-serialize, bn254 of blueprint-crypto

Affects backends::bn254

sp-core tangle-bls?

Enables sp-core ^34.0.0, sp-core of blueprint-crypto

substrate tangle? = substrate-keystore

Meant to be used in conjunction with tangle feature (for sp-core)

Enables paste, sp-core ^34.0.0, sp-io ^38.0.1, and tangle-subxt, sp-core of blueprint-crypto

evm aws-signer? eigenlayer? gcp-signer? ledger-browser? ledger-node? symbiotic? tangle-full = ecdsa

Protocol features

Enables alloy-network ^0.12, alloy-primitives ^0.8, alloy-signer ^0.12, and alloy-signer-local ^0.12

alloy-network:

EVM dependencies (optional)

Affects backends::evm

tangle tangle-bls? tangle-full = ecdsa, sr25519-schnorrkel, substrate, zebra

Enables tangle-pair-signer of blueprint-crypto

Affects backends::tangle

tangle-bls tangle-full = tangle

Enables sp-core-bls of blueprint-crypto, bls-experimental of sp-core ^34.0.0

Affects tangle::bls

eigenlayer eigenlayer-full = bn254, evm

Enables eigensdk and rust-bls-bn254

eigensdk:

Eigenlayer dependencies (optional)

Affects backends::eigenlayer

symbiotic symbiotic-full? = evm
remote all-remote-signers aws-signer? gcp-signer? ledger-browser? ledger-node?
tangle-full default = bn254, evm, tangle, tangle-bls

Optional protocol crypto features

eigenlayer-full default = bls, eigenlayer, sr25519-schnorrkel, zebra
symbiotic-full = bls, bn254, sr25519-schnorrkel, symbiotic, zebra
substrate-keystore substrate?

Enables parity-scale-codec, sc-keystore ^33.0.0, scale-info, sp-application-crypto ^38.0.0, sp-core ^34.0.0, and sp-keystore ^0.40.0

aws-signer all-remote-signers = alloy-signer-aws, aws-config, aws-sdk-kms, evm, remote, std

Hardware/Cloud wallet support

Affects remote::aws

gcp-signer all-remote-signers = alloy-signer-gcp, evm, gcloud-sdk, remote, std

Affects remote::gcp

ledger-browser all-remote-signers = evm, remote

Enables browser of alloy-signer-ledger ^0.12

alloy-signer-ledger:

WASM support

Affects remote::ledger

ledger-node all-remote-signers = evm, remote, std

Enables node of alloy-signer-ledger ^0.12

Affects remote::ledger

all-remote-signers default = aws-signer, gcp-signer, ledger-browser, ledger-node, remote, std

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

alloy-signer-aws aws-signer?

Enables alloy-signer-aws ^0.12

Hardware/Cloud wallet support (optional)

alloy-signer-gcp gcp-signer?

Enables alloy-signer-gcp ^0.12

alloy-signer-ledger ledger-browser? ledger-node?

Enables alloy-signer-ledger ^0.12

aws-config aws-signer?
aws-sdk-kms aws-signer?
gcloud-sdk gcp-signer?

Enables gcloud-sdk ^0.26