Skip to content

Commit

Permalink
add a funding_stream_address_change_interval method
Browse files Browse the repository at this point in the history
  • Loading branch information
oxarbitrage committed Oct 1, 2024
1 parent abb3579 commit 9765f5a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
9 changes: 8 additions & 1 deletion zebra-chain/src/parameters/network/subsidy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,9 @@ pub trait ParameterSubsidy {

/// Returns the halving interval before Blossom
fn pre_blossom_halving_interval(&self) -> HeightDiff;

/// Returns the address change interval for funding streams
fn funding_stream_address_change_interval(&self) -> HeightDiff;
}

/// Network methods related to Block Subsidy and Funding Streams
Expand Down Expand Up @@ -427,6 +430,10 @@ impl ParameterSubsidy for Network {
Network::Testnet(params) => params.pre_blossom_halving_interval(),
}
}

fn funding_stream_address_change_interval(&self) -> HeightDiff {
self.post_blossom_halving_interval() / 48
}
}

/// List of addresses for the Zcash Foundation funding stream in the Mainnet.
Expand Down Expand Up @@ -536,7 +543,7 @@ pub fn funding_stream_address_period<N: ParameterSubsidy>(height: Height, networ
let height_after_first_halving = height - network.height_for_first_halving();

let address_period = (height_after_first_halving + network.post_blossom_halving_interval())
/ FUNDING_STREAM_ADDRESS_CHANGE_INTERVAL;
/ network.funding_stream_address_change_interval();

address_period
.try_into()
Expand Down
7 changes: 6 additions & 1 deletion zebra-chain/src/parameters/network/testnet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ use super::{
magic::Magic,
subsidy::{
FundingStreamReceiver, FundingStreamRecipient, FundingStreams, ParameterSubsidy,
FIRST_HALVING_TESTNET, POST_BLOSSOM_HALVING_INTERVAL, POST_NU6_FUNDING_STREAMS_MAINNET,
FIRST_HALVING_TESTNET, FUNDING_STREAM_ADDRESS_CHANGE_INTERVAL,
POST_BLOSSOM_HALVING_INTERVAL, POST_NU6_FUNDING_STREAMS_MAINNET,
POST_NU6_FUNDING_STREAMS_TESTNET, PRE_BLOSSOM_HALVING_INTERVAL,
PRE_BLOSSOM_REGTEST_HALVING_INTERVAL, PRE_NU6_FUNDING_STREAMS_MAINNET,
PRE_NU6_FUNDING_STREAMS_TESTNET,
Expand Down Expand Up @@ -66,6 +67,10 @@ impl ParameterSubsidy for TestnetParameterSubsidyImpl {
fn pre_blossom_halving_interval(&self) -> block::HeightDiff {
PRE_BLOSSOM_HALVING_INTERVAL
}

fn funding_stream_address_change_interval(&self) -> HeightDiff {
FUNDING_STREAM_ADDRESS_CHANGE_INTERVAL
}
}

/// Configurable funding stream recipient for configured Testnets.
Expand Down

0 comments on commit 9765f5a

Please sign in to comment.