igneum/pool/Cargo.toml

56 lines
2.2 KiB
TOML

[package]
name = "igneum-pool"
version = "0.1.0"
edition = "2024"
description = "Igneum mining pool v0: spec 09 pool protocol over newline JSON, vardiff, CPU warp-verified shares, PPLNS payouts on the EVM side, the stats API WhatToMine and MiningPoolStats read"
license = "MIT"
publish = false
# A standalone workspace. The node fork is read by path from ../vendor/igneum-node (the fork checkout, or a symlink
# to the fork worktree that carries the pool-mode miner); igneum-pow is the repository's own crate.
[workspace]
[[bin]]
name = "igneum-pool"
path = "src/main.rs"
[dependencies]
kaspa-grpc-client = { path = "../vendor/igneum-node/rpc/grpc/client" }
kaspa-rpc-core = { path = "../vendor/igneum-node/rpc/core" }
kaspa-consensus-core = { path = "../vendor/igneum-node/consensus/core" }
kaspa-hashes = { path = "../vendor/igneum-node/crypto/hashes" }
kaspa-addresses = { path = "../vendor/igneum-node/crypto/addresses" }
kaspa-notify = { path = "../vendor/igneum-node/notify" }
kaspa-pow = { path = "../vendor/igneum-node/consensus/pow", features = ["igneum-pow"] }
igneum-pow = { path = "../igneum-pow" }
tokio = { version = "1.42", features = ["rt-multi-thread", "macros", "time", "net", "io-util", "sync", "signal", "fs"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
hex = "0.4"
rand = "0.8"
async-channel = "2"
k256 = { version = "0.13", features = ["ecdsa"] }
sha3 = "0.10"
alloy-consensus = { version = "2.5", default-features = false, features = ["k256", "std"] }
alloy-primitives = { version = "1.7", default-features = false, features = ["std", "k256", "rlp"] }
alloy-eips = { version = "2.5", default-features = false, features = ["std"] }
alloy-signer = { version = "2.5", default-features = false }
alloy-signer-local = { version = "2.5", default-features = false }
[profile.release]
lto = "thin"
overflow-checks = true
# The share verifier fills a 256 MiB cache; unoptimised tests would take minutes
[profile.dev.package.igneum-pow]
opt-level = 3
[profile.dev.package.kaspa-pow]
opt-level = 2
[profile.dev.package.kaspa-consensus-core]
opt-level = 2
[profile.dev.package.kaspa-hashes]
opt-level = 2
[profile.dev.package.kaspa-math]
opt-level = 2
[profile.dev.package.blake2b_simd]
opt-level = 2