Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(drive): reduce withdrawal limits #2287

Draft
wants to merge 31 commits into
base: v1.8-dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6392c6a
chore(drive): reduce withdrawal limits
shumkov Oct 29, 2024
3d4db8d
Merge branch 'chore/dashmate/update-core-21.2-nightly' into new-core-…
shumkov Oct 29, 2024
a608e8b
chore: handle previous and new error during AU broadcasting
shumkov Oct 29, 2024
7f68c1f
Merge branch 'refs/heads/master' into chore/drive/increase-limit-and-…
shumkov Nov 1, 2024
61f3ce7
chore: introduce one more version
shumkov Nov 1, 2024
0470a6f
Merge branch 'chore/drive/increase-limit-and-signing' into new-core-a…
shumkov Nov 1, 2024
865226d
Merge branch 'chore/dashmate/update-core-21.2-nightly' into new-core-…
shumkov Nov 1, 2024
95b1b75
fix: error name
shumkov Nov 1, 2024
c60ee3a
Merge branch 'chore/drive/increase-limit-and-signing' into new-core-a…
shumkov Nov 1, 2024
2fd7340
fix: incorrect constant name
shumkov Nov 1, 2024
faf0978
revert: changes in v5
shumkov Nov 1, 2024
9888a60
Merge branch 'chore/drive/increase-limit-and-signing' into new-core-a…
shumkov Nov 1, 2024
5ad9462
chore(release): update changelog and bump version to 1.6.0-pr.2287.1 …
shumkov Nov 1, 2024
24177fa
feat: hardcoded identity transfers in strategy tests
pauldelucia Nov 4, 2024
99fe5fa
add comment
pauldelucia Nov 4, 2024
cee3098
Merge remote-tracking branch 'origin/v1.6-dev' into feat/hardcoded-id…
pauldelucia Nov 4, 2024
0d3e091
comment
pauldelucia Nov 5, 2024
e421514
use into_iter instead of iter
pauldelucia Nov 5, 2024
3d941ec
use current identities instead of hardcoded start identities
pauldelucia Nov 5, 2024
4bc0a65
let transfer keys be any security level or key type
pauldelucia Nov 5, 2024
dc48827
fix
pauldelucia Nov 5, 2024
cafda11
feat: hardcoded identity transfers in strategy tests (#2312)
pauldelucia Nov 5, 2024
b86f4e0
Merge branch 'v1.6-dev' of github.com:dashpay/platform into v1.6-dev
shumkov Nov 6, 2024
b21b4f1
chore: kick off CI
shumkov Nov 6, 2024
78ccacb
fix: unknown version error no platform version 6
shumkov Nov 6, 2024
b3d68cf
Merge branch 'v1.6-dev' into new-core-and-withdrawals
shumkov Nov 6, 2024
a9a6539
Merge branch 'chore/drive/increase-limit-and-signing' into new-core-a…
shumkov Nov 6, 2024
c2b4cea
Merge branch 'chore/dashmate/update-core-21.2-nightly' into new-core-…
shumkov Nov 6, 2024
97e0a55
Merge branch 'v1.7-dev' into new-core-and-withdrawals
shumkov Dec 12, 2024
7172866
chore: update version
shumkov Dec 12, 2024
f8aece8
Merge branch 'v1.7-dev' into new-core-and-withdrawals
shumkov Dec 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ use crate::ProtocolError;
use platform_version::version::PlatformVersion;

mod v0;
mod v1;

pub fn daily_withdrawal_limit(
total_credits_in_platform: Credits,
platform_version: &PlatformVersion,
) -> Result<Credits, ProtocolError> {
match platform_version.dpp.methods.daily_withdrawal_limit {
0 => Ok(daily_withdrawal_limit_v0(total_credits_in_platform)),
1 => Ok(v1::daily_withdrawal_limit_v1()),
v => Err(ProtocolError::UnknownVersionError(format!(
"Unknown daily_withdrawal_limit version {v}"
))),
Expand Down
12 changes: 12 additions & 0 deletions packages/rs-dpp/src/withdrawal/daily_withdrawal_limit/v1/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
use crate::fee::Credits;

/// Set constant withdrawal daily limit to 2000 Dash
///
/// # Returns
///
/// * `Credits`: The calculated daily withdrawal limit based on the available credits.
///
pub fn daily_withdrawal_limit_v1() -> Credits {
// 2000 Dash
200_000_000_000_000
}
shumkov marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -270,9 +270,13 @@ where
})?; // This is a system error

// Rebroadcast expired withdrawals if they exist
// We do that before we mark withdrawals as expired
// to rebroadcast them on the next block but not the same
// one
// TODO: It must be also only on core height change
shumkov marked this conversation as resolved.
Show resolved Hide resolved
self.rebroadcast_expired_withdrawal_documents(
&block_info,
&last_committed_platform_state,
last_committed_platform_state,
transaction,
platform_version,
)?;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use versioned_feature_core::FeatureVersion;

pub mod v1;
pub mod v2;

#[derive(Clone, Debug, Default)]
pub struct DPPMethodVersions {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
use crate::version::dpp_versions::dpp_method_versions::DPPMethodVersions;
pub const DPP_METHOD_VERSIONS_V2: DPPMethodVersions = DPPMethodVersions {
epoch_core_reward_credits_for_distribution: 0,
daily_withdrawal_limit: 1,
shumkov marked this conversation as resolved.
Show resolved Hide resolved
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use versioned_feature_core::{FeatureVersion, OptionalFeatureVersion};
pub mod v1;
pub mod v2;
pub mod v3;
pub mod v4;

#[derive(Clone, Debug, Default)]
pub struct DriveAbciMethodVersions {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
use crate::version::drive_abci_versions::drive_abci_method_versions::{
DriveAbciBlockEndMethodVersions, DriveAbciBlockFeeProcessingMethodVersions,
DriveAbciBlockStartMethodVersions, DriveAbciCoreBasedUpdatesMethodVersions,
DriveAbciCoreChainLockMethodVersionsAndConstants, DriveAbciCoreInstantSendLockMethodVersions,
DriveAbciEngineMethodVersions, DriveAbciEpochMethodVersions,
DriveAbciFeePoolInwardsDistributionMethodVersions,
DriveAbciFeePoolOutwardsDistributionMethodVersions,
DriveAbciIdentityCreditWithdrawalMethodVersions, DriveAbciInitializationMethodVersions,
DriveAbciMasternodeIdentitiesUpdatesMethodVersions, DriveAbciMethodVersions,
DriveAbciPlatformStateStorageMethodVersions, DriveAbciProtocolUpgradeMethodVersions,
DriveAbciStateTransitionProcessingMethodVersions, DriveAbciVotingMethodVersions,
};

pub const DRIVE_ABCI_METHOD_VERSIONS_V4: DriveAbciMethodVersions = DriveAbciMethodVersions {
engine: DriveAbciEngineMethodVersions {
init_chain: 0,
check_tx: 0,
run_block_proposal: 0,
finalize_block_proposal: 0,
consensus_params_update: 1,
},
initialization: DriveAbciInitializationMethodVersions {
initial_core_height_and_time: 0,
create_genesis_state: 0,
},
core_based_updates: DriveAbciCoreBasedUpdatesMethodVersions {
update_core_info: 0,
update_masternode_list: 0,
update_quorum_info: 0,
masternode_updates: DriveAbciMasternodeIdentitiesUpdatesMethodVersions {
get_voter_identity_key: 0,
get_operator_identity_keys: 0,
get_owner_identity_withdrawal_key: 0,
get_owner_identity_owner_key: 0,
get_voter_identifier_from_masternode_list_item: 0,
get_operator_identifier_from_masternode_list_item: 0,
create_operator_identity: 0,
create_owner_identity: 1,
create_voter_identity: 0,
disable_identity_keys: 0,
update_masternode_identities: 0,
update_operator_identity: 0,
update_owner_withdrawal_address: 1,
update_voter_identity: 0,
},
},
protocol_upgrade: DriveAbciProtocolUpgradeMethodVersions {
check_for_desired_protocol_upgrade: 1,
upgrade_protocol_version_on_epoch_change: 0,
perform_events_on_first_block_of_protocol_change: Some(0),
protocol_version_upgrade_percentage_needed: 67,
shumkov marked this conversation as resolved.
Show resolved Hide resolved
},
block_fee_processing: DriveAbciBlockFeeProcessingMethodVersions {
add_process_epoch_change_operations: 0,
process_block_fees: 0,
},
core_chain_lock: DriveAbciCoreChainLockMethodVersionsAndConstants {
choose_quorum: 0,
verify_chain_lock: 0,
verify_chain_lock_locally: 0,
verify_chain_lock_through_core: 0,
make_sure_core_is_synced_to_chain_lock: 0,
recent_block_count_amount: 2,
shumkov marked this conversation as resolved.
Show resolved Hide resolved
},
core_instant_send_lock: DriveAbciCoreInstantSendLockMethodVersions {
verify_recent_signature_locally: 0,
},
fee_pool_inwards_distribution: DriveAbciFeePoolInwardsDistributionMethodVersions {
add_distribute_block_fees_into_pools_operations: 0,
add_distribute_storage_fee_to_epochs_operations: 0,
},
fee_pool_outwards_distribution: DriveAbciFeePoolOutwardsDistributionMethodVersions {
add_distribute_fees_from_oldest_unpaid_epoch_pool_to_proposers_operations: 0,
add_epoch_pool_to_proposers_payout_operations: 0,
find_oldest_epoch_needing_payment: 0,
fetch_reward_shares_list_for_masternode: 0,
},
withdrawals: DriveAbciIdentityCreditWithdrawalMethodVersions {
build_untied_withdrawal_transactions_from_documents: 0,
dequeue_and_build_unsigned_withdrawal_transactions: 0,
fetch_transactions_block_inclusion_status: 0,
pool_withdrawals_into_transactions_queue: 1,
update_broadcasted_withdrawal_statuses: 0,
rebroadcast_expired_withdrawal_documents: 0,
append_signatures_and_broadcast_withdrawal_transactions: 0,
cleanup_expired_locks_of_withdrawal_amounts: 0,
},
voting: DriveAbciVotingMethodVersions {
keep_record_of_finished_contested_resource_vote_poll: 0,
clean_up_after_vote_poll_end: 0,
clean_up_after_contested_resources_vote_poll_end: 0,
check_for_ended_vote_polls: 0,
tally_votes_for_contested_document_resource_vote_poll: 0,
award_document_to_winner: 0,
delay_vote_poll: 0,
run_dao_platform_events: 0,
remove_votes_for_removed_masternodes: 0,
},
state_transition_processing: DriveAbciStateTransitionProcessingMethodVersions {
execute_event: 0,
process_raw_state_transitions: 0,
decode_raw_state_transitions: 0,
validate_fees_of_event: 0,
},
epoch: DriveAbciEpochMethodVersions {
gather_epoch_info: 0,
get_genesis_time: 0,
},
block_start: DriveAbciBlockStartMethodVersions {
clear_drive_block_cache: 0,
},
block_end: DriveAbciBlockEndMethodVersions {
update_state_cache: 0,
update_drive_cache: 0,
validator_set_update: 1,
},
platform_state_storage: DriveAbciPlatformStateStorageMethodVersions {
fetch_platform_state: 0,
store_platform_state: 0,
},
};
5 changes: 3 additions & 2 deletions packages/rs-platform-version/src/version/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
mod protocol_version;
use crate::version::v4::PROTOCOL_VERSION_4;
use crate::version::v5::PROTOCOL_VERSION_5;
pub use protocol_version::*;

mod consensus_versions;
Expand All @@ -16,8 +16,9 @@ pub mod v1;
pub mod v2;
pub mod v3;
pub mod v4;
pub mod v5;

pub type ProtocolVersion = u32;

pub const LATEST_VERSION: ProtocolVersion = PROTOCOL_VERSION_4;
pub const LATEST_VERSION: ProtocolVersion = PROTOCOL_VERSION_5;
pub const INITIAL_PROTOCOL_VERSION: ProtocolVersion = 1;
12 changes: 9 additions & 3 deletions packages/rs-platform-version/src/version/protocol_version.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ use crate::version::system_limits::SystemLimits;
use crate::version::v2::PLATFORM_V2;
use crate::version::v3::PLATFORM_V3;
use crate::version::v4::PLATFORM_V4;
use crate::version::v5::PLATFORM_V5;
use crate::version::ProtocolVersion;
pub use versioned_feature_core::*;

Expand All @@ -34,16 +35,21 @@ pub struct PlatformVersion {
pub system_limits: SystemLimits,
}

pub const PLATFORM_VERSIONS: &[PlatformVersion] =
&[PLATFORM_V1, PLATFORM_V2, PLATFORM_V3, PLATFORM_V4];
pub const PLATFORM_VERSIONS: &[PlatformVersion] = &[
PLATFORM_V1,
PLATFORM_V2,
PLATFORM_V3,
PLATFORM_V4,
PLATFORM_V5,
];

#[cfg(feature = "mock-versions")]
// We use OnceLock to be able to modify the version mocks
pub static PLATFORM_TEST_VERSIONS: OnceLock<Vec<PlatformVersion>> = OnceLock::new();
#[cfg(feature = "mock-versions")]
const DEFAULT_PLATFORM_TEST_VERSIONS: &[PlatformVersion] = &[TEST_PLATFORM_V2, TEST_PLATFORM_V3];

pub const LATEST_PLATFORM_VERSION: &PlatformVersion = &PLATFORM_V4;
pub const LATEST_PLATFORM_VERSION: &PlatformVersion = &PLATFORM_V5;

pub const DESIRED_PLATFORM_VERSION: &PlatformVersion = LATEST_PLATFORM_VERSION;

Expand Down
70 changes: 70 additions & 0 deletions packages/rs-platform-version/src/version/v5.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
use crate::version::consensus_versions::ConsensusVersions;
use crate::version::dpp_versions::dpp_asset_lock_versions::v1::DPP_ASSET_LOCK_VERSIONS_V1;
use crate::version::dpp_versions::dpp_contract_versions::v1::CONTRACT_VERSIONS_V1;
use crate::version::dpp_versions::dpp_costs_versions::v1::DPP_COSTS_VERSIONS_V1;
use crate::version::dpp_versions::dpp_document_versions::v1::DOCUMENT_VERSIONS_V1;
use crate::version::dpp_versions::dpp_factory_versions::v1::DPP_FACTORY_VERSIONS_V1;
use crate::version::dpp_versions::dpp_identity_versions::v1::IDENTITY_VERSIONS_V1;
use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1;

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dash-sdk) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dpp) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (drive) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dapi-grpc) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (drive-abci) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (rs-dapi-client) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default

Check warning on line 8 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (wasm-dpp) / Linting

unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1`

warning: unused import: `crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1` --> packages/rs-platform-version/src/version/v5.rs:8:5 | 8 | use crate::version::dpp_versions::dpp_method_versions::v1::DPP_METHOD_VERSIONS_V1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
use crate::version::dpp_versions::dpp_method_versions::v2::DPP_METHOD_VERSIONS_V2;
shumkov marked this conversation as resolved.
Show resolved Hide resolved
use crate::version::dpp_versions::dpp_state_transition_conversion_versions::v2::STATE_TRANSITION_CONVERSION_VERSIONS_V2;
use crate::version::dpp_versions::dpp_state_transition_method_versions::v1::STATE_TRANSITION_METHOD_VERSIONS_V1;
use crate::version::dpp_versions::dpp_state_transition_serialization_versions::v1::STATE_TRANSITION_SERIALIZATION_VERSIONS_V1;
use crate::version::dpp_versions::dpp_state_transition_versions::v2::STATE_TRANSITION_VERSIONS_V2;
use crate::version::dpp_versions::dpp_validation_versions::v2::DPP_VALIDATION_VERSIONS_V2;
use crate::version::dpp_versions::dpp_voting_versions::v2::VOTING_VERSION_V2;
use crate::version::dpp_versions::DPPVersion;
use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3;

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dash-sdk) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dpp) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (drive) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (dapi-grpc) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (drive-abci) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (rs-dapi-client) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 17 in packages/rs-platform-version/src/version/v5.rs

View workflow job for this annotation

GitHub Actions / Rust packages (wasm-dpp) / Linting

unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3`

warning: unused import: `crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3` --> packages/rs-platform-version/src/version/v5.rs:17:5 | 17 | use crate::version::drive_abci_versions::drive_abci_method_versions::v3::DRIVE_ABCI_METHOD_VERSIONS_V3; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
use crate::version::drive_abci_versions::drive_abci_method_versions::v4::DRIVE_ABCI_METHOD_VERSIONS_V4;
use crate::version::drive_abci_versions::drive_abci_query_versions::v1::DRIVE_ABCI_QUERY_VERSIONS_V1;
use crate::version::drive_abci_versions::drive_abci_structure_versions::v1::DRIVE_ABCI_STRUCTURE_VERSIONS_V1;
use crate::version::drive_abci_versions::drive_abci_validation_versions::v3::DRIVE_ABCI_VALIDATION_VERSIONS_V3;
use crate::version::drive_abci_versions::drive_abci_withdrawal_constants::v2::DRIVE_ABCI_WITHDRAWAL_CONSTANTS_V2;
use crate::version::drive_abci_versions::DriveAbciVersion;
use crate::version::drive_versions::v2::DRIVE_VERSION_V2;
use crate::version::fee::v1::FEE_VERSION1;
use crate::version::protocol_version::PlatformVersion;
use crate::version::system_data_contract_versions::v1::SYSTEM_DATA_CONTRACT_VERSIONS_V1;
use crate::version::system_limits::v1::SYSTEM_LIMITS_V1;
use crate::version::ProtocolVersion;

pub const PROTOCOL_VERSION_5: ProtocolVersion = 5;

/// This version contains some fixes for withdrawals.
pub const PLATFORM_V5: PlatformVersion = PlatformVersion {
protocol_version: PROTOCOL_VERSION_5,
drive: DRIVE_VERSION_V2,
drive_abci: DriveAbciVersion {
structs: DRIVE_ABCI_STRUCTURE_VERSIONS_V1,
// We changed `pool_withdrawals_into_transactions_queue` to v1 in order to add pool
// withdrawals on any validator quorums. v0 allowed us to pool only on the first two
// quorums as workaround for Core v21 bug.
methods: DRIVE_ABCI_METHOD_VERSIONS_V4,
validation_and_processing: DRIVE_ABCI_VALIDATION_VERSIONS_V3,
withdrawal_constants: DRIVE_ABCI_WITHDRAWAL_CONSTANTS_V2,
query: DRIVE_ABCI_QUERY_VERSIONS_V1,
},
dpp: DPPVersion {
costs: DPP_COSTS_VERSIONS_V1,
validation: DPP_VALIDATION_VERSIONS_V2,
state_transition_serialization_versions: STATE_TRANSITION_SERIALIZATION_VERSIONS_V1,
state_transition_conversion_versions: STATE_TRANSITION_CONVERSION_VERSIONS_V2,
state_transition_method_versions: STATE_TRANSITION_METHOD_VERSIONS_V1,
state_transitions: STATE_TRANSITION_VERSIONS_V2,
contract_versions: CONTRACT_VERSIONS_V1,
document_versions: DOCUMENT_VERSIONS_V1,
identity_versions: IDENTITY_VERSIONS_V1,
voting_versions: VOTING_VERSION_V2,
asset_lock_versions: DPP_ASSET_LOCK_VERSIONS_V1,
// We changed `daily_withdrawal_limit` to v1 to increase daily withdrawal limit
// to 2000 Dash.
methods: DPP_METHOD_VERSIONS_V2,
factory_versions: DPP_FACTORY_VERSIONS_V1,
},
system_data_contracts: SYSTEM_DATA_CONTRACT_VERSIONS_V1,
fee_version: FEE_VERSION1,
system_limits: SYSTEM_LIMITS_V1,
consensus: ConsensusVersions {
tenderdash_consensus_version: 1,
},
};
Loading