mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-01-12 22:43:42 +08:00
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:
@@ -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(),
|
||||
|
||||
@@ -511,6 +511,7 @@ impl RewardSetProvider for StubbedRewardSetProvider {
|
||||
missed_reward_slots: vec![],
|
||||
},
|
||||
signers: None,
|
||||
pox_ustx_threshold: None,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user