diff --git a/libsigner/src/session.rs b/libsigner/src/session.rs index 56658bf29..7aa779604 100644 --- a/libsigner/src/session.rs +++ b/libsigner/src/session.rs @@ -31,7 +31,7 @@ pub trait SignerSession { /// connect to the replica fn connect( &mut self, - host: String, + host: &str, stackerdb_contract_id: QualifiedContractIdentifier, ) -> Result<(), RPCError>; /// query the replica for a list of chunks @@ -75,12 +75,9 @@ pub struct StackerDBSession { impl StackerDBSession { /// instantiate but don't connect - pub fn new( - host: String, - stackerdb_contract_id: QualifiedContractIdentifier, - ) -> StackerDBSession { + pub fn new(host: &str, stackerdb_contract_id: QualifiedContractIdentifier) -> StackerDBSession { StackerDBSession { - host, + host: host.to_owned(), stackerdb_contract_id, sock: None, } @@ -134,10 +131,10 @@ impl SignerSession for StackerDBSession { /// connect to the replica fn connect( &mut self, - host: String, + host: &str, stackerdb_contract_id: QualifiedContractIdentifier, ) -> Result<(), RPCError> { - self.host = host; + self.host = host.to_owned(); self.stackerdb_contract_id = stackerdb_contract_id; self.connect_or_reconnect() } diff --git a/stacks-signer/src/client/stackerdb.rs b/stacks-signer/src/client/stackerdb.rs index 3fe8da8be..ecdba4676 100644 --- a/stacks-signer/src/client/stackerdb.rs +++ b/stacks-signer/src/client/stackerdb.rs @@ -53,7 +53,7 @@ pub struct StackerDB { impl From<&SignerConfig> for StackerDB { fn from(config: &SignerConfig) -> Self { StackerDB::new( - config.node_host.to_string(), + &config.node_host, config.stacks_private_key, config.mainnet, config.reward_cycle, @@ -64,7 +64,7 @@ impl From<&SignerConfig> for StackerDB { impl StackerDB { /// Create a new StackerDB client pub fn new( - host: String, + host: &str, stacks_private_key: StacksPrivateKey, is_mainnet: bool, reward_cycle: u64, @@ -76,7 +76,7 @@ impl StackerDB { signers_message_stackerdb_sessions.insert( msg_id, StackerDBSession::new( - host.to_string(), + host, QualifiedContractIdentifier::new( stackerdb_issuer.into(), ContractName::from( diff --git a/stacks-signer/src/main.rs b/stacks-signer/src/main.rs index f5c4fc5bd..9b2aabfda 100644 --- a/stacks-signer/src/main.rs +++ b/stacks-signer/src/main.rs @@ -62,9 +62,9 @@ struct SpawnedSigner { } /// Create a new stacker db session -fn stackerdb_session(host: String, contract: QualifiedContractIdentifier) -> StackerDBSession { - let mut session = StackerDBSession::new(host.to_string(), contract.clone()); - session.connect(host, contract).unwrap(); +fn stackerdb_session(host: &str, contract: QualifiedContractIdentifier) -> StackerDBSession { + let mut session = StackerDBSession::new(host, contract.clone()); + session.connect(&host, contract).unwrap(); session } @@ -159,28 +159,28 @@ fn process_sign_result(sign_res: &[OperationResult]) { fn handle_get_chunk(args: GetChunkArgs) { debug!("Getting chunk..."); - let mut session = stackerdb_session(args.db_args.host, args.db_args.contract); + let mut session = stackerdb_session(&args.db_args.host, args.db_args.contract); let chunk_opt = session.get_chunk(args.slot_id, args.slot_version).unwrap(); write_chunk_to_stdout(chunk_opt); } fn handle_get_latest_chunk(args: GetLatestChunkArgs) { debug!("Getting latest chunk..."); - let mut session = stackerdb_session(args.db_args.host, args.db_args.contract); + let mut session = stackerdb_session(&args.db_args.host, args.db_args.contract); let chunk_opt = session.get_latest_chunk(args.slot_id).unwrap(); write_chunk_to_stdout(chunk_opt); } fn handle_list_chunks(args: StackerDBArgs) { debug!("Listing chunks..."); - let mut session = stackerdb_session(args.host, args.contract); + let mut session = stackerdb_session(&args.host, args.contract); let chunk_list = session.list_chunks().unwrap(); println!("{}", serde_json::to_string(&chunk_list).unwrap()); } fn handle_put_chunk(args: PutChunkArgs) { debug!("Putting chunk..."); - let mut session = stackerdb_session(args.db_args.host, args.db_args.contract); + let mut session = stackerdb_session(&args.db_args.host, args.db_args.contract); let mut chunk = StackerDBChunkData::new(args.slot_id, args.slot_version, args.data); chunk.sign(&args.private_key).unwrap(); let chunk_ack = session.put_chunk(&chunk).unwrap(); diff --git a/testnet/stacks-node/src/nakamoto_node/miner.rs b/testnet/stacks-node/src/nakamoto_node/miner.rs index fcad415e1..98998d7c3 100644 --- a/testnet/stacks-node/src/nakamoto_node/miner.rs +++ b/testnet/stacks-node/src/nakamoto_node/miner.rs @@ -200,10 +200,8 @@ impl BlockMinerThread { Ok(Some(chunk)) => { // Propose the block to the observing signers through the .miners stackerdb instance let miner_contract_id = boot_code_id(MINERS_NAME, self.config.is_mainnet()); - let mut miners_stackerdb = StackerDBSession::new( - self.config.node.rpc_bind.to_string(), - miner_contract_id, - ); + let mut miners_stackerdb = + StackerDBSession::new(&self.config.node.rpc_bind, miner_contract_id); match miners_stackerdb.put_chunk(&chunk) { Ok(ack) => { info!("Proposed block to stackerdb: {ack:?}");