Skip to main content

platform_version/version/fee/
v3.rs

1use crate::version::fee::data_contract_registration::v3::FEE_DATA_CONTRACT_REGISTRATION_VERSION3;
2use crate::version::fee::document_reference::v1::FEE_DOCUMENT_REFERENCE_VERSION1;
3use crate::version::fee::document_ttl::v1::FEE_DOCUMENT_TTL_VERSION1;
4use crate::version::fee::v2::FEE_VERSION2;
5use crate::version::fee::vote_resolution_fund_fees::v2::VOTE_RESOLUTION_FUND_FEES_VERSION2;
6use crate::version::fee::FeeVersion;
7
8/// Introduced in protocol version 14 (4.2).
9pub const FEE_VERSION3: FeeVersion = FeeVersion {
10    // Contested contributions use the active protocol, so unchanged storage
11    // rates retain the historical fee_version_number inherited from FEE_VERSION2.
12    vote_resolution_fund_fees: VOTE_RESOLUTION_FUND_FEES_VERSION2,
13    // Tokens with a once-per-identity distribution pay a registration surcharge.
14    data_contract_registration: FEE_DATA_CONTRACT_REGISTRATION_VERSION3,
15    // Documents of a type declaring a `ttl` (new in protocol version 14) pay the
16    // tiered lifetime price and prepay their deletion; FEE_VERSION2 carries the same
17    // group, unread before 14, so the table is spelled out here where it takes effect.
18    document_ttl: FEE_DOCUMENT_TTL_VERSION1,
19    // The budget of a `chooseFirst` competitor scan (new in protocol version 14), which check
20    // tx reserves; FEE_VERSION2 carries the same group, unread before 14.
21    document_reference: FEE_DOCUMENT_REFERENCE_VERSION1,
22    ..FEE_VERSION2
23};