Skip to content

Commit

Permalink
CRC: Update host port and make contract ID into CLI arg instead of ju…
Browse files Browse the repository at this point in the history
…st name

Signed-off-by: Jacinta Ferrant <[email protected]>
  • Loading branch information
jferrant committed Sep 14, 2023
1 parent 41f6ddf commit bf36e96
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 68 deletions.
6 changes: 3 additions & 3 deletions stacks-signer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,14 @@ Start the signer and handle requests to sign messages and participate in DKG rou
Generate the necessary files to run a collection of signers to communicate via stacker-db.

```bash
./stacks-signer generate-files --num-signers <num_signers> --num-keys <num_keys> --network <network> --contract-name <contract_name> --host <host> --dir <dir>
./stacks-signer generate-files --host <host> --contract <contract> --num-signers <num_signers> --num-keys <num_keys> --network <network> --dir <dir>
```
- `--host`: The stacks node host to connect to.
- `--contract`: The contract ID of the StackerDB signer contract.
- `--num-signers`: The number of signers to generate configuration files for.
- `--num-keys`: The total number of key ids to distribute among the signers.
- `--private-keys:` A path to a file containing a list of hexadecimal representations of Stacks private keys. Required if `--num-keys` is not set.
- `--network`: The network to use. One of "mainnet" or "testnet".
- `--contract-name`: The contract name to give the generated stacker-db contract.
- `--host`: The stacks node host to connect to.
- `--dir`: The directory to write files to. Defaults to the current directory.

## Contributing
Expand Down
11 changes: 4 additions & 7 deletions stacks-signer/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ pub struct StackerDBArgs {
/// The Stacks node to connect to
#[arg(long)]
pub host: SocketAddr,
/// The stacker-db contract to use
/// The stacker-db contract to use. Must be in the format of "STACKS_ADDRESS.CONTRACT_NAME"
#[arg(short, long, value_parser = parse_contract)]
pub contract: QualifiedContractIdentifier,
}
Expand Down Expand Up @@ -120,6 +120,9 @@ pub struct RunDkgArgs {
#[derive(Parser, Debug, Clone)]
/// Arguments for the generate-files command
pub struct GenerateFilesArgs {
/// The base arguments
#[clap(flatten)]
pub db_args: StackerDBArgs,
#[arg(
long,
required_unless_present = "private_keys",
Expand All @@ -136,12 +139,6 @@ pub struct GenerateFilesArgs {
#[arg(long, value_parser = parse_network)]
/// The network to use. One of "mainnet" or "testnet".
pub network: Network,
#[arg(long)]
/// The name of the contract to use
pub contract_name: String,
#[arg(long)]
/// The stacks node host to use
pub host: SocketAddr,
/// The directory to write the test data files to
#[arg(long, default_value = ".")]
pub dir: PathBuf,
Expand Down
10 changes: 2 additions & 8 deletions stacks-signer/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,17 +157,11 @@ fn handle_generate_files(args: GenerateFilesArgs) {
.collect::<Vec<StacksAddress>>();
// Build the stackerdb contract
let stackerdb_contract = build_stackerdb_contract(&signer_stacks_addresses);
debug!("Stacker DB Contract: {}", &stackerdb_contract);
let contract_id = QualifiedContractIdentifier::new(
signer_stacks_addresses[0].into(),
args.contract_name.as_str().into(),
);
debug!("Contract ID: {}", contract_id);
let signer_config_tomls = build_signer_config_tomls(
&signer_stacks_private_keys,
args.num_keys,
&args.host.to_string(),
&contract_id.to_string(),
&args.db_args.host.to_string(),
&args.db_args.contract.to_string(),
);
debug!("Built {:?} signer config tomls.", signer_config_tomls.len());
for (i, file_contents) in signer_config_tomls.iter().enumerate() {
Expand Down
18 changes: 9 additions & 9 deletions stacks-signer/src/tests/conf/signer-0.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@

message_private_key = "CosqumxnRfykP24DdUCDEEMZ2qCwHPUyBy21Qf55EPKJ"
stacks_private_key = "8a99f02ddede302a0e9fbb4eb4ef1bd587a9c076f67230c3e7a62a9d78d34d0401"
node_host = "127.0.0.1:20444"
message_private_key = "2ZCxUV9BAKJrGnTPaamKHb4HVgj9ArQgEhowuTe7uRt3"
stacks_private_key = "69be0e68947fa7128702761151dc8d9b39ee1401e547781bb2ec3e5b4eb1b36f01"
node_host = "127.0.0.1:20443"
endpoint = "localhost:30000"
network = "testnet"
stackerdb_contract_id = "ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC.signers-stackerdb"
stackerdb_contract_id = "ST11Z60137Y96MF89K1KKRTA3CR6B25WY1Y931668.signers-stackerdb"
signer_id = 0
signers = [
{public_key = "y2ZGH2FdFYXCP5Tm2y8yGAR6LB2j3yVUTaV4QpbtC7xm", key_ids = [1, 2, 3, 4]}
{public_key = "swBaKxfzs4pQne7spxhrkF6AtB34WEcreAkJ8mPcqx3t", key_ids = [1, 2, 3, 4]}
,
{public_key = "24z7XAnx99SAbeQekcoAM5jQvDyvErF7pSGxNJ9Mqu5uy", key_ids = [5, 6, 7, 8]}
{public_key = "yDJhntuJczbss1XGDmyWtG9Wpw5NDqoBBnedxmyhKiFN", key_ids = [5, 6, 7, 8]}
,
{public_key = "eAsVpTz66qN687yzRPrVosyWhMxewd6rfCC2tt4fDGDf", key_ids = [9, 10, 11, 12]}
{public_key = "xNVCph6zd7HLLJcuwrWz1gNbFoPHjXxn7cyRvvTYhP3U", key_ids = [9, 10, 11, 12]}
,
{public_key = "2BYKuG6a2jizKaoJJFvdyJc8WFqhBu3oZYuxGHCAt8Pgd", key_ids = [13, 14, 15, 16]}
{public_key = "p2wFfLEbwGCmxCR5eGa46Ct6i3BVjFrvBixRn7FnCQjA", key_ids = [13, 14, 15, 16]}
,
{public_key = "cHMPeNTruE17rvvQ1LhD7m9QCna4KZZCYgsAUbkrWHU4", key_ids = [17, 18, 19, 20]}
{public_key = "26jpUNnJPvzDJRJg3hfBn5s5MR4eQ4LLTokjrSDzByh4i", key_ids = [17, 18, 19, 20]}
]
18 changes: 9 additions & 9 deletions stacks-signer/src/tests/conf/signer-1.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@

message_private_key = "2KA3ArTdW8NhqMzaZUG5RXo5RgPWx5PRwuLdiZamZ6du"
stacks_private_key = "2136d9374c3aff76808be7917a8c66a30b07d7d5a56a42fedb23cb90c038114e01"
node_host = "127.0.0.1:20444"
message_private_key = "vZTMaCTufQ9YtZPUcqqKRgbxWWkLTxU5iySooPw81D1"
stacks_private_key = "fd5a538e8548e9d6a4a4060a43d0142356df022a4b8fd8ed4a7d0663825f8d2c01"
node_host = "127.0.0.1:20443"
endpoint = "localhost:30001"
network = "testnet"
stackerdb_contract_id = "ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC.signers-stackerdb"
stackerdb_contract_id = "ST11Z60137Y96MF89K1KKRTA3CR6B25WY1Y931668.signers-stackerdb"
signer_id = 1
signers = [
{public_key = "y2ZGH2FdFYXCP5Tm2y8yGAR6LB2j3yVUTaV4QpbtC7xm", key_ids = [1, 2, 3, 4]}
{public_key = "swBaKxfzs4pQne7spxhrkF6AtB34WEcreAkJ8mPcqx3t", key_ids = [1, 2, 3, 4]}
,
{public_key = "24z7XAnx99SAbeQekcoAM5jQvDyvErF7pSGxNJ9Mqu5uy", key_ids = [5, 6, 7, 8]}
{public_key = "yDJhntuJczbss1XGDmyWtG9Wpw5NDqoBBnedxmyhKiFN", key_ids = [5, 6, 7, 8]}
,
{public_key = "eAsVpTz66qN687yzRPrVosyWhMxewd6rfCC2tt4fDGDf", key_ids = [9, 10, 11, 12]}
{public_key = "xNVCph6zd7HLLJcuwrWz1gNbFoPHjXxn7cyRvvTYhP3U", key_ids = [9, 10, 11, 12]}
,
{public_key = "2BYKuG6a2jizKaoJJFvdyJc8WFqhBu3oZYuxGHCAt8Pgd", key_ids = [13, 14, 15, 16]}
{public_key = "p2wFfLEbwGCmxCR5eGa46Ct6i3BVjFrvBixRn7FnCQjA", key_ids = [13, 14, 15, 16]}
,
{public_key = "cHMPeNTruE17rvvQ1LhD7m9QCna4KZZCYgsAUbkrWHU4", key_ids = [17, 18, 19, 20]}
{public_key = "26jpUNnJPvzDJRJg3hfBn5s5MR4eQ4LLTokjrSDzByh4i", key_ids = [17, 18, 19, 20]}
]
18 changes: 9 additions & 9 deletions stacks-signer/src/tests/conf/signer-2.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@

message_private_key = "5PsUp2Sn21DeXNH45eUiUsea6Abne7xcBzSM1PCVZzLf"
stacks_private_key = "e7db7cb2e44693041ce195b37cc77d2373f957fd505f769cb26465cd91a518d801"
node_host = "127.0.0.1:20444"
message_private_key = "BZNqcMp82XykQ2z6NLc2h5cTJpPcLQ9AuKVtG4Ut7FY3"
stacks_private_key = "74e8e8550a5210b89461128c600e4bf611d1553e6809308bc012dbb0fbb4818d01"
node_host = "127.0.0.1:20443"
endpoint = "localhost:30002"
network = "testnet"
stackerdb_contract_id = "ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC.signers-stackerdb"
stackerdb_contract_id = "ST11Z60137Y96MF89K1KKRTA3CR6B25WY1Y931668.signers-stackerdb"
signer_id = 2
signers = [
{public_key = "y2ZGH2FdFYXCP5Tm2y8yGAR6LB2j3yVUTaV4QpbtC7xm", key_ids = [1, 2, 3, 4]}
{public_key = "swBaKxfzs4pQne7spxhrkF6AtB34WEcreAkJ8mPcqx3t", key_ids = [1, 2, 3, 4]}
,
{public_key = "24z7XAnx99SAbeQekcoAM5jQvDyvErF7pSGxNJ9Mqu5uy", key_ids = [5, 6, 7, 8]}
{public_key = "yDJhntuJczbss1XGDmyWtG9Wpw5NDqoBBnedxmyhKiFN", key_ids = [5, 6, 7, 8]}
,
{public_key = "eAsVpTz66qN687yzRPrVosyWhMxewd6rfCC2tt4fDGDf", key_ids = [9, 10, 11, 12]}
{public_key = "xNVCph6zd7HLLJcuwrWz1gNbFoPHjXxn7cyRvvTYhP3U", key_ids = [9, 10, 11, 12]}
,
{public_key = "2BYKuG6a2jizKaoJJFvdyJc8WFqhBu3oZYuxGHCAt8Pgd", key_ids = [13, 14, 15, 16]}
{public_key = "p2wFfLEbwGCmxCR5eGa46Ct6i3BVjFrvBixRn7FnCQjA", key_ids = [13, 14, 15, 16]}
,
{public_key = "cHMPeNTruE17rvvQ1LhD7m9QCna4KZZCYgsAUbkrWHU4", key_ids = [17, 18, 19, 20]}
{public_key = "26jpUNnJPvzDJRJg3hfBn5s5MR4eQ4LLTokjrSDzByh4i", key_ids = [17, 18, 19, 20]}
]
18 changes: 9 additions & 9 deletions stacks-signer/src/tests/conf/signer-3.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@

message_private_key = "78WZR12DxgbtCpTr7cUYFL1mWnVNJrwG8hWTvAMa1tHQ"
stacks_private_key = "a7ade2a5189f79161e02a6c2f4dab325fef2a5a74890d4ff0c0d1721786f920e01"
node_host = "127.0.0.1:20444"
message_private_key = "3fMkii13QRwRqrwgcLtxmAAcqCfGwpY3ANZLYMWD8qUj"
stacks_private_key = "803fa7b9c8a39ed368f160b3dcbfaa8f677fc157ffbccb46ee3e4a32a37f12d201"
node_host = "127.0.0.1:20443"
endpoint = "localhost:30003"
network = "testnet"
stackerdb_contract_id = "ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC.signers-stackerdb"
stackerdb_contract_id = "ST11Z60137Y96MF89K1KKRTA3CR6B25WY1Y931668.signers-stackerdb"
signer_id = 3
signers = [
{public_key = "y2ZGH2FdFYXCP5Tm2y8yGAR6LB2j3yVUTaV4QpbtC7xm", key_ids = [1, 2, 3, 4]}
{public_key = "swBaKxfzs4pQne7spxhrkF6AtB34WEcreAkJ8mPcqx3t", key_ids = [1, 2, 3, 4]}
,
{public_key = "24z7XAnx99SAbeQekcoAM5jQvDyvErF7pSGxNJ9Mqu5uy", key_ids = [5, 6, 7, 8]}
{public_key = "yDJhntuJczbss1XGDmyWtG9Wpw5NDqoBBnedxmyhKiFN", key_ids = [5, 6, 7, 8]}
,
{public_key = "eAsVpTz66qN687yzRPrVosyWhMxewd6rfCC2tt4fDGDf", key_ids = [9, 10, 11, 12]}
{public_key = "xNVCph6zd7HLLJcuwrWz1gNbFoPHjXxn7cyRvvTYhP3U", key_ids = [9, 10, 11, 12]}
,
{public_key = "2BYKuG6a2jizKaoJJFvdyJc8WFqhBu3oZYuxGHCAt8Pgd", key_ids = [13, 14, 15, 16]}
{public_key = "p2wFfLEbwGCmxCR5eGa46Ct6i3BVjFrvBixRn7FnCQjA", key_ids = [13, 14, 15, 16]}
,
{public_key = "cHMPeNTruE17rvvQ1LhD7m9QCna4KZZCYgsAUbkrWHU4", key_ids = [17, 18, 19, 20]}
{public_key = "26jpUNnJPvzDJRJg3hfBn5s5MR4eQ4LLTokjrSDzByh4i", key_ids = [17, 18, 19, 20]}
]
18 changes: 9 additions & 9 deletions stacks-signer/src/tests/conf/signer-4.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@

message_private_key = "25sCKA2hhrbYLR9U7RfKtL4hWQiY9cdmntCDww5SB9HA"
stacks_private_key = "61a2e31072a9cec9b1e5950d7d63e69a8b0e049a7eab43bc5918f7bb1bed8aa601"
node_host = "127.0.0.1:20444"
message_private_key = "9hn4j7pm37WyG6WMX25dn8j8v8E2uyTCDRPNrucjDWn1"
stacks_private_key = "1bfdf386114aacf355fe018a1ec7ac728fa05ca20a6131a70f686291bb9b31ca01"
node_host = "127.0.0.1:20443"
endpoint = "localhost:30004"
network = "testnet"
stackerdb_contract_id = "ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC.signers-stackerdb"
stackerdb_contract_id = "ST11Z60137Y96MF89K1KKRTA3CR6B25WY1Y931668.signers-stackerdb"
signer_id = 4
signers = [
{public_key = "y2ZGH2FdFYXCP5Tm2y8yGAR6LB2j3yVUTaV4QpbtC7xm", key_ids = [1, 2, 3, 4]}
{public_key = "swBaKxfzs4pQne7spxhrkF6AtB34WEcreAkJ8mPcqx3t", key_ids = [1, 2, 3, 4]}
,
{public_key = "24z7XAnx99SAbeQekcoAM5jQvDyvErF7pSGxNJ9Mqu5uy", key_ids = [5, 6, 7, 8]}
{public_key = "yDJhntuJczbss1XGDmyWtG9Wpw5NDqoBBnedxmyhKiFN", key_ids = [5, 6, 7, 8]}
,
{public_key = "eAsVpTz66qN687yzRPrVosyWhMxewd6rfCC2tt4fDGDf", key_ids = [9, 10, 11, 12]}
{public_key = "xNVCph6zd7HLLJcuwrWz1gNbFoPHjXxn7cyRvvTYhP3U", key_ids = [9, 10, 11, 12]}
,
{public_key = "2BYKuG6a2jizKaoJJFvdyJc8WFqhBu3oZYuxGHCAt8Pgd", key_ids = [13, 14, 15, 16]}
{public_key = "p2wFfLEbwGCmxCR5eGa46Ct6i3BVjFrvBixRn7FnCQjA", key_ids = [13, 14, 15, 16]}
,
{public_key = "cHMPeNTruE17rvvQ1LhD7m9QCna4KZZCYgsAUbkrWHU4", key_ids = [17, 18, 19, 20]}
{public_key = "26jpUNnJPvzDJRJg3hfBn5s5MR4eQ4LLTokjrSDzByh4i", key_ids = [17, 18, 19, 20]}
]
10 changes: 5 additions & 5 deletions stacks-signer/src/tests/contracts/signers-stackerdb.clar
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
(define-read-only (stackerdb-get-signer-slots)
(ok (list
{
signer: 'ST1RER7KAS4Q81ZTCA025SVSNZ73444NHG4D7BKWC,
signer: 'ST24GDPTR7D9G3GFRR233JMWSD9HA296EXXG5XVGA,
num-slots: u10
}
{
signer: 'ST3WM0P0EWTVRA1EDWS9YFGDKV2A6A8N9TFANTSV9,
signer: 'ST1MR26HR7MMDE847BE2QC1CTNQY4WKN9XDKNPEP3,
num-slots: u10
}
{
signer: 'ST2411R5HEBCKFQ8YKRANVFAJ8B6QNPEG9WHHP5TX,
signer: 'ST110M4DRDXX2RF3W8EY1HCRQ25CS24PGY22DZ004,
num-slots: u10
}
{
signer: 'ST3N2XTMKWPWCGE3MC8EMDEP0C9CRB728M4EDZDNZ,
signer: 'ST69990VH3BVCV39QWT6CJAVVA9QPB1715HTSN75,
num-slots: u10
}
{
signer: 'ST2NHTSBDFQRJSCBKHFRWG5C0DS22G357CNQE1ZQ,
signer: 'STCZSBZJK6C3MMAAW9N9RHSDKRKB9AKGJ2JMVDKN,
num-slots: u10
}
)))
Expand Down

0 comments on commit bf36e96

Please sign in to comment.