@@ -455,7 +455,7 @@ impl Signer {
455
455
if self . test_skip_block_broadcast ( b) {
456
456
return ;
457
457
}
458
- stacks_client . post_block_until_ok ( self , b) ;
458
+ self . handle_post_block ( stacks_client , b) ;
459
459
}
460
460
SignerMessage :: MockProposal ( mock_proposal) => {
461
461
let epoch = match stacks_client. get_node_epoch ( ) {
@@ -1528,12 +1528,11 @@ impl Signer {
1528
1528
}
1529
1529
1530
1530
fn broadcast_signed_block (
1531
- & self ,
1531
+ & mut self ,
1532
1532
stacks_client : & StacksClient ,
1533
1533
mut block : NakamotoBlock ,
1534
1534
addrs_to_sigs : & HashMap < StacksAddress , MessageSignature > ,
1535
1535
) {
1536
- let block_hash = block. header . signer_signature_hash ( ) ;
1537
1536
// collect signatures for the block
1538
1537
let signatures: Vec < _ > = self
1539
1538
. signer_addresses
@@ -1548,17 +1547,25 @@ impl Signer {
1548
1547
if self . test_skip_block_broadcast ( & block) {
1549
1548
return ;
1550
1549
}
1551
- debug ! (
1552
- "{self}: Broadcasting Stacks block {} to node" ,
1553
- & block. block_id( )
1554
- ) ;
1555
- stacks_client. post_block_until_ok ( self , & block) ;
1550
+ self . handle_post_block ( stacks_client, & block) ;
1551
+ }
1556
1552
1557
- if let Err ( e) = self
1558
- . signer_db
1559
- . set_block_broadcasted ( & block_hash, get_epoch_time_secs ( ) )
1560
- {
1561
- warn ! ( "{self}: Failed to set block broadcasted for {block_hash}: {e:?}" ) ;
1553
+ /// Attempt to post a block to the stacks-node and handle the result
1554
+ pub fn handle_post_block ( & mut self , stacks_client : & StacksClient , block : & NakamotoBlock ) {
1555
+ let block_hash = block. header . signer_signature_hash ( ) ;
1556
+ match stacks_client. post_block ( block) {
1557
+ Ok ( accepted) => {
1558
+ debug ! ( "{self}: Block {block_hash} accepted by stacks node: {accepted}" ) ;
1559
+ if let Err ( e) = self
1560
+ . signer_db
1561
+ . set_block_broadcasted ( & block_hash, get_epoch_time_secs ( ) )
1562
+ {
1563
+ warn ! ( "{self}: Failed to set block broadcasted for {block_hash}: {e:?}" ) ;
1564
+ }
1565
+ }
1566
+ Err ( e) => {
1567
+ warn ! ( "{self}: Failed to broadcast block {block_hash} to the node: {e}" )
1568
+ }
1562
1569
}
1563
1570
}
1564
1571
0 commit comments