Merge pull request #4524 from stacks-network/feat/add-pox-threshold-event-data

feat: add `pox_stx_threshold` amount to `/new_block` event data
This commit is contained in:
Matthew Little
2024-03-13 14:31:49 +00:00
committed by GitHub
3 changed files with 36 additions and 0 deletions

View File

@@ -1143,6 +1143,7 @@ mod tests {
stacked_amt: rand::thread_rng().next_u64() as u128,
weight: 1,
}]),
pox_ustx_threshold: None,
};
let stackers_response = GetStackersResponse {
stacker_set: stacker_set.clone(),

View File

@@ -511,6 +511,7 @@ impl RewardSetProvider for StubbedRewardSetProvider {
missed_reward_slots: vec![],
},
signers: None,
pox_ustx_threshold: None,
})
}

View File

@@ -213,6 +213,33 @@ fn hex_deserialize<'de, D: serde::Deserializer<'de>>(
Ok(bytes)
}
fn serialize_optional_u128_as_string<S>(
value: &Option<u128>,
serializer: S,
) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match value {
Some(v) => serializer.serialize_str(&v.to_string()),
None => serializer.serialize_none(),
}
}
fn deserialize_optional_u128_from_string<'de, D>(deserializer: D) -> Result<Option<u128>, D::Error>
where
D: serde::Deserializer<'de>,
{
let s: Option<String> = Option::deserialize(deserializer)?;
match s {
Some(str_val) => str_val
.parse::<u128>()
.map(Some)
.map_err(serde::de::Error::custom),
None => Ok(None),
}
}
fn serialize_u128_as_string<S>(value: &u128, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
@@ -248,6 +275,11 @@ pub struct RewardSet {
#[serde(skip_serializing_if = "Option::is_none", default)]
// only generated for nakamoto reward sets
pub signers: Option<Vec<NakamotoSignerEntry>>,
#[serde(
serialize_with = "serialize_optional_u128_as_string",
deserialize_with = "deserialize_optional_u128_from_string"
)]
pub pox_ustx_threshold: Option<u128>,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
@@ -280,6 +312,7 @@ impl RewardSet {
missed_reward_slots: vec![],
},
signers: None,
pox_ustx_threshold: None,
}
}
@@ -863,6 +896,7 @@ impl StacksChainState {
missed_reward_slots: missed_slots,
},
signers: signer_set,
pox_ustx_threshold: Some(threshold),
}
}