@@ -26,13 +26,15 @@ use stacks::chainstate::burn::operations::{
2626 BlockstackOperationType ,
2727} ;
2828use stacks:: chainstate:: burn:: ConsensusHash ;
29+ use stacks:: chainstate:: coordinator:: PoxTransactionReward ;
2930use stacks:: chainstate:: stacks:: address:: PoxAddress ;
3031use stacks:: chainstate:: stacks:: boot:: {
3132 NakamotoSignerEntry , PoxStartCycleInfo , RewardSet , RewardSetData ,
3233} ;
3334use stacks:: chainstate:: stacks:: db:: { StacksBlockHeaderTypes , StacksHeaderInfo } ;
3435use stacks:: chainstate:: stacks:: events:: {
35- StacksBlockEventData , StacksTransactionEvent , StacksTransactionReceipt , TransactionOrigin ,
36+ BurnBlockEvent , BurnBlockEventRewardRecipient , StacksBlockEventData , StacksTransactionEvent ,
37+ StacksTransactionReceipt , TransactionOrigin ,
3638} ;
3739use stacks:: chainstate:: stacks:: miner:: TransactionEvent ;
3840use stacks:: chainstate:: stacks:: { StacksTransaction , TransactionPayload } ;
@@ -208,34 +210,28 @@ pub fn make_new_burn_block_payload(
208210 burn_block_height : u64 ,
209211 rewards : Vec < ( PoxAddress , u64 ) > ,
210212 burns : u64 ,
213+ pox_transactions : Vec < PoxTransactionReward > ,
211214 slot_holders : Vec < PoxAddress > ,
212215 consensus_hash : & ConsensusHash ,
213216 parent_burn_block_hash : & BurnchainHeaderHash ,
214217) -> serde_json:: Value {
215- let reward_recipients = rewards
216- . into_iter ( )
217- . map ( |( pox_addr, amt) | {
218- json ! ( {
219- "recipient" : pox_addr. to_b58( ) ,
220- "amt" : amt,
218+ serde_json:: to_value ( BurnBlockEvent {
219+ burn_block_hash : burn_block. clone ( ) ,
220+ burn_block_height,
221+ reward_recipients : rewards
222+ . into_iter ( )
223+ . map ( |( pox_addr, amt) | BurnBlockEventRewardRecipient {
224+ recipient : pox_addr. clone ( ) ,
225+ amt,
221226 } )
222- } )
223- . collect ( ) ;
224-
225- let reward_slot_holders = slot_holders
226- . into_iter ( )
227- . map ( |pox_addr| json ! ( pox_addr. to_b58( ) ) )
228- . collect ( ) ;
229-
230- json ! ( {
231- "burn_block_hash" : format!( "0x{burn_block}" ) ,
232- "burn_block_height" : burn_block_height,
233- "reward_recipients" : serde_json:: Value :: Array ( reward_recipients) ,
234- "reward_slot_holders" : serde_json:: Value :: Array ( reward_slot_holders) ,
235- "burn_amount" : burns,
236- "consensus_hash" : format!( "0x{consensus_hash}" ) ,
237- "parent_burn_block_hash" : format!( "0x{parent_burn_block_hash}" ) ,
227+ . collect ( ) ,
228+ reward_slot_holders : slot_holders,
229+ burn_amount : burns,
230+ consensus_hash : consensus_hash. clone ( ) ,
231+ parent_burn_block_hash : parent_burn_block_hash. clone ( ) ,
232+ pox_transactions,
238233 } )
234+ . expect ( "FATAL: Failed to serialized burn block payload" )
239235}
240236
241237const STATUS_RESP_TRUE : & str = "success" ;
0 commit comments