Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
145 changes: 71 additions & 74 deletions Cargo.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/rs-dapi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ prometheus = "0.14"
once_cell = "1.19"

# Dash Core RPC client
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812" }

rs-dash-event-bus = { path = "../rs-dash-event-bus" }

Expand Down
17 changes: 6 additions & 11 deletions packages/rs-dpp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ chrono = { version = "0.4.35", default-features = false, features = [
] }
chrono-tz = { version = "0.8", optional = true }
ciborium = { version = "0.2.2", optional = true }
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce", features = [
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812", features = [
"std",
"secp-recovery",
"rand",
"signer",
"serde",
"eddsa",
], default-features = false }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce", optional = true }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce", optional = true }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce", optional = true }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "e7792c431c55c0d28efb0344b3a1948f576be5ce", optional = true }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812", optional = true }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812", optional = true }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812", optional = true }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "852431229405e91004cc891cb4f676eafed68812", optional = true }

env_logger = { version = "0.11" }
getrandom = { version = "0.2", features = ["js"] }
Expand All @@ -48,8 +48,7 @@ jsonschema = { git = "https://github.com/dashpay/jsonschema-rs", branch = "confi
], optional = true }
lazy_static = { version = "1.4" }
num_enum = "0.7"
bincode = { version = "=2.0.0-rc.3", features = ["serde"] }
bincode_derive = { version = "=2.0.0-rc.3" }
bincode = { version = "=2.0.1", features = ["serde"] }
rand = { version = "0.8.5", features = ["small_rng"] }
regex = { version = "1.10.4" }
serde = { version = "1.0.219", features = ["derive"] }
Expand Down Expand Up @@ -330,7 +329,3 @@ token-reward-explanations = ["dep:chrono-tz"]

factories = []
client = ["factories", "state-transitions"]

[package.metadata.cargo-machete]
# bincode_derive is referenced here to ensure that we use correct version =2.0.0-rc.3; otherwise it gets updated to 2.0.1
ignored = ["bincode_derive"]
2 changes: 1 addition & 1 deletion packages/rs-dpp/src/address_funds/fee_strategy/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ pub mod deduct_fee_from_inputs_and_outputs;

pub use deduct_fee_from_inputs_and_outputs::FeeDeductionResult;

use bincode_derive::{Decode, Encode};
use bincode::{Decode, Encode};
#[cfg(feature = "state-transition-serde-conversion")]
use serde::{Deserialize, Serialize};

Expand Down
10 changes: 6 additions & 4 deletions packages/rs-dpp/src/address_funds/witness.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ impl Encode for AddressWitness {
}
}

impl Decode for AddressWitness {
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
impl<C> Decode<C> for AddressWitness {
fn decode<D: Decoder<Context = C>>(decoder: &mut D) -> Result<Self, DecodeError> {
let discriminant = u8::decode(decoder)?;
match discriminant {
0 => {
Expand All @@ -77,8 +77,10 @@ impl Decode for AddressWitness {
}
}

impl<'de> bincode::BorrowDecode<'de> for AddressWitness {
fn borrow_decode<D: BorrowDecoder<'de>>(decoder: &mut D) -> Result<Self, DecodeError> {
impl<'de, C> bincode::BorrowDecode<'de, C> for AddressWitness {
fn borrow_decode<D: BorrowDecoder<'de, Context = C>>(
decoder: &mut D,
) -> Result<Self, DecodeError> {
let discriminant = u8::borrow_decode(decoder)?;
match discriminant {
0 => {
Expand Down
8 changes: 4 additions & 4 deletions packages/rs-dpp/src/block/epoch/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,17 +96,17 @@ impl<'de> Deserialize<'de> for Epoch {
}
}

impl Decode for Epoch {
fn decode<D: bincode::de::Decoder>(
impl<C> Decode<C> for Epoch {
fn decode<D: bincode::de::Decoder<Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
let index = EpochIndex::decode(decoder)?;
Epoch::new(index).map_err(|e| bincode::error::DecodeError::OtherString(e.to_string()))
}
}

impl<'de> BorrowDecode<'de> for Epoch {
fn borrow_decode<D: bincode::de::BorrowDecoder<'de>>(
impl<'de, C> BorrowDecode<'de, C> for Epoch {
fn borrow_decode<D: bincode::de::BorrowDecoder<'de, Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
let index = EpochIndex::borrow_decode(decoder)?;
Expand Down
4 changes: 2 additions & 2 deletions packages/rs-dpp/src/core_types/validator/v0/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ impl Encode for ValidatorV0 {
}

#[cfg(feature = "core-types-serialization")]
impl Decode for ValidatorV0 {
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
impl<C> Decode<C> for ValidatorV0 {
fn decode<D: Decoder<Context = C>>(decoder: &mut D) -> Result<Self, DecodeError> {
// Decode each field in the same order as they were encoded

// Decode ProTxHash
Expand Down
14 changes: 9 additions & 5 deletions packages/rs-dpp/src/core_types/validator_set/v0/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::bls_signatures::PublicKey as BlsPublicKey;
use crate::core_types::validator::v0::ValidatorV0;
#[cfg(feature = "core-types-serialization")]
use bincode::de::Decoder;
use bincode::de::{BorrowDecoder, Decoder};
#[cfg(feature = "core-types-serialization")]
use bincode::enc::Encoder;
#[cfg(feature = "core-types-serialization")]
Expand Down Expand Up @@ -95,8 +95,10 @@ impl Encode for ValidatorSetV0 {
}

#[cfg(feature = "core-types-serialization")]
impl Decode for ValidatorSetV0 {
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, bincode::error::DecodeError> {
impl<C> Decode<C> for ValidatorSetV0 {
fn decode<D: Decoder<Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
// Decode the quorum hash directly as a [u8; 32] array
let quorum_hash = <[u8; 32]>::decode(decoder)?;
let quorum_index = Option::<u32>::decode(decoder)?;
Expand Down Expand Up @@ -139,8 +141,10 @@ impl Decode for ValidatorSetV0 {
}

#[cfg(feature = "core-types-serialization")]
impl BorrowDecode<'_> for ValidatorSetV0 {
fn borrow_decode<D: Decoder>(decoder: &mut D) -> Result<Self, bincode::error::DecodeError> {
impl<'de, C> BorrowDecode<'de, C> for ValidatorSetV0 {
fn borrow_decode<D: BorrowDecoder<'de, Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
// Decode each field in the same order as they were encoded

// Decode the quorum hash directly as a [u8; 32] array
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ impl Encode for DistributionFunction {
}
}

impl Decode for DistributionFunction {
fn decode<D: bincode::de::Decoder>(
impl<C> Decode<C> for DistributionFunction {
fn decode<D: bincode::de::Decoder<Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
let variant = u8::decode(decoder)?;
Expand Down Expand Up @@ -301,8 +301,8 @@ impl Decode for DistributionFunction {
}
}

impl<'de> BorrowDecode<'de> for DistributionFunction {
fn borrow_decode<D: bincode::de::BorrowDecoder<'de>>(
impl<'de, C> BorrowDecode<'de, C> for DistributionFunction {
fn borrow_decode<D: bincode::de::BorrowDecoder<'de, Context = C>>(
decoder: &mut D,
) -> Result<Self, bincode::error::DecodeError> {
let variant = u8::borrow_decode(decoder)?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ impl PlatformVersionEncode for ExtendedDocument {
}

impl PlatformVersionedDecode for ExtendedDocument {
fn platform_versioned_decode<D: bincode::de::Decoder>(
fn platform_versioned_decode<D: bincode::de::Decoder<Context = ()>>(
decoder: &mut D,
platform_version: &PlatformVersion,
) -> Result<Self, bincode::error::DecodeError> {
Expand Down
10 changes: 6 additions & 4 deletions packages/rs-dpp/src/identity/core_script.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,18 @@ impl Encode for CoreScript {
}

// Implement the bincode::Decode trait for CoreScript
impl Decode for CoreScript {
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
impl<C> Decode<C> for CoreScript {
fn decode<D: Decoder<Context = C>>(decoder: &mut D) -> Result<Self, DecodeError> {
let bytes = Vec::<u8>::decode(decoder)?;
// Create a CoreScript instance using the decoded DashCoreScript
Ok(CoreScript(ScriptBuf(bytes)))
}
}

impl<'de> BorrowDecode<'de> for CoreScript {
fn borrow_decode<D: BorrowDecoder<'de>>(decoder: &mut D) -> Result<Self, DecodeError> {
impl<'de, C> BorrowDecode<'de, C> for CoreScript {
fn borrow_decode<D: BorrowDecoder<'de, Context = C>>(
decoder: &mut D,
) -> Result<Self, DecodeError> {
// Read the serialized bytes from the decoder into a Vec<u8>
let mut bytes = Vec::new();
loop {
Expand Down
2 changes: 2 additions & 0 deletions packages/rs-dpp/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ pub mod prelude {
}

pub use bincode;
pub use bincode::enc::Encode;
#[cfg(feature = "bls-signatures")]
pub use dashcore::blsful as bls_signatures;
#[cfg(feature = "ed25519-dalek")]
Expand All @@ -140,4 +141,5 @@ pub use data_contracts;
#[cfg(feature = "jsonschema")]
pub use jsonschema;
pub use platform_serialization;
pub use platform_serialization::de::{BorrowDecode, Decode, DefaultBorrowDecode, DefaultDecode};
pub use platform_value;
2 changes: 1 addition & 1 deletion packages/rs-dpp/src/tokens/gas_fees_paid_by.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use crate::consensus::basic::data_contract::UnknownGasFeesPaidByError;
use crate::consensus::basic::BasicError;
use crate::consensus::ConsensusError;
use crate::ProtocolError;
use bincode_derive::{Decode, Encode};
use bincode::{Decode, Encode};
use derive_more::Display;
#[cfg(any(
feature = "state-transition-serde-conversion",
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-dpp/src/tokens/token_payment_info/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ use crate::tokens::token_payment_info::methods::v0::TokenPaymentInfoMethodsV0;
use crate::tokens::token_payment_info::v0::v0_accessors::TokenPaymentInfoAccessorsV0;
use crate::tokens::token_payment_info::v0::TokenPaymentInfoV0;
use crate::ProtocolError;
use bincode_derive::{Decode, Encode};
use bincode::{Decode, Encode};
use derive_more::{Display, From};
use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize};
use platform_value::btreemap_extensions::BTreeValueMapHelper;
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-dpp/src/tokens/token_payment_info/v0/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::data_contract::TokenContractPosition;
use crate::tokens::gas_fees_paid_by::GasFeesPaidBy;
use crate::tokens::token_payment_info::v0::v0_accessors::TokenPaymentInfoAccessorsV0;
use crate::ProtocolError;
use bincode_derive::{Decode, Encode};
use bincode::{Decode, Encode};
use derive_more::Display;
use platform_value::btreemap_extensions::BTreeValueRemoveFromMapHelper;
use platform_value::{Identifier, Value};
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-dpp/src/tokens/token_pricing_schedule.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::balances::credits::TokenAmount;
use crate::errors::ProtocolError;
use crate::fee::Credits;
use bincode_derive::{Decode, Encode};
use bincode::{Decode, Encode};
use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize};
#[cfg(feature = "state-transition-serde-conversion")]
use serde::{Deserialize, Serialize};
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-drive-abci/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ license = "MIT"

[dependencies]
arc-swap = "1.7.0"
bincode = { version = "=2.0.0-rc.3", features = ["serde"] }
bincode = { version = "=2.0.1", features = ["serde"] }
ciborium = { version = "0.2.2" }
chrono = "0.4.35"
serde = { version = "1.0.219", features = ["derive"] }
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-drive-proof-verifier/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ dpp = { path = "../rs-dpp", features = [
dash-context-provider = { path = "../rs-context-provider", features = [
"mocks",
] }
bincode = { version = "=2.0.0-rc.3", features = ["serde"] }
bincode = { version = "=2.0.1", features = ["serde"] }
platform-serialization-derive = { path = "../rs-platform-serialization-derive", optional = true }
platform-serialization = { path = "../rs-platform-serialization" }
tenderdash-abci = { git = "https://github.com/dashpay/rs-tenderdash-abci", tag = "v1.5.0-dev.2", features = [
Expand Down
4 changes: 2 additions & 2 deletions packages/rs-drive-proof-verifier/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ impl PlatformVersionEncode for ContestedResources {

#[cfg(feature = "mocks")]
impl PlatformVersionedDecode for ContestedResources {
fn platform_versioned_decode<D: bincode::de::Decoder>(
fn platform_versioned_decode<D: bincode::de::Decoder<Context = ()>>(
decoder: &mut D,
platform_version: &platform_version::PlatformVersion,
) -> Result<Self, bincode::error::DecodeError> {
Expand Down Expand Up @@ -587,7 +587,7 @@ impl PlatformVersionEncode for MasternodeProtocolVote {

#[cfg(feature = "mocks")]
impl PlatformVersionedDecode for MasternodeProtocolVote {
fn platform_versioned_decode<D: bincode::de::Decoder>(
fn platform_versioned_decode<D: bincode::de::Decoder<Context = ()>>(
decoder: &mut D,
platform_version: &PlatformVersion,
) -> Result<Self, bincode::error::DecodeError> {
Expand Down
14 changes: 7 additions & 7 deletions packages/rs-drive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ license = "MIT"
resolver = "2"

[dependencies]
bincode = { version = "=2.0.0-rc.3", features = ["serde"] }
bincode = { version = "=2.0.1", features = ["serde"] }
platform-version = { path = "../rs-platform-version" }
# used to convert integers to bytes, needed in verifier
integer-encoding = { version = "4.0.0" }
Expand Down Expand Up @@ -52,12 +52,12 @@ enum-map = { version = "2.0.3", optional = true }
intmap = { version = "3.0.1", features = ["serde"], optional = true }
chrono = { version = "0.4.35", optional = true }
itertools = { version = "0.13", optional = true }
grovedb = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4", optional = true, default-features = false }
grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4", optional = true }
grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4" }
grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4", optional = true }
grovedb-version = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4" }
grovedb-epoch-based-storage-flags = { git = "https://github.com/dashpay/grovedb", rev = "a7bc60a6760c395e90489c655eee84ae75003af4" }
grovedb = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb", optional = true, default-features = false }
grovedb-costs = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb", optional = true }
grovedb-path = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb" }
grovedb-storage = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb", optional = true }
grovedb-version = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb" }
grovedb-epoch-based-storage-flags = { git = "https://github.com/dashpay/grovedb", rev = "a526c1e5988c8f47544ac6db7ec7bd56621136eb" }

[dev-dependencies]
criterion = "0.5"
Expand Down
Loading
Loading